전체 글

전체 글

    구글의 기업 문화 - 성과와 보상에 대한 처리 방식

    라즐로 복의 Work Rule! - 구글의 아침은 자유가 시작된다 위 책에서 시작된 내용을 살펴보는 과정에서 개인적으로 성과와 관련된 얘기를 정리해 볼 생각입니다. 해외 글과 국내 글을 전부 뒤적이면서 나온 결과로 얻은 인사이트이니 좋은 글이 되었으면 합니다. 개인의 성과는 어떻게 평가하는가? 책에서는 성과 관리와 개인 개발(development)을 혼동하지말라라는 주제가 나옵니다. 사실 시작부터 직관적으로 이해되지 않아 어려웠습니다. 일단 결론부터 얘기하자면 모든 글 들에서 공통적으로 드러나는 점은 구글은 개인의 성과는 개인적인 특성에만 초점을 맞추려고 노력을 한다는 것이었습니다. 개인적인 특성이라 함은 개인의 실력, 의사 소통 능력, 성격, 열정, 리더쉽, 희생 정신, 문제 해결 능력 등 전반적인 개..

    Java Stream 사용법 ( 당신의 Stream은 안녕하십니까? )

    Java 8의 Stream은 2014년에 공식적으로 등장해서 2023년인 현재 10년 째를 맞이하고 있다.이전에도 Stream에 관한 글을 작성했었지만 이번엔 좀 더 실무적인 관점에서 설명을 해보려고 한다.2024년 9월 추가 - 롬복의 @With를 사용하면 함수형 프로그래밍을 유지할 수 있다는 사실..!대다수 놓치고 있는 사실 Stream을 한번이라도 써본 사람은 코드가 간결해진다는 장점은 알고 있을 것이다.하지만 Stream을 간결하게만 사용할 뿐 쉽게 놓치고 있는 부분이 하나가 있다.그건 바로 함수형 프로그래밍의 원칙이다.이 원칙이 무엇인지 알기 위해 일단 Stream 공식 문서를 확인해보자. Stream 공식 가이드 문서 Base interface for streams, which are sequ..

    JUnit 문법

    Junit 4 Junit 기본 제공 org.junit.Assert.*; Junit에는 위의 패키지에서 기본 제공되던 assertThat이 있었다. 하지만 검증이 좀 딸려서 AssertJ 쓰는게 좋았음. org.assertj.core.api.Assertions AssertJ는 위의 패키지를 말함 Junit 5 Junit 기본 제공 org.junit.jupiter.api.Assertions Junit에서 기본제공하는 jupiter 패키지의 assertEquals와 assertThrow가 있다. assertEquals("zzzz", mvcDto.getName()); 간단한게 검사할 때 쓰인다. 결론은 AssertJ 추천 Hamcrest org.hamcrest.Matchers assertThat(mvcDto.g..

    @WebMvcTest에 대한 올바른 사용법 및 시행착오

    이번에 @WebMvcTest를 사용하면서 겪은 시행착오를 공유해 볼 예정이다. @WebMvcTest란? @WebMvcTest는 Spring Controller 영역에 대한 HTTP 요청만을 단위 테스트할 때 필요한 Bean들만 올려주는 기능을 가진 어노테이션이다. 실제 테스트는 MockMvc를 통해서 수행한다. MockMvc는 HTTP 서버 요청을 직접하는 것이 아니라 컨트롤러에 대한 메소드만을 딱 잘라서 테스트하는 기능이라고 보면 된다. 속도 측면에서 @SpringBootTest를 사용하면서 MockMvc를 사용하면 모든 Spring Bean을 전부 로드해서 느리다는 단점이 있지만 @WebMvcTest는 웹 계층에서 필요한 빈들만 로드하는 기능을 가지고 있어서 불필요한 Bean들은 로드되지 않아 테스트..