[공부 시간 기록/개발일지] (2) DDD? (내 방식대로 해보기)
Project : 공부 시간 기록/개발일지2025. 4. 6. 21:27[공부 시간 기록/개발일지] (2) DDD? (내 방식대로 해보기)

1. DDD를 왜 사용하냐구?뭔가 나는 나중에 이 프로젝트를 가지고 내가 공부한걸 적용시켜보고싶다 Jpa도 연결해보고 mybatis도 써보고 이런식으로 여러개를 레고블럭 끼웠다 빼듯이 사용할수 있는 아키텍처 구조를 사용하고 싶다.📌Domain Layermodel 핵심 객체가 들어감 domain에서 가장 중요한 녀석repository도메인 입장에서의 저장소 추상화. 저장소를 추상화 했기때문에 저장소가 달라져도 구현체만 변경하면 된다.📌Application Layerservice도메인 로직을 조합하고 유스케이스를 실행하는 계층 인터페이스라서 구현체만 변경하는 방식📌Infrastructure Layerexternal외부 시스템과 통신하는 곳. Oauth나 controller 혹은 이벤트 발행등이 여기에 ..

[공부 시간 기록/개발일지] (1) WakaTime을 이용해보자!
카테고리 없음2025. 4. 5. 22:58[공부 시간 기록/개발일지] (1) WakaTime을 이용해보자!

1. 왜 하는가?나는 취업하기 전에 git에 잔디 남기는게 너무 좋았다. 뭔가 열심히 한거 같달까 근데 취업하고 나서 git이 아닌 bitbucket으로 작업하다 보니 내가 따로 뭔가를 집에서하는게 아니면 남는게 없었다. 그러다가 wakaTime이나 Nau를 알게됐고 이걸 사용해서 기록하고 싶어져서 프로젝트를 기획했다. 이번프로젝트는 기획을 엄청나게 먼저하지 않고 "에자일하게"(사실아님) 상황에 따라 변경되는 게 많을 예정이다. 최종목표는 Nau를 만드는 거다.Nau나 WakaTime은 내 정보를 2주밖에 저장을 안해준다. 따라서 나는 내가 공부한 내용을 따로 DB에 저장해두고 내가 볼수있는 dashboard를 만들것이며 궁극적으로 git readme에도 잔디처럼 표시해주는 걸 만들 것이다. 화이팅2. ..

[Java/기초] 인텔리제이 javadoc 자동화?
JAVA/JAVA 기초2025. 4. 5. 20:25[Java/기초] 인텔리제이 javadoc 자동화?

우리는 주석을 달아야한다.코드를 작성하다보면 나중에 이코드가 뭘하는건지 주석을 달야하며 많은 분들이 javaDoc을 이용하는걸로 알고있다./** + Enter이런 간단한 커멘드만 입력하면 바로 주석을 달수 있어서 사람들이 많이 사용하는 거 같다.하지만 이렇게 완전 간단하게 나오며 잘나와봤자 이정도이다.근데 JavaDoc에는 여러 기능이 더있다. 같은 html헤더를 제공하거나, @를 사용한 다른걸 더 넣을수있다.나는 이걸 어느정도 자동화한 틀을 빠르게 불러오고 싶었다.인텔리제이 Live Templates1. Live Templates 생성Settings->Editor->LiveTemplates로들어가서 plus버튼을 누른다. 그럼 2번 Template Group이 나올텐데 여기에 JavaDoc을 추가한다..

Python/Python 기초2025. 4. 3. 21:14[Python/기초] 조합과 순열

브루트포스문제에서 자주 사용되는 조합과 순열에 대해서 알아보자itertools 모듈을 사용하면 매우 간단하게 구할수 있다.조합 (combinations)순서 상관 없이 n개 중 r개를 뽑는 경우 예시로 1,2,3 중에서 2개를 고를 때 가능한 조합(1, 2)(1, 3)(2, 3)(1,2)와 (2,1)은 같은 조합으로 취급한다.사용 방법from itertools import combinationsarr = [1, 2, 3]for comb in combinations(arr, 2): print(comb)시간 복잡도경우의 수: nCr = n! / (r!(n - r)!)입력 크기가 작을수록 사용 적합하다.순열 (permutations)순서 중요하게 n개 중 r개를 뽑는 경우예: [1, 2, 3] 중 2개를..

[Python/백준] 1749_점수따먹기 (누적합)
Coding Test/Python2025. 2. 6. 22:04[Python/백준] 1749_점수따먹기 (누적합)

https://www.acmicpc.net/problem/1749" style="background-color: #ffffff; color: #000000; text-align: start;" data-ke-size="size26">2차원 누적합을 사용하면 된다. DP랑 비슷하니까 겁낼 필요가 없고 이해만 하면 완전 쉬운 로직이다.(시간초과 때문에 python3 말고 PyPy3로 제출하자)2차원 누적합 테이블 만들기현재 위치의 값 더하기 board[i-1][j-1]위쪽 영역의 누적 합 더하기dp[i-1][j]왼쪽 영역의 누적 합 더하기dp[i][j-1]중복된 부분 빼기- dp[i-1][j-1]# 누적 합 구하기for i in range(1, N + 1): for j in range(1, M + 1)..

나는 성장 지향적인 태도를 가지고 있는가?
0과 1 사이의 철학/나는 리펙토링중2025. 1. 15. 22:09나는 성장 지향적인 태도를 가지고 있는가?

좋은 코드란 무엇인가라는 질문은 단순한 듯 하지만 깊은 성찰을 요구하는 주제였다. 면접에서 질문을 듣는 순간까지도 '당연한 질문 아닌가'라는 생각을 했다. 그렇지만 면접관의 의도, 대답의 방향성, 면접관의 주관적인 가치를 고민하며 평소 생각을 하지 않고 살았구나를 느꼈다. 나는 생각을 하는 사람인가? 좋은 코드에 대한 고찰은 깊은 심연과 같이 느껴진다. 성능 지향적인 코드와 유지보수성이 높은 코드 사이의 균형은 단순한 기술적 선택을 넘어서는 것 같다. 돌잔치 아기 앞에 놓인 수많은 물건처럼 어떤 것을 골라도 틀리지 않은 답인 거 같다. 물건의 가치도 중요하지만 물건에 부여된 의미가 더 중요하다는 뜻이다.  나의 생각이 깊어질수록 내가 나이를 들어감에 따라 깊은 생각을 항상 유지할수 있다면, 처음에는 당연..

728x90
반응형
image