1. 책은 도끼다 내용 정리 및 독서 후기 [ 내용 정리 ] p7 내가 읽은 책들은 나의 도끼였다. 나의 얼어붙은 감성을 깨뜨리고 잠자던 세포를 깨우는 도끼. p16 저는 여느 독서가들과 비교했을 때 독서량이 평균에 미치지 못할 겁니다. 매번 읽은 책들을 메모해놓는데, 통계를 내보면 일 년에 읽는 책이 서른 권에서 마흔 권 사이입니다. 한 달에 세 권 정도 읽는 건데 독서량이 많은 건 절대 아니죠. 대신 저는 책을 깊이 읽는 편입니다. 한 문장 한 문장을 꼭꼭 눌러 읽습니다. p20 논에서 잡초를 뽑는다 이렇게 아름다운 것을 벼와 한 논에 살게 된 것을 이유로 ’잡’이라 부르기 미안하다 - 전문 잡초라고들 하는데 관점을 벼로 놓았기 때문에 잡이 된 겁니다. 풀의 입장에서는 얼마나 기분 나쁘겠습니까? p2..
1. 유용한 개발 관련 아티클 및 영상 #7 혹독한 조언이 나를 살릴까? 주변에서 혹독한 조언을 해주고, 이 혹독함에 대해 조금이라도 불평하면 “좋은 약은 입에 쓰다”는 아포리즘으로 이 폭력성을 정당화하기도 함 하지만 연구 결과에 따르면 자신을 비난하는 조언은 성장에 도움이 되지 않았음 내담자를 존중하지 않는 방식은 장기적으로 효과가 없거나 부정적이라는 것이 수십년에 걸친 심리상담학 연구 결과임 따라서 쓰다고 꼭 몸에 좋은 것은 아니며, 또 그걸 통한 폭력성을 정당화하는 것을 경계해야 함 출처: https://web.archive.org/web/20200227120819/http://agile.egloos.com/5931859 코틀린에서 인텔리제이(IntelliJ)의 move instance method..
1. 코틀린에서 move instance method 리팩토링 기능 활성화하기 [ move instance method 리팩토링 기능 소개 ] 예를 들어 신용카드를 발급하는 유스케이스가 있고, 신용카드 발급을 위해서는 기본적으로 사용자가 20세 이상의 성인이여야 한다고 하자. 해당 코드는 자바로 다음과 같이 구현할 수 있다. @Getter @Builder @NoArgsConstructor @AllArgsConstructor public class User { private int age; } @Service @RequiredArgsConstructor class IssueCreditCardUseCase { public void issue(User user) { if (isAdult(user)) { .....
1. 유용한 개발 관련 아티클 및 영상 #6 Twitter는 어떻게 1초에 3,000개의 이미지를 처리하고 있나? 트윗 작성과 미디어 업로드를 분리함, 각 프로세스를 독립적으로 최적화할 수 있었음 또한 업로드를 분리함으로써 도중에 실패해도 계속할 수 있도록 해서 미디어 업로드 실패율이 크게 줄음 20일이 넘은 이미지는 액세스될 가능성이 떨어짐을 파악하고 최적화를 진행함 출처: https://www.mimul.com/blog/how-twitter-handles-3000-images-per-second/ SRE의 프롬포트 활용 예시 Canva의 SRE 팀은 서비스 장애 발생시 일어나는 모든일을 자세히 기록하고, 후 장애 리포트 작성을 ChatGPT의 도움을 받아 깔끔하게 작성하는 프로세스를 적용했다고 함 귀..
1. 스레드 로컬(ThreadLocal)과 상속 가능한 스레드 로컬( InheritableThreadLocal)에 대하여 [ 스레드 로컬(ThreadLocal)이란? ] 자바는 오랜 기간 동안 동시성 처리를 위해 스레드를 사용해왔다. 대표적으로 스프링 프레임워크는 멀티 스레드 모델을 사용하고 있으며, 1개의 요청을 1개의 스레드가 처리하는 thread-per-request 방식으로 동작하고 있다. 자바는 각각의 스레드 별로 필요한 정보를 저장할 수 있는 스레드 로컬(Thread Local)이라는 기술을 제공하고 있다. 각각의 스레드는 살아있는 한 ThreadLocal에 접근할 수 있는 암묵적인 참조를 갖는 것이다. 이러한 스레드 로컬은 다음과 같이 활용할 수 있다. 스레드 내에서 공유할 값을 저장하고 어..