본문 바로가기

전체 글

(181)
WIL-2023/10월 (2) 2023.10.09. ~ 2023.10.15. 📝이번주 목표 1. 실전프로젝트 - 코드리팩토링 2. 자바의 정석 스터디 3. 기술면접 스터디 4. 이력서 수정하기 5. 커리어톤 참여하기 6. 프로그래머스 문제풀기 7. 실전프로젝트 - 테스트코드 작성하기 ✍🏻이번주 목표 달성 여부 1. 실전프로젝트 - 코드리팩토링 ✅ 자바의 정석 스터디 ✅ 기술면접 스터디 ✅ 이력서 수정하기 ✅ 커리어톤 참여하기 ✅ 프로그래머스 문제풀기 ✅ 실전프로젝트 - 테스트코드 작성하기 💡알게 된 점 총정리(TIL회고) 이번주에는 테스트 코드를 작성해보았다. Jacoco를 이용하여 코드커버리지를 채워나갔다. 테스트코드를 쓴지 아직 이틀밖에 안지나서인지, 짜면서도 내가 코드를 맞게 짜는건가에 대한 생각이 계속 들었다. 그래도 어느정도..
TIL-231014(자바의정석 Chapter11 '컬렉션 프레임웍') 📝오늘 공부한 것 실전프로젝트 - '행동대장' 테스트 코드 작성하기 프로그래머스 문제풀기 자바 스터디 📌 자바의 정석 스터디 [컬렉션 프레임워크] 각 컬렉션을 다루는데 필요한 기능을 가진 3개의 인터페이스를 정의 인터페이스 List와 Set의 공통된 부분을 다시 뽑아서 새로운 인터페이스인 Collection을 추가로 정의 Vector, Stack, Hashtable, Properties와 같은 기존의 컬렉션 클래스들은 호환을 위해 설계를 변경해서 나겨두었지만, 가능하면 사용하지 말것 대신, 새로 추가된 ArrayList와 HashMap을 사용하자 List인터페이스 저장순서 O, 중복 O 구현 클래스 : ArrayList, LinkedList, Stack, Vector Set인터페이스 저장순서 X, 중복 ..
TIL-231013(테스트 실행 시 예외 메시지를 가져오지 않는 문제) 📝오늘 공부한 것실전프로젝트 - '행동대장' 테스트 코드 작성하기커리어톤 참여하기프로그래머스 문제 풀기 📌 Jacoco로 코드 커버리지 측정하기⛔문제점닉네임 변경에 대한 테스트코드를 작성했는데, 그중 이미 등록되어 있는 이메일로 이메일 변경을 했을 때의 실패코드를 작성하였다.내가 기대하는 것은 "등록된 이메일이 있습니다"라는 메시지였는데, 테스트 코드를 실행했더니 null값이 나왔다. [updateNickname메서드] public CommonResponse updateNickname(UpdateNicknameRequestDto requestDto, User user) { String newNickname = requestDto.nickname(); if(userRepo..
TIL-231012(Jacoco로 코드 커버리지 측정(1)) 📝오늘 공부한 것실전프로젝트 - '행동대장' 테스트 코드 공부하기커리어톤 참여하기프로그래머스 문제 풀기 📌 Jacoco로 코드 커버리지 측정하기프로젝트 기간에는 테스트코드를 작성할 시간이 부족하기도 했고, 테스트코드를 작성하는 것이 어렵고 시간이 많이 걸린다는 이유로 쉽게 시작하지 못했었다. 그래서 Postman으로 여러 컴포넌트가 잘 연결되어  작동하는지만 확인했었다.테스트 코드를 작성하면 코드 수정 시 예상하지 못했던 부작용을 방지할 수 있다. 또, 개발자 간의 협업을 원활하게 하고, 소프트웨어를 유지 보수하는데 필요한 문서화 작업을 줄일 수 있다. 실전프로젝트의 테스트코드를 작성하여 단위테스트를 진행해보려고 한다. 각 메서드가 예상대로 작동하는지를 확인함으로써, 코드 변경 또는 업데이트 시 기존..
TIL-231011(TDD) 📝오늘 공부한 것 TDD 커리어톤 참여하기 프로그래머스 문제풀기 알게 된 점❗ [ TDD(Test Driven Development) - 테스트 주도 개발 ] 소프트웨어를 개발하는 여러 방법론 중 하나이다. 제품이 오류없이 정상 작동하는지 확인하기 위해 모든 코드는 프로그래머가 작성하고 나서 테스트를 거치게 된다. TDD에서는 제품의 기능 구현을 위한 코드와 별개로, 해당 기능이 정상적으로 움직이는지 검증하기 위한 테스트 코드를 작성한다. 이를 통해 테스트가 실패할 경우, 테스트를 통과하기 위한 최고한으로 코드를 개선한다. 최종적으로 테스트에 성공한 코드를 리팩토링 하는 과정을 거친다. RED : 테스트 실패 GREEN : 테스트 성공 REFACTOR : 리팩토링 RED : 테스트 실패 - 구체적인 하나..
TIL-231010(자료구조 & 알고리즘 5주차) 📝오늘 공부한 것 프로그래머스 문제풀기 스파르타코딩클럽 자료구조 & 알고리즘 5주차 강의 듣기 커리어톤 참여 알게 된 점❗ [ 동적 계획법 ] 동적 계획법(Dynamic Programming) 복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법을 말한다. 이것은 부분 문제 반복과 최적 부분 구조를 가지고 있는 알고리즘을 일반적인 방법에 비해 더욱 적은 시간 내에 풀 때 사용한다. 동적 계획법은 여러개의 하위 문제를 풀고 그 결과를 기록하고 이용해 문제를 해결하는 알고리즘이다. 즉, 우리가 재귀함수를 풀어나갈 때 많이 했던 함수의 수식화를 시키면 된다. F(string) = F(string[1:n-2]) 라고 수식을 정의했던 것 처럼, 문제를 쪼개서 정의할 수 있으면 동적 계획법을 쓸 수 있다. 있 ..
TIL-231009(자료구조 & 알고리즘 5주차) 📝오늘 공부한 것 프로그래머스 문제풀기 스파르타코딩클럽 자료구조 & 알고리즘 5주차 강의 듣기 이력서 수정하기 알게 된 점❗ [ 다익스트라 알고리즘 ] 1. 출발지를 s로 정하고, 다음과 같이 표시한다. (s, t, x, y, z 순) 거리 = [0, inf, inf, inf, inf] 방문 = [True, False, False, False, False] 2. 갈 수 있는 노드들의 최소거리를 측정한다. s->t: 10 s->y: 5 (s, t, x, y, z 순) 거리 = [0, 10, inf, 5, inf] 방문 = [True, False, False, False, False] 3. 방문 안한 녀석들 중 가장 가까운 녀석인 y를 방문하고, 최소거리를 측정한다. y->t: 3 y->x: 9 y->z: ..
WIL-2023/10월 (1) 2023.10.02. ~ 2023.10.08. 📝이번주 목표 1. 실전프로젝트 - 코드리팩토링 2. 자바의 정석 스터디 3. 기술면접 스터디 4. 이력서 수정하기 5. 커리어톤 참여하기 6. 프로그래머스 문제풀기 ✍🏻이번주 목표 달성 여부 ✅ 실전프로젝트 - 코드리팩토링 2. 자바의 정석 스터디 3. 기술면접 스터디 ✅ 이력서 수정하기 ✅ 커리어톤 참여하기 ✅ 프로그래머스 문제풀기 💡알게 된 점 총정리(TIL회고) 이번주부터 항해 커리어톤을 시작하였다. 프로젝트 기간만 끝나면 끝날 줄 알았더니.... 새로운 시작이다...! 열심히해서 얼른 취업하자!! 이번주에는 이력서를 작성했는데 열심히 한거에 비해 막상 이력서에 적으니 한게 없어보여서 속상했다ㅠㅠ 나 진짜 열심히 했는데ㅠㅠ왜 이력서에 적을게 없는걸까...