회고

    2021-12-29 TIL

    Facts (사실, 객관) 집중이 안돼서 카페에 갔다 Feelings (느낌, 주관) 오늘은 도저히 집중할 용기가 나지 않아서 카페에 갔다. 알고리즘 강의를 듣고 문제를 푸는 시늉이라도 할 수 있었다. 한 문제도 제대로 해결하지 못했지만 그대로 집에 머물렀던 것보다는 나았으리라. Findings (배운 점) 내가 당장 해결할 수 없는 문제들로부터 벗어나고 싶다면, 물리적으로 거리를 두는 것이 가장 쉬운 방법이다. Affirmation(자기 선언) 스트레스를 대하는 자세를 바꾼다

    2021-12-28 TIL

    Facts (사실, 객관) 엘리스 SW트랙 리액트 코스 시작 알고리즘 스터디 재개 Feelings (느낌, 주관) 알고리즘의 공부 비중을 어떻게 조절해 나가야 할지 고민이 많다. 당장 대기업을 목표로 하는 것은 아니지만 그렇다고 손 놓고 있을 수도 없는 상황이기 때문이다. 대기업이 아니더라도 코딩 테스트는 이미 보편적인 채용 프로세스로 자리 잡은 것처럼 보인다. 예전에는 하루에 다섯 문제를 목표로 했지만 하루에 한 문제도 풀지 않는 근황을 보면...하루 한 문제 풀 기부 터 시작해야겠다. 리액트 과정이 시작됐다. 자바스크립트 과정에선 이미 알던 내용이 많기도 하고 생활 패턴이 망가져서 수업에 집중하지 못할 때가 많았다. 리액트도 이미 알고 있는 내용이 있기야 하겠지만, 나보다 더 잘하는 사람도 열심히 듣..

    2021-12-27 TIL

    Facts (사실, 객관) 엘리스 SW트랙 최종 발표 Feelings (느낌, 주관) 적극성에 대해 다시 한번 생각해 보게 되는 날이었다. 최종 발표의 QnA 시간, 프론트 코치님의 마지막 질문에 약간의 침묵이 이어졌다. 순간적으로 프론트 담당인 팀원들에게 하는 질문이라고 여기는 바람에 나조차 적절한 대답을 미처 준비하지 못한 채 발표를 마치게 되었다. 내가 좀 더 적극적으로 답변하려 했다면 하지 못할 것도 아닌 주제였는데 너무 소극적으로 대처한 것이 아닌지 반성하게 되는 날이었다. 히로쿠로 배포한 서버도 결국 마찬가지의 문제였다. 다른 팀 모두 엘리스 측에서 제공한 서버에 정상적으로 배포를 했던 것을 보면 불친절한 배포 가이드의 탓으로 돌리기엔 상당히 무리가 있어 보였다. 서버 배포를 담당했던 팀원 분..

    2021-12-26 TIL

    Facts (사실, 객관) 엘리스 SW트랙 1차 프로젝트 마무리 Feelings (느낌, 주관) 최근 며칠동안 프로젝트 마무리 작업에 매달리느라 회고를 쓸 여유조차 없었다. 엘리스 측에서 제공한 Azure VM을 활용한 배포에는 결국 실패했다. 프로젝트를 빌드하는 과정에서 여러 오류들이 발견됐고 끝내 어렵게 빌드에 성공하긴 했지만 서버에서 배포한 페이지에서 이해할 수 없는 오류를 뿜어냈다. 특히 브라우저 소스로 css, js를 당겨올 때 그 내부에 html 코드가 존재하는 기이한 현상이 발견됐는데 결국 그 원인을 찾지 못하고 히로쿠로 배포하는 방향으로 선회했다. 로컬이나 히로쿠에서 잘 돌아가는 코드가 왜 안되었던 것인지 도저히 이해할 수 없었다. 프리 버젼의 히로쿠는 속도가 느리기 때문에 아쉬움이 많이 ..

    2021-12-23 TIL

    Facts (사실, 객관) 엘리스 SW트랙 1차 프로젝트 진행 중 이벤트 처리 리팩토링, AWS-S3 연동 Feelings (느낌, 주관) 이제 백엔드 업무는 빌드와 배포 정도만 남았다. 빌드를 하면서 겪게 될 시행착오가 염려되긴 해도 이번 프로젝트에서 백엔드를 지원한 것은 잘한 일인 것 같다. 특히 API와 DB에 관련된 일을 자주 경험하게 되면서 몰랐던 사실을 많이 알게 되었다. 간만에 운동을 다녀왔다. 집에 도착해보니 바지 주머니에 락커룸 키가 남아 있었다. Findings (배운 점) beforeunload 이벤트 발생을 통해 사용자의 이탈을 감지할 수 있다. 다른 페이지로 이동하거나 브라우저가 종료될 때 혹은 새로고침을 하게 되면 이벤트를 감지하고 특정 로직을 실행할 수 있다. 다만 완전히 브라..

    2021-12-22 TIL

    Facts (사실, 객관) 엘리스 SW트랙 1차 프로젝트 진행 중 검색 기능 구현 Feelings (느낌, 주관) 코딩을 하다보면 언제나 예상치 못한 곳에서 에러를 발견하게 된다. 대부분의 경우 그 에러는 아주 작은 실수에서 발생한다. 개발이란 해결해야 하는 문제를 명확하게 설정하고 논리적 사고의 흐름에 따라 그것을 해결하는 일이란 생각이 들었다. Findings (배운 점) mongodb에서 $or 연산자를 활용하여 여러 조건을 탐색할 수 있다. mongodb에서 $regex 연산자를 활용하여 정규표현식을 사용할 수 있다. $options에 'i'를 설정하면 대소문자를 구분하지 않는다. Things to do (해야 할 것들) 검색 기능 확장 프로젝트 빌드 Affirmation(자기 선언) 원하는 것을..

    2021-12-21 TIL

    Facts (사실, 객관) 엘리스 SW트랙 1차 프로젝트 진행중 API 구현 및 문서 작성 Feelings (느낌, 주관) 패턴이 꼬이는 바람에 또다시 운동을 가지 못했다. 오늘 일찍 자고 운동을 다녀와야겠다. 코치님과의 오피스아워에서 SQL과 No SQL의 등장 배경에 대해 듣게 되었다. 좀 더 내용을 정리해서 배운 점과 느낀 점을 적어봐야겠다. 프론트 단에서 공공 API를 요청할 때 CORS 에러가 발생했다. 예전에 프론트 개발을 공부할 때 겪었던 문제였는데, 그땐 해결하지 못했었다. 당시 상황과는 다르게 이번에는 백엔드까지 구축하다 보니 서버 측에서 공공 데이터 요청을 하고 프론트에 데이터를 넘겨주는 방식으로 cors에러를 해결했다. 코치님이 cors에러가 브라우저에서 발생하는 에러라고 말씀해주신 ..

    2021-12-20 TIL

    Facts (사실, 객관) 엘리스 SW트랙 1차 프로젝트 진행 중 코드 리뷰 내용 반영 게시글 관련 API 작성 Feelings (느낌, 주관) 코치님들의 코드 리뷰를 통해 중간 평가를 받았다. 백엔드의 경우 중복 제거와 예외 처리에 관한 피드백이 대부분이었다. 미들웨어를 적용함으로써 반복적으로 작성된 예외처리의 중복을 제거하고, RESTful하지 않은 상태 코드 반환도 수정해주었다. 낮잠을 자는 바람에 결국 패턴이 다시 꼬이기 시작했다. 이런 저런 핑계로 운동을 하지 않았다. 백엔드 코치님이 언급해주신 swagger를 활용하여 API 문서를 작성해보고자 했으나, 개발 의존성도 추가해줘야 하고 여러모로 사용에 익숙해질 시간이 필요해 보였다. 대신에 수업시간에 배운 postman을 활용하여 API문서를 작..

    2021-12-18 TIL

    Facts (사실, 객관) 엘리스 SW트랙 1차 프로젝트 진행 중 API 로직 구현 Feelings (느낌, 주관) mongoDB 특정 컬렉션의 데이터를 바꾸기 위해선 관계(참조)하고 있는 다른 컬렉션의 필드(?)도 함께 수정해줘야 한다. 일일이 대상을 찾아 바꾸는 게 과연 옳은 방식일지 의구심이 들었다. 다른 방법을 고민하던 차에, 함께 백엔드를 담당하고 있는 동료님이 SQL에선 cascade라는 개념이 있다고 알려주셨다. mongoDB cascade라고 검색하니 mongoose middleware 작성을 통해 cascade와 유사한(?) 작업을 할 수 있음을 알게 되었다. 다만 스키마에서 미들웨어를 정의하는 부분에서 다른 모델을 참조하기 위해 import하는 부분과 미들웨어의 내부 로직을 좀 더 고민..