본문 바로가기
반응형

분류 전체보기126

쓰레드와 프로세스, 그리고 자바 비동기 API Thread And Process in OS Level 프로세스란? 독립된 실행의 단위 CPU 자원은 OS의 스케줄러에 의해 Time Slice 만큼 실행. Memory는 OS로 부터 할당 받은 메모리 공간 사용.(CODE, DATA, HEAP, STACK) 쓰레드(s) + 메모리공간 프로그램 코드: 개발자가 작성한 코드 데이터: 컴파일 타임에 정해 지는 전역 변수 및 상수 데이터 영역 확보 런타임에 힙과 스택 영역 생성 CPU - Memory 통신 방법 CPU와 메모리에 직접 접근 할 수 없어서 가상 메모리를 두는데, 가상 메모리는 페이지 테이블이라고도 불리며 프로세스의 페이지 정보를 저장한다. 개별 프로세스의 페이지는 다른 프로세스가 접근할 수 없다. 가상 메모리 또는 가상 기억 장치는 RAM을 관리.. 2020. 3. 10.
Nginx 와 HAProxy nginx 부하분산 https://nginx.org/en/docs/stream/ngx_stream_upstream_module.html Module ngx_stream_upstream_module Module ngx_stream_upstream_module The ngx_stream_upstream_module module (1.9.0) is used to define groups of servers that can be referenced by the proxy_pass directive. Example Configuration upstream backend { hash $remote_addr consistent; server backend1.e nginx.org https://seokjun.kim/h.. 2020. 3. 9.
자바 링크 성능 https://blog.jooq.org/2015/02/05/top-10-easy-performance-optimisations-in-java/ 자료구조 https://velog.io/@dudrkdl777/Set%EA%B3%BC-Map-e7k1omvrsl 스프링 https://ohjongsung.io/2017/06/02/%ED%95%84%EB%93%9C-%EC%A3%BC%EC%9E%85-field-injection-%EC%9D%84-%ED%94%BC%ED%95%98%EC%9E%90 https://coding-start.tistory.com/250 https://madplay.github.io/post/why-constructor-injection-is-better-than-field-injection.. 2020. 3. 6.
Item 35. int 상수 대신 열거 타입을 사용하라 열거 타입의 정의와 필요성 열거 타입은 일정 개수의 상수 값을 정의한 다음, 그 외의 값은 허용하지 않는 타입이다. 사계절, 태양계의 행성 등이 좋은 예다. 열거 타입은 정적 변수를 나열해 놓은 정수 열거 패턴과 많이 비교 되곤 한다. // 정수 열거 패턴 예시 public static final int APPLE_FUJI = 0; public static final int APPLE_PIPPIN = 1; public static final int APPLE_GRANNY_SMITH = 2; public static final int ORANGE_NAVEL = 0; public static final int ORANGE_TEMPLE = 1; public static final int ORANGE_BLOOD.. 2020. 3. 4.
빌더 메서드로 배열을 리스트로 만드는 법 Java 8 Arrays.asList("하나", "둘", "셋") Java 11 List.of("하나", "둘", "셋"); ex) HashSet set = new HashSet(Arrays.asList("하나", "둘", "셋");); 단일 행으로 Set을 생성하는 것이 가능하다. 활용도가 무궁무진해 보인다. 2020. 2. 25.
공부한 것에 대해서는 철저히 숙지하고 기록하자. 화이팅! 2020. 2. 25.
SOLID SOLID 로버트.C.마틴은 긴 세월 동안 수 많은 시행착오와 Best Practice 속에서 객체 지향 설계의 정수라 할 수 있는 5원칙이 집대성 되었는데 그것이 SOLID다. 객체지향 프로그램을 잘 개발하고 설계하기 위한 5원칙 SOLID에 대해서 알아보자. 단일 책임 원칙(SRP, Single Responsibillity Principle): 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다. 너무 책임이 너무 많을 경우, 변화가 생겼을 때 다른 연관 클래스에 영향을 줌 EX) 남자 클래스가 여자친구, 부모, 상사, 친구 클래스와 상호작용할 수 있게 구현되어 있을 때, 여자친구와의 연관성을 끊을 경우 그 변화의 영향도가 관련된 모든 클래스에게 뻣친다. SOC(Seperate of Conce.. 2020. 2. 8.
응집도와 결합도 응집도, 결합도 좋은 소프트웨어 설계를 위해서는 결합도는 낮추고 응집도는 높이는 것이 바람직하다. 결합도 모듈(클래스) 간의 상호 의존 정도로서 결합도가 낮으면 모듈간의 상호 의존성이 줄어들어 객체의 재사용이나 수정, 유지보수가 용이하다. 두 개의 요소에 대해서 하나의 변경이 다른 것의 변경을 요구하는 정도. 변화가 전파되는 정도. 일종의 파급효과. 응집도: 하나의 모듈 내부에 존재하는 구성 요소들의 기능적 관련성으로 응집도가 노퓨은 모듈은 하나의 책임에 집중하고 독립성이 높아져 재사용이나 기능의 수정, 유지보수가 용이하다. 응집이란 시스템에 변경이 필요할 때 하나의 요소에서 변화하는 부분의 정도. 쉽게 말하자면, 한가지 변경 요청에 대해서 변경이 일어날 때 전체가 다 같이 변하면 응집도가 높은 것이고,.. 2020. 2. 8.
블로그 이동 (from, https://bearstark.tistory.com/) 제가 블로그를 이동한 이유는 bearstark 가 아닌 제가 좋아하는 가상 및 현실 인물의 성과 이름을 따서 만든 닉네임으로 된 블로그에 제가 배운 것들을 정리하고 싶었기 때문입니다. 현재 쓰고 있는 jordy-torvalds란 닉네임은 빙하에서 깨어나 모든 스펙을 잃었음에도 꾸준하고 열심히 살아가는 니니즈의 jordy 와 개발 및 인프라 역량에 있어 뛰어나 롤 모델로 삼고 싶은 torvalds 를 조합해서 만들었습니다. jordy 처럼 험난한 현실에 마주하더라도 꿋꿋히 이겨내고, torvalds처럼 모든 IT인들에게 기술적으로 존경받는 IT 전문가가 되어가는 과정들을 이 블로그에 잘 기록해보겠습니다. 2020. 2. 7.
반응형