본문 바로가기

전체 글

(28)
창업하기전 꼭 고려해야할 것들(=쉬운게 없다) 원래 오늘은 테크글을 쓰려고 했지만, 2월 회고겸 복잡하고 속상한 마음을 정리할 겸, 일상글(MoA프로젝트 상황)을 쓴다. MoA 작년 가을쯤 시작했었던 프로젝트, 모아가 드디어 개발이 끝이 났다. 하지만 출시는 할 수 있을지 모르겠다. 너무 너무 마음이 아프고 속상하다. 가을부터 설문 조사, 기획, UI/UX를 끝내고 제대로 된 개발은 1월부터 진행했다. 사실 이 프로젝트는 내가 멱살을 끌고 가는 중이었다. 분명 같이 함께 해나가고 싶어서 시작했는데, 어쩌다보니 혼자 기획하고, 요구사항을 짜고, API 상세 명세까지도 도맡게 되었고, 다들 회사일과 병행하기 어렵다는 말로 나가게 되었다. 그러다 1월에 백엔드를 담당하게 된 귀인들을 만나서 여기까지 개발을 끝낼 수 있게 되었고, 이제 출시만을 앞두고 있었..
[ReactNative] react-query refetch가 안되는 문제와 해결 방법 문제 상황 리액트 쿼리는 기본적으로 화면이 focus될 경우, refetch되는 속성을 가지고 있다. 그래서 화면을 이탈했다 돌아오면, stale시간과 상관없이 다시 새로운 데이터로 fetching 되게 된다. 하지만 리액트 네이티브에선 화면의 focusing 여부를 알지 못했다. 그래서 아무리 다른 페이지에 갔다 돌아와도, 데이터가 변경이 되어도, 리액트 쿼리는 계속해서 이전의 데이터만을 보여주게 된다. 이를 어떻게 해결할 수 있을까? 해결 방법 직접 custom hook을 구현하는 것으로 해결할 수 있다! 스크린이 focus 될 때마다, react query의 refetch 함수를 실행시키는 훅을 만들 수 있다. 커스텀 훅에 원하는 refetch 함수를 파라미터로 넘겨주도록 만들어주면 된다. impo..
1월 회고, 생활습관 모임/MOA🎁 1월에 목표한 것 생활 습관 모임인 FOCUS의 공동 목표는 일찍 일어나는 습관과 꾸준한 운동이었다. 난 이번 기회로 [1] 재미있게 즐길 수 있는 운동 취미를 만들고, 매번 실패했던 [2] 미라클 모닝에 다시 도전해보고 싶었다. 그리고 이러한 생활 습관을 바탕으로 내가 이루고 싶었던 것은 [3] MoA 개발 진척도를 향상 시키고, 좀 더 [4] 깊어진 프론트엔드 지식을 가지는 것이었다. 그렇다면 현실은? 실제로 일어난 결과 [1] 생활 습관부터 돌아보자! 결론부터 말하자면 반은 성공, 반은 실패다. 운동은 코난 덕분에 클라이밍이라는 새로운 종목을 시도해보게 되었는데, 완전히 빠져들어서 즐겁게 운동을 하고 있다. 나는 성취에 대한 강박관념이 있는데, 이는 운동에서도 크게 다르지 않다🥲 만약 어제 뛴 러닝..
[ReactNative] ios .env파일 수정 후 적용이 안되는 현상 XCode -> Product -> Clean Build Folder 후, 재빌드하면 해결됩니다⭐️
React Native에서 웹뷰(react-native-webview)를 사용할 때, 고려해야할 것들(#삽질, #Next.js) 들어가며 이 글은 리액트 네이티브에서 웹뷰만으로 서비스 개발을 하다가 큰 문제에 부딪혀 프레임워크 자체를 변경하게된 일을 작성한 회고록입니다. Web-View만으로 리액트 네이티브 개발을 생각중인 분들에게 도움이 될 것이라 생각합니다. 아래부턴 간결한 문장을 위해 평어로 진행하겠습니다. Web-View 개발을 선택한 이유 내가 만들고자 하는 서비스는 소셜로그인으로 회원가입이 되고, 카카오톡처럼 핸드폰의 연락처를 가져와 친구를 만들고, 쇼핑에 결제까지 되는 서비스이다. 그래서 SSR, CSR 등 각 페이지에 맞는 렌더링 기법을 선택할 수 있는 Next.js를 활용하면, 빠른 속도 경험을 유저에게 제공할 수 있을 거라 생각했고, Next.js를 웹 프레임워크로 선택했다. 이렇게 web을 만들고, 해당 web..
프론트엔드 테스트는 어디서부터 어디까지, 어떻게, 꼭 해야할까? (+Jest, Puppeteer, Cypress) 들어가며 이 글에선 프론트엔드의 테스트 코드에는 어떤 것들이 있으며, 테스트 코드 작성법, 좋은 테스트란 어떤 것인지, 나아가 리액트에서는 어떻게 적용할 수 있는지를 설명할 것입니다. 저와 같은 문제를 겪은 분들께 도움이 되는 글이 될 것이라 생각합니다. 간결한 문장을 위해 평어체로 진행하겠습니다. 내가 겪은 문제 나는 테스트 코드를 작성하려고 할 때면, 어디까지 Mocking을 해야하는지, 파라미터 테스트 범위는 어느 정도가 적합한지, 테스트 단위를 얼마나 나눠야하는지 막막했다. 그리고 이렇게 짜는게 맞는건지, 생각할 수 있는 케이스는 다 해본 것 같은데도 불구하고 테스트 커버리지가 높지 않아 고민하기도 했다. 그러다 최근 우테코에 지원해 4주간의 프리코스를 진행 중인데, 여기서 또 테스트와 만나게 되..
OAuth 로그인 요청의 주체는 어디일까? (클라이언트(React)? 서버(Spring)?) 들어가며 이번에 프로젝트를 진행하면서 서버측 친구와 의견이 맞지 않았던 적이 있다. 바로 OAuth 요청의 주체가 누가 되느냐였다. 나는 클라이언트에서 해야한다는 입장이었고, 서버측 친구는 서버에서 요청을 해야한다는 입장이었다. 서버는 spring으로 개발을 하고 있는데, spring security의 OAuth를 제대로 쓰려면 서버에서 진행을 해야한다는게 친구의 주장이었다. 나도 초반에는 오히려 OAuth 서버 요청을 프론트에서 노출하지 않고, 우리 서버로 한 번 감싸서 진행하는게 더 안전할 것 같다는 생각에 동의를 하고 진행을 했었다. 하지만 뭔가 개발을 해나갈수록 끼워맞추기로 개발을 해나가게 되는 느낌이었다. 서버가 주체가 되면 끼워 맞추기가 되는 이유? 그 이유는 첫 번째, [1]프론트에서 우리측..
[Agile, 스토리포인트] 일정을 추정하는 것이란 얼마나 어려운 일인가. 들어가며 이 글은 애자일 방법론을 팀에 도입했으나 생각대로 되지 않은, 저의 이야기를 담은 일종의 회고록이자 스토리 포인트(story point)에 대한 개념을 정리한 글입니다. 저처럼 스토리 포인트를 제대로 알지 못하고 쓰고 계셨던 분들에게 도움이 될 것이라 생각합니다. 간결한 문장을 위해 평어체로 진행하겠습니다. 팀이 겪은 문제 부끄럽지만 프로젝트를 진행한지 6주 째, 지금껏 한 번도 제대로 스프린트의 태스크를 전부 끝내본 적이 없다. 처음에는 욕심을 많이 냈던 것 같다. "이 정도는 할 수 있을거야" 라는 마음으로 제대로 된 팀의 velocity(팀의 생산성, 추후 설명 예정) 측정도 하지 않은채로 개개인의 일감을 관리했다. 하지만 이렇게 6주가 진행되자 문제가 보이기 시작했다. 뭔가 일은 하는 것..