챕터 13 스레드 Thread를 읽으며 기록해보았습니다 : ) 싱글스레드와 멀티스레드 하나의 스레드로 두개의 작업을 수행한 시간과 두개의 스레드로 두 개의 작업을 수행한 시간은 같다. 두개의 스레드로 작업할 때 싱글스레드보다 더 시간이 걸림 -> 스레드간 작업전환시간이 길어서 (컨텍스트 스위칭) 작업 전환시 현재 진행중인 작업의 상태, 다음에 실행해야할 위치 등의 정보를 저장하고 읽는 시간이 소요됨. 싱글 코어인 경우 두 작업이 겹치지 않음 멀티 스레드 수행시 두 작업이 겹치는 부분이 발생함. 그래서 화면이라는 작원을 놓고 경쟁함 두 스레드가 서로 다른 작업 사용시 싱글보다 멀티스레드가 더 효율적임 스레드의 우선순위 스레드는 우선순위라는 속성을 가짐(멤버변수) 우선순위에 따라 작업시간이 달라짐 빠르게 반..
전체 글
경험들을 아카이빙합니다.자바의 정석 2회독차에 기록하고 싶은 부분만 기록하기! 챕터 11 : 컬렉션 프레임 웍 데이터 군을 저장하는 클래스들을 표준화한 설계 컬렉션은 다수의 데이터, 데이터 그룹 프레임웍은 표준화된 프로그래밍 방식 인터페이스 종류 1. list 순서가 있는 데이터 집합, 데이터 중복을 허용 2. Set 순서를 유지하지 않는 데이터 집합, 데이터 중복 허용 x 3. Map 키와 값의 쌍으로 이루어진 데이터 집합, 순서 유지 x, 키는 중복 허용 x, 값은 중복 허용 ArrayList 기존의 Vector을 개선 Object 배열을 이용해 데이터를 순착적으로 저장 배열에 더이상 저장할 공간이 없으면 큰 새로운 배열 생성후 복사한 뒤 저장 list2에서 list1과 공통되는 요소들을 찾아 삭제할때, 변수 i를 증가시켜..
우연한 기회로 책을 읽게 되어 써보는 글입니다 :) 1. 책의 목표 우선 책을 주욱 읽어보니 책의 목표가 다른 언어를 사용하던 개발자가 Go 언어를 접하기 쉽도록 하는데에 초점을 두고 있다. 왜이렇게 생각하냐면, 책안에서 계속해서 다른 언어와의 비교를 통해서 어떤 점이 다른지를 알려준다. 또한 이러한 비교를 통해서 Go가 가진 명확한 장점을 뽐내는 느낌을 받았다. C, Java, Swift등 다양한 언어군들과의 비교를 사용하기 때문에 더 많은 언어에 대해 공부해본 사람일수록 더 Go에 대해 이해하기 쉬울 것 같다. 2. 책의 구성 1. 단원 시작 전에 짚고 넘어가면 좋을만한 부분을 소개해준다. 그리고 단원끝에는 스스로 정리할 수 있도록 Q가 정리되어있음. 그래서 내가 얼마나 대충 읽었는지 알 수 있었음 ..
서버 사이드 로드밸런싱 주로 L4스위치를 사용 4계층의 포트를 사용해 트래픽을 분산함 하드웨어가 필요함 비용과 유연성의 부담 트래픽을 분산할 서버 1~3개의 주소가 필요 제한적 위의 단점을 해결하기 위해 클라이언트 사이드 로드밸런싱이 필요하다. 클라이언트 사이드 로드밸런싱(리본) L4 스위치를 클라이언트 소프트웨어로 대체함 Ribbon은 분산처리방법으로 여러 서버를 라운드 로빈 방식으로 부하 분산 기능을 제공함 (NginX랑 유사함) Eureka 로드 밸런싱과 failover를 위해 만들어진 rest 서비스 로드 밸런싱을 위해 유레카 클라이언트 목록을 제공하고, failover를 위해 유레카 클라이언트의 상태를 체크한다. 스프링 클라우드 넷플릭스 넷플릭스에서 MSA를 자사 서비스에 적용하기 위해 만들어낸..