지난번 MIL은 5F로 작성해서, 이번에는 4L 방법으로 작성하려고 한다.
Liked, Learned, Lacked, Longed for
좋았던 것, 배운 것, 부족했던 것, 바라는 것
▶ 좋았던 것
과제를 하면서 vanillaJS에 대해 많이 연습했다.
★ 과제는 즐거워 ★
1. 고민을 가장 많이 했던 과제
(1) 상태 정합성 체크와 (2) 데이터의 직전 상태와 비교했을 때 변화된 부분이 있는지를 비교하는 부분이었다.
가장 빠르게 작성할 수 있는 방법은 개별 state별로 맞춤형 함수를 만드는 것이었다.
그런데,
각각 특정 컴포넌트에 맞는 함수를 따로 만든다면, 프로젝트 규모가 커졌을 때 코드도 동시에 늘어날 것이라는 생각이 들었고, 객체의 경우 key가 순서를 보장하지 않을 수도 있다는 가정을 하기도 했다.
음..
그래서, 컴포넌트를 구분하지 않는 함수를 만들어서 전부 체크해볼 수 있지 않을까? 싶었는데,
문제는 객체 안에 객체가 들어가거나 배열이 들어간 경우였고, 이 부분을 고민하는데 시간을 많이 썼다.
예전에 커피챗에서 깊은 비교에 대한 말씀을 해주셔서, 그 내용을 바탕으로 해결해나갔던 것 같다.
2. 재밌었던 과제
IntersectionObserver를 이미지 로드할 때 배웠는데,
클론코딩을 하면서
특정 요소가 화면에서 사라진 경우를 감지할 때 적용했다.
이게 되네? 재밌어! 최고야!
그리고 애니메이션을 살짝 적용해봤다.
▶ 배운 것
1. CSS는 아직도 해보지 않은 속성들이 많다. 그래서 차근차근 연습하는 중
과제를 하면서 항상 부족함을 느꼈고, 자바스크립트와 다르게 딱 봤을때 어떻게 적용할지 떠오르지 않는다.
물론 JS도 그렇기는 하지만...
JS는 나름의 논리를 갖고 손이 움직이는데, 코드를 작성하고,
CSS는 그 손으로 검색을 한다는 차이..? 랄까..? ( 논리..?...를 검색.. )
요새는 CSS 프로젝트를 하고 있다.
음....
다른분 결과물은 예쁘게 움직이는데 내 프로젝트는 ... 굉장히 ... 원시적이야 ...
2. 타입스크립트와 CSS를 정말! 깊게 배우고, 좋은 예시들을 많이 알게 되었다.
종종 오픈소스 프로젝트의 코드를 봤을 때 낯설게 느껴진 부분이 타입스크립트 적용 부분이었는데,
제네릭을 사용한 부분이 잘 이해되지 않았다.
물론 코드의 다른 부분도 어렵게 느껴지긴 마찬가지였지만,
제네릭이 정말 정말 어렵게 느껴졌었는데,
학습을 통해 생소한 코드의 동작을 이해하게 되면서 (해석이 가능해 지면서)
제네릭은 정말 재밌고, 다양하게 쓰일 수 있었다.
어려운 내용으로 학습니까, 조금은...
▶ 부족했던 것
1. 더 빠르게 강의를 들어야 한다
그렇지 않으면 ... 큰일날 것 같은... 위기감
강의 양이 정말 많은데, 익숙하지 않은 부분이 있어서 서둘러야 한다.
필기해야 할 부분도 있고
직접 코드로 작성해서 확인하는 부분도 있고
이해하기 어려웠던 부분은 돌려보고
등등
하니까 촉박하다.
여유는 없어...
▶ 바라는 것
1. BestPractice ?
내가 작성한 코드는 분명히 한계가 있다.
좋은 코드를 보면서 배우고 싶은데, 책에서 보는 것도 좋지만 직접 프로젝트를 열어봐야겠다.
드 디 어
CSS도 비슷하게 도전하고 있다.
2. 일찍 잠들기
▶ 마무리
1차 팀원들과 멘토님을 오프라인으로 만나면서 밥도 먹고,
과정을 되돌아보고 이후에는 어떨지 이런저런 얘기하며 보냈던 날. 정말 재밌었다.
오디오가 겹치면 들을 수 없는 온라인과는 다르게,
오프라인은 좀 더 자유롭게 얘기할 수 있어서 그것도 좋았고
농담도 주고받으면서 많이 웃었던 날~
안뇽.. 1차팀..
하지만 곧바로(?)
이번주 학습 동료 탐구 대상자로 내가 지목되면서 안부를 묻기도 했다 ㅎㅎ
다들 화이팅!
'개발 활동 > 프로그래머스' 카테고리의 다른 글
12월 MIL (0) | 2023.12.25 |
---|---|
유효성 검사 함수 리팩토링 과정 (1) | 2023.11.26 |
[Error: Unable to open snapshot file: No such file or directory] (1) | 2023.11.19 |
[MIL] (5) | 2023.10.23 |
[2023-09-20] 개발 환경 구축 (vscode 플러그인 설치) 및 JavaScript 기본 개념 (0) | 2023.09.20 |