1. 협력의 진화 내용 정리[ 1. 협력, 무엇이 문제인가 ]이 책에서 제시하는 협력이론은, 사회 구성원들에게 강제적으로 협력을 강요하는 중앙 권위체가 없는 상태에서 이익을 추구하는, 이기적 개인들에 대한 연구와 조사를 바탕으로 한다.이런 온갖 유형의 특정 사례들을 분석해 들어가려면, 우선 각 경우에 특수한 세부사항들에 얽매이지 말고 이들 상황을 공통적으로 묘사할 수 있는 방법이 필요하다. 다행히도 그런 방법이 있다. 바로 그 유명한 ‘죄수의 딜레마’ 게임이다.개인적으로 합리적인 결론이, 두 사람 모두에게는 더 나쁜 결과를 가져오는 것이다. 이것이 딜레마다.여러 번 게임을 하더라도 게임의 횟수가 미리 정해져 있고 이 사실을 참가자들이 알고 있다면, 경기자들은 역시 협력할 동기가 없어진다. 이런 상황은 특..
1. 스프링 부트의 JAR 파일 처리 방식[ WAR 방식의 한계점과 스프링 부트의 등장 ]이전 포스팅에서 살펴보았듯, 스프링 부트는 컨테이너리스(Containerless) 웹 애플리케이션 아키텍처에 대한 요구와 함께 등장했다. 과거에는 톰캣 같은 웹 애플리케이션 서버(WAS)를 먼저 설치하고, 애플리케이션 코드를 WAR로 빌드한 후, 빌드한 WAR 파일을 WAS로 옮기고(배포) WAS를 실행하는 절차들이 필요했다.하지만 이는 WAS를 서버에 직접 설치해야 하는 번거로움 뿐만 아니라, 개발 환경 설정과 배포 과정의 복잡함 등 많은 단점이 있었다. 따라서 스프링이 “애플리케이션의 설정을 처음부터 끝까지 지원하는 아키텍처를 제공해준다면, 단순히 main 메소드를 호출하는 것 만으로도 애플리케이션의 실행과 ..
1. 제품은 가설의 조합이다. [ 될 놈 그리고 안될 놈]기업으로서의 구글은 실패가 혁신의 불가피한 부산물임을 알고 있기에 관대하게 실패를 그대로 인정해준다. 하지만 구글의 직원 개개인은 분명 실패를 두려워 하고 있었고, 대부분은 이미 성공했거나 잘 알려진 제품 관련 부서에서 일하는 쪽을 선호했다. ‘성공’ 하면 떠오르는 사람이 되고 싶고, 실패는 피하고 싶기 때문이다.하지만 모두가 성공한 제품에서 일할 수는 없으며, 우리는 계속해서 시장에 새로운 제품을 출시해야 한다. 현실은 다음과 같기에 실패를 존중하는 편이 이롭다.대부분의 신제품은 시장에서 실패한다. 유능하게 실행해도 마찬가지다. 대부분의 제품이 실패하는 이유는 처음부터 제품 아이디어가 잘못되었기 때문이다. 우리는 제품을 제대로 만들지만, ‘될 ..
1. 아이디어 불패의 법칙 내용 정리[ 1. 시장 실패의 법칙 ]시장 실패의 법칙팩트를 직시하고 받아들이는 일이 처음에는 언짢을 수도 있지만, 팩트를 무시하기로 결심한 사람들을 기다리고 있을 여러 문제와 고통에 비하면 그런 불편은 아무것도 아니다.우리가 탐구할 팩트는 세 가지 특징을 가지고 있다.받아들이기가 힘들다. 적어도 처음에는, 인정하기 힘들 수 있다.확고하고 객관적인 데이터에 기초한다. 가느다란 희망이나 위태로운 신념 또는 언제든 바뀔 수 있는 의견에 기초한 것이 아니다.견고하고 단호하고 영구적이라는 의미에서 확고하다. 팩트는, 적어도 우리 평생에는, 변할 가능성이 거의 없다. 팩트는 2번과 3번의 특징, 즉 객관성과 영구성 때문에 보편적이며 시대를 초월한다. 따라서 여러분은 팩트에 익숙해질 필요..
1. @Async에서 The bean could not be injected because it is a JDK dynamic proxy 에러 발생 원인 분석하기[ 문제 발생 상황 ]다음과 같이 TestInterface와 이를 구현한 TestService가 있고, TestService를 주입받는 TestController가 있다고 하자.public interface TestInterface { default void hello() { System.out.println("hello"); }}@Service@Slf4jpublic class TestService implements TestInterface { @Async public void gogo() { lo..