목록전체 글 (162)
자바칩
우아한테크코스 프리코스 미션을 진행하면서, 디스코드에서 다른 사람들의 코드를 보고 리뷰를 받거나, 리뷰를 할 수 있다.이전에는 다른 사람에게 리뷰를 받아보기만 했지만 내가 직접 리뷰를 해주기에는 나보다 더 잘하는 사람이 많아보였기 때문에 살짝 겁이 나서 하지 못했다.실제로 다른 사람들의 코드를 몇 개 보았는데 나보다 코드를 잘 작성한 사람들이 많아보였다. 오히려 내가 더욱 배워가는 시간이었다.하지만 이번 3주차때는 용기를 내어서 다른 분의 코드를 리뷰해보았다.나보다 코드를 잘 작성하신 분인 것 같지만, 내가 보기에 이부분은 개선했으면 좋겠다고 생각하는 부분은 최대한 리뷰를 해드리고, 배워갈 점은 배워갔다.아무래도 나도 SOLID 원칙과 클린 코드에 대해 어느 정도는 아는 사람이기 때문에 막힘없이 리뷰를 ..

다른 사람들의 코드를 보면서 내 코드가 생각보다 부실했다는 것을 깨달았다. 다른 분들은 정말 사소한 기능도 여러 가지의 클래스와 메서드로 잘 나누었다. MVC패턴을 주로 적용을 하였는데, 그것을 보고 나도 이번 미션부터 MVC 패턴을 적용하였다. MVC 패턴이란 Controller가 Model과 View를 컨트롤하는 것이다. Model과 View는 서로 모르는 존재가 되어야 한다. 비즈니스 로직을 Model에서 처리하고, 콘솔 입출력은 View에서 처리했다. 즉, Model은 백엔드가 되고 View는 프론트엔드가 된다. 그리고 Spring Boot 프로젝트에서 했듯이 계층을 Controller, Service, Repository로 나누었다. Controller는 Model과 View의 흐름을 컨트롤하는..
11/4한일우테코 3주차 미션 제출 완료구입 금액은 BigInteger, 수익률은 BigDecimal 사용리팩토링 완료긴 메서드들은 최대한 private 메서드로 쪼개기Parser에 있는 validate 메서드들을 Validator 클래스로 따로 빼기Controller의 run 메서드가 변수들을 모르게 하기Controller에 private 메서드를 만들어서 해결 View의 당첨 내역 출력 메서드의 내용은 private 메서드 여러개로 쪼개기 상수 Message는 출력문과 예외문으로 클래스 나누기enum 클래스의 toString() 메서드 내부도 코드 깔끔하게 수정중복 숫자 예외는 Lotto 클래스에서 처리우테코 라이브러리의 Randoms.pickUniqueNumbersInRange 메서드대로라면 Lot..
11/3한일백준 문제 풀이민준이와 마산 그리고 건우 (Gold 4, 다익스트라)https://github.com/agi1004/algorithm/commit/34448f8fcd31cf1fcf54bc45d79c2d34a1127190우테코 3주차 미션 진행 중리팩토링 완료긴 메서드들은 최대한 private 메서드로 쪼개기Parser에 있는 validate 메서드들을 Validator 클래스로 따로 빼기Controller의 run 메서드가 변수들을 모르게 하기Controller에 private 메서드를 만들어서 해결 View의 당첨 내역 출력 메서드의 내용은 private 메서드 여러개로 쪼개기 상수 Message는 출력문과 예외문으로 클래스 나누기enum 클래스의 toString() 메서드 내부도 코드 깔끔..
11/2한일현대오토에버 코딩테스트, 인성검사 응시프로그래머스 문제 풀이[1차] 캐시 (Level 2, 리스트, LRU 알고리즘) https://github.com/agi1004/algorithm/commit/ab1202420fb60f0beedfaefc98625659e23fae3c우테코 3주차 미션 진행 중모든 기능 구현 완료 할일우테코 3차 미션리팩토링하기긴 메서드들은 최대한 private 메서드로 쪼개기Parser에 있는 validate 메서드들을 Validator 클래스로 따로 빼기Controller의 run 메서드가 변수들을 모르게 하기Controller에 private 메서드를 만들어서 해결View의 당첨 내역 출력 메서드의 내용은 private 메서드 여러개로 쪼개기상수 Message는 출력문과..
11/1한일프로그래머스 문제 풀이[3차] 파일명 정렬 (Level 2, 문자열, 우선순위 큐, 2018 카카오 블라인드 채용 기출문제)https://github.com/agi1004/algorithm/commit/486af97c90701fedd31d99cac386d75ee9c1b9ca백준 문제 풀이문자열 폭발 (Gold 4, 문자열, 스택)https://github.com/agi1004/algorithm/commit/018ccd6ce9f2419782fe22e04195afe4244a78b5RGB거리 (Silver 1, DP)https://github.com/agi1004/algorithm/commit/c839613e08d9d57fef608359680822f46807bd4c우테코 3주차 미션 진행 중 할일1..

10/31한일프로그래머스 문제 풀이문자열 나누기 (Level1, 문자열, 그리디)https://github.com/agi1004/algorithm/commit/b815c1ff13e75fd5506e4cb5b64e1b1608fe35c9[3차] 압축 (Level2, 문자열, 구현, 2018 카카오 블라인드 채용 기출문제)https://github.com/agi1004/algorithm/commit/d54dbe2713a14dfff7f6e3a2b902b1b68688b134우테코 3주차 미션 진행 중README.md에 기능 목록 작성 완료메서드를 기능 별로 더 잘게 쪼개는 중입력과 출력을 View에서 진행하도록 구현상수들은 상수 클래스에서 따로 관리. 이전에는 enum으로 관리했는데 상수 클래스가 훨씬 편함 할일..
10/29한일프로그래머스 문제 풀이n^2 배열 자르기 (Level2, 수학, 월간 코드 챌린지 시즌3 기출문제)https://github.com/agi1004/algorithm/commit/879fc163eb8e8cd1eb255948a48c09743d7a0616할일오후 7시 약속11/2(토)수협중앙회 필기 (오후 1시)현대오토에버 코딩테스트 (시간 미정)2주차 미션 깃허브에 푸시 후 이메일로 이력서 보내기백준 스도쿠 문제 다시 풀기백준 컵라면(1781번) 문제 풀기프로그래머스 순위 검색, 수식 최대화 문제 풀기가상 면접 사례로 배우는 대규모 시스템 설계 기초 책 읽기신입 공채 지원 (마감 전날까지 지원)신영증권 - 11/4(월) 16:00 마감SSAFY - 11/4(월) 23:59 마감NHN 인턴 상시채..