본문 바로가기

전체 글137

5. 형식 맞추기 형식 맞추기 뚜껑을 열었을 때 독자들이 코드가 깔끔하고, 일관적이며, 꼼꼼하다고 감탄하면 좋겠다. 질서 정연하다고 탄복 하면 좋겠다 모률을 읽으며 두 눈이 휘둥그래 놀라면 좋겠다. 전문가가 짰다는 인상을 심어주면 좋겠다. 그 대신에 술 취한 뱃사람 한 무리가 짜놓은 듯 어수선해 보인다면 독자들은 프로젝트의 다른 측면도 똑같이 무성의한 태도로 처리했으리라 생각할 것이다. -요약- 읽히기 편한 코드 형식을 추구해라. 팀이 정한 규칙을 준수하고 일관성을 유지하라. 1. 읽히기 편한 코드 형식 1.1 신문 기사처럼 코드를 작성하라 신문은 가장 중요한 기사가 상단에 있고 아래로 내려가면서 그에 대한 세부적인 기사들이 나열된다. 코드 또한 추상화단계가 높은 코드가 상단에 위치하고 그에 종속되는 코드가 바로 아래에 .. 2023. 6. 18.
4. 주석 주석 잘 달린 주석은 그 어떤 정보보다 유용하다. 경솔하고 근거 없는 주석은 코드를 이해하기 어렵게 만든다 오래되고 조잡한 주석은 거짓과 잘못된 정보를 퍼뜨려 해악을미친다. 우리는 코드로 의도를 표현하지 못해, 그러니까 실패를 만회하기 위해 주석을 사용한다. - 요약 - 주석을 사용하기보다는 코드를 사용해서 의도를 나타내는 것을 지향하자. 특히 주석은 유지보수가 쉽지 않기 때문에 메서드에 대한 설명을 단순 나열하는 주석은 피해야 한다. 되도록이면 코드로 표현할 수 없는 정보를 전달해야 할 때만 주석을 사용하자 1. 주석을 사용할만한 경우 1.1 직관적이지 않은 정보를 전달할 때 코드를 작성할 때 표현식이라던지, 외부 라이브러리에 의해 코드를 직관적으로 해석하기 어려울 때가 있다. 이럴 때, 주석을 통해 .. 2023. 6. 18.
Spring 3.0이후 변경해야하는 의존성_P6spy, QueryDsl, MySql Spring 3.0 이후 변경해야 하는 의존성_P6spy, QueryDsl 기존에 Spring 2.75 버전을 사용하다 이번에 새로 프로젝트를 시작할 때 Spring 3.0 이상의 버전을 사용했다. 이전 버전에서 사용하던 build.gradle에 명시된 의존성을 그대로 사용하려 했으나..! 몇몇 의존성들이 제대로 적용이안되고 예외가 발생하였다. 현재까지 내가 진행하는 프로젝트에서 변경해야 했던 것들은 P6spy, QueryDsl, Mysql이 있었다. 1. P6spy P6spy는 JPA가 DB에 날리는 쿼리문을 보기 좋은 형태로 로그로 찍어주는 라이브러리다. Spring 2.75 버전을 사용할 때는 1.80 버전을 사용하였는데 Spring 3.0 버전에서 이를 그대로 사용하려니 제대로 작동하지 않는 문제.. 2023. 6. 4.
Spring Security DB 조회, 비밀번호 암호화 Spring Security DB 조회, 비밀번호 암호화 1. UserdetailsService Spring Security는 인증 시 인증정보를 기본적으로 세션을 통해 저장하고 조회한다. 내가 진행한 프로젝트에서는 DB에 사용자의 정보를 저장했기 때문에 Spring Security가 인증 시 DB를 조회하도록 해야 했다. Spring Security는 인증 정보를 조회할 때 UserdetailsService(인터페이스)의 loadUserByUsername 메서드를 참조한다. 따라서 인증 정보를 DB에서 조회하도록 UserdetailsService의 loadUserByUsername을 구현하면 된다. 내가 진행한 프로젝트에서는 JWT를 사용했기 때문에 Spring Security가 세션을 사용하지 않도.. 2023. 6. 4.