분류 전체보기
-
러닝 HTTP/2후기/Book Review 2018. 2. 10. 01:56
페이스북에서 한빛미디어의 나는 리뷰어다 공지를 보고 읽을 만한 책이 있을까 해서 살펴보던 중 필요한 책이 있어서 신청하게 되었다. 작년에 HTTP 완벽 가이드를 보고 HTTP/2에 대한 내용이 궁금했었는데 마침 HTTP/2에 대한 최신 번역서가 나왔던 것이다. 회사에서도 얼마전에 HTTP2를 적용해서(내가 한건 아니지만) HTTP/1.1과 차이점, 새로 추가된 기능, 성능 등이 궁금했었다. 전체 목차는 아래와 같다.HTTP의 진화HTTP/2 맛보기웹을 파헤치는 이유와 방법HTTP/2로의 전환HTTP/2 프로토콜HTTP/2 성능HTTP/2 구현HTTP/2 디버깅하기다음은 무엇인가 HTTP는 웹의 아버지 팀버너스리경에 대한 이야기로부터 시작된다. 연구소에서 나온 결과물들을 관리하기 위해 도움을 주는 시스템을..
-
UML 실전에서는 이것만 쓴다후기/Book Review 2018. 1. 27. 23:29
개발서적들을 보면 가끔씩 다양한 다이어그램들을 사용한다. 클래스 다이어그램, 시퀀스 다이어그램, 유스케이스 등등. 그 때마다 어렴풋이는 무엇을 말하는지 알것 같지만, 정확하게 무엇을 뜻하는지 모르는 경우(화살표의 모양, 선이 점선인지, 숫자는 어떤 뜻인지 등등)가 종종있었다. 그 때마다 대충 이해하고 넘어갔지만 좀 더 확실하게 이해하고 정리를 하고자 이 책을 읽었다. 목차이 책의 개요다이어그램으로 작업하기클래스 다이어그램시퀀스 다이어그램유스케이스OOD(객체 지향 개발)의 원칙실천방법: dX패키지객체 다이어그램상태 다이어그램휴리스틱과 커피SMC 원격 서비스: 사례 연구부록1 분로 단위 테스팅 패턴부록2 프로세스(RUP vs. dX) 목차를 보면 모든 다이어그램들의 종류가 있지 않다. 왜냐하면 저자가 생각하..
-
Reflection 리플렉션Java/기본 2018. 1. 21. 23:46
토비의 스프링 3.1 Vol.1 6장을 읽다가 리플렉션에 대해 설명이 나왔는데 쉽게 잘 설명이 되있다. 그래서 책의 내용을 읽고 정리해보았다. 위키에 리플렉션에 대한 정의는 다음과 같다.반영(Reflection)은 컴퓨터 프로그램에서 런타임 시점에 사용되는 자신의 구조와 행위를 관리(type introspection)하고 수정할 수 있는 프로세스를 의미한다. “type introspection”은 객체 지향 프로그램언어에서 런타임에 객체의 형(type)을 결정할 수 있는 능력을 의미한다. 위의 설명만으로는 잘 와닿지 않는다. 아래는 책의 설명이다. 자바의 모든 클래스는 그 클래스 자체의 구성정보를 담은 Class 타입의 오브젝트를 하나씩 갖고 있다. '클래스이름'.class'라고 하거나 오브젝트의 get..
-
[2018.01.06] 함수형 자바스크립트 프로그래밍 세미나후기/세미나 2018. 1. 20. 16:25
올해 첫 세미나를 다녀왔다. 친구 조은이의 소개를 받아 알게되어 다녀왔다. 현재 업무에서 자바스크립트를 잘 쓰고 있지는 않지만 그래도 다녀온 이유는 내가 아직 스칼라를 함수형으로 사용한다는 느낌이 들지 않아서다. 함수형 패러다임에 대해 잘 이해하고 자바스크립트에서는 어떻게 구현할 수 있는지 알아보고 싶었다. (경품 1등 상품인 FC660C가 받고 싶었던 이유도 있었지만 실패) 출처: 온오프믹스 행사설명 페이지필기내용함수형 프로그래밍 부수효과를 줄임 -> 순수 함수 함수 조합성 -> 모듈화 수준 함수 개념을 가장 우선순위 함수형 사고방식은 문제의 해결 방법을 동사(함수)들로 구성(조합) 객체(데이터) 중심 -> 명사 + 동사함수중심 -> 동사 + 명사 함수의 특징 일급 함수 함수를 값으로 다룰 수 있다. ..
-
[토비의 스프링 3.1 Vol.1] 5장 서비스 추상화Java/Spring Framework 2018. 1. 16. 22:37
[사족] 드디어 한 번만 본 챕터가 나왔다. 6장의 AOP는 본 기억이 없으니 아마 5장 중간즈음 보다가 완독을 못했을 것 같다. 이 기세로 쭉쭉 읽어 나가자. 5장은 내용이 더 재밌어진다. 이때까지 만든 사용자 관리시스템(?)에 기능을 더 추가한다. 활동별 사용자 등급 변경기능과 등급 변경시 메일 안내 발송 기능이다. 해당 기능들을 개발하면서 발생하는 문제점들을 풀어나간다. 어떻게? 당연히 스프링 DI를 활용해서. 그리고 토비 선생님은 정말 테스트를 중요하게 생각 한다는 것을 또 한번 느꼈다. [내용] 5장의 목차5.1 사용자 레벨 관리 기능 추가5.2 트랜잭션 서비스 추상화5.3 서비스 추상화와 단일 책임 원칙5.4 메일 서비스 추상화5.5 정리 사용자 관리시스템에 레벨 기능을 추가한다. 간단히 fi..
-
[토비의 스프링 3.1 Vol.1] 4장 예외Java/Spring Framework 2018. 1. 14. 01:08
[사족] 4장도 3번째 정도 보는 것 같다. 예외는 토비님의 말대로 많은 개발자들이 제법 귀찮아 하는 부분이다. 당장 돌아가는 기능이랑은 별로 상관 없다고 생각되기 쉽기 때문이다. 하지만 그 중요성은 누구나 다 알것이다. 99% 잘 돌아가다가도 1%의 예외 가능성 때문에 시스템이 장애가 나고 다운이 된다면 그건 불완전한 소프트웨어가 되버린다. 그만큼 디테일, 장인정신, 꼼꼼함이 필요한 것이 예외처리다. 자바8이나 스칼라 같은데는 null처리 같은 예외상황에 안전하게 대처하기 위해 Option이 있다. 스펙에 포함될 정도로 예외처리와 관련된 것은 중요하고 꼭 필요한 것이다. 4장까지 봤을때 스프링을 사용하는 가장 큰 이유는 "유연한 시스템 개발"인 것 같다. 인터페이스를 활용하여 느슨한 결합을 유지하고, ..
-
[토비의 스프링 3.1 Vol.1] 3장 템플릿Java/Spring Framework 2018. 1. 4. 22:45
[사족] 3장은 이제 한 3번째 보는 것 같다. 역시나 새로운 것은 마찬가지다. 예전에 실습 했던게 조금 기억은 나긴하지만. p.241에 콜백을 설명하면서 "자바에선 메소드 자체를 파라미터로 전달할 방법은 없기 때문에 메소드가 담긴 오브젝트를 전달해야 한다. 그래서 펑셔널 오브젝트(functional object)라고도 한다."라고 나온다. 이제는 람다가 가능하여 메소드 조각도 파라미터로 전달 가능한 시대가 왔다. 토비의 스프링3가 2010년, 지금 내 책의 초판 인쇄가 2012년인걸 보니 격세지감이 느껴졌다. 그런데 나는 왜 아직도 완독을 못한걸까? [내용] 3장의 목차3.1 다시 보는 초난감 DAO3.2 변하는 것과 변하지 않는 것3.3 JDBC 전략 패턴의 최적화3.4 컨텍스트와 DI3.5 템플릿과..
-
2018년 계획창작공간/일기 2018. 1. 4. 19:03
2017년 공부 계획을 공개적으로 세워보니 알게 모르게, 의식적으로든 아니든간에 계획을 세운 방향으로 가고 있는 것 같다. 2018년도 좋은 계획을 세워서 한단계 더 나아가는 미래의 개발왕이 되어야 겠다. 올해 목표도 작년과 다르지 않다. 아직 주니어로서 새롭게 알아가는 부분들이 많다. 기초를 탄탄하게, 업무에서 좋은 결과를 낼 수 있게, 그리고 해보고 싶은 것을 배우고 써보고 싶다. 단순한 코더가 아닌 프로그래머로서 자신의 코드에 이유와 책임을 질 수 있는 개발자가 되고 싶다. 이미 검증된 양서들을 바탕으로 나의 코딩 철학과 가치관 등을 정립해 나가야겠다. 기술 단상Java, Spring처음 개발 시작할 때부터 사용하던 언어가 자바였고 지금도 스프링을 활용한 개발업무를 하고 있다. 지금은 스칼라로 신규..