전체 글
-
20230103 TIL codeceptJS 인수테스트 디버깅하기TIL 2023. 1. 3. 10:13
codeceptJS인수테스트는 headless방식으로 실행할 수도 있고, ui를 통해 실행해볼 수도 있다. 그런데 한 방식으로는(예를 들면 headless) 통과를 하고, 실제로도 잘 작동을 하는데 어떤 방식에서는(예를 들면 ui) 실패를 하는 경우가 있다. 물론 제대로 작동한다는 것은 알지만, 찝찝함이 남아있을 수 밖에 없다. 분명히 잘 작동을 하는데, headless모드에서 계속 실패를 하는 테스트가 있었다. 해결을 하고 싶었는데 어제는 방법을 못찾다가 오늘 해결 방법을 찾았다! headless모드에서 실패를 하면 위와 같은 결과 코드가 생긴다. artifacts에 있는 스크린샷을 보면 대략 어떤 스크린에서 문제가 발생한 것인지 디버깅을 할 수 있다. 그래서 output 폴더에 들어가보았는데, 이때까..
-
ofCORS 포트폴리오 3주차 주간회고회고 2023. 1. 2. 22:15
많은 일이 있었던 한 주가 지나갔다. 2022년을 마무리하면서 2023년을 맞이했고, 5개월 동안 쉼 없이 달려오면서 쌓였던 피로가 누적되어 컨디션 난조를 조금 심하게 겪었다. 감기 기운이 왔다갔다 하면서 컨디션이 좋지 않았고, 작업에 집중하기가 어려웠다. 그래도 조금씩 작업을 진행하고 있었는데, 금요일에 온몸이 저려왔고, 도저히 작업을 할 수 없었다. 그래서 조퇴를 하고 집에 가서 쉬었는데, 금요일 내내 잠을 잤는데도 몸이 회복된 느낌이 들지 않았다. 항상 많은 응원을 해주고 힘을 주는 짝꿍님께서 아예 푹 쉬어버리라고 조언을 해주셔서 정말 주말 내내 산책하고 잠만 잤다. 조언대로 푹 쉬었더니 다행히 저릿한 느낌은 사라졌고, 저번 주 시작보다 훨씬 컨디션이 좋아졌다! 하지만 컨디션 난조와 푹 쉼으로 인해..
-
20230102 TIL 작성자인지에 따라 다른 UI를 보여주기TIL 2023. 1. 2. 21:24
내가 작성한 글인지 아닌지에 따라 수정, 삭제 버튼을 보여주거나 보여주지 않아야 하는 경우가 있다. 즉, 로그인한 유저가 작성자인지에 따라 UI를 다르게 보여줘야 하는데, 기존에는 프론트에서 로그인을 했을 때 유저 정보를 등록해두고, 그 정보를 기반으로 프론트에서 판단을 해서 UI를 다르게 보여줬었다. 그런데 오늘 스프린트 회고 중에 동기에게 동일한 부분에 대한 홀맨님의 피드백이 있었고, 더 좋은 방법을 찾게 되었다. 바로, 데이터를 받아올 때 (예를 들면 게시글 데이터를 받아올 때) 내가 작성한 것인지를 판단을 한 값을 받아서 그 값을 바탕으로 UI를 그려주는 것이다. 기존에는 게시글 작성자 id와 로그인한 id와 비교를 프론트엔드에서 해야했다. 뭔가 이상한 느낌을 받았는데 어떻게 해결할지 깊게 고민을..
-
2022년을 돌아보며회고 2022. 12. 29. 17:58
2022년이 시작한지도 얼마 되지 않은 것 같은데 벌써 2022년이 5일도 남지 않았다! 2022년 동안 꽤 많은 일이 있었는데, 2022년에 내가 어떤 일들을 했고 얼마나 성장했는지 돌아보고, 내년의 목표를 세워보려고 한다. 2022년의 시작은 아샬님의 케어와 함께 시작되었다. 업무 능력이 매우 부족한 상태로 개발팀에 합류하게 되었지만 회사의 제품이 기한 내에 나올 수 있기를 희망하며 코드리뷰로 오타나 오류를 잡아내는 일들처럼 내가 조금이라도 할 수 있는 일들을 하면서 정말 열심히 가르침을 받았다. e2e테스트, 유닛테스트, BFF, TDD 등등 아샬님이 아니었다면 접하기 힘들었을 부분들을 경험할 수 있었다. 그 과정에서 감사하게도 한 팀원분께서 대표님께 내가 성장할 수 있도록 코드숨 수강을 건의해주셔..
-
20221229 TIL optional한 dto의 값을 어떻게 하면 좋을까?TIL 2022. 12. 29. 17:57
포트폴리오 작업을 하면서 필수값이 아닌 입력값을 어떻게 다루면 좋을지 고민이 되었다. 예를 들어 위 form에서 포인트를 입력하지 않아도 질문을 올릴 수 있다. 이 때 null 값이 들어오게 되는데, 이를 어떻게 백엔드에서 처리를 하면 좋을지 고민이 되었다. https://www.baeldung.com/jackson-optional DTO의 필드를 Optional로 쓰면 어떨까 했지만 위와 같이 안된다는 글을 찾을 수 있었고, 많은 검색 이후로 이에 대해 아래와 같은 답을 찾을 수 있었다. // QuestionController.java Optional pointsOptional = Optional.ofNullable(questionRequestDto.getPoints()); Points points =..
-
20221228 TIL Set을 http request, response body에 넣는 방법TIL 2022. 12. 28. 10:44
내가 작업하고 있는 포트폴리오에서 '태그' 가 있는데, 태그들끼리 겹치지 않도록 하기 위해 Set을 이용하고 있다. 프론트 단은 구현을 마쳤고, API를 구현해서 저장을 해야하는데, 그런데 글과 함께 태그를 저장하기 위해 http 요청을 할 때 Set을 어떻게 넘겨주면 좋을까 고민을 시작하게 되었다. JSON 형태로 body에 넣어서 보내줄 것이기 때문에 JSON으로 직렬화를 해야겠다는 생각이 들었고, JSON.stringify()를 이용해서 Set을 직렬화를 해보았다. 그런데... 값이 나오지 않았다. MDN에서 찾아보니 JSON.stringify는 enumerable own properties들에 적용이 되기 때문에 Map, Set등은 '{}'로 직렬화된다는 것을 찾을 수 있었다. 그렇다면 Map이나..
-
20221227 TIL 레버리지를 땡겨보자TIL 2022. 12. 27. 22:16
나는 스스로를 얽매는 편이다. 잘 못하는 게 있을 때, 해결되지 않은 게 있을 때 그냥 넘어가지 못하고 해결이 될 때까지 계속 신경을 쓰고 있는다. 심지어 고민이 있을 때도 그냥 넘어가지 못한다. 그런데 누구에게나 적용되는 법칙인 고민의 90%는 일어나지도 않을 일에 대한 고민이라는 법칙이 나라고 피해가지 않는다. 그 말은 불필요한 고민에 너무 많은 시간과 자원을 허비하고 있다는 뜻이기도 하다. 오늘도 항상 너무 좋은 조언을 해주시는 내 짝꿍님께서 좋은 조언을 해주셨다. 바로 적정한 수준의 자기합리화를 할 줄 알아야 한다는 말씀이었다. 스스로 엄격하게 대해야 성과가 잘 나온다고 생각했기 때문에 평가절하를 하는 편이었고, 자기 합리화를 잘 하지도 못하고, 해본 적도 거의 없었다. 그런데 꾸준히 무언가를 지..
-
20221226 TIL 핵심 기능부터 작업을 해야한다TIL 2022. 12. 26. 22:40
오늘은 지난 스프린트에 대해 노아님께 피드백을 받을 수 있었다. 받은 피드백 중 가장 중요한 부분은 '핵심 기능부터 작업을 해야한다'는 부분이었다. 홀맨님께서도 저번 주에 핵심 기능부터 작업을 해야한다고 말씀을 해주셨었다. 나는 스택 오버 플로우와 비슷한 서비스를 만들고 있는데, 글을 작성하려면 로그인을 해야하기 때문에 로그인과 회원가입이 내 프로젝트를 진행하는데 있어서 작업을 미리 해두어야 편할 것 같다고 생각을 하고, 로그인과 회원가입을 먼저 진행하였다. 그런데 오늘 피드백에서 로그인과 회원가입이 이 서비스의 핵심 기능인가에 대해 새로운 시각을 얻을 수 있었다. 현업에서 서비스를 만들다보면 로그인과 회원가입은 우선순위가 매우 낮은 경우가 많고 실제로도 정말 필요할 때 작업을 한다고 하셨다. 그 이유는..