전체 글
-
2017년 상반기 회고창작공간/일기 2017. 7. 2. 22:00
놀랍다, 2017년 공부 계획을 쓴지 벌써 6개월이 지났다. 지난 6개월 중에는 퇴사와 휴식, 이직들이 있어서 더 정신이 없었던 것 같다. 그래서 공부를 많이 못했다는 핑계를 대고 싶다. "새 공부하기"에서는 Java8, Spring 4(5), 디자인 패턴 등은 공부하고 있다. 자바8 인 액션책도 보고있고 스프링부트 최신버전을 이용하여 개발도 하였다. 또한 토비님의 방송도 조금씩 보고 있다. 디자인 패턴은 예전에 사 둔 책이 있어서 다시 한 번 보고 있는데 GoF나 많이 추천하는 헤드퍼스트 디자인패턴을 봐야겠다. 새 언어는 공부 못했다. 이제 새 플랫폼이 스칼라로 되어있기 때문에 스칼라 공부하는 것을 목표로 해야겠다. Docker도 자세히는 모르지만 업무에 사용하다보니 필요한 정도는 찾아서 쓸줄 알게 되..
-
소프트웨어 장인후기/Book Review 2017. 6. 20. 00:43
책 제목을 보고나서 '소프트웨어 장인이라는 제목으로 책을 쓸 정도의 사람이라면 본인이 당연히 소프트웨어 장인이겠지?' 라는 생각이 먼저 들었다. 책의 내용과 깊이로 봤을 때 장인이 맞는것 같다. (장인은 실력보다는 태도와 자세가 더 중요하다고 했으나 실력도 뛰어난 것 같다) 가장 기억에 남는 부분은 애자일, 짧은 피드백 루프, 그리고 TDD이다. TDD는 100번은 넘게 나오지 않았을까 싶을 정도로 반복해서 강조한다. 'TDD는 절대 느리지 않다. 일일히 수동으로 테스트 할 시간은 있지만 단위 테스트 코드를 짤 시간이 없다고 하는 것은 어불성설이다.'라고 한 부분이 인상 깊었다. 사실 많은 TDD 전파자들도 이렇게 얘기는 하는데 이렇게 일하기가 쉽지는 않은 것이 사실인 것 같다. 어느 회사는 테스트 코드..
-
[Spring Boot] 가장 쉽게 시작하기 2Java/Spring Framework 2017. 6. 16. 23:13
1편에서 내장톰캣으로 스프링부트 어플리케이션을 구동시키는 것까지 해보았다. 오늘은 간단한 RESTful API 서버를 만들어 보도록 하겠다. HomeController.java @RestController : @Controller + @ResponseBody 의 축약형으로써, 리턴값을 뷰리졸버로 매핑하지 않고 그대로 출력해준다.@GetMapping : @RequestMapping(method = RequestMethod.GET) 의 축약형으로써, 애너테이션만 보고 무슨 메소드 요청인지 바로 알아볼 수 있다. User.java User에 포함시킬 프로퍼티들을 정의하고 Getter와 Setter를 정의해준다. 할 것들은 벌써 다 끝났다. DemoApplication을 Run해보면 다음과 같은 결과화면을 볼 ..
-
Functional Thinking (함수형 사고)후기/Book Review 2017. 6. 15. 01:54
나프다의 치즈님께서 읽어본 책이라 하여 나도 한 번 사서 읽어 보았다. 하지만 책내용이 그렇게 호락호락 하지만은 않다. 함수형 프로그래밍이 뭔지 일단 찾아보자. 함수형 프로그래밍은 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나이다. 명령형 프로그래밍에서는 상태를 바꾸는 것을 강조하는 것과는 달리, 함수형 프로그래밍은 함수의 응용을 강조한다. 함수형 프로그래밍은 1930년대에 계산가능성, 결정문제, 함수정의, 함수응용과 재귀를 연구하기 위해 개발된 형식체계인 람다 대수에 근간을 두고 있다. 다수의 함수형 프로그래밍 언어들은 람다 연산을 발전시킨 것으로 볼 수 있다. 위키: 함수형 프로그래밍 중 읽어도 딱히 잡히는 것이 없다. 그 뒤로 순수한 함수, 익..
-
[이직단상] 6.협상창작공간/단상 2017. 6. 13. 01:21
Intro 이직을 꿈꾸다이직, 어디로 어떻게?면접 준비면접보기협상 (현재글) 축하한다. 수차례 면접을 거치고 드디어 협상단계로 왔다. 이제 기술 면접보다 더 어렵다는 처우 협상을 해야한다. 가만히 있어도 20~30%씩 연봉을 올려줄테니 오라고 하면 얼마나 좋을까. 하지만 현실을 그렇지 않다. 인건비도 회사의 지출 중 많은 부분을 차지하고 있을테니 이해는 된다. (최대한 적게 사람을 데려오는 것이 인사담당자의 KPI가 아닐까 생각해본다...) 하지만 그렇다고 그저 '예 예 주는대로 가겠습니다.'하고 가는 사람은 없을 것이다. 개발자라면 더더욱. 보통 경력의 경우 전직장 연봉 베이스로 협상을 한다. 따라서 전직장의 연봉이 다음 회사에서의 연봉과 연결이 된다고 할 수 있다. 전보다 낮아지거나, 비슷하거나 높아..
-
[Spring Boot] 가장 쉽게 시작하기 1Java/Spring Framework 2017. 5. 25. 01:22
스프링5.0.0 RC1도 나왔고, 스프링부트2.0.0 M1도 나왔다. 기념으로 spring.io에서 제공하는 방법으로 쉽게 스프링부트 프로젝트를 띄워보자. > 스프링부트 홈페이지 접속 > Quick Start 문단의 start.spring.io 클릭 > Project 종류 (Maven or Gradle), 언어 (Java, Kotlin, Groovy), 스프링부트 버전(현재 1.5.3)를 선택Group, Artifact 이름을 정하고 Dependencies들을 추가해준다. (간단하게 Web만 선택)그리고 Generate Poject 버튼을 클릭 (혹은 Alt + Enter) > 다운 받아진 압축파일을 해제한 뒤, Intellij로 불러와서, DemoApplication의 main 메소드를 실행한다. (단..
-
M1, RC, GA 란?Java/Spring Framework 2017. 5. 25. 00:42
스프링의 릴리즈 버전들을 보고 있노라니 RC, GA, M1(혹은 2, 3) 등의 접미사가 달리는 것을 볼 수 있다.각각이 뜻하는 바를 찾아보았다. M1: Milestone 1프리 알파 단계에 있는 한 종류. 특정한 집합의 기능이 포함되며 기능이 완성되자마자 공개 RC: Release Candidate 마지막 제품이 될 가능성이 있는 베타 버전으로, 상당한 버그가 나타나지 않으면 출시할 준비가 되었음을 의미 GA: General Availability필요한 모든 상업화 활동이 완료되어 웹이나 물리 매체를 통해 시장에서 이용할 수 있게 됨을 의미 출처 : 위키(소프트웨어 생명주기)
-
[이직단상] 5. 면접 보기창작공간/단상 2017. 5. 22. 23:53
Intro 이직을 꿈꾸다이직, 어디로 어떻게?면접 준비면접보기 (현재글) 협상 면접 준비를 열심히 했다면 면접이 기다려질(?) 것이다. 갈고 닦은 실력을 드디어 뽐낼 차례다. 면접과 관련하여 종류별로 살펴보도록하자. 들어가기전 - 면접은 보통 1시간 내외 정도로 이루어지기 때문에 미리 볼일을 보고 조급하지 않은 상태를 유지해야한다. - 거울을 보고 옷 매무세를 다듬는 등 첫인상 관리를 한다. 이에 고춧가루가 끼거나 머리가 헝크러져있다면 좋지 않은 인상을 줄 수 있다. - 어깨를 펴고 당당한 자세를 하는 연습을 한다. 이것이 실제로 많은 도움이 되었다. 어느 글에서 봤는지 기억은 나지 않지만 어깨를 펴고 안펴고 차이에 따라서 자신감의 차이가 났다고 한다(믿거나 말거나) 기본 - 성격이 좀 소심하더라도 면접..