🧚 그룹 활동
Web6조의 활동
mission2를 진행할 때 심신이 점점 지쳐서 그룹 활동에 대한 동기부여가 떨어져 있었다. 겨우 이틀 쉬었지만 약간 쌩쌩해졌고, 그룹을 활동을 재밌게 보내고 싶어서 다양한 활동들을 준비했던 것 같다. 첫 날부터 그룹원들과 친해지기 위해 밤에 허들을 하자고 했고, 그 외에도 다양한 프로그램들을 진행했다!
이번 주는 정말 빠르게 지나가버렸다. 주말이 껴있지 않아 5일만에 끝나버리기도 했고 친하게 지내면서 함께 이런저런 활동을 하다보니 그랬던 것 같다. 10/20(목)에 진행될 오프라인 행사에서 회포를 마저 풀기로 했다. 대구에 사시는 준호님도 아마 올라올 것 같다고..
하루는 데일리 스크럼을 마치고, 잠깐 잡담을 하기도 했다. 잠깐의 여유를 즐길 수 있어서 좋았다.
챌린지 때 매번 진행했던 오랜만에 해봤다. 계속 패스만 나와서 아쉬웠다. 다음부터는 패스를 없애야할 것 같다.
💳 멤버십 일상!!
엄청나게 많은 기능들!!!
9/26(월) - P3 Day1
확실히 계획을 짜는 시간이 많이 줄어들었다. 점점 감이 잡히나 보다. 어차피 지켜지지 못할 계획이지만
마스터 클래스를 노션에 정리하면서 들었다. 시간 갈 수록 마스터클래스에 집중하지 못하고 있는 나를 발견했고 뭐라도 해야겠다는 생각을 했다. 확실히 집중력도 올라가고 생각 정리도 잘 되는 느낌이다. 클래스가 있을 때마다 정리 필수!! 이번 마스터클래스를 들으면서 마음이 많이 편해졌다. 학습을 해야지 노동을 하면 안된다. 라는 말이 가장 인상적이었다. 마스터님 왈: 어차피 취업하면 노동은 질리도록 하게 된다고... 이번 미션은 남들이 날 어떻게 생각하든 학습 관점으로 진행해보자!! 나도 모르게 경쟁적으로 구현에 집중하고 있었던 것 같다. 그룹 프로젝트 때 팀 결성을 해야됐기 때문에 내가 구현을 잘 한다는 것을 어필하고 싶었던 마음도 있었다. 잘 해야 한다는 부담감이 나를 점점 엇나가게 만들었던 것 같다. 부스트캠프에서의 철학, 동료들과 협력하고 함께 성장하는 것이 목표라는 사실을 잊지 말자.
오늘 그룹 활동을 진행할 때, 팀원들과 빨리 친해지고 싶은 마음에 11시쯤에 모여서 허들을 하자고 제안했는데 다들 좋다고 해주셨다. 대망의 11시 진행상황 얘기를 나눠봤는데 다들 스타일이 달랐다. 계획을 세우기 전 학습부터 시작하신 분도 있었고, 계획을 세우지 않고 구현부터 시작하신 분도 있었다.
타입스크립트와 리액트를 잘 모르기 때문에 그룹 프로젝트를 진행하기 전에 리액트를 다뤄보고 싶다는 생각이 있었다. 처음에는 Vanilla JS로 구현해보려 했었는데 팀원과 상의한 결과, 타입스크립와 리액트를 사용해보기로 결정했다. 사실 저번 미션에서 직접 웹 컴포넌트를 만들어 SPA를 만들어본 경험이 있었기 때문에 과감하게 리액트를 사용하기로 마음 먹을 수 있었던 것 같다. 미련이 남긴 했지만
9/27(화) - P3 Day2
리액트를 설정할 때 CRA를 사용하지 않고 직접 babel과 webpack 설정을 해줬다. 여기서 CRA는?? 개발 환경을 대신 세팅해주는 명령어이다. (출처: https://curryyou.tistory.com/485)
npx create-reat-app 디렉토리
1. webpack(모듈+라이브러리 번들링)
2. babel(jsx 컴파일)
3. jest(테스트)
4. eslint(코드형상관리)
5. polyfill(구형 브라우저 미지원 문법 등 대응)
6. HMR(Hot Module Replacement: 재시작 없이 변경사항 반영)
7. CSS 후처리(SASS 컴파일, 벤더접두사prefix 등)
수 많은 타입스크립트의 에러들과 싸우며, 이슈가 생길 때마다 노션에 정리하려고 노력 중이다. 오늘의 구현은 잘 안 풀렸다. 머리를 쥐어 뜯게 된다. 구현한 것이 거의 없었지만 학습이 되고 있다고 느꼈기 때문에 그렇게 초조하지는 않았던 것 같다. 주말에 메꾸면 되겠지
9/28(수) - P3 Day3
어느샌가 오픈 소스를 보면서 따라하고 있는 내 모습을 발견했다.. 내 지식과 고민이 많이 부족한 탓일까?? 스스로 만들어내는 게 너무 어려웠다. 오픈소스를 참고하면 1~2시간이면 끝낼 수 있는 것을 하루종일 붙잡고 있기에는 기회비용이 크다고 생각했다. 부캠의 미션 특성상 2주라는 적은 시간 안에 최대한 많은 것들을 학습해야하기 때문에 고민이 많이 든다.
오늘도 마스터클래스가 있는 날!! 멀티쓰레드에 대한 얘기를 해주시다가 아래 짤을 보여주셨다. 계획을 세울 때는 체계적으로 코드를 적을 것처럼 했던 내가 개판이 되는 상황과 비슷하다는 생각이 들었다. ㅋㅋㅋㅋ
9/29(목) - P3 Day4
원판돌리기와 함께 시작한 하루! 이번 미션만큼은 팀원들끼리 리뷰를 꼭 해보고 싶어서 코드를 왕창 작성한 다음! 저녁 12시에 모여서 팀원들과 1시간 정도 코드리뷰하는 시간을 가지자고 제안했다!
삽질하는 도중 명일이가 인프런 서류에 통과했다는 기쁜 소식이 들려왔다. 대박! 부럽기도 하고 자극도 받았다. 나도 취업해야되는데.. ㅋㅋㅋ 이번 주말은 시간내서 코딩테스트 공부도 하고, 자소서도 꼭 써보자. 빨리 자소서 작성해서 승찬이나 명일이처럼 이력서도 만들어야지
오늘 하루가 순식간에 지나가 밤 12시가 되었고 그룹원들과 허들에서 만나 코드리뷰를 진행했다. 다른 분들의 코드를 보면서 다양한 문제 해결 방식을 확인해볼 수 있었다. 신기한 경험!! 준호님이 피드백 주신 것에 리뷰어님이 댓글까지 남겨주셨다. 리뷰어님 진짜 열정 넘치신다..
코드 리뷰를 끝나갈 무렵 JWT와 보안에 관련된 토론을 하기 시작했고 이것저것 얘기하다보니, 1시 30분이 되었다. 팀원들과 작별인사를 하고 자려 했는데 명일이가 갑자기 허들을 하자고 했다. 얘기하다보니 민경이도 들어와 셋이서 수다를 떨었다. JWT와 OAuth, 기술적인 얘기, 프로젝트 얘기, 취업 얘기 등등 대화를 나누다가 2시 30분 쯤 잤던 것 같다.
9/30(금) - P3 Day5
오늘은 점심에 PR을 보내야하는 날이기 때문에 어제 리뷰어님이 피드백주신 내용들을 적용해봤다. 위에 준호님이 피드백주신 salt를 적용하기 위해 bcrypt라는 라이브러리를 사용해 회원가입과 로그인 보안을 강화했다. 그리고 피어세션, 마스터클래스와 함께 일주일 간의 일정을 마무리했다.
😸 피어세션
일주일의 마무리~!
피어세션 때 뭘 해야할 지 전 날부터 고민했었다. 경험상, 학습 공유나 단순한 코드리뷰보다는 그룹원들과 특정 주제에 대해 구현 목표를 정해놓고 함께 학습하고 만들었던 것이 훨씬 유의미하고 재미있었기 때문에 이번 피어세션에서도 구현 목표를 정해놓고 팀원들과 함께 만들어봤다. 챌린지 때부터 지향했던 만들면서 배우기를 통해 해당 패턴의 작동 원리와 철학에 대해 더 깊이 학습해보고 알아갈 수 있었던 것 같다.
이번 팀회고는 색다르게 진행해봤다. 피어세션을 함께 했던 분들과 같이 8명이서 진행해봤다. 함께 인생 8컷도 찍어서 슬랙에 자랑하고 아래와 같이 일주일 간의 활동을 정리하는 시간도 가졌다!! 다들10/20(목)에 있을 오프라인 행사에서 만나길 기약하며 피어세션을 마쳤다.
👨🏫 부스트캠프 커뮤니티 행사
한빛맹학교 김찬홍 선생님의 접근성 특강!!
작년에도 진행되었던 접근성 특강이 올해에도 열렸다!! 작년의 내용: 부스트캠프 공식 블로그
시각 장애인의 입장에서 다양한 애플리케이션 서비스를 직접 사용하는 시연을 보며 접근성과 사용성이 어떤 지 체험해보는 시간을 가졌다. 스마트폰 시연은 약 40분 간 진행되었다. 보이스 오버, 대체 텍스트, 다이나믹 폰트 등의 접근성에 대해서 알아갈 수 있는 시간을 가졌다. 애플리케이션의 접근성과 사용성이 모두 뛰어난 경우도 있었고, 접근성만 좋은 경우도 있었다. 모달 광고창의 불편 또한 알 수 있었다. 개발자로써 시각을 확장할 수 있는 시간이었다. 아주 유익했다.
img태그의 alt속성이 이런 걸 위해서 쓰이는 거 였구나.. 이런 당연한 것도 모르고 살았다니.. 스스로를 반성하게 되었다. 시맨틱 태그의 중요성을 다시 한 번 알게된 계기였다. 시각장애인들이 웹 보조 기구를 이용할 때 시맨틱 태그를 통해 어느 부분이 제목이고 내용인지 등 맥락을 구별할 수 있게 된다는 사실을 알게 되었다.
h1~h6 태그를 남발하면 안 되겠다는 생각도 들었다. 필요할 때만 사용해야할 것 같다. 머리말로 구분하여 앱의 맥락을 파악하시는 경우가 많기 때문에 필요할 때만 사용하는 것이 좋을 것 같다.
웹 접근성을 배울 수 있는 사이트!
- 널리 NULI: https://nuli.navercorp.com/
- 웹 접근성 연구소: https://wah.or.kr:444/
질의응답 시간에서 인상적이었던 내용들
업데이트 과정에서 접근성이 안 좋아지는 경우가 있다고 한다. 시각 장애인 분들은 업데이트가 진행되고 나면 "이거 안 되는 거 아니야?"하면서 사용하기를 꺼려하는 경우도 있다고 한다. IOS 업데이트, 어플 업데이트 등등등...
윈도우에서는 센스 리더를 많이 사용하신다고 한다. 접근성이 정말 좋고, 도움이 많이 되는 애플리케이션이지만.. 레거시가 쌓여있는 상태라 궁합이 안 좋은 케이스가 조금 있다고 한다.이거 얘기해도 되는건가...?
스마트폰의 보이스오버가 사용하기는 쉽다. 센스 리더는 고급 회칼같고, 스마트폰의 보이스오버는 사용하기 쉬운 믹서기와 같다. 센스 리더가 배우기는 힘들어서 많이 배우려고 하지는 않는 것 같다고 하셨다.
장애인을 지원한다는 것은 장애인에게 큰 도움이 되지만, 그 혜택은 비장애인 분들도 받는다!! 나이가 많이 드신 분들은 시력이 안 좋은 경우가 많기 때문에 시각 장애인을 위한 서비스가 그 분들에게도 큰 도움이 될 수 있다는 사실을 알아두자!
구글, 애플, 마이크로소프트 같은 곳은 접근성을 위한 부서가 따로 있다고 한다. 접근성에 대해 계속 투자를 하고 있기 때문에 접근성이 좋은 것 같다. 카카오에서도 DAO(Digital Accessibility Officer)를 뽑았다고 한다. 그 외의 대기업에서도 접근성을 많이 신경쓰기 시작했다고 한다. 작은 기업 같은 경우에는 개발자 1~2명이 모든 걸 다 해야하는 상황이기 때문에 접근성을 신경쓰지 못하는 경우가 많다고 한다.
✍ 리뷰 활동
이번 주의 리뷰는?
수요일 오후 9시에 미팅을 진행했다!! 백엔드 리뷰어님 엄청 적극적으로 일정도 잡아주시고 계속 질문도 해주고 있어서 편하게 진행했던 것 같다. 무려 2시간 넘게 진행되었다. 이번에는 저번과 다르게 프론트와 백엔드 리뷰어님 모두와 함께 미팅을 진행했다. 개발에 현업에 대한 다양한 얘기를 들어볼 수 있어서 굉장히 좋았다!!
미팅 시간에 나왔던 얘기들
Q. 성장 측면에서 대기업, 스타트업 중 어디에 취업하는 게 더 좋을까요??
A. 스타트업은 제너럴리스트이고, 다양한 것을 많이 한다. 대기업은 딱 정해진 부분만 하는 경우가 많기 때문에 스페셜리스트가 될 것이다. 성장은 똑같이 하겠지만, 성장의 방향을 어떤 부분으로 가져가고 싶은가에 따라서 달라질 것 같다. 근데 사실 회사마다 케바케이다.
개인적으로 스타트업을 가서 좋은 점은 비즈니스적인 것을 많이할 수 있어서 좋았다. 기획적인 것을 직접 해볼 수 있어서 좋았다. 대기업에서 일하면 내가 문제를 해결하는 이유나 기획에 대한 고민이 부족해질 수도 있다고 생각한다. 스타트업은 이 코드가 어떻게 하면 돈이 될 수 있을까를 많이 고민해볼 수 있을 것 같다.
스타트업은 회사가 성장하는 재미가 있다. 수치로 보이니깐 더 좋은 것 같다. 그런데 문화가 없다. 직접 메뉴얼을 만들어야된다. 계속 공부를 해야한다. 개인이 회사의 성장 속도를 못 따라간다. 그래서 회사가 성장하면 외부에서 영입을 많이 하는 것 같다.
Q. 스타트업 취직?
A. 스타트업은 인력이 부족하다. 면접장을 안 오는 경우가 많다. 스타트업이 기술 스택만 잘 맞으면 부캠 수료하고나서 취직이 어렵지는 않을 것 같다고 생각한다.
A. 어떤 회사는 일주일에 들어오는 프론트엔드 지원서가 15개가 넘는다. 괜찮은 사람이 보여서 뽑을려고 연락하면 이미 다른 회사에서 채갔다고.... 인력풀은 넘치지만, 잘하는 사람 찾기가 힘들다. 인재 찾을려고 혈안이 되어 있는 것 같다.
A. 회사는 잘 찾아야한다. 유튜브 좋좋소에 나오는 회사랑 비슷한 곳도 분명히 있다....
Q. 한 기능을 개발할 때 인력이 얼마나 투입하는지? 회사의 프로세스
A. 일정은 러프하게 잡는다. 태스크별로 움직이는 편. 일정이 지켜지면 좋지만, 안 지켜질 수도 있기 때문에 기간은 얼마든지 늘어날 수 있다. 기간 내에 할려고 갈아넣는 경우도 있다. 좋지는 않은 것 같다고 언급하심.. ㅋㅋ 모든 일정을 개발에 쏟을 수 있는 것은 아니다. 기획도 해야 하고, QA도 해야 한다. 일정 중 절반을 개발에 사용하는 것 같다.
Q. 그룹 프로젝트 진행, 어떤 부분을 신경쓰면 좋을지. 리뷰어 분들은 프로젝트를 어떻게 만들었는지
A. 이거는 스스로 정해야할 사항이다. 특색은 자기한테 나오는 거다. (BE리뷰어님 왈)스토리텔링이 있어야 한다. 이유가 있어야 한다.
Q. 리뷰 요청할 때 원하는 것???
A. 개요, 작업 사항, 큰 카테고리별로 적을 수 있으면 좋을 것 같다.
인상적이었던 리뷰 내용
서비스에 Repository가 몇 개 있어야 하느냐, 필요한 만큼은 있어야 한다 이게 정답입니다. 모든 서비스에 레포지토리가 반드시 1개 라는 건 아니죠. 서비스는 곧 "비즈니스 로직"입니다. 비즈니스 로직을 수행하는 데에 접근해야 하는 테이블의 수가 여러 개라면 여러 레포지토리를 가질 수도 있겠죠. 의미로는 하나인데 서비스와 레포지토리를 1:1 관계로 묶기 위해서 의도적으로 나눌 필요는 없다고 봐요. 마찬가지로 Controller는 여러 개의 Service를 가질 수도 있겠죠?
모든 Entity에 createdAt, updatedAt, deletedAt 이라는 Column을 꼭 넣어주세요. 예를 들어, 상품을 삭제하면 정말로 DB에서 삭제해야 할까요? 각각 어떻게 Contraint 가 걸려야 하는지는 다음 PR 리뷰 때 이야기해봐요.
토큰이 결혼식장의 식권이라고 생각해봐요. 지금 종혁님은 손님들이 나갈 때 식권을 파기하는 행위를 하고 있습니다. 그 말은, 서버에서는 사실 할 게 아무것도 없다는 뜻이에요. 브라우저가 캐시에 저장했든 로컬 스토리지에 저장했든, 그냥 자기 것을 지우면 되는 거죠. (식권을 파기하는 행위라니... ㅋㅋㅋㅋㅋㅋㅋㅋ 엄청 웃었던 기억이 있다.)
status랑 message 따로 전달하는 것 아주 좋습니다. 다만 message는 따로 빼서 관리하는 게 나을 겁니다. 하나의 파일에서요. 나중에 디자이너님이 와서 종혁님에게 이렇게 말할 겁니다.
"우리 에러 메시지 있잖아요. 그거 유저들에게 보여지는 문구들을 유저들에게 친숙하게, 말투를 고쳐보려고 하는데 어떤 메시지 있는지 다 뽑아줄 수 있어요?"
어떤 타입이든 온다고 해서 any를 써야만 그렇게 되는게 아닙니다.
타입스크립트의 제네릭은 매우 유연하게 동작합니다!
블로그와 같은 곳 말고 실제로 다른 사람들에게 검증된 패키지들을 뜯어봐서 참고해보시면 좋을 것 같습니다. 그 단계에서 필요한 지식이 막히면 그 때 새로운 것들을 습득하는 것이죠!
1. 기본적으로 반복적인 요소가 생기면 따로 컴포넌트로 분리가 되어야 하고
2. 한 컴포넌트 내에서 도메인이 다른 역할을 최대한 분리를 하여야 하고
3. 테스트 하기 용이하도록 분리를 합니다.
4. UI를 담당하는 컴포넌트, 비즈니스 로직을 담당하는 컴포넌트로 나눕니다.
📚 개발과 인문학 스몰토크
이제는 매주의 행사
이번의 스몰토크는 비공식적으로 진행되었다. 프로젝트 멤버인 용석님, 명일, 도훈님과 함께 4명이서 진행했다. 명일이의 인프런 이슈와 학습에 집중해보고 싶다는 의견 사실 내 의견 도 있어서 프로젝트는 나중에 있을 부커톤으로 미뤄두기로 했다.
이번 주에 잘한 점?
용석님: 작업 틀을 만들어서 했던 것이 좋았던 것 같습니다. 학습했던 것을 블로그에 포스팅을 해봤습니다!!! 앞으로도 지속적으로 해볼 생각입니다.
도훈님: 페이지 애니메이션을 잘 만든 것 같다!! 이번 주는 학습정리를 잘 한 것 같다.
나: 그룹활동을 엄청 열심히 했습니다!! 첫 날부터 팀원들과 허들하면서 친해지려고 노력도 해보고, 어제는 다 같이 코드 리뷰를 진행하기도 했습니다.
명일: 오늘 다 내려놓고 산책을 갔다왔다. 내 일주일 중에 가장 잘한 일인 것 같다. 마음이 굉장히 불편했었는데, 나가서 일상을 느껴보니 "그냥 똑같은 하루, 평범한 하루구나" 싶었습니다. 걱정이 많았는데, 그냥 다 별 거 아니구나라고 생각했습니다.
느낀점과 발전 시키고 싶은 점
용석님: 시간관리가 잘 안된다고 느꼈다. 시간의 카테고리를 좀 나눠놔야할 것 같다. 학습 몇 시간, 구현 몇 시간 정해놓고 해야할 것 같다고 생각했습니다. 마스터 님한테 계획을 어떻게 짜시냐고 여쭤봤을 때는 "안 합니다"라는 대답을 들었지만.. ㅋㅋㅋㅋ 스스로 필요하다고 생각이 들어 잘 관리해보려고 합니다.
도훈님: 조금 더 적극적일 필요가 있다고 생각했다. 그동안 그룹 활동을 하면 입을 닫고 있는 편이라 대화를 많이 못했다. 더 적극적으로 하면 정보도 공유하고 얻을 수 있는 것이 많다는 생각이 들어 이번 주부터 캠퍼들과 교류하기 위해 더 노력했던 것 같다. PR 날린 것도 공유하고 한 마디씩 더 했다.
나: 저번 주에 구현은 제 실력에 비해 많이 한 편이었지만 학습이 전혀 안되고 있다고 느꼈습니다. 이번 주부터 학습에 집중하기 위해 모르는 게 있을 때마다, 이슈가 발생할 때마다 노션에 적어보고 있습니다. 모든 것을 다 적지는 못했지만
명일: 나의 언어로 바꾸면서 공부를 해보고 있다. 글을 잘 적어본 적이 없다. 스타트업에서 9개월 동안 일하면서도 글을 하나도 적지 않았었다. 9개월 간의 공부와 고민의 과정이 모두 사라져버리고, 구현 결과만 남아서 너무 아쉬웠다. 정리의 중요성을 알고는 있었지만 챌린지, 멤버십 때도 잘 쓰는 것이 힘들었지만 요즘 시도해보고 있다. 아직도 많이 부족하다고 생각하고 있다. 더 개선해야될 것 같다.
경험과 배움(기술, 태도, 지식)
용석님 블로그: 4주차 회고
명일: OAuth에 대해 자세히 알게 된 것 같다. 세션을 어디에 저장해야할까 등 인증에 대한 고민을 많이 해봤다. 근데 이 고민들을 다 스타트업에서 일하면서 해봤던 것들인데, 기록을 해놓지 않아서 똑같은 고민을 또 하고 있네요. 이 점이 굉장히 아쉽네요
나: 기술적인 면에서 성장이 있었던 것 같습니다. JWT, 세션, 쿠키, 로그인, 보안, OAuth 등 제가 깊게 고민해보지 못했던 분야에 대해서 공부해보고 느껴보고 고민해봤습니다.
도훈: 오글오글 10분 글쓰기 채널을 글을 써놓은 게 있다. 나 혼자 갇혀 있는 것 아닐까라는 의문이 들었다. 부스트캠프 자체가 함께 성장하는 공간이기 때문에 더 적극적으로 공유하고 대화하는 태도를 가지려고 노력 중입니다.
기타
그룹 프로젝트는 어떻게 하지... 팀원 매칭은 앞으로 어떻게 해야 할까요??? 관심사가 잘 맞았으면 좋겠다는 생각은 있습니다. 그런데 그룹 프로젝트가 멘토가 있었네요??!?!!
지금 백엔드 리뷰어님이 용석님 저번 리뷰어 분이였다. 리뷰어님이 용석님한테 하신 말씀 "부캠 끝날 때까지 전력 질주하라고.. ㅋㅋㅋㅋ"