어웨이크

이미지
어웨이크 | 박세니 이 책은 내안에 잠든 무한한 가능성을 깨우기 위해서 어떤 마음가짐과 행동을 가져야 하는지에 대해 서술한다. 가끔 내가 이루고자 하는 목표를 위해 열심히 달리다가도 무슨 부귀영화를 누리기 위해 이렇게 열심히 하는걸까 하고 현타가 올때가 있다. 그 때마다 이 책을 읽으며 지금 흘러가는 이 시간을 소중히 여기고 다시 힘을 내자고 다짐했다. 그리고 내가 사회에 영향을 끼칠만한 사람이 될 수 있을까, 내가 가진 능력에 비해 그런 목표는 욕심이 아닐까, 라는 생각을 할 때가 많았는데 이 책은 나 자신에 대한 믿음을 가지고 계속 나아가기 위한 동력을 만들어주었다. 자신이 하는 일에 대한 자부심과 긍지 그리고 확신을 품어야 성공할 수 있다. 이것이야말로 대단한 존재를 만드는 근원적 에너지다. 대부분의 사람은 자신이 하는 일에 대한 긍지를 갖추지 못한 채로 살고 있다. 그러다보니 남의 눈치를 보고 수동적이며 평범한 삶을 살게 된다. 나니까 할 수 있고, 나니까 가능한 것이며, 나만이 할 수 있는 것이라는 생각, 이런 생각들이 어린 시절부터 계속해서 쌓이고 쌓이다 보면 정말 그런 존재로 거듭나게 된다. 인간은 매 순간을 집중하고 몰입하면서 멋지고 의미있게 살아가야 하는 존재다. 스스로가 자신의 삶을 가치 있게 여기고 의미 있게 만들지 못한다면 우리의 삶은 무의미하고 우울하며 무기력해질 수밖에 없다. 모든 것은 자신의 마음이 만든다. 일체유심조의 정신으로 치열하고 후회 없는 삶을 만들기 위해 오늘도 한발 더 나아가야 한다. 삶이 끝나는 순간까지 고도의 집중과 몰입상태를 자신의 분야에서 더 멋있게 잘 만들어내기 위한 노력을 해야 한다. 그것이 우리가 진정으로 바라는 멋진 인생이다.

Visual Studio Code에서 proxy 설정하기

이미지
Visual Studio Code에서 golang 관련 extension을 설치하려 했는데, 계속 install fail이 발생했다. 역시나 범인은 proxy였다...!! 1. File > Preferences > Settings 로 들어가 proxy를 검색한다. 2. 바로 Http Proxy를 설정 해 줄 수도 있지만, "Edit in settings.json" 을 통해 좀 더 detail하게 proxy 설정이 가능하다. { "http.proxy": "http://user:pass@proxy.com:8080", "https.proxy": "http://user:pass@proxy.com:8080", "http.proxyStrictSSL": false }

2020 Plan

매해 계획을 세웠지만, 초반에만 열심히하다가 3월즈음에 무너지는 경우가 많았다. 그래서 올해는 하나를 해도 꾸준히 해보기로 결심했다. 개인적으로는 개발자로서 더 성장하고, 미래를 스스로 만들어 나갈 수 있는 사람이 되고 싶다. 끝까지 나를 믿고 잘 해보자 :) 2020년 계획 중국어 BCT(B) 620점  매주 논문 한편씩 읽고 정리하기 매달 최소 1번 github 커밋하기 AI Study

Spring Boot에 Datadog Metric 설정하기

현재 운영중인 서버의 특정 API에서 4xx에러가 지속적으로 발생하게 되었고, 버그를 수정하였지만 더이상 에러가 발생하지 않는지 monitoring을 할 필요가 있었다. 이미 monitoring tool로 Datadog를 사용중이었고, Datadog으로 custom metric을 설정할 수 있다는 것을 알아서 적용해보기로 하였다. 개발 환경 IDE: IntelliJ IDEA Ultimate SpringBoot 2.0.4 Java8 Gradle Dependency 추가 metric 설정을 위한 dependency 추가 build.gradle dependencies { // DataDog compile group: 'com.ryantenney.metrics' , name: 'metrics-spring' , version: '3.1.3' compile group: 'org.coursera' , name: 'dropwizard-metrics-datadog' , version: '1.1.13' } Metric Config 설정 및 적용 MetricsConfig.java Datadog으로 metric을 보낼 주기/값을 설정 @Configuration @EnableMetrics @Component public class MetricsConfig extends MetricsConfigurerAdapter { @Value ( "${frequency:30}" ) private long frequency; @Value ( "${async.pool.frequency:10}" ) private long asyncPoolFrequency; private List<DatadogReporter. Expansion

클린 코더

이미지
클린 코더 | 로버트 마틴 이 책 역시 개발자라면 가져야 할 마인드에 대해 서술한다. 이때까지 일을 하는데 있어서 안된다고 용기있게 말하기 보다는 노력해보겠다고 말하거나, 초과근무를 해서라도 일정을 지켰을 때 뿌듯함을 느끼곤 했다. 하지만 이런 행동들은 프로답지 못하다는 것을 알게 되었다. 노력해보겠다는 말은 이제까지 노력을 하지 않았고, 일정을 넉넉하게 잡았다는 것을 의미하는 것이며, 초과근무로는 이성적인 판단으로 코드를 설계하고 작성할 수는 없다. 한번쯤 내가 잘하고 있는 것인지, 이렇게 계속 나아가도 될지 고민이 될때 읽어보면 좋은 책이다. 헌신과 프로다운 모습은 무턱대고 많이 일하는 데서가 아니라 원칙을 지키는 모습에서 나온다. 충분히 자고 건강을 챙기고 건전한 생활습관으로 하루에 8시간씩 충실히 일하자.

Spring Boot에 Spock 적용하기

개발 환경 IDE: IntelliJ IDEA Ultimate SpringBoot 2.0.4 Java8 Gradle Dependency 추가 groovy 및 spock dependency 추가 build.gradle apply plugin: 'groovy' dependencies { // Spock testCompile group: 'org.spockframework' , name: 'spock-core' , version: '1.1-groovy-2.4' testCompile group: 'org.spockframework' , name: 'spock-spring' , version: '1.1-groovy-2.4' // Groovy testCompile "org.codehaus.groovy:groovy-all:2.4.15" // Mock testRuntime 'cglib:cglib-nodep:3.2.4' testCompile group: 'org.objenesis' , name: 'objenesis' , version: '2.6' } Code spock로 test code를 작성해볼 method는 getCustomerByName() 이다. 해당 method는 단순히 CustomerRepository에서 Customer entity를 가져온다. 기존에 customerRepository를 setter injection방식으로  @Autowired annotation을 붙여 사용하였는데 spock에서 mocking이 제대로 되지않아서 constructor injection방식을 사용하게 되었다. 이후에 알게되었는데 constructor injection으로 구현

소프트웨어 장인

이미지
소프트웨어 장인 | 산드로 만쿠소 하루하루 주어지는 회사일을 하다보니 매너리즘에 빠지게 되었다. 똑같은 언어, 프레임워크로 개발을 하게 되고, 새로운 것을 배울 기회도 주어지지 않아서 불만이 쌓이기만 하고 내가 도전할 생각은 하지 못했다. 그때 한 커뮤니티 게시판에서 개발자라면 꼭 읽어봐야 할 도서들을 나열한 글을 보게 되었다. 추천 도서는 개발자가 가져야 할 마인드와 코드 측면으로 나누어져 있었는데, 나의 경우에는 마인드를 먼저 단련하는 게 필요하다고 생각이 들어서 이 책을 먼저 읽기로 했다. 이 책에서는 내가 그동안 개발을 해오면서 수행하지 않았던 부끄러운 일들을 깨닫게 해줄 뿐만 아니라, 어떻게 나아가면 될지에 대해서도 알려주었다. 열정이 있는 개발자라면 GitHub 계정, 블로그, 오픈소스 활동, 기술커뮤니티나 사용자 그룹 활동 내역, 펫 프로젝트 경험, 트위터 계정, 좋아하는 기술서적 목록, 참석했거나 발표했던 컨퍼런스 등을 나열할 수 있어야 할 것이다. 그래서 블로그부터 시작해 보기로 했다. 블로그가 익숙해지면 내가 배워보고 싶은 기술을 적용할 펫 프로젝트도 진행해볼 계획이다.  기회는 주어지는 것이 아니라 만들어 가는 것이라는 걸 이 책을 통해 깨닫는 중이다. 멈춰있지 않고 앞으로 나아가는 열정있는 개발자가 되기 위해 노력하자! 커리어에서 옳고 그른 것은 없다. 지식은 영원하고 돈과 안정은 영원할 수 없다는 것을 마음에 새겨야 한다. 어떤 이유에서든 직장을 떠날 때 남는 것은 오로지 지식과 경험뿐이다. 항상 배우고 더 나은 소프트웨어 장인이 되는 것에 집중한다면 단순히 돈만 좇을 때보다 좋은 직장을 얻기가 오히려 더 수월하다.