Today I Learned
-
2022년 8월 16일 TIL - 어려울 땐 건의를, 그리고 동료들과 힘을Today I Learned 2022. 8. 16. 23:58
이번 주차에는 강의 반복 과제조차도 특히 어렵게 느껴지는 이유가 몇 가지 있었다. 우선 반복과제를 수행하기 위한 프로젝트 세팅을 준비하는 과정에서 많은 애를 먹었다. Gradle을 처음에 시작시키기만 하면 Gradle이 라이브러리, 의존성, 환경 변수 등을 알아서 설정해주던 Java와는 달리, JavaScript를 이용하는 프로젝트는 프로젝트를 구성하는 데 필요한 여러 요소들을 명령어로 모두 직접 불러와 설치해야 했다. 그리고 강의가 상당부분 진척되고 난 뒤 추가로 설치해주는 라이브러리들도 있어 인출학습을 할 때 이전에 불러오지 않았던 라이브러리가 있었는지 확인하기도 해야 했다. 이에 더해 과제를 수행하기 위해 사용해야 하는 JavaScript의 모던 문법을 접한 지 얼마 되지 않아 어떤 문법을 사용해야..
-
2022년 8월 15일 TILToday I Learned 2022. 8. 15. 23:28
어떤 다른 생각을 하는 것조차도 힘들 만큼 과제 수행이 진척되지 않는 데 대한 스트레스가 심하다. 더 나아지기 위해 무엇이 부족했고, 어떤 점을 개선하고 고쳐야 할지 고민할 에너지도 나지 않는다. 여기에 글을 못 쓰고 30분째 키보드나 붙잡고 흰 화면을 보면서 고민하는 내 자신이 답답하다. 귀중한 코딩할 시간을 1시간씩이나 날려가면서 '여기서 또 어떤 개선을 해야 하지?' 고민해서 생각을 만들어내도 '개선하겠다고 써놓고 또 못해버리면 그게 무슨 소용이지?' 싶은 생각에 글로 옮기지 않아버린다. 오늘은 어떤 예쁜 글을 쓰지 고민할 시간에 차라리 1시간 자전거 타고 와서 코드를 한 줄을 더 쓰겠다.
-
2022년 8월 14일 TILToday I Learned 2022. 8. 14. 22:51
매 주 일요일 밤이 괴롭다. 매번 기대치보다 결과가 미달하고 있기 때문이다. 학습의 품질을 챙길 수 없다면 양이라도 채우자는 마인드로 세웠던 어제의 계획이 무색하다. 오후 12시 30분부터 프로젝트 세팅 강의 따라치기와 강의 노트 정리를 병행하는 것으로 주말 학습을 하기 시작했는데, 3강 모던 자바스크립트 따라치기와 강의 노트 정리가 끝나고 나니 밤 9시 20분이었다. 공부는 계속해서 하겠지만, 밤 12시까지 리액트는 커녕 Jest까지 가기도 벅차 보인다. 뭘 잘못해서 목표에 미달한 것일까? 아직도 강의를 세세하게 보고 자세하게 정리했던 것일까? 따라치기를 해보며 들었던 느낌은, 강의의 내용을 따라만 치는데도 시간이 꽤나 걸린다는 것이었다. 한정된 시간 동안 이해는 못 하더라도 최소한 흐름은 가져가기 위..
-
2022년 8월 12일 TIL - 혼동되는 변수명을 사용하면 생기는 문제Today I Learned 2022. 8. 12. 23:56
이전 주차에 출제되었던 코딩 도장 문제들 중 이번 주 수요일 코딩 도장 문제로 다시 주어졌던 부족한 금액 계산하기 문제를 풀던 중 있었던 이슈를 간단히 정리해본다. (수요일 문제를 금요일에 풀은 이유는... 쉿...) 우선 기존에 문제를 풀었던 방식인 반복문을 통해 놀이기구의 이용 횟수가 누적됨에 따라 증가하는 놀이기구의 이용 금액을 합산하는 방식 대신, 메서드를 재귀 호출하는 방식을 이용해 문제 풀이를 시도했다. ❗️ 여기서 잠깐! 재귀 호출이란? 메서드 내에서 메서드 자기 자신을 다시 호출하는 것을 뜻한다. 반복문은 재귀 호출 형태로 변환될 수 있다. 마찬가지로 재귀 호출 역시 반복문의 형태로 변환될 수 있다. 메서드에는 재귀 호출을 중단하고 값을 반환하기 시작하는 Base Case가 정의되어 있어야..
-
2022년 8월 11일 TILToday I Learned 2022. 8. 11. 23:57
주간 과제 마카오 레터 과제의 중간에 추가된 요구사항 중 선택한 페이지 번호에 따라 어떤 게시글들을 리스트업해서 보여줄지 결정하는 구조를 작성한 과정을 정리해보고자 한다. 해당 과정은 일단 PageGenerator 구현체에서 직접 구현을 시도했으며, Repository의 저장된 게시글들이 담긴 컬렉션 전체가 들어오고, 게시글의 개수에 따라 페이지 번호는 적절히 출력된다고 가정한다. 1. 요구사항에서 규칙을 찾아 규칙화 1. 각 페이지마다 게시글이 최대 5개가 보여져야 한다는 점을 파악했다. 2. 각 페이지가 컬렉션에서 최대 어느 인덱스 범위만큼을 보여야 할지 생각해보았다. 페이지 1은 인덱스 0~4, 페이지 2는 5~9, 페이지 3은 10~14, 페이지 4는 15~19, ... 이런 식으로 인덱스 범위가..
-
2022년 8월 9일 TIL - 코드는 쳐지는데 찜찜하네...Today I Learned 2022. 8. 9. 23:36
오늘도 강의 반복 과제와 퀘스트 과제를 열심히 고민하면서 소스코드를 작성하고 있다. 토요일까지만 해도 코딩쇼 같았던 어노테이션 선언과 의존성 주입, Layered 구조 구성이 이제는 강의에서 나오는 내용과 비슷한 수준은 강의를 들춰보지 않고도 슥슥 칠 수 있을 정도가 되고 있다. 아쉬운 점은 그렇게 인출해내서 칠 수 있는 어노테이션들 중 어떤 어노테이션들에 대해서는 스프링 프레임워크 내에서 구체적으로 어떤 식으로 작동되는지 설명할 수 있을 정도로 이해한 상태가 아니라는 것이다. 왜 Controller의 테스트 코드에는 @WebMvcTest 어노테이션을 붙여야 하는가? private MockMvc mockMvc에 붙는 어노테이션 @Autowired는 왜 붙는 것인가? 왜 @WebMvcTest 어노테이션에 ..
-
2022년 8월 8일 TIL - 마이페이스Today I Learned 2022. 8. 8. 23:33
메가테라 웹 개발자 과정에서 매주 주어지는 강의 반복 과제와 퀘스트는 매주 모두 같은 시작점에서 시작한다. 과제 수행을 마치고 PR을 올리면 진도 체크 시트에 체크를 해야 하기 때문에 진도 체크 시트를 들어가게 되고, 그러다보면 다른 팀원분들의 과제 진척 정도에 눈길이 가곤 한다. 이번 주차를 시작하면서 새로 다짐했던 점은 '내 페이스를 잃지 않는 데 집중하자'였다. 이월 5주차 프로젝트 주간부터는 같은 시점에 다른 동료들보다 과제 수행 정도가 미진한 점을 보면서 나만의 페이스를 잃어버리는 때가 종종 있었다. 월요일이 마무리되어가는 현재, 과제 진행 상태를 살펴보면 반복과제는 일과 종료 후 1시간 40분 가량을 추가로 투자해 완성했고, 첫 번째 퀘스트 과제인 거래내역 조회를 수행하고 있는 상태이다. 마음..