특징 : non-blocking io, asynchronous programming 멀티스레드 프로그램의 단점- 동접사용자 증가 시 -> 스레드 증가 -> CPU의 컨텍스트 스위칭 비용과 메모리 사용량 증가 -> 서버부하/어플리케이션 응답대기 시간 증가 >> IO 대기 시간까지 추가될 경우 부하가중 - 이와 같은 단점을 해결하고자 non-blocking io에서는 말그대로 io 처리 시 프로그램이 중단되지 않고 그대로 실행된다. 이후 io 처리가 완료되면 callback fucntion을 통해 응답을 받고 처리하게 된다.- nodejs는 request 처리 시에도 asynchronous programming를 통해 응답을 빠르게 처리하여 사용자에게response를 주게 되는데, single thread ..
1. root logger / parent logger- root logger에 정의된 appender 설정이 하위 logger에도 적용된다.- 즉 하위 logger에 또다른 appender가 있을 경우 2번의 로그가 찍힐 수 있다.- 위와 같은 상황을 막으려면 어느 한쪽에는 additivity을 false로 설정한다.- root logger는 필수 element는 아니지만, level 정도는 설정해두는 것이 좋다. 2. parent/child- logger는 name-base로 부모/자식 관계가 성립된다.- com.log 라는 logger가 있고, com.log.test 라는 logger를 정의할 경우- com.log.test는 com.log의 하위 logger가 된다.- http://seosh81.i..
verb (used with object), categorized, categorizing.1.to arrange in categories or classes; classify.2.to describe by labeling or giving a name to; characterize. 팀에서 프로젝트 문서화 도구로 wiki를 사용하고 있다.단순한 도구이지만, 웹환경에서 프로젝트에 대한 내용에 대해 작성하고 공유할 수 있다. xmind 같은 마인드맵 도구도 생각을 정리하고 확장하기에 간편하고 강력한 도구지만,wiki처럼 텍스트 기반의 도구를 더 강력하다고 생각하고 좋아한다.(이전에는 github에 마크다운 형식으로 프로젝트 문서를 정리한 적도 있다, 문서 제목이 바뀌면 링크가 깨지는 단점이..) 문서를 작..
groc, sphinx 등의 문서 자동화도구로 만들어진 정보들이 과연 쓸모 있을까?javaDoc처럼(잘 쓰여진 다면 물론, 좋은 도구지만) 관리가 잘 되지 않아 없는 것만 못하지 않을까?(javaDoc과의 차이점은 뭘까..? javaDoc 또한 문서로 변환되지 않나..?)어찌되었건 javaDoc과 마찬가지로 코드에 직접 작성하는 방식이니 오버헤드가 되지는 않을까?결정적으로 내가 고생해서 프로젝트에 적용하더라도 다음 사람이 하지 않으면 무슨 소용일까.. (귀찮은 것이라 여겨지고 부담이라 느낄 수도 있다)
목차에서 눈에 띄는 단어와, 문장들 : 확장 가능한 언어, 세미콜론 추론, 스칼라 애플리케이션, 리터럴, 연산자는 메소드다, 객체 동일성, 풍부한 래퍼, 변수 스코프, 1급 계층 함수, 흐름 제어 추상화(Flow Control Abstract?), 기본 클래스, 트레이트, 단위 테스트, 애노테이션 등 이 책의 대상 독자 : 다음 프로젝트를 스칼라로 진행하고 싶다면 이 책이 바로 당신을 위한 것이다. 또, 새로운 개념을 배워서 생각의 지평을 넓히고 싶은 프로그래머에게도 재미있을 것이다. 예를 들어 자바 프로그래머는 이 책을 읽고 다양한 함수형 프로그래밍 개념을 익히고 더 발전된 객체지향 아이디어도 배울 수 있다. 스칼라와 그 아이디어에 대해 배우고 나면 여러분은 분명 더 나은 프로그래머가 되어 있으리라 믿..