본문 바로가기

반응형

개발

(81)
katacoda 따라 하기 - Start containers using Kubectl 이 시나리오에서는 Kubectl을 사용하여 yml 정의를 작성하지 않고 배포 및 복제 컨트롤러를 생성하고 서비스를 통해 이를 노출하는 방법을 배우게 됩니다. 따라서 클러스터에서 컨테이너를 빠르게 시작할 수 있습니다. Step 1 - Launch Cluster launch cluster는 아래 게시물에 자세히 써놨으니 패스 katacoda 따라 하기 - Launch Single Node Kubernetes Cluster kubernetes를 공부하려고 하는데 katacoda에 직접 쳐볼 수 있고 시나리오대로 잘 나와있어서 하나씩 해석 하고 적어가는 것이 제일 내 것으로 만들기 좋기에 정리해서 적는다. Minikube는 local에서 쉽게 mio-java.tistory.com Step 2 - Kubectl ..
katacoda 따라 하기 - Launch Single Node Kubernetes Cluster kubernetes를 공부하려고 하는데 katacoda에 직접 쳐볼 수 있고 시나리오대로 잘 나와있어서 하나씩 해석 하고 적어가는 것이 제일 내 것으로 만들기 좋기에 정리해서 적는다. Minikube는 local에서 쉽게 Kubernetes를 운영할 수 있게 해주는 도구입니다. Minikube는 노트북의 VM에서 Kubernetes 클러스터의 싱글 노드 실행하므로 Kubernetes를 사용해 보거나 매일 테스트해보려는 것에 적합하다. 미니쿠에 대한 자세한 정보는 https://github.com/kubernetes/minikube kubernetes/minikube Run Kubernetes locally. Contribute to kubernetes/minikube development by creat..
개발자 신입으로 입사 했을때 팀장님에게 받았던 조언 이제 전 회사가 되었지만 첫회사가 중요하다는 말을 많이 느낀다. 처음에 가산에 어떤 회사에 가서 면접을 보고 합격통보를 받아서 돼서 갔는데, 연봉을 출근해서 알았다... 계약서를 쓸때 내 연봉을 알았는데 지금 최저시급도 안 되는 금액이었다. 내가 이거 벌려고 대학교때 공부를 했을까..라는 생각이 진짜 많이 들었다. 출근을 했더니 사수는 어디 멀리 파견 나가서 당분간 보기 힘들다고 하고 뭔가 내가 생각한 그런 회사의 느낌이 아니었다. 진짜 아닌것 같아서 부모님에게 못 다니겠다고 말씀드리고 퇴근하고 [런] 했다. 지금 글을 쓰면서 다시 생각 나서 기업을 찾아봤는데 역시나........... 첫회사로 개발자스러운 팀장이 있는 회사를 가야지 생각했는데, 다행히 딱 맞는 회사를 갔던 것 같다. 신입 때 팀장님이 ..
Field Injection vs Constructor Injection With Java Spring's @Autowired Field Injection은 제일 간단해 보이지만 나쁜 스타일이라고 함. 클래스들끼리 커플링이 높아지고 유닛 테스팅이 힘들어짐. 필드주입을 하면 유닛 테스트시 spring 설정 파일을 읽어서 모든 bean 설정이 끝나야지만 테스트가 시작됨 다른 테스트나 다른 모듈에서 재 사용 할수 없음. Constructor Injection은 올바른 의존관계를 설정하지 않으면 컴파일 에러가 나므로 위험요소를 미리 없앨수 있음. 테스트 할때도 모든 bean 설정을 하지 않고 필요한 bean 설정만 하면 할 수 있기 때문에 더 빠르게 테스트를 할 수 있음. 생성자에서 의존관꼐가 5개 이상 되어서 지저분해 보이면 단일 책임 원칙을 어긴것이기라고 생각할수 있고 코드 리펙토링이 필요한 시기. immutable object로 ..
java8 과 stream, reduce 연산 스트림 컬런션은 자바에서 가장 많이 사용하는 기능 중 하나이다. 자바애플리케이션은 컬렉션을 만들고 처리하는 과정을 포함한다. 많은 요소를 포함하는 컬렉션의 처리 성능을 높이기 위한 멀티코어 아키텍쳐를 확용하기 위한 병렬 처리 -> 답은 스트림이다. 스트림은 자바 api에 새로 추가된 기능으로 선언형으로 컬렉션 데이터를 처리 할 수 있다. 스트림의 특징 . 선언형 - 더 간결하고 가독성이 좋아진다. . 조립할 수 있음 - 유연성이 좋아진다. . 병렬화 - 성능이 좋아진다. 스트림 이용 과정은 세가지로 요약 가능하다 . 질의를 수행할 데이터 소스 . 스트림 파이프라인을 구성할 중간 연산 연결 . 스트림 파이프라인을 실행하고 결과를 만들 최종연산 숫자형 스트림 . 메뉴의 칼로리 합계를 계산하는 스트림 int ..
java8과 lambda 의 사용법 람다 표현식은 메서드로 전달할수 있는 익명함수를 단순화 한것 특징 익명 - 이름이 없으므로 익명이라고 표현 함수 - 메서드 처럼 특정 클래스에 종속되지 않음. 전달 - 람다를 메서드로 전달하거나 변수로 저장할수 있음 간결성 - 익명클래스 처럼 많은 코드를 구현할 필요가 없음 한마디로 익명 클래스와 메서드의 단점을 버리고 장점만 조합해서 만든것이 람다이다. 람다는 람다 파라미터, 화살표, 람다 바디로 이루어져 있는데 (파라미터 ) -> 표현식; 이런식으로 구성된다. 람다를 언제 사용하는건가? -> 함수형 인터페이스라는 문맥에서 람다 표현식을 사용 할수 있다. 함수형 인터페이스라는것을 알아야 하는데 자바 8의 특징중 하나가 [자바 8설계자는 이급시민을 일급 시민으로 바꾸는 기능을 추가 했다. 이급 시민이었던..
JAVA8 대표적인 변화와 함수형 프로그래밍 느낀점 과연 나는 자바 8 개발자라고 할 수 있을까라는 생을 예전부터 자주 했다. 자바 8을 보면서 기존 자바 7과 확연히 다른 모습을 보이면서 객체지향에서 벗어나 함수형 프로그래밍으로 변화했다. 자바 8을 사용하는지 아닌지는 다음 문항으로 구분 될수 있을 것 같다. . null 처리를 하는지, 단순 optional 처리가 아니라 우아하게 처리할 수 있는지. - if(Optional.get != null) - (X) . 객체 지향 프로그래밍과 함수형 프로그래밍의 차이를 아는지 . default 키워드의 정확한 사용법과 예시를 들 수 있는지 . CompletableFuture 의 사용법과 그 역할을 아는지 . 날짜 시간대의 자바 8로 넘어오면서 변환된 점을 아는지 신입 입사 면접때 자바 8에 대해서 질문을 받고 ..
docker base image Debian 과 alpine - 효율적인 도커 이미지 도커를 사용하면 배포를 하기 위해 리눅스 베이스 이미지를 만든다. 이때 사용하는 리눅스에 버전을 사용 할때 이미지를 고르는 기준은 무엇일까 도커 이미지 사이즈는 빌드와 배포 시간에 많은 영향을 주고, 쿠버네티스와 같은 컨테이너 스케쥴링 솔루션의 경우 도커 이미지가 디스크 공간을 잡아 먹기 때문에, 작은 컨테이너가 여러모로 이점이 많다. 베이스 이미지를 최적화하면 빌드와 배포 시간을 단축할 수 있다!! 빌드 시간과 배포 시간 단축은 생산성 향상!!! 알파인 리눅스는 가볍고 간단하고 보안성을 목적으로 개발한 리눅스 배포판이다. 데비안은 자유 오픈 소스 소프트웨어이고 랩톱, 데스크톱 및 서버를 비롯한 광범위한 장치를 위한 운영 체제이다데비안 10.9 2021년 3월 27일에 나왔고 2024 까지 lts 를 지..

반응형