전체 글631 [독서 기록] 아주 작은 습관의 힘, 제임스 클리어 지음, 이한이 옮김, 비즈니스 북스 아주 작은 습관의 힘 단계적이고 체계적인 자기계발 방법을 찾는 사람들을 위한 『아주 작은 습관의 힘』. 고교 시절 촉망받는 야구선수였던 저자는 연습 중 동료의 야구 배트에 얼굴을 정통으로 강타당하는 큰 사고를 당했고, 걸을 수조차 없었던 저자는 절망에 빠지는 대신 지금 당장 할 수 있는 아주 작은 일이라도 찾아 그것을 반복하자고 마음먹었다. 그 후 매일 걷기 연습을 해서 6개월 만에 운동을 할 수 있게 되었고, 6년 후에는 대학 최고 남자 선수가 되었다. 그 후 자신을 인생의 나락에서 구해준 아주 작은 습관의 힘을 전 세계에 알리는 최고의 자기계발 전문가가 된 저자는 이 책에서 자신의 생생한 경험과 생물학, 뇌과학, 심리학의 최신 연구 결과를 집약해서 습관 하나로 인생을 변화시킬 수 있는 노하우를 제시한.. 2023. 6. 29. 도메인 주도 개발 방법론(DDD)을 적용하여 3티어 아키텍처를 변경해보자 0. 배경 스프링 부트로 개발을하면서 어떻게 하면 결합도는 낮추고 응집도는 높이는 코드를 짤 수 있을까 하는 고민을 한다. 프로젝트를 하면서 MVC 패턴을 이용하는 것은 익숙했다. 하지만 보다 좋은 설계에 대한 갈증 같은 것이 항상 있었다. 엔티티 간의 연관관계가 복잡해지고 참조 Depth가 깊어질 때마다 내가 하는 이 방식이 맞는건가 하는 생각이 자주 들곤 했다. 서비스가 비대해지는 것도 문제였지만 특히 서비스와 서비스가 서로 참조관계를 맺는 것도 불편했다. 또 서비스라고 부르기에는 좀 애매한데 그렇다고 서비스가 아니라고 하기는 좀 뭐한 기능 클래스들이 있었다. 예를 들어 다음과 같은 PaginationService이다. 이에 대해서도 적절한 네이밍을 설정하고 레이어를 맞춰주는 것이 힘들었다. 이에 .. 2023. 6. 26. 백준 7785 회사에 있는 사람 (JAVA 자바 풀이) 백준 7785 회사에 있는 사람 (JAVA 자바 풀이) 💡 잘못된 풀이 초기 구현한 코드는 문제의 요구사항을 그대로 따른 코드였다. 1) 입력을 받으면서 2) 리스트에 직원 객체를 넣는다. 3) 이때 이미 입력으로 받은 직원이면 상태를 업데이트해주고 4) 새롭게 들어온 직원이면 객체를 생성해서 넣어준다. 5) 역순으로 정렬하고 6) 회사에 있는 직원만 출력한다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Mai.. 2023. 6. 25. 백준 1181 단어 정렬 (JAVA 자바 풀이) | 문자열 길이순, 알파벳 순 정렬, 스트링 compareTo 메서드, thenComparing 메서드 백준 1181 단어 정렬 (JAVA 자바 풀이) 문제의 조건대로 정렬을 구현해주면 된다. 중복에 대한 제거는 문자열을 받으면서 배열에 저장할 때 해도 되고 마지막에 해도 된다. 가장 간단하게 컬렉션 Set을 이용해서 구현했다. 정렬은 2가지 조건을 만족해야 한다. 1. 길이순 정렬 2. 알파벳순 정렬 그 전에 시간 복잡도를 생각해보자. 데이터가 2만이고 시간은 2초이므로 넉넉한 편이다. Arrays.sort()는 참조형 타입에 대해 O(nlogn) 시간 복잡도를 보장하므로 (https://upcurvewave.tistory.com/379) 20,000개의 데이터에 대해 약 28만 번의 연산을 수행할 것이다. 문자열의 최대 길이는 50으로 주어졌기 때문에 여기에 50을 곱하면 약 1,400만으로 계산된다... 2023. 6. 25. GetMapping시 URI에 PK 식별자가 노출되는 문제: 대체키를 사용한 해결 배경 웹 쇼핑몰 프로젝트를 하면서 스프링 컨트롤러에서 Get Mapping 요청시 쿼리 파라미터가 노출되는 문제를 마주했다. 당장 서비스를 런칭하는 것도 아니기 때문에 큰 문제가 있는 것은 아니었지만 내부 구조가 그대로 드러나는 것 같아 상당히 찜찜했다. 조금만 생각해보아도 보안상이 의슈로 연결되기 쉬운 부분이었다. 예컨대 커뮤니티 서비스에서 게시글을 검색하는 과정에서 다음과 같이 쿼리 파라미터가 노출된다. articles?page=0&sort=&searchType=HASHTAG&searchValue=hashtag1 아래는 해당 URI를 매핑하는 search 메서드 구현부이다. 이와 같은 문제를 해결하는 방법으로 아래의 대안책들을 고려했었다. POST 방식 사용 POST 방식은 URL을 사용하지 않으며,.. 2023. 6. 24. 이전 1 ··· 45 46 47 48 49 50 51 ··· 127 다음