전체 글 112

[코드트리] 한달 챌린지 후기 및 갭체크

어느덧 마지막 챌린지가 다가왔다. 막상 마지막이라니 아직 많이 부족한 것 같기도 하고, 처음 마음먹은 만큼 많이 하지 못해서 아쉬운 마음이 크다. 한 달 동안 나름대로 열심히 했다고 생각했는데, 생각보다 제자리걸음인 것 같아 헛헛한 기분도 든다.이번 한 달 동안 특히 백트래킹적인 사고를 해보려고 나름대로 노력을 많이 했다. 아직은 완벽하게 체화가 덜 된 것 같아서 문제를 풀 때 종종 머뭇거리게 된다. 그래도 다행인 점은 예전과 비교했을 때 문제를 대하는 시야나 접근 방식이 전보다는 확실히 나아진 것 같다는 것이다.물론 이러한 변화가 실제 갭체크에서 완벽한 약점 극복이라는 눈에 띄는 결과로 나타나지는 않았다. 확실히 편하게 트레일 문제를 푸는 것과, 실제 갭체크에서 느끼는 긴장감과 갭 차이가 생각보다 컸다..

카테고리 없음 2026.06.22

[코드트리] 북마크 기능활용해서 복습하기

원래는 엑셀 표로 문제를 정리해두고 복습하는 방식으로 코딩 테스트 공부를 진행하고 있었다. 문제 번호, 유형, 풀이 여부, 복습 횟수 등을 직접 기록하면서 관리했는데, 점점 문제 수가 많아지다 보니 엑셀을 따로 열어서 확인하는 과정이 생각보다 번거롭게 느껴졌다.그래서 이번에는 코드트리에서 제공하는 북마크 기능을 적극 활용해보기로 했다.우선 복습 목적에 맞게 여러 개의 폴더를 생성해두고, 오답 문제나 풀이를 보면서 해결했던 문제, 다시 풀어볼 필요가 있는 문제들을 북마크로 저장해 관리하기 시작했다.폴더를 생성해서 아래와 같이 구성해두었다. 또한 필요한 문제를 바로 찾아볼 수 있다는 점도 큰 장점이다. 이전에는 엑셀에서 문제 번호를 확인한 뒤 다시 검색해야 했지만, 지금은 북마크된 문제 목록에서 바로 이동..

카테고리 없음 2026.06.08

[코드트리] 코드트리와 함께 코테 루틴 형성하기

혼자 코테 공부할 때 개인적으로 가장 어렵다고 생각되는 부분 중 하나가 매일매일 빠짐없이 문제를 푸는 루틴을 실천하는 것이라고 생각한다. 하지만 코드트리의 알림톡과 깃허브 연동 기능은 이런 나에게 동기를 부여해주었다. 이렇게 알림톡을 설정해두면 매일매일 리마인더를 발송해주어 까먹었을 경우에도, 하기싫어 미루었을 때도 다시 정신차리고 한문제라도 풀 수 있게 해준다.또, 깃허브 연동 기능도 있어서 내가 작성했던 코드들을 저장할 수도 있고 깃허브 잔디를 채울 수도 있다.! 심지어 최근에 저장방식이 바뀌어 트레일 별로 문제와 내 풀이까지 저장되는데 개인적으로 전에 백준 허브도 썼던 사람이라 그거랑 동일한 방식인 이 방식이 훨씬 좋다 ㅎㅎ 나에게 가장 큰 동기부여가 되는 뽀인트는 바로!! 코드트리의 스트릭과 하루..

카테고리 없음 2026.05.25

[코드트리] 약점 유형 뽀개기

벌써 2주차가 끝났다..>!.. 갭체크에서 부족하다고 진단받았었던 백트래킹 부분을 공부하기 위해서 노력했다.! 이전에는 백트래킹을 사용해서 문제를 많이 풀어본 경험이 없어서 그런가 확실히 어떻게 문제를 해결해나가야할지 헤맸는데 그래도 한문제씩 풀다보니 조금씩 나아가는 느낌이 드는 것 같다..! 다음 갭체크때는 이 부분 풀어내야지! 잘 안풀려서 앞의 계획했던 완전 탐색 부분을 이어서 풀었다. 백트래킹은 아직 다 풀지는 못했지만 이어서 꾸준히 풀어나가보려한다! 완전 탐색도 처음에는 겁먹었는데 자꾸 풀다보니까 자신감이 붙고, 구현력이 생긴느낌이다.! 내가 자꾸 재귀를"함수를 여러 번 호출하는 것"처럼 느끼고 있는게 문제인 것 같다... 근데 백트래킹은 사실:"선택지를 트리 탐색하는 것" 상태 변화 추적 ..

카테고리 없음 2026.05.18

[코드트리] 갭체크와 함께 시작하기

코드트리에서 이번에 청약 챌린지를 한다길래 동기부여도 해볼겸 참여해보았다. 원래 갭체크를 잘 안하는 편인데 1주차 미션이 마침 갭체크이길래 이번 기회에 한 번 해보았다. 한 두달 전까지만 해도 코테 왕초보였었는데 그래도 나름 매일 문제를 푼 결과 조금 늘은 것 같아 뿌듯하다.앞으로도 청약통장과 함께 8주간 다시 열심히 달려봐야지! 사실 백트래킹 부분이 아직 많이 부족하다고 안그래도 느끼고 있었는데 결과에서도 동일하게 나왔다.. 이태까지는 Trail2, Trail3를 끝냈으니 앞으로는 Trail4를 진행하면서 알고리즘을 더욱 익혀야겠다 앞으로의 8주간 목표를 나름대로 작성해보았다1주차 (~5/10)갭체크를 통해 약점 파악 및 목표 세우기2주차 (5/11 ~ 5/17)완전탐색 마스터 (Trail2)3주차..

멀티 모듈

멀티모듈이란, 하나의 프로젝트를 여러 개의 독립적인 모듈로 나누어 관리하는 프로젝트 구조 공통으로 사용하는 코드를 공통으로 관리, 각 모듈을 독립적으로 배포가능, 모듈 간 서로 의존성을 가지며 연결함 모듈 : 독립적으로 운영될 수 있는 의미를 가지는 구성요소 단위 필요성○ Web과 API에서 공통으로 사용되는 코드의 관리○ 단일 모듈의 한계 적용1. 프로젝트 분리의 기준 정하기2. 각 모듈의 의존성 관리 방법 결정3. 모듈별 독립적인 빌드와 배포환경 구성4. 모듈간의 인터페이스 명확하게 정의, 공통 기능 별도의 모듈로 분리5. 멀티 모듈 구조의 적용은 지속적인 리팩토링과 개선 과정을 통해 이루어짐 * 도메인 관점에서 진행할 경우 - 팀 단위 작업 분리, 유지보수 용이, 비즈니스 로직 집중, 확장성 - ..

카테고리 없음 2025.11.10

DDD : 도메인 주도 설계

Domain Driven Design : DDD소프트웨어 개발의 복잡성을 해결하기 위한 설계 방법론1. 비즈니스 Domain 별로 나누어 설계하는 방식2. 핵심 목표 : "Loosly coupling", "High cohesion" - 모듈 간의 의존성 최소화 및 응집성 최대화3. Strategic Design(개념 설계) / Tactical Design(구체적 설계) 특징- 도메인의 모델과 로직에 집중 (데이터 중심 → 도메인 중심 접근)- Ubiquitous Language : 보편적 언어 사용 : 여기서 말하는 언어는 개발자도 알고 도메인 전문가도 아는 언어 == 비즈니스 용어를 하나로 통합한 공통의 언어 ※ 고려사항 - Bounded Context (제한 영역) 범위 내에서 정의 ..

카테고리 없음 2025.11.05

테스트 하기 쉬운 코드 && 테스트 범위와 종류

테스트가 어려운 코드● 하드 코딩된 경로 : 해당 경로에 파일이 반드시 위치해야함● 의존 객체를 직접 생성● 정적 메서드 사용● 실행 시점에 따라 달라지는 결과 ○ LocalDate.now() 혹은 Random 사용하는 코드● 역할이 섞여 있는 코드● 메서드 중간에 소켓 통신 코드 포함 +) 소켓 통신이나 HTTP 통신의 경우 실제를 대체할 서버를 로컬에 띄워서 처리 가능 (서버 수준의 대역)● 콘솔에서 입력을 받거나 결과를 콘솔에 출력● 테스트 대상이 사용하는 의존 대상 클래스나 메서드가 final : 대역으로 대체하기 어려움● 테스트 대상의 소스를 소유하고 있지 않아 수정이 어려움테스트 가능한 설계테스트가 어려운 주된 이유 = 의존하는 코드를 교체할 수 있는 수단이 없음 ●..

Java 2025.10.14