-
Notifications
You must be signed in to change notification settings - Fork 1
4주차 데일리 개인 회고
- 사실
- 점심엔 짜장면 저녁엔 맘스터치를 먹었다
- 사무실용 키보드가 왔다
- API(같은 class)를 연결했다
- 생각 & 감정
- 축구 마지막에 콘헤드를 닮은 주심이 코너킥인데 그냥 끝내버려서 너무 화가났다.
- API랑 연결하면서 문제가 여럿 있었다. 나중에 DB를 연결했을 때를 가정하여 비동기처리를 해줬는데 만약 todoList가 1억개라면..? Crud할 때마다 DB를 수정한다면 엄청난 비용이 들 것 같아서 일단 메모리에 올려놓고 주기적으로 보내자는 의견이 나왔는데 db와 싱크가 맞지 않으면 이라는 생각도 나왔다. 이부분은 잘 찾아봐야 될 것 같다.
- husky를 적용해보려고 휘뚜루 마뚜루 해봤지만.. 내가 만든 script가 작동하지 않았다. 난 window도 아닌데(husky 공식문서에서 window는 다른 추가 설정을 해줘야한댔음. Window 혐오 아님.)… 다음에 다시 도전 ㅠ
- 피드백
- 수빈 : 헉 husky도 하고 있었구나 ..!! 오늘 너무 컨디션 + 멘탈(?)이 탈탈 털려서 페어프로그래밍을 제대로 못한 것 같아 미안해,,ㅜㅜ 반성합니다,, 내일부터 다시 으쌰으쌰 해보자!!! (어차피 리스트바께 안남음 ㅎㅁㅎ)
- 능 : Win혐을 멈춰주세요... Husky도 몰래 하고 있었다니 대단하다! 빨리 성공해서 모두에게 적용시켜 주세요! 그리고 API는 일단 대충 프로그램이 가져다 쓰는 인터페이스를 통칭하니까 TodoList도 대충 API라고 해도 되는게 아닐까요? (잘 모름)
- 대성 : 잊고 있던 맘스터치 치즈 감튀를 다시 꺼내주셔서 감사합니다.. 그리고 허스키 강도입니다. Resolve되면 then으로 알려주세요.. 힘내봅시당~~
- 사실
- todo class와 연동 작업을 했다.
- 메인 페이지 레이아웃, 미루기, 완료 기능을 모두 마무리했다.
- release가 하루밖에 남지 않았다..!!! 리스트 다 뿌셔~~
- 생각 & 감정
- API에 async await으로 연결하면서 Promise를 체이닝해야 하는 상황이 많이 나왔다. 순차적으로 할 필요가 없는 작업이었다면
Promise.all
을 썼을텐데, 순차적으로 작업들이 이어져야 한다고 판단해서 줄줄이 체이닝해버렸다. 하하 - Timer를 여러 컴포넌트에서 다루면서 예상치 못한 상황에서 timer가 다시 실행되고 다시 꺼지는 ?? 이상한 문제가 발생했다.. (부들부들)
- custom hook으로 코드를 분리했는데, 결국 형제 컴포넌트끼리 동일한 값을 렌더링하려면 props로 내려야 했다. 전역 상태로 관리하는 것, Props로 내리는 것에 정답이 있을까.. 고민이 되었다.
- 빨리 리스트도 구현해야 하는데,, 팀원들한테 큰 소리 쳐놓고 제대로 못해서 너무 슬펐다... 이것도 구현 못하는 나 자신 반성해,,
- 오늘 뭔가 전체적으로 컨디션 + 페이스에 난조가 있는 것 같다. 괜히 더 힘든 것 같고 중간중간 현타가 몇 번 와서 (기획+코딩+js지식 모두..) 팀원들한테 힘든 티를 많이 낸 것 같다.. 미안하고 고마워요 블링커스..!
- API에 async await으로 연결하면서 Promise를 체이닝해야 하는 상황이 많이 나왔다. 순차적으로 할 필요가 없는 작업이었다면
- 피드백
- 능 : 착착 컴포넌트 설계가 이루어져 가는 모습 멋집니다잉... 뭔가 디자인으로 대충 뿌려놓은거 이삭줍기 시키는 것 같아서 미안하기도 하고... 이제 얼마 안남았다! 릴리즈까지 좀만 더 힘을 내자!!!!!
- 대성 : 마크업에 비동기에 상태 관리에 나경이랑 둘이서 고생이 정말 많습니다,, 힘들 때 힘든 것 더 표현해주면 더더 좋습니다..! 부담이랑 책임감은 다른 것이니까 우리 서로서로 부담감을 덜자~~~ 화이팅!
- 나경 : 미래에서 온 나경이 말합니다. 리스트를 부시다가 박나경이 부셔졌습니다. 정말 고생 많았어😢..!!!
- 사실
- 오늘은 TodoList API의 CRUD를 마무리했다.
- 드디어 작성해 두었던 테스트 코드를 모두 패스했다!
- 점심에는 짜장면, 저녁에는 햄버거를 먹었다.
- 생각 & 감정
- 프로젝트의 미래와 방향성에 대해서 고민이 들었다. 하지만 여태까지 해온대로 이리저리 유연한 칼피하기 댄스를 추다보면 어찌 대충 해결될 것 같다.
- 전반적으로 TodoList API 구현을 마치고 테스트 코드를 작성하면서 사용하던 타입들을 정리했는데, 여러 Typescript의 타입 연산들을 사용하다보니 이제야 어떻게 타입을 사용하는 것이 현명한지 알 것 같다는 생각이 아주 조오오오오오오금 들었다.
- 위기 = 기회! 뭔가 궁지에 몰리니 이것저것 이를 회피/해결하기 위한 좋은 생각들이 많이 생각나서 즐거웠다.
- 하지만 전반적으로 텐션이 떨어지는 날이라 뭔가 늘어지고 하기 귀찮아 했던 부분이 있는 것 같다... 대성아.. 팀원들아 미안해... 하지만 또 기합넣고 하니까 한두시간 안에 잘 생각한대로 마무리하기도 하고... 텐션이 문제야 텐션이...
- 피드백
- 대성: 형의 텐션 주기를 파악해버렸다.. 능 포트폴리오 작성 완료! ㅋㅋㅋㅋ 형 등에 업혀서 정글을 헤쳐나가는 기분 ㅎㅎ,, 그리고 가끔 폭포타고 쭈욱 나아가는 느낌.. 다음에는 제가 업고 한 번 가보겠슴다!
- 나경 : 나경 : 오빠를 보면 재밌는 선생님 같달까.. 같이 재밌게 왼쪽으로 가다보면 다시 앞으로 갈 수 있게 바로잡아주는…? 역할 ..? 이해가..? 위기가 올 수록 즐기는 스타일이시군요😎
- 수빈 : 텐션이 떨어진건 나도 마찬가지였는걸,, 서로서로 텐션 끌어가면서 가자구!! ㅎㅁㅎ 프로젝트 방향성은 계속 같이 고민해보자구!
- 사실
- Todo의 CRUD를 완성하고 테스트 케이스를 모두 통과했다~ 근데 중간에 validator가 무조건 true만 나온다는 것도 알게 되었따...
- 축구를 제쳐두고 다들 버닝했다~
- 생각 & 감정
- Todolist API를 작성하는데 입출력, 형변환, 타입이 엉켜 어떻게 해결할 지 어려웠는데 눈 앞의 문제를 해결해나가니 자연스럽게 실타래 풀리듯이 풀렸다!! 게다가, 일종의 DB의 역할을 하는 API에서 착안을 해 다른 DB들로 어떻게 확장해 나갈지가 보이기 시작했다. 생각 외로 재밌게 작업할 수 있는 일이 생겨서 좋다!
- 프로젝트를 객관적으로 바라보고 현재 무슨 문제가 있는지, 앞으로 어떤 방향으로 나아갈 수 있을지를 이야기했다. 문제가 있다는 것이 마음은 좀 아팠지만 문제를 명확히 하고 앞으로 해야할 것들을 생각하니 오히려 설레었다!!
- 항상 막연한 느낌이 들 때 쉽게 해소할 수 없었는데 그래도 계속 이야기해보고 부딪혀보니 어느 정도 해소할 수 있었다.
- 피드백
- 능 : ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ validator
return true
는.... 마치... 흑마법같은... DB 다원화도 열심히 해봅시다! - 나경 : 문제가 있어도 해낼 것이다. 그게바로 OaO이니깐. 타입이랑 친해져서 부럽군요🥹 나도 더욱 친해져볼게..!
- 수빈 : DB 확장하는 건 천재같은 발상인 것 같아.!! CRUD 100% 통과 축하드립니다 짝짝짝!
- 능 : ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ validator
- 사실
- DB interface를 정의하고 MemoryDB, IndexedDB를 구체화했다.
- TodoList를 일종의 cache로 사용하고 CUD 작업에 대해서는 DB와 동기화하는 로직을 추가했다.
- 팩토리 패턴, 의존성 주입을 사용했다.
- 라이어게임 숙련도를 높였다..
- 오리 고기를 먹었다.
- 택시를 타고 퇴근했다~
- 생각 & 감정
- 아키텍쳐, 인터페이스, 어떤 DB를 사용할지에 대한 의사결정을 하는데 또 선택지는 제시했지만 상대방이 의사결정을 하기 위한 내용이나 내 의견을 잘 전달하지 못했다. 모르는 것은 당연하지만 모르는 것도 어떻게 얼마나 모르는 지를 알고 공유하는 것도 중요하다는 것을 알게되었다..
- 비동기 함수를 개념적으로 이해한 것에 비해 사용하는 것에 익숙하지 않았고 둘을 별개로 인식하고 있었는데 능 형이 왜 사용해야하는지를 듣고 오늘까지 직접 구현해보니 완전히 잘못 생각하고 있었음을 깨달았다. 비동기는 동기에 비해 사용하기 어렵다는 점을 제외하면 동시성을 달성할 수 있고 동기에서 비동기로 변경하는 비용이 가면 갈수록 커진다는 점을 고려했을 때 미리 작성하는 것이 이득이다. 미리 비동기로 구현했던 것 덕분에 DB 로직을 추가하는 것이 훨씬 수월했다. 그 밖에도 정렬이라든지 복잡도가 있는 작업도 비동기로 돌려놓으면 마치 병렬 프로그래밍을 하듯이 처리할 수 있다는 점도 몸소 깨달았다.
- DB interface를 정의하고 이를 이용하여 의존성 주입을 했다. 결합도를 최대한 낮추고 같은 시그니쳐로 다른 구체화 클래스를 사용할 수 있어 간편했다.
- 팩토리 패턴을 이용해 DB 클래스 인스턴스에 초기화가 완료된 DB pool을 주입해준 뒤 반환했다. 이를 통해 DB 클래스 내부에서는 하나의 상태만 가진 DB pool을 다룰 수 있어 매우 편했다!
- 프론트엔드에서 일종의 백엔드 역할을 수행 하게 되었는데 확장성에 대한 고민을 더 할 수 있었다.
- 확실히 인터페이스를 잘 정의하고 문서화하면 속력도 빨라지고 방향도 잘 잡을 수 있다. 구현은 어떻게든, 할 수 있는 만큼 하는 것이고 결국 중요한 것은 의사결정과 중간 중간 문제점을 파악하고 또 의사결정을 하는 것이 아닐까 생각한다. 디시젼-메이”킹” 능 형 옆에서 많이 배우고 있지만 결정을 내리는 것은 쉽지 않다~ 확실히 나는 외부에서 긁어 긁어 정보를 나열하는 느낌이 있는데 내 안의 생각을 꿰어 의견을 내는 연습이 필요한 것 같다.
- 매번 느끼지만 정말 잘 맞고 좋은 팀원들과 함께해 다행이라고 생각한다.. 사람들한테 에너지를 얻는 편이 아닌데 항상 힘과 희망을 얻어가는 것 같다!
- 계속 나는 나 자신을 객관적으로 바라본다고 생각하고 살아왔는데 부족한 부분을 다른 부분으로 가리기 위해 자신을 분석해왔던 것 같다. 극적으로 바뀐 것은 아니지만 요새는 그냥 나라는 인간이 어떤 인간인지 인정하는 과정을 거치고 있는 중이다.
- 피드백
- 능 : 오늘 정말 뿌듯했다!!!!!! 진짜 고생많았어!!!!! 나도 사실 매번 이런게 더 견고하지 않을까? 그래도 이건 이렇게 해야하지 않을까? 하면서도 약간씩 불안하고, 너무 편의성을 포기하는게 아닌가 하는 생각이 많이 들었었는데, 오늘 의존성 주입도 잘 되고, 추상화도 잘 되어서 동작방식이 깔끔해진 걸 보면서 너무 뿌듯했어 ㅋㅋㅋㅋ 불안하면서도 길을 강요했던게 뭔가 머쓱하게 미안하면서도 잘 같이 해줘서 고맙습니다 ㅋㅋㅋㅋㅋ
- 수빈 : 확장성에 대한 고민 너무 멋집니다 짝짝 DB 주입 덕분에 어떤 DB에도 잘 붙을 것 같아! 좋은 고민 좋은 결과 감사합니다!! 팩토리 패턴 강의 존버합니다!
- 나경 : 모르는 것은 당연하지만 모르는 것도 어떻게 얼마나 모르는 지를 알고 공유하는 것도 중요하지맞지... 나는 남들한테 내가 어떻게 모르는지 설명하는 부분이 부족한 것 같은데 이 부분이 잘 안길러지는구만..ㅠㅠ 결합도를 낮추는게 말처럼 쉽지 않았을 텐데 능오빠 대성오빠 둘다 수고했써!!!!!!!
- 사실
- 아침을 카야버터토스트와 콜드브루로 시작했다
- 테이블을 만드는데 grid를 이용했다
- Todos페이지의 Table을 만들었다
- 저녁으로 오리불고기와 오감탕을 먹었다
- 생각 & 감정
- 나는 벼락치기 스타일이라고 생각했는데 … 코드를 짤 때는 그렇게 짜면 안되겠다고 생각했다 ㅎㅎ… 내가 코드를 쓰는건지 코드가 나를 쓰는건지 모르는 상태로 일했다.
- Grid를 지키기 위해서 포기한게 너무 많다. 다음 release때는 flex를 써야겠다. Flex야 누나가 미안해..
- React를 잘 쓸 수 있을 것 같은데… 지금은 6개월 전 Vue를 쓸 때 처럼 React를 다루고 있는 것 같다. 리팩토링 마구마구 해보자..!
- 에디터는 신이다. 에디터가 없을 때 개발자들은 어떻게 살았을까라는 생각을 해봤다. 지금보다 개발시간이 훠~~~~얼씬 늘었겠지?
- Lint가 자꾸 깨진다😡
- 피드백
- 능 : 플렉스는 신이야...! 자기전에 Kevin Powell 아저씨 영상 1분씩 꼭 보라구~~~ 뭔가 내가 디자인을 한건데, 너무 잘 지켜주려고 해서 고맙고도 미안했다... 그정도로 잘 지킬필요 없었는데... 이게 더 효율적이다, 스스로 생각하기에 중요도가 낮다, 하면 얼마든지 제껴주세요~~~~ 컴포넌트 팀 화이팅!
- 대성 : 코드에 잠수해버리는 기분.. 나도 많이 느꼈습니다...ㅠㅠ 그래도 오늘 리액트 코드 보면서 많은 고민을 한 흔적들이 보였어!!! 언젠가 서로 코드만 봐도 씨익 웃을 수 있도록 잘 해보자~~
- 수빈 : grid,, 절교를 선언합니다,, 코드가 나를 쓰는건지 모르는 상태 인정,, 피곤할수록 돌아가자구! 오늘 늦은 시간까지 너무너무 고생 많았따ㅜㅜ!! 이제 MVP는 진짜 얼마 안남았으니까 힘내봅시다!!!
- 사실
- TodoList API를 완성했다. (아님)
- 의존성 주입을 처음으로 직접 구현하고 활용해봤다.
- 타입스크립트의 인터페이스와 다형성의 동작방식에 대해 공부했다.
- IndexedDB를 처음으로 사용해봤다.
- 생각 & 감정
- TodoList API를 구현하면서 부캠에 들어와서 거의 처음으로 제대로 추상화, 인터페이스, 다형성 개념을 제대로 활용한 것 같아 뿌듯하다. 덤으로 제법 그럴듯한 TodoList API 문서를 만들었기에 두배로 뿌듯하다.
- 아무래도 완전히 페이지를 만드는 컴포넌트 팀보다 더 구조적인 고민을 많이하고 상대적으로 백엔드스러운(?) 일을 하다보니, 구조의 견고함과 안정성을 위해서 약간의 사용성을 포기해버린듯한 느낌이 있어서 컴포넌트 팀원들에게 미안한 감정이 들었다.... 하지만 동시에 그렇게 해 놓고 여러가지 수정, 구상화를 해보니 명확하게 편해서 뿌듯한 마음도 있다 ㅎ... 미안해 수빈 나경...
- Indexed DB를 사용하면서 원본 API와 사용성을 높인 라이브러리 두가지 문서를 번갈아서 봐서 오류를 많이 범했다. 한번에 하나씩, 가급적이면 공식문서에 집중해서 참조하자라는 생각을 다시한번 했다.
- 인터페이스 열심히 짜고 한 것에 비해서, 기획이나 실제 구현에서의 구멍, 나중에 하자! 하고 미룬 것들, 혹은 이야기하다가 딴 길로 새서 잊어먹은 것들이 많다... 오늘도 많은 버그수정을 했는데, 컴포넌트 팀에서 API를 활용하면서 얼마나 많은 버그가 나올지 두렵다. 동시에 이런 이슈들을 동시다발적으로 기록할 수 있는 방법이 없을까 하는 생각이 들었다...
- 피드백
- 대성 : 에러, 예외 처리를 하는 것이 오히려 책임을 넘기는 것이 아닐까 생각했는데 안 하고 괜찮겠지 하는 게 오히려 무책임하다는 것을 알게 되었습니다! 형이랑 이것 저것 고치고 테스트 통과할 때마다 느끼는 짜릿한 기분…ㅋㅋㅋ 고생하셨슴다!
- 수빈 : class 구현해놓은 거 보니까 구조적인 고민을 많이 한 게 느껴졌어! API문서도 너무 잘 활용하는중이야 희희 거기에 이슈들을 동시다발적으로 기록하는 방법을 생각하다니,, 역시 클래식주의자같군,, 같이 고민해봅시다!! 고생 많았어!
- 나경 : 추상화, 인터페이스, 다형성을 고민하고 활용해서 멋진 API를 만들어주셔서 정말 감사합니다🥹. OOP의 찐이 이런 것일까...? 실제로 API를 쓰면서 버그가 나오긴 했지만 버그 슬레이브 능님이 빠르게 수정해주셔서... 걱정은 없습니다
- 사실
- 점심으로 샌드위치도 먹고 디저트도 야무지게 챙겨먹었다.
- 신규 todo 추가하고 기존 내용을 update하는 Modal을 만들었다.
- 생각 & 감정
- Release를 앞두고 일단 개발할 수 있는 부분들은 다 개발해서 뿌듯했다.
- 코어 타임에는 움직이지도 않고 계속 개발만 했던 것 같다..
- 막차 끊길 때까지 팀원들 모두 늦게까지 열심히 했다.!
- 불필요한 추상화를 한 건 아닌지 고민이 되었다. 모달에서 수정, 삽입 하는 경우에 코드가 거의 비슷해서 하나로 처리하고 싶었는데, 개발하고 나니 이게 맞나.. 고민이 되었다.
- 피드백
- 능 : 컴포넌트 팀 정말 고생 많았습니다!!!!! 디자인대로 너무 구현 잘해줘서 고마웠어... 더 대충해도 괜찮은데... 그냥 대충 이렇게 내맘대로 할게요도 가끔 해주세요... 무서워요.....
- 대성 : 컴포넌트를 뚝딱뚝딱 만들어내는 능력.. 비동기까지 껴서 이걸 어떻게 하지 감도 안 잡혔지만 해내는 것을 보고 감동 받았습니다. 나빈 듀오 고생 많았으요!!
- 나경 : 우리 정말 막판에 빡! 집중해서 해낸 것 같다!! 3일치 하루에 몰아서 한 기분 ㅎㅎ... 모달 부분 코드를 보고 이렇게 빼도 괜찮다고 느낀것들이 많아서 좋았어 고마워용
- 사실
- 12시 출근을 했다
- 요창님과 저녁식사에 당첨되었다
- 벨로그 글 상위에 올라왔다
- 마스터 클래스에서 내 글이 소개되었다
- 첫 release를 했다
- 양키통닭 식사에 성공했다
- 생각 & 감정
- vite build를 esNext로 설정해주었다.. top level await은 es2022부터 지원이 된다고 한다. 최신 브라우저 버전에선 다 지원이 되긴 하던데… 나처럼 크롬을 단 한번도 끄지않는 사람이 세상에 더 있지 않을까 라는 생각이 있다.
- todoListAtom과 todos가 헷갈렸었다. 내가 이름을 잘못지었는지 ㅠㅜ.. 일단 현재 todos는 RTL만 받고있다! Table에선 todos만 바라보고 todoListAtom을 볼 일이 없다는 것을 항상 명심하자..
- 내가 앞으로의 팀플에서 어떤 것을 가져가고 어떤 것에 대한 욕심을 버려야할까? FE개발지망생으로서 내가 내세울 수 있는 강점이 무엇일까? 주말까지 생각해봐야겠다
- 피드백
- 능 : 고생 정말 많았습니다 컴포넌트팀... API 대충 일반화해서 만들고 알아서 변경해 쓰게해서 미안...ㅎ.... 사용하는 베스트프렉티스도 같이 고민해줬어야 했는데 뭔가 대충 문서째로 던져버렸어서 죄송합니다... 확실히 무엇을 얻어갈지를 최대한 많이 고민해야할 것 같아! 지금까지 한것도 한번씩 되돌아보면서 여기서는 뭘 얻었고, 얻은게 부족하다면 어떻게하면 더 잘 내것으로 만들거나 자랑할만큼 끌어올릴 수 있는지 고민도 해보면 좋지 않을까? 이런 거 하면서 새로운 생각이나 고민이 생기면 언제든지 공유합시다!
- 대성 : 나도 명확한 상태 관리 방법이 떠오르지 않았는데 그래도 같이 고민하고 답이 나오는 과정이 재밌었습니다! 그리고 진심으로 벨로그 글 너무 와닿고 생각을 한 번 깨준 것 같아!! 부캠 1등 네임드를 목표로 달려보자~~~
- 수빈 : top level await은 생각도 못해봤다,, 철학을 좀 더 제대로 알고 써야할 것 같은데, 이 부분은 같이 고민해보자!! (크롬을 한 번도 끄지 않는 사람 나야 나~~) table view 구현하기 까다로웠을텐데 고생 많았어!
- 사실
- 첫 릴리즈!!!! 🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳🥳
- 양키통닭도 먹었다!!!!
- 폰트에서 커피도 먹었다!!!!
- 라이어게임도 했다!!!!
- 진짜진짜 오랜만에 리액트 코드를 읽었다!!!!
- 오전에 한시간 늦게 출근했다!!!!
- 생각 & 감정
-
첫 릴리즈에 성공해서 너무 기쁘다.
-
TodoList API에 버그가 많아서 동시에 또 슬프기도 했다. 뭔가 API 구현하면서 이렇게 추상화도 잘하고 인터페이스도 잘 정의하고 타입도 잘 설정해놨으니까 에러가 없겠지?! 했는데 수많은 에러의 요청이.... API 수정하면서 대부분의 에러들이 기존에 알았던 에러거나, 수정하다가 까먹었거나, 급하게 다른 에러를 수정해서 생긴 새로운 에러라서 어떻게 하면 이런 에러들을 미연에 방지할 수 있었을까... 하는 생각이 들었다.
-
컴포넌트 팀이 우리가 만들어놓은 API를 어떻게 잘 쓰고 있나~ 했는데, 무지성 확장성과 호환성, 추상화를 위해서 정했던 구조들이 사용성이 좋지 않아 수빈이와 나경이에게 너무 미안했다. 구조는 그대로 가져가더라도, 어떻게 사용할지에 대한 베스트 프렉티스는 같이 고민해주었어야 했는데... 너무 급한 일정이라 이런 시간을 진작 가지지 못하고 함께 상황을 공유하지 못했던 것이 너무너무 아쉬웠다.
-
남은 일정에 어떻게 팀원들 모두에게 최대한의 리턴을 돌려줄 수 있을지 고민이 된다. 크게 구분해 보자면,
- 우리의 기존 고민이 더 잘 드러나는 피처와 디테일들 (이전에 했던 고민들과, 고민의 결과이나 드러나지 않은 내부 로직을 외부로 꺼내서 디스플레이 하는 피처들)
- 조금 더 도전적인 피처들 (새로운 기능, 새로운 라이브러리, 새로운 프레임워크, 새로운 툴의 사용)
- 미친듯한 디테일 살리기 (UX의 종합적인 개선, 자연스러운 애니메이션 및 인터렉션 추가 등)
이렇게 3종류 정도가 있을 것 같은데.... 고민이 많이 되는 시점이다. 무엇보다 피처의 추가를 통해 개인 뿐 아니라 팀원 전체가 대략적인 지식으로라도 얻어가는 것들이 있는 피처를 기획해서 시행하고 싶은데, 시간이 부족하다보니 얼마나 고민을하고 얼마나 잘 계획할 수 있을지 걱정이 된다. 내가 혼자 무언가를 공유하더라도, 거기서 얻은 지식을 잘 다른 팀원들과 공유하거나, 2개의 피처지만 기반 지식은 공유해서 작업효율을 올린다던가 하는 식으로 효율성을 올릴 수 있을 것 같은데... 어렵다 어려워 ㅠㅠㅠㅠㅠ 다들 좋은 생각이 있다면 바로바로 공유해주세요~~~
-
- 피드백
- 대성 : 형의 진심어린 걱정.. 우리 팀의 북극성으로 임명하겠습니다. 나도 그룹 프로젝트 전에 이야기 했던 것들중에 공유에 관한 고민이 있었는데 잘 수행하고 있지 못한 것 같아 아쉽네.. 남은 기간에 더욱 노력해보겠습니다!! 릴리즈 고생 많았어 형~~
- 수빈 : 우리 팀의 등대,, 항상 감사합니다⭐️ 거기에 탁월한 버그 캐칭 능력까지,,(?) 오늘 나눴던 얘기 중에 피처 추가에 대한 의견 감명깊게 들었어! 무지성으로 생각했던 나 자신 반성하고 갑니다.. 더 고민을 해봐야겠다 고생 많았어!!!
- 나경 : 3번을 많이 밀엇던 것 같은데...(아니면 어쩔수 없지) 진짜 3가지 모두 해보면 좋을 것 들이라서... 항상 구불구불한 길을 바로 잡아주는 느낌의 오빠가 너무 대단해... 뭔가 오빠는 나무같다. 항상 고마워!!
- 사실
- 릴리즈를 했다.👏🏻👏🏻
- 나경이 글이 마스터클래스 시간에 소개되었다. 너무 멋져👍🏻
- 서울에서 주차대란을 겪었다..!
- 생각 & 감정
- Merge하는 과정이 다사다난했다. 컴포넌트에 클래스 인터페이스 변경사항을 반영하는 과정에서 예상치 못한 오류들이 마구 쏟아져나왔다. 다음 릴리즈 때에는 통합테스트를 더 미리 해야할 것 같다.
- 블로그를 열심히 해야할 것 같다..!
- 코어 알고리즘 파트에 내가 짠 컴포넌트 코드를 소개하는데, 소개하면서 하나의 컴포넌트가 너무 많은 기능을 하고 있다고 생각했다. 특히 모달 컴포넌트가 그랬는데, validation 체크나 error handling 등을 공통함수나 custom hook으로 빼면 좋을 것 같다.
- CI&CD에서 예상치 못한 이슈들이 생겼는데, 평소에 배포 주기를 더 짧게 가져야겠다고 생각했다. 합치는 건 빠르게! 더 자주 하는 게 좋을 것 같다.
- 쉬울 것 같은 일은 오래 걸리고, 어려울 것 같은 일은 얼마 안 걸리는 신기한 하루였다.
- 다음 구현을 위한 MVP를 잘 구상하고, 디자인적인 부분은 좋은 레퍼런스를 찾아야겠다고 생각했다.
- 너무 보여지는 것(라이브러리로 매우 쉽게 구현할 수 있는 기능들을 여러개 만들기)에 집중해서 다음 구현을 생각한 것 같아서 아차 싶었다. 중요한 건 내가 얼마나 배우는지인데, 난이도를 계속 낮추면서 더 다양한 뷰를 만들어보려고 무의식적으로 생각이 치우쳤던 것 같다.. 다음 구현을 위한 새로운 피처는 디자인은 최대한 클론을 하더라도, 사용자 interaction과 애니메이션 완성도를 집중할 수 있는 좋은 레퍼런스를 찾아서 작업하고 싶다..! 그리고 내가 너무 욕심을 부리는 것 같아서 능오빠의 조언대로 이번에는 MVP를 축소하고, 부가적으로 더 완성도 있는 기능에 집중해보고 싶다..!
- 피드백
- 대성 : 가끔씩 당신의 광기가 고개를 내미는데 이거 심상치 않은 것 같습니다.. ㅋㅋㅋㅋ 뭐든 진심인게 느껴져서 재밌고 좋아~~ 릴리즈 고생 많았고 조바심 내지 않으면서 신나게 가봅시다!
- 능 : 배포를 더 빠르게 해야겠다는 생각에 공감합니다 ㅠㅠ 1.0.999 까지 가보자구!!!!!
- 나경 : 블로그는... 열심히 할거야...?! 근데 언니 글쓰는거 보면 블로그가 잘 어울리는 것 같다. 맨 마지막 부분에서 공감되네. 나도 무의식적으로 보여지는 것에 대한 집중을 했던 것 같아..! 역시 우리는 소울메이트인걸까...😚
- 사실
- 여유롭게 출근해 밥을 먹고 맛있는 폰트 커피를 마시고 버그를 고치고 첫 배포 후 자축의 양키 통닭..~~ 이게 판교 라이프일까?
- 12월이다.
- 앞으로 어떤 방향으로 나아갈지 팀원들과 이야기했다!
- 팀원들과 함께 짧은 나이트 드라이브를 했다~
- 생각 & 감정
- 배포 과정이 역시 순탄치 않았다. 내가 API를 사용한다 했을때 잘 사용할 수 있을까에 대한 확신과 가이드라인도 부족했었고 API를 사용하는 시나리오에 대한 테스트와 여러 예외 처리들도 없었다. 여러 문제들 중 아주 일부가 약간의 휴먼 테스트 중에 수면 위로 떠올랐고 거슬리지만 그냥 넘어갔던 것들이 사용하는 사람들과 개발자들에게 치명적으로 다가온다는 것을 알게 되었다.
- 생각보다 IndexedDB 로직 수정이 수월했고 잘 동작해서 좋았다.
- 그래도 서로 작업했던 것들을 합치고 배포 서버에서 작동되는 것을 보니 마냥 이뻐보였다.. 위태위태해 보이는 아이 같아 좀 더 잘해주고 싶지만 현실과 내 능력이 녹록지 않아 어쩔 수 없이 마음이 조금 아픈 그런 느낌..
- 사람 마음을 동하게 하는 것은 여러가지가 있겠지만 진심과 디테일이 가장 강력한 무기가 아닐까 생각한다. 사실 나는 인생이 디테일과는 좀 멀었던 사람이지만 그 강력함은 인지하고 있었다.. 앞으로 남은 시간 어떻게 효율적으로 디테일을 보여줄 것인가에 대한 생각을 하는데 맨날 같은 말이지만 어렵다 ㅠㅠ 효율과 디테일은 얼핏 보았을 때 반대되는 말처럼 느껴지지만 디테일의 “디”만 잘 보여줄 수 있다면 나머지는 보는 사람의 상상력으로 채울 수 있을 것이다! 하지만 역시 일단 이것 저것 만져봐야 어떤 디테일이 있을지 알 수 있을 것 같다..
- 옛날에 적었던 말이지만 줄 수 있는 사람이 매력과 상상력을 가질 수 있다고 생각한다. 여전히 이런 저런 동경을 가지고 있는데 이것을 덜어내는 것도 쉽지 않다~ 일단 눈 앞에 있는 것, 그 중에서도 정말 할 수 있는 것을 잘 추려서 해내보자!
- 피드백
- 수빈 : 폰트 커피에 양키 통닭까지 나름 행복한 하루였다~~~ 진심과 디테일에 대한 고민에도 감명받고 갑니다..!! 사실 우리 팀이 이렇게 모이게 된 것도 진심어린 감동적인 기획서 덕분이었으니까..! 소프트웨어도 결국 사람이 사용하는 거니까 이런 진지한 고민이 사람들을 감동시킬 거라고 확신해!! 릴리즈 때 너무 잘해줘서 감사합니다~~
- 능 : 하면서 하나씩 욕심생기는 것들을 잊지말고 잘 기억해뒀다가 나중에 풀어가며 디테일로 만들어봅시다!
- 나경 : 나이트 드라이브 좋았지 >< 거슬리지만 넘어갔던 것들이 나도 컴포넌트 만들면서 종종 있었는데 그 부분들이 사이드 이펙트를 내지 않기를 기도하는 중... 나도 정말 하고싶은 건 많은데 이번 프로젝트에선 하고싶었던거 + 내가 잘 하는 거를 보여줄 수 있는 부분을 생각해보면서 앞으로의 방향성을 생각해보려구. 오늘도 수고많았어!!
- 사실
- 첫 release에서 발생한 bug들과 추가 구현사항을 개발하고 main으로 merge했다
- 이력서 특강을 들었다
- 멘토링을 받았다
- 생각 & 감정
- merge하는 과정에 conflict가 났는데 모두 내가 쓴 코드임에도 불구하고 제대로 체크하지않아 변경사항이 제대로 반영되지 않았다… 이럴 때마다 꼼꼼함이 부족하다고 느껴진다. 꼼꼼해지자!
- date 때문에 에러가 좀 많이 났다.. input datetime-local을 쓸 때 무조건 포멧이 YYYY-MM-DDThh:mm여야한다.. 포멧때문에 고민하고 있었는데 mdn에서도 친절하게 toISOString에서 Z 뒤부터 떼고 쓰라고 알려줘서 slice했다… 근데 그랬더니 TimeZone이 utc라서 하루 빨라져서 offset을 계산해 빼줘야한다.. 극혐이야
- 상태관리란 뭘까…? 사실 상태도 허상이 아닐까?(제정신 아님) 상태를 어떻게 관리해줘야 어디서 어디 상태를 쓰는지, 어디선 쓸 필요가 없으니 scope를 줄여야할지 알 수 있을까..?
- 멘토링을 받으면서 suspense가 궁금해졌다..
- 피드백
- 수빈 : merge할 때 코드 날아가는 건 왜일까,, 나도 종종 겪는데 어떻게 하면 방지할 수 있을지 고민이네 좀 더 꼼꼼하게 확인하는 방법밖에는 없는걸까.!! 코드 리뷰도 좀 더 꼼꼼히 해봅시다.!! 오늘 빨리 하고 다른 작업으로 넘어갔어야 했는데 소요시간 수정하는게 너무 오래걸려서 미안해,,ㅠㅠ 이것저것 많이 하느라 고생했오!!!
- 능 : 머지 에러는 진짜 뭐지... 같은 부분 아니라도 같은 파일에서 수정사항 있으면 일어나는건가....? 나랑 대성이도 겪었고, 저번에 릴리즈 버그 잡을때도 몇몇거가 그거 때문인거 같았는데 ㅠㅠㅠㅠ 오늘 뭔가 가장 많은 버그와 아이템을 잡아서 해주셔서 감사합니다... 최고입니다... 고생 정말 많았어!
- 대성 : 아주 잠깐의 페어 프로그래밍이었지만 재밌었습니다~ 개발자 도구도 잘 쓰고 코드도 거침없이 작성하는 것을 보니 자극도 되고 좋았어! 머지 여전히 모르는 부분이 있는 것 같다는 생각.. 버그 재현이 어렵습니다.. ㅠㅠ 고생 많았어!!!
- 사실
- 점심에는 파스타, 저녁에는 햄버거를 먹었다.
- 다같이 사무실에서 멘토링을 했다!
- 하루종일 소요시간 컴포넌트만 수정했다 ^^
- 아침에는 델리만쥬를 먹었다.
- 날씨가 너무 추웠다..
- 생각 & 감정
- 소요시간을 측정하는 custom hook이 너무 큰 역할을 맡고 있는 것 같다는 피드백을 들었다. 현재는 컴포넌트가 그리 복잡하지 않지만, 더 복잡해질 경우 context, store를 사용하는 게 좋을 것 같다는 멘토님의 피드백을 들었다. 사실 할 게 너무너무 많아서 조심스럽지만, 내가 만들어낸 소요시간 컴포넌트를 새로 구성하고 싶었다..!! 할 수 있을까 라는 고민보다는 여기에 힘을 쓰는게 맞을까,,라는 근본적인 의문이 들었다. (우리에게 주어진 시간이 너무 짧기 때문에) 리렌더 범위 축소도 해야 하는 과제인데 주어진 시간을 어떻게 활용할 수 있을까 고민이 된다. 오늘 능 오빠가 소요시간을 개선하는 디자인적인 아이디어(?)를 냈는데, 구현 자체의 난이도 뿐만 아니라 소요시간 컴포넌트까지 재정비할 수 있는 기회가 되지 않을까 해서 흥미로워졌다. 좋은 의견 너무 고맙고 청개구리같은 팀원이라 미안합니다...
- 소요시간 컴포넌트에 대한 문제(?)를 모든 팀원들이 같이 고민해줘서 고마웠다.!! 든든한 동료들 고마워요
- 이력서 특강을 들으면서 내가 너무 이력서를 간단하게 쓴 것 같아서 고민의 흔적들을 좀 더 넣어보려고 한다.
- 클립보드 복사는 https가 아니면 안 된다고 한다.. 주말에 할 일이 하나 늘었군 후후
- 피드백
- 나경 : 오늘 정말 수고많았어ㅠㅠ... 타이머 상태관리 정말 어려울 것 같았는데.. 내가 구현 했다면 아마 설계 단계에서 부터 머리가 터졌을 것 같애... 그래도 여러 hook들을 재정비하고 노력하는 언니의 모습 너무너무 멋져!!
- 능 : 타이머와 씨름하느라 너무 고생 많으셨습니다.... 나였으면 헤에 나중에 해야지~ 버그리포트~~~~ 했을텐데... 책임감 있는 모습이 멋졌습니다... 너무 고민이 깊어지면 주저하지 말고 다같이 고민하고 해결해버리자고! 특히 저는 문제를 대충 해결하는 방법을 찾아내는 전문가니까 언제든 대충 불러주시면 대충 대충으로 만들어서 대충 돌아가는 길을 같이 찾아드리겟습니다... 많은 이용 부탁드림...
- 대성 : "구하러 왔구나" "아니 나도 잡혔어".. 조금 까불어봤지만 너가 고민했던 것들의 극히 일부에만 닿을 수 있었네.. 너무 자책하지말자~~ 그래도 멘토링 시간때 "원래 그런 것"이라고 확인을 받았으니 이제 리팩터링만 좀 해보면 될 듯! 또 한 주 고생 많았어!!
- 사실
- 테이블 뷰에 필터 기능과 정렬 기능을 추가했다.
- 사무실에서 수면양말을 신었다.
- 점심에는 파스타 저녁에는 햄버거를 먹었다.
- 멘토링 시간에 멘토님께 여러 꿀팁을 들었다.
- 이력서 특강을 들었다.
- 토스와 스퀘어랩 컴퍼니데이를 들었다.
- 생각 & 고민
- 필터 기능과 정렬 기능 ㅎ....... 오늘따라 대충 돌아만 가는 코드 만들자.... 상태라 정말 웃기게 짰는데 코드리뷰 하면서 다 들통나서 너무 부끄러웠다 ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ... 언젠가 몰래 리팩터링 해서 다시 머지해야지 ㅎㅎㅎㅎㅎㅎㅎㅎㅎ
- 오랜만에 리액트를 만지니까 감회가 새로웠다. 재미있기도 하고, 다시 익숙해지는게 어렵기도 하고. 상태관리에 대해서도 많은 고민이 들었다.
- 처음으로 리액트 개발자 도구를 사용했는데, 렌더링 영역을 감상하면서 대체 어떻게 최적화해야하는 건지 막막한 기분이 들었다. 뭔가 보아도 어디까지 최적화를 할 수 있는 건지, 어디까지가 어쩔 수 없는 부분인지도 감이 오지 않아서 그런듯 하다. 여전히 훅도 쓰던놈만 쓰는 중이라 뭔가 리액트 동작 방식에 대해서 전혀 모르고 사용하고 있다는 생각이 들었다.
- FE 와 UI를 구현하다보니, 어떻게 좋은 경험인지, 좋은 경험이지만 당장 내가 못하는 것은 무엇인지, 왜 못하는지 고민해볼 시간이 생겼다. 어떤 것은 귀찮은 것이기도 하고, 어떤 것은 어떻게 할지 도저히 모르겠는 것이기도 한데, 항상 이런 상향적 목표치와 내 상태에 대한 고찰, 그리고 그에 도달하기 위한 방법에 대해 생각하는 것이 소중하다는 것을 새삼스래 느꼈다.
- 피드백
- 대성 : 형의 대충은 처음 보는 유형의 대충 같아.. 알잘딱깔쎈의 뭔가 좋은 의미로 상위 호환 느낌! 최적화는 결국 상태 관리를 잘하는 것으로도 충분하지 않을까 싶긴한데 그래도 어렵네~ 그리고 멘토링 시간 때도 그렇고 내 말을 찰떡같이 알아먹어 주셔서 감사합니다!! 발표 자료도 감동이여~
- 나경 : 오빠를 보면 메타인지를 참 잘하는 듯 해. 어떤 작업을 보고 내가 어떤 것을 할 수 있고, 어떤 점을 처음 해보는지를 구분하고 얼마나 걸리는지 판단하는게 참 AI같고 멋져..(칭찬인데 왜 나빠보이지ㅋㅋㅋㅋ) 오늘 발표도 넘 멋있었습니다👏 나도 오빠처럼 말 잘하고싶다!
- 수빈 : 렌더링 최적화,, 내 관심분야(?)니까 같이 얘기해보면서 연구?해보면 재밌겠다 희희 그리고 발표도 잘하고 시간관리도 잘하고,, 옆에서 많이 배워가고 있습니다.!!! 가끔은 내가 잘 못알아듣는데 귀찮아하지 않고 잘 설명해줘서 고마워,,,
- 사실
- 컴퍼니 데이 & 이력서 특강 & 멘토링
- 첫 배포 후 잔잔바리 버그들을 고쳤다.
- 생각 & 감정
- 하루종일 갈팡질팡하다가 시간이 다 가버렸다. 별 것 아닌 기능을 구현하는데 흐름에 맞춰 내 코드를 끼워넣는 것이 쉽지 않았다. 게다가 직접 만든 API를 사용하는데 데이터를 다루는 로직까지 비동기로 요청을 해야하는 것이 프론트엔드에서 안 좋게 작용할 수 있다는 것을 알게 되었다. 오히려 좋아! 어쩔 수 없이 조금은 단절된 채 구현을 했었는데 양쪽에서 문제가 발생했고 또 그 다음 해결책을 알게 되었다.
- 이력서 특강 중 “깨닫기만 하는 사람”이라는 단어가 귀에 꽂혔다.. 난가?
- 멘토님이 배포된 것을 보고 생각보다 리액션이 크셔서 기분이 좋았다 ㅋㅋㅋ 게다가 비동기 데이터로 인한 상태 관리가 원래 복잡한 코드를 만들어 것을 확인받을 수 있었고 이 문제를 어떻게 해결하면 될지 이정표를 세울 수 있었다. 그리고 내가 만약 남의 todo를 가져온다면? 남의 todo를 처리하는 로직이 데이터와 결합되어있다면? 그 로직도 비동기라면? 이러한 예시를 들어주시면서 데이터와 로직을 분리하는 것의 필요성과 더 나아가 함수형 프로그래밍의 프론트엔드에서의 적합성까지 어느정도 알 수 있었다.
- 오늘 능 형의 명언, “한 걸음 걸으면 두 걸음 앞이 보이고, 두 걸음 걸으면 다섯 걸음 앞이 보인다. 지금 당장 눈 앞의 두 걸음만 걷고 끝낼 생각 하지말고 한 수 앞을 생각하고 시작하자”가 정말 와닿았다~ 나는 100배줌 or 광각이라 걷기가 힘들었는데 정말 실용적이면서 좋은 말이라고 생각했다.
- 피드백
- 나경 : 마자 지금까지 봤던 리액션 중 제일 크게해주셔서 기분 좋았었어 ㅋㅋㅋ ㅋㅋ ㅋ ㅋㅋㅋㅋ광각 대성... 마지막 글 공감되네. 난 항상 한 걸음 앞만 보고 걷고 또 걷고 또 걷고의 반복이였는데 반성하게됩니다 ㅠ
- 능 : 대충 살기 위해 대충 안살아야 하는데 대충 살고 싶어서 대충 안살아야 하는 인생.... 대충도 대충하게 살아봅시다.
- 수빈 : 크,, 항상 회고에서 생각이 깊다는 걸 느끼고 갑니다... 그리고 대성표 함수형 프로그래밍 세미나 존버합니다.. 컴포넌트 문제도 같이 진지하게 고민해줘서 고마워!! 든든한 팀장님!!
- OaO 환경설정 A to Z
- CRLF 너가 뭔데 날 힘들게 해?
- Github Issue 똑똑하게 사용하기
- OAO! CI CD 적용기 with release 자동화
- 매번 다른 import문
- 못생긴 상대경로에서 간zlzl존 절대경로로😎
- TodoList API 개발기
- 의존성 주입으로 DB를 바꿔보자
- 렌더링 최적화 서막: useNavigate를 추가한 순간 리렌더 범위가 확장된 건에 대하여
- 렌더링 최적화 1탄: 렌더링 범위에 대하여 (by 최적화무새)
- 렌더링 최적화 2탄: 잘못된 custom hook 사용,, 전체 리렌더링을 부르다,,
- 렌더링 최적화 3탄: Todo 상세 좀 봤다고 테이블 전체가 재렌더링 되는건을 고치기😌
- 렌더링 최적화 4탄: 다이어그램 편
- 🐁 마우스 상대위치 계산은 이상해
- React 컴포넌트에 애니메이션을 적용해보자 🏃🏻💨
- 컴포넌트 재사용성을 높여보자: Modal 분리기 🌹
- 선후관계를 자동완성으로 추가해보자 🔎