1. 프로그래밍 실전 [ 조엘 테스트: 더 나은 코드를 위한 12단계 ] 다음과 같은 소프트웨어 팀 평가 테스트를 진행하여, 10점 이하라면 심각한 문제가 있는 것이다. 사실 대다수의 회사는 2~3점 수준이다. 소스코드 관리 시스템을 사용하고 있습니까? 한방에 빌드를 만들어낼 수 있습니까? 일일 빌드를 하고 있습니까? 버그 추적시스템을 운영하고 있습니까? 코드를 새로 작성하기 전에 버그를 수정합니까? 일정을 업데이트하고 있습니까? 명세서를 작성하고 있습니까? 조용한 작업 환경에서 일하고 있습니까? 경제적인 범위 내에서 최고 성능의 도구를 사용하고 있습니까? 테스터를 별도로 두고 있습니까? 프로그래머 채용 인터뷰 때 코딩 테스트를 합니까? 무작위 사용편의성 테스트(방금 막 작성한 코드를 다른 사람에게 사용..
이번에는 이전에 작성했던 프로젝트의 코드를 실무처럼 리팩토링 해보고자 합니다. 해당 프로젝트의 원본은 이 링크에서 확인할 수 있습니다. 해당 프로젝트는 사용자의 로그인/회원가입/목록 조회를 제공하는 아주 심플한 기능밖에 없는 프로젝트임에도 불구하고, 리팩토링할 사항이 상당히 많이 있는 것 같습니다. 차근차근 하나씩 고쳐보도록 하겠습니다. 1. 기존 SpringBoot 프로젝트 실무처럼 리팩토링 하기 [ 1. Raw 타입은 사용하지 말자 ] 위의 예제에서는 다음과 같이 Controller에서 데이터를 반환할 때 ResponseEntity를 Raw 타입으로 반환하고 있다. @RestController @RequestMapping(value = "/error") @Log4j2 public class Error..
클린 아키텍처를 읽는데, 잘 와닿지 않거나 이해가 가지 않는 내용이 상당히 많이 있었습니다. 하지만 이 책을 읽고 얻어가는 자그만한 부분이라도 정리를 해두고자 합니다. 책에서 다루는 핵심적인 내용들이 아닌, 개인적으로 기억하고 싶은 내용들만 정의하였습니다. 1. 단일 책임 원칙(SRP, Single Responsibility Principal)의 재정의 단일 책임의 원칙은 단일 모듈은 변경의 이유가 하나, 오직 하나뿐이어야 한다는 것이다. 이것은 하나의 일만 해야한다는 원칙과는 다르다. 여기서 말하는 변경의 이유는 사용자와 이해관계자를 가리키는데, 작성한 모듈들이 여러 대상들에 의해 변경되어서는 안된다는 것이다. 이러한 내용을 책에서는 하나의 모듈은 오직 하나의 액터에 대해서만 책임져야 한다고 SRP를 ..
2021년 신입 개발자가 되면서, 2021년에 대한 목표를 잡아보고자 합니다. 2022년 초에는 아래의 내용을 돌이켜 보면서 목표가 잘 지켜졌는지 회고하고, 새로운 목표를 잡을 계획입니다. 1. 2021년 목표 설정 [ 원리를 기반으로 한 공부 ] 2019년 후반기부터 MyBatis를 버리고 JPA라는 기술을 사용하기 시작하였다. 상당히 쿼리 중심적이고, 데이터베이스에 의존적인 기술이라 요구 사항이 변하면 그와 함께 변경해주어야 하는 것들이 많았다. 하지만 JPA를 도입하고나서 부터 Entity 중심의 개발을 하게 되었고, MyBatis의 단점을 극복할 수 있었다. 하지만 이후에 JPA를 조금 깊이 있게 공부하면서, JPA의 원리와 동작 방식을 깊이 있게 이해하지 못하고 사용했다는 것을 깨닫게 되었고, ..
2020년 11월부터 네이버 웍스(웍스 모바일 or 라인 웍스) 인턴을 시작하였고, 정직원 전환에 성공하여 2월 말부터 근무를 시작하게 되었습니다. 이번 포스팅에서는 네이버 웍스에 취업하게 된 과정을 소개하고, 취업을 준비하시는 다른 분들에게 도움을 드리고자 합니다. 1. 네이버 웍스 취업 과정 [ 1. 자기소개서 ] 자기소개서는 총 4문항이 있었고, 모두 분량의 제한은 없었습니다. 모든 내용을 공개하기에는 불가능하니 어떠한 내용들을 다루었고, 몇자 정도 작성했는지 등의 핵심적인 내용들만 다루도록 하겠습니다. (제가 자기소개서를 잘 쓰지 못하는 편이니 가볍게 참고하시는 것을 권장드립니다) 1. 자신에 대해 자유롭게 표현해 주세요. 이 항목에 대해서는 제가 목표로 하는 개발자의 모습, 개발자로서 제가 갖고..