코드스쿼드 회고 - 프로젝트

jjunyjjuny·2021년 4월 13일
0

코드스쿼드 회고

목록 보기
3/3
post-thumbnail

프로젝트

1주차 2021.04.06 ~ 2021.04.11

드디어 프로젝트

그 동안 공부한 내용을 바탕으로, 그리고 리액트를 학습하면서 협업 프로젝트를 진행했다. 우리팀은 리액트보다 "협업"에 집중하기로 했다. 각종 협업 룰을 고안하고, 연습용 깃 리포를 파서 여러 상황을 테스트해보고, issue, project, wiki 등을 적극적으로 활용했다.
그러다보니 프로젝트 자체는 진도가 나가지 않고 협업과 설계에 매몰되는 느낌이 들었다. 너무 완벽하게 하려다보니? 그렇다고 정답은 없고.. 그래서 서로 눈치를 보지 않았을까? 싶다 ㅎㅎ.. 속으로 다들 이쯤하고 플젝 진행하고 싶다..라고 생각했을지도..
그래도 한 번쯤 이렇게 협업에 관해 제대로 고민해보고, 그 동안 미루었던 깃 연습도 제대로 할 수 있어서 좋았다. 이제 리액트 열심히 해야지 ..

집중력

최근 집중력이 바닥을 친다. 책상에 앉아있는 시간은 눈떠서 잘 때까지 거의 하루종일이지만 핸드폰을 보거나, 멍때리는 순간이 잦다. 뭐랄까.. 공부하면 할 수록 할게 너무너무 많아서 오히려 멈칫하게 되는거 같기도 하고, 이걸 어느 세월에 다하지 혹은 다 할 수 있을까? 라는 걱정에 회피하게 되는 것 같기도 하다. 항상 주말 회고를 쓸 때마다 이런 느낌의 글을 쓰는거 같은데... 차라리 절대적인 시간을 줄이더라도 할 땐 집중해서 하고, 쉴 땐 쉬어야 할텐데.
제대로 쉬는 것도 아니고, 그렇다고 집중을 엄청 잘 하는 것도 아닌 시간을 손해보는 느낌?이다. 대책이 필요해 ..

2주차 2021.04.12 ~ 2021.04.18

"매몰"

첫 프로젝트 협업에서 가장 기억에 남는 단어를 고르라면, '매몰'을 고를 수 있겠다. 1주차 회고에서도 언급했지만, 우리 팀은 첫주에 협업, 설계라는 단어에 매몰되어 진도가 많이 느린편이었다. 물론 덕분에 git을 제대로 익히고 협업에 대해 고민하는 시간을 가지긴했지만, 마무리 회고를 하며 '데드라인이 필요하다'는 것에 의견을 모았다. 우리는 아직 부족함이 많기에, 처음부터 완벽할 수 없다. 너무 욕심내고, 부족한 지식으로 이게 맞는지 제대로 판단이 되지 않아 시간이 지체되는 등.. 나름 좋은 경험이었다고 생각한다.

앞으로의 협업

첫 협업을 경험하면서 다음 협업을 시작할 때 팀원과 상의하고, 고려해야할 요소가 무엇이 있을지 목록을 적어보았다.

  • 무엇을 하든 데드라인 정하기. 최대한 그에 맞추려 노력하며, 시간이 부족하거나 오히려 남을 경우에 다시 판단해서 "조정"하는 과정을 거친다. 우리는 완벽한 계획을 짤 수도, 데드라인을 정할 수도 없다.

  • 마일스톤. 이번에는 사용하지 않았는데 프로젝트 전체보다는 중간크기의 단위?의 진척도를 확인하기 위해 사용할 수 있는 모양이다.

  • 데모 시나리오 작성. 데드라인 정하기와 비슷한데, 우리는 금요일마다 데모를 발표하니 각 주 금요일에 "어디까지 완성해서 데모를 보여주자"는 목표를 작성하고, 그것을 1차 목표로 정하는 것이다.

  • 이전 PR 내용 기록. upstream에 PR을 보낼 때, "저번 PR에서 어디까지 하고 보냈지?"라던가, 어떤 내용을 써야할지 막막하곤 했다. 이번 팀에서는 활동로그를 작성하며 매일 진행 상황을 작성하긴 했지만, 좀 더 PR을 보낼 때 참고하기 좋은 형태가 필요한 것 같다. 고민해볼 필요가 있을 듯. 그래야 PR에서 중복된 내용을 다루지 않을테니

  • 전체 틀은 같이 만들기. 이번 팀 협업 중 매몰 다음으로 문제였던것이 이 부분이다. 리액트 사용 단계에 들어가서 우리는 폴더링조차 공유하지 않고 각자의 작업을 시작했다.. 그러다보니 진행이 더디고 "이걸 추가해도 되나?"같은 망설임이 생겼다. 적어도 컴포넌트 트리를 만들었다면 해당하는 파일을 만들고, 폴더링해서 연결 정도는 하고 공유한 다음 역할을 분담하자

개인적인 다짐(?)

  • console.log 봉인. render 대신 결과를 보기 위한 console.log는 괜찮지만, 디버깅을 위한 console.log는 절대 사용하지 말자. 계속 회피하고 있던 디버거를 통한 디버깅에 조금씩 도전해보자 ..

  • 잔디밭을 위한 commit을 하지 말자. 이전에는 매일 알고리즘을 풀어 올리다보니 최소 하나 정도의 잔디가 심어졌다. 하지만 일주일정도 알고리즘을 쉬다보니, 잔디밭에 구멍이 생길 위기(?)에 처해 의미없는 commit을 보내곤 했다. 스스로 자괴감이 좀 들었다.. fork한 저장소에서 commit, push를 해도 잔디밭은 채워지지 않는다(PR후 upstream이 merge해주면 채워지는 듯). 뭔가 "난 오늘 코드를 작성했는데 잔디밭에 남지 않아서 억울해!" 같은 느낌으로 허수 잔디(?)를 채웠지만, 그러지 말자.. 추해지는 듯.. ㅋㅋ..

  • 운동. 개발과는 관련 없지만, 도수치료를 받으며 좀 나아지긴해도 비용에 비해서는 아닌 듯 하다. 30분 조깅과 필라테스 30분을 꾸준히 해야하는데... 사실 별거 아닌데 시작을 안 하다보니 매일 시간을 정해서 해야겠다. 가장 좋을 때는 코쿼 정규시간이 끝나고 밥먹고 소화좀 한 8~9시쯤이려나?? 샤워 딱 하고.. 아침은 좀 힘드니까..

잘 하고 있는가?

  • 음, 제이슨과도 얘기한 내용이지만 알고리즘, 구현, 기술 면접(CS) 등 취업을 위해 준비해야할 요소는 너무 많다. 그러다 보니 이것저것 다 미리 준비해야할 것 같다. 는 생각이 지배적으로 들면서 이도저도 아닌 상태가 되는건 아닌가 싶다. 지금은 리액트에 집중해서 코드스쿼드 과제에 몰입해야하는데, 블랙커피에서 cypress도 다루고 있고, 알고리즘도 준비하고 싶고, 아티클을 읽으며 지식을 쌓고 블로그 글도 쓰고 싶은.. '싶다'라기보다 '해야할 것 같은'이 더 가깝긴 하지만.

  • 그렇다고 이 모든 것을 잘 헤쳐나가는 집중력이 있는 것도 아니다. 컴퓨터 앞에는 계속 앉아 있지만 50%는 딴짓하는 듯. 핸드폰을 멀리 두던가 해야지... 원래 주말에 로드맵을 좀 작성해보려 했는데.. 회고를 작성하고 시도해 봐야겠다.

TOAST UI

  • 이전에도 여기서 몇 가지 아티클을 읽긴 했는데, 이번에 우연히(?) 좀 더 깊게 찾아보니 정말 다양한 글이 많았다. FE guide라는 각종 컨벤션과 안티 패턴에 대한 글도 있고, 위클리 픽으로 한 주에 하나씩 써온 기술 아티클이 300개가 쌓여있더라..

  • 한 동안 이곳에 있는 가이드와 아티클 위주로 일일퀘스트를 진행해볼 예정이다. 가능하면 나도 이런 글을 일주일에 하나씩 쓰고 싶지만.. 블랙커피 lv2가 끝나면 시도해야할 듯..

3주차 2021.04.19 ~ 2021.04.25

npm에 라이브러리 배포

  • 이번 미션에서는 대부분 성이 엄청난 속도로 해치우고.. 나는 캐로셀 컴포넌트 라이브러리를 만들다 한 주가 끝났다.. 라이브러리를 만드는건 생각보다 재밌다. 범용성을 고려하고, 사용자의 다양한 행동을 예측(?)해서 각종 에러처리를 해야한다.
  • 처음으로 npm에 배포해보았고, npm i 로 설치해서 써보니 너무 신기했다. 이후로도 하나씩 추가하고 싶어짐!

react의 애니메이션

  • react에서 애니메이션을 적용하는 정석?이랄까 가장 많은 패턴이 무엇일까.

  • 애니메이션은 DOM 속성이 변하는 것을 보여주는 것인데, 리액트는 '변경된 새로운 DOM을 갈아 끼우는' 형태이기 때문에 애니메이션이 발생하지 않는다. 그렇기 때문에

    • 렌더링 후 애니메이션을 보여주거나,
    • 반대로 애니메이션을 보여준 후에 렌더링하거나
  • 둘 중 하나라고 생각하는데, transition을 사용하려면 렌더링 후에 속성값을 변경시키는 명령이 필요하다. 나는 useEffect를 통해 이를 해결했는데, 안티패턴은 아닐지... 크롱이 생각보다 그런 경우가 꽤 있다고 딱히 안티 패턴은 아닌가보다라고 하시는데 흠..

  • keyframe을 사용해서 렌더링 후에 0%~100%로 동작하게 하는 방법도 있다. 다만 이 경우에는 '리렌더링이 된' 경우에만 가능하다.

  • 가령 캐로셀의 경우 내부 요소는 렌더링되어 추가되지만 trnasform : translate()로 움직일 상위 컨테이너가 리렌더링 된 건 아니기 때문에 keyframe으로 적용할 수 없더라..

  • useRef로 돔을 선택해두고 속성을 변경시키는 전략을 사용했는데 마음에 들지 않는다.

네이버 공채 테스트

  • 토요일에 네이버 공채 1차 코딩 테스트를 보았다. 4문제중에 3문제를 통과했는데 (기본 테스트케이스 기준, 히든 케이스는 확실하지 않다..) 나름 전략을 잘 짠것 같다.
  • 1번 문제를 잘못 이해해서 20분 정도 날려먹었는데, 3번까지 어찌어찌 풀고 20분 남았을 때 4번을 보니 도저히 시간내에 풀 수 없다고 생각했다. 그래서 4번을 풀기보다 나머지 문제 검토를 했는데, 3번 문제 히든 케이스를 잘 해결했다! 2분 남기고 while문 적용해서 제출하니 10초정도 남았다 ㄷㄷ...! 효율성에서 꽤 좋은 점수를 받을 수 있을지도..!
  • 목표는 1차 면접까지 가보는 것! 아마 1차 면접에서 CS 지식 부재로 광탈할거 같긴한데, 기대하지 말고 맘편히 가서 면접을 경험해보고 싶다. 어떤 느낌일까.. 물론 1차는 온라인으로 볼것같긴하지만

4주차 2021.04.26 ~ 2021.05.03

또, 라이브러리

  • 이번 미션은 대부분 성에게 맡겨두고 결국 라이브러리만 작업했다! 하다보니 욕심도 생기고, 성이 너무 빠르게 잘해줘서.. 다만 2미션 연속 fetch를 직접 쓰지 않은건 큰 문제다! 다음 미션에는 반드시 서버 통신 파트를 맡을 예정이다.
  • 그래도 npm에 배포한 결과가 만족스럽고, 이후에도 시간 날 때마다 조금씩 업데이트 할 생각이다. 이후 구현할 내용도 어느정도 계획은 세워놨으니...

우테캠 자소서!

  • 시간 날때 우테캠 자소서를 슬쩍 건드려보았다. 우테코 자소서를 쓸 때가 떠올랐는데 그 때보다는 쓸거리가 그래도 좀 있다?는 생각이 들었다.. 하지만 그게 그거인 수준이고..

  • 항목이 진짜 원하는 대답이 무엇일지 한 번 고려해보고, 답변을 작성하려고 노력했다. 나름 1~3번 문항에 대해서는 적당히는? 만족할 정도로 쓴거 같은데 4번 문항, 협업 관련해서 많이 막혔다. 협업 경험도 그리 많지 않거니와, 질문에서 요구하는 '문제 상황'과 '해결하고자 노력한 자세'.. 일단 특별히 어려운 협업이 없었기에.. 개발 외적으로도... 지어낼 수도 없고 참 난감하다.

  • 한편으로는 문제가 생길만큼 제대로? 빡세게? 협업을 하지 않았다는 의미가 될 수도 있지 않을까?

5주차 2021.05.03 ~ 2021.05.09

백엔드와 첫 협업

  • 그 동안의 두 개의 미션에서 나는 프론트로만 구성된 팀으로 진행했고, 이번주에는 처음으로 백엔드1 프론트2로 구성된 팀으로 미션을 진행했다. 첫주는 백엔드와 처음인만큼, 협업과 소통에 중점을 두었다. 같이 기획서를 보며 어떤 데이터가 필요하고, 통신 시점은 어디일지 주고 받는 데이터의 형태는 어떨지 등...

  • 이번주에 우테캠, 카카오 인턴 코딩 테스트가 있었기에 저녁 이후로는 그것들을 준비하느라 미션에 시간을 많이 쓰지 못했다. 진도가 꽤 느린데.. 남은 일주일안에 최대한 완성하도록..

우테캠, 카카오

  • 이번에 본 코테에서 카카오는 어차피 기대도 안 했고, 우테켐이 좀 불안하다.. 4문제중 3개를 기본 테스트케이스는 통과하도록 제출했는데, 시간이 부족해서 검토를 하지 못했다.. 프로그래머스에서 이상하게 컨트롤 c, v, x 등이 안 통하는 문제가 있는데 자체적으로 막혀있는건가 싶었는데 나만 그러더라.. 이것만 아니었어도 좀 더 빨리 풀어서 검토할 시간을 확보했을지도 ....

  • 이미 지나간 일이지만 이번이 우아한 형제들 신입에 도전할 마지막 기회라는 것이 아쉽다. 제대로 준비하지 못하고 맞이하는... 올해말 우테코를 지원해서 설령 합격한다해도 1년을 더 준비해야하고, 그 안에서 전환이 될지도 모르는 일이다. 내년 우테캠도 2달을 해야하기에 합격한다해도 전환률도 2~30%정도고 그 때까지 백수인게...

  • 물론 애매한 회사에서 1년 경력 쌓는것보다 우형 연봉이 정말 엄청나게 차이나서 합격할 수만 있다면 도전해볼만한 가치는 있지만 그게 또.. 보장된건 아니니까..하는 생각이 든다.

코드스쿼드 이후

  • 이번주는 코쿼 사람들과 '코드스쿼드가 끝나는 6월 말 이후, 어떻게 할것인가' 얘기를 자주 나누었다. 코딩테스트 준비, 현재의 텐션을 유지하기 위해 어딘가 소속되어야 할 것 같은 느낌(우테캠, 부스트캠프 등..), 각자 노리는 취업 시기 등등.. 슬슬 교육생이라는 신분으로 숨겨놨던 진짜 신분.. 취준생으로서 고민해볼만한 문제들이 많다. 특히 이번에 코딩테스트를 보면서 코테준비를 너무 못했다는 느낌을 받았기에.. 적어도 1차 코테에서 떨어지는 일은 없도록 하고 싶다. 적어도 면접에서 떨어지면 보여줄건 다 보여주고 떨어지는거라 미련이라도 덜 할텐데, 1차에서 떨어지면 다 보여주지도 못하고 떨어지는거라 너무 미련 남을듯... 지금 우테캠 상황이 그렇다 ㅜㅜ 알고리즘 좀 더 공부할걸..

6주차 2021.05.10 ~ 2021.05.16

백엔드와 첫 협업 마무리

결론적으로 미션의 완성도는 좀 떨어졌지만, 매일 몇 시간씩 소통하며 보낸거 같다. 데이터의 형태, API 요청 타이밍을 얘기하다보니 미션도 더 구체적으로 파악하고 사용자 입장에서 행동을 추측하게 되었다. 대화를 나누고 결정한 사항을 모두 미션에 구현하지 못 해서 아쉽지만 좋은 경험이었다.

우테캠 2차

토요일에 우테캠 2차 테스트를 보았다. 4시간중 2시간 까지는 필수구현 기능을 모두 완료하고 나름 여유롭다 생각했는데, 그 이후가 문제였다. 일단 필수기능 이후 선택 사항에서 먼저할 내용을 잘못 선택한게 크다. 2시간이나 남았으니 다 할수 있겠다는 생각에 첫줄부터 구현하자고 생각해서 로딩페이지를 했는데, 막상 만들고나니 약간의 문제가 있어서 이거 해결하다 끝날거 같다는 생각에 넘어갔다. 결과적으로 시간만 쓰고 결과물이 없는 상황... 이때부터 꼬이기 시작했다.
라우터에 스트링, 함수, 클래스를 보내면 알아서 app DOM을 인수로 전달해주는데 그것때문에 클래스 생성자에 내가 원하는 값을 전달할 수 없어서 곤란했다. 근데 생각해보니 new 를 사용하는 함수를 만들어서 전달하면 됐는데... 너무 멍청했다. 이거때문에 localstorage 기능을 제대로 사용 못 했다.
결국 2시간 이후로는 1시간 이상 날리고 결과는 없는 셈이 되었다.. 사용자에게 피드백을 주는 화면을 하나도 만들지 못 했고... 진짜 왜 모달을 미리 만들어볼 생각을 안 했는지 .. 멍청한 녀석...
결국 게으른 벌을 받는게지.. 이번엔 경쟁률도 높아서 진짜 걱정이 많다. 붙었으면 좋겠는데 가능성이 보일지 모르겠다. 지원자중 허수가 몇몇 있는거 같은데...

남은 것들

네이버 카카오는 떨어졌고, 우테캠은 이제 6월 초까지 기다려야하고, 남은건 우아한테크러닝(지원완료)과 네이버 부스트캠프 정도인거 같다. 부스트캠프의 경우 6월 21일인가 거의 코쿼 끝날때까지 접수라서 좀 여유롭게 준비할 예정이다. 이제 남은건 코쿼 미션에 집중하는 것 뿐..!

7주차 2021.05.17 ~ 2021.05.23

새로운 팀플

이번주는 ios, back, front 각 1명씩 구성된 팀으로 사실상 프론트 혼자 하는 개별 미션같은 느낌이었다. 첫날 API 협의를 마치고 이후 계속 혼자 작업했다. 별다른 회의 없이..
그러다보니 개인공부 위주로 진행했는데 이번 미션부터 TypeScript, UI 라이브러리, Recoil 등 새로 적용해볼 요소들이 추가되었다. 이번주는 더미 데이터로 대략적인 UI만 만들어놓고 TypeScript 공부를 하고 있다. TypeScript를 사용해서 캘린더 라이브러리를 만들고 있는데 생각보다 시간이 오래 걸리는 중..

선언문 vs 표현식

TypeScript 강의를 보다 뜬금없이 이 주제가 궁금해져서 하루를 꼬박 투자해서 알아보기도 했다. 결론적으로는 삽질같기도 했지만, 나름 이유를 가지고 선언문을 사용하고 있다. 이번주는 좀 다른 길로 세는게 강한거 같기도 하고 나는 지금까지 미션보다는 중간에 하고싶은 것에 꽂혀서 그쪽으로 빠지곤 했던거 같다.. 범용성, 사용성, 라이브러리와 같은 키워드에 꽂히는 듯..

TypeScript

처음 써보는 타입스크립트. 이녀석은 물건이다. 일단 타입을 강제함으로써 코드 작성시 실수를 줄여주는 것만해도 아주 훌륭하다. JS를 쓰면서 30분을 해매다가 알고보니 오타였다는 엔딩을 몇 번이나 겪었던지... 앞으로 TS만 쓸거다..

8주차 2021.05.24 ~ 2021.05.30

Calendar library

저번 캐로셀에 이어 이번엔 캘린더 라이브러리 제작에 빠져있다.. 미션은 등한시하고.. ㅎㅎ 그래도 타입스크립트 공부와 동시에 하고 있어서 개인적으로는 만족하고 있다. 라이브러리를 만들다보면 UX를 특히 고민하게 되고, 사용자의 행동을 예상하게 된다. 어떻게 하면 더 편리하게 만들 수 있을까, 어디까지 사용자에게 허락할까 같은.. 디자인을 배웠던 경험이 여기에 적용되는 걸지도..

TIL 분리

약 3달전부터 작성하기 시작한 TIL이 어느덧 90여개가 쌓였다. 블로깅도 겸하고 있는데, TIL 때문에 다른 글이 묻히는 문제가 느껴져서 과감하게 분리하기로 했다. 적당한 플랫폼이 있을까 찾아봤지만 벨로그가 익숙하고 편했다. 다행히? 깃, 구글로 각자 다른 벨로그를 가입했었던 터라 다른 계정 하나를 TIL용으로 사용하기로 했다. 속시-원

9주차 2021.05.31 ~ 2021.06.06

부실한(?) 팀플

  • IOS, Back, Front 각각 한 명씩 구성된 팀으로 진행됐는데 사실 이번 팀플은 개인플레이를 한 셈이 되었다. 첫날 데이터 협의 후에 이렇다할 회의를 하지 않았고, 나 또한 라이브러리 제작에 빠져서 소통을 할 이유가 없었다..?
  • 두 분이 대학 졸업반이라 그런 것도 있지만 나도 딴길로 빠지다보니 그렇게 됐는데 개인적인 학습 측면에서는 좋았지만 협업이라 하기 무색한 활동은 좀 아깝긴하다.. 다음엔 협업을 제대로 할 수 있기를 ..! 라이브러리 만들기에 너무 빠지지 말아야겠다.

우테캠 2차 합격!

  • 우왕 2차 시험을 좀 아쉽게 봤다고 생각했는데 다행히 2차 합격! 이제 면접만 남았다.
  • 면접을 한 번도 해본적 없는데 .. 걱정이 앞선다. 2차를 합격한 사람들과 모의 면접도 한 번 진행해봤는데 생각보다 횡설수설하게 되고 정리가 안 되는 느낌이다. 말하는 연습을 좀 더 해야겠다!

Not Found 집중력..

  • 집중력이 떨어졌다는 글은 매주 쓰는거 같은 기분..

10주차 2021.06.07 ~ 2021.06.13

11주차 2021.06.14 ~ 2021.06.20

12주차 2021.06.21 ~ 2021.06.27

profile
기억보단 기록을 / TIL 전용 => https://velog.io/@jjuny546

관심 있을 만한 포스트

0개의 댓글