본문 바로가기
반응형

분류 전체보기85

프론트엔드 테스트는 어디서부터 어디까지, 어떻게, 꼭 해야할까? (+Jest, Puppeteer, Cypress) 들어가며 이 글에선 프론트엔드의 테스트 코드에는 어떤 것들이 있으며, 테스트 코드 작성법, 좋은 테스트란 어떤 것인지, 나아가 리액트에서는 어떻게 적용할 수 있는지를 설명할 것입니다. 저와 같은 문제를 겪은 분들께 도움이 되는 글이 될 것이라 생각합니다. 간결한 문장을 위해 평어체로 진행하겠습니다. 내가 겪은 문제 나는 테스트 코드를 작성하려고 할 때면, 어디까지 Mocking을 해야하는지, 파라미터 테스트 범위는 어느 정도가 적합한지, 테스트 단위를 얼마나 나눠야하는지 막막했다. 그리고 이렇게 짜는게 맞는건지, 생각할 수 있는 케이스는 다 해본 것 같은데도 불구하고 테스트 커버리지가 높지 않아 고민하기도 했다. 그러다 최근 우테코에 지원해 4주간의 프리코스를 진행 중인데, 여기서 또 테스트와 만나게 되.. 2023. 11. 2.
OAuth 로그인 요청의 주체는 어디일까? (클라이언트(React)? 서버(Spring)?) 들어가며 이번에 프로젝트를 진행하면서 서버측 친구와 의견이 맞지 않았던 적이 있다. 바로 OAuth 요청의 주체가 누가 되느냐였다. 나는 클라이언트에서 해야한다는 입장이었고, 서버측 친구는 서버에서 요청을 해야한다는 입장이었다. 서버는 spring으로 개발을 하고 있는데, spring security의 OAuth를 제대로 쓰려면 서버에서 진행을 해야한다는게 친구의 주장이었다. 나도 초반에는 오히려 OAuth 서버 요청을 프론트에서 노출하지 않고, 우리 서버로 한 번 감싸서 진행하는게 더 안전할 것 같다는 생각에 동의를 하고 진행을 했었다. 하지만 뭔가 개발을 해나갈수록 끼워맞추기로 개발을 해나가게 되는 느낌이었다. 서버가 주체가 되면 끼워 맞추기가 되는 이유? 그 이유는 첫 번째, [1]프론트에서 우리측.. 2023. 10. 5.
[Agile, 스토리포인트] 일정을 추정하는 것이란 얼마나 어려운 일인가. 들어가며 이 글은 애자일 방법론을 팀에 도입했으나 생각대로 되지 않은, 저의 이야기를 담은 일종의 회고록이자 스토리 포인트(story point)에 대한 개념을 정리한 글입니다. 저처럼 스토리 포인트를 제대로 알지 못하고 쓰고 계셨던 분들에게 도움이 될 것이라 생각합니다. 간결한 문장을 위해 평어체로 진행하겠습니다. 팀이 겪은 문제 부끄럽지만 프로젝트를 진행한지 6주 째, 지금껏 한 번도 제대로 스프린트의 태스크를 전부 끝내본 적이 없다. 처음에는 욕심을 많이 냈던 것 같다. "이 정도는 할 수 있을거야" 라는 마음으로 제대로 된 팀의 velocity(팀의 생산성, 추후 설명 예정) 측정도 하지 않은채로 개개인의 일감을 관리했다. 하지만 이렇게 6주가 진행되자 문제가 보이기 시작했다. 뭔가 일은 하는 것.. 2023. 9. 25.
클로저란, javascript Closure? 클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합이다. 이게 도대체 무슨 소리일까요? 한국말이 맞긴 한 걸까요? 자, 차분히 한 번 알아봅시다! 저 뜻을 이해하기 위해, 우선 렉시컬 환경이 무엇인지에 대해 알아보겠습니다. 렉시컬 환경은 상위 스코프를 의미하는 실행 컨텍스트의 렉시컬 환경을 뜻합니다. 자, 또 위기에 봉착했습니다! 포기하지 않고, 여기서 다시 한 번 저게 무슨 말인지 알아보겠습니다! 렉시컬(스코프) 환경은 함수를 "어디서 호출" 했는지가 아닌 "어디서 정의" 했는지에 따라 상위 스코프가 결정되는 것 입니다! 코드로 한 번 보시죠! 자 이게 바로 위에서 설명드린 렉시컬 스코프와 클로저의 예시인데요! 마지막에 innerFunc()가 리턴하는 값은 무엇이 될까요? 바로 1이 아닌 10입니다.. 2023. 6. 28.
반응형