230127(금)
🎄 성장일지 3.1
책 행복한 이기주의자(웨인 다이어)
의 내용에 자극받아 시작하는 소박한 성장기록
살아있는 꽃과 죽은 꽃은 어떻게 구별하는가?<br/> 성장하고 있는 것이 살아 있는 것이다.<br/> 생명의 유일한 증거는 성장이다!
🌳 키워드 (1.0)<br/> 최대한 간단하게 정리, 추후에 보면서 스스로 설명<br/> 🍉 경험 위주로 (2.0)<br/> 단순 정보를 전달하기보다 무엇을 배웠고 어떻게 해결했는지 짧고 간단하게 작성<br/> ❄️ 정해진 템플릿에 맞춰서 (3.0)<br/> 키워드, 경험 모두 좋다. 다만 매일 작성하기로 마음 먹은만큼 핵심만 간결하게 정리할 수 있게 템플릿을 작성 (3.1) 230102부터 시작되는 학습에 관한 내용 추가
🔑 오늘의 키워드
타타타타타타타입스크크크크크크크립트
처음 자바스크립트 언어 특유의 자유로움 때문에 너무 좋았다. 헌데 타입스크립트는 뭔가 시퍼런 게, 그 자유로움에 찬물을 붓는 느낌이라 막 호감이 가진 않았던 거 같다. 생각보다 복잡하기도 하고 일일히 타입을 지정해주어야 하는 게 아주 큰 장점으로 느껴지진 않았다.(규모가 굉장히 작은 코드였으니) 헌데, 요즘 타입스크립트의 매력을 정말 정말 잘 느끼는 중이다. 기존 동적 타입 언어인 자바스크립트를 완벽하진 않더라도 어느정도 정적 타입으로 바꿔주는 점도 좋지만, 무엇보다 좋은 건 요즘 정말 재미있게 공부중인 객체지향에 너무 잘 어울린다는 점이다.(애초에 그런 니즈에 나온 것도 있겠지만..!)
기억해둘 키워드
- Union type (|)
- Intersection type (&)
- assertion (as)으로 타입 강제하기 그리고 사실 가능하면 사용하지 않아야 한다는 점
- type alias
- discriminated Union type으로 Union type 분기처리하는 방법
- enum이 무엇인지, 그리고 가급적이면 enum보다는 그냥 Union type 쓰기
- any, unknown, void, never 기억하기. 이상하게 조금씩 헷갈림... void를 제외한 3개는 사실상 직접 사용하는 건 지양한다!
📝 요약 및 하루 간단 회고
오늘은 허점이 많지만 나름 객체지향적으로 HTML parser 구현을 완성했다. 같은 팀원인 snoop이 준 테스트 케이스는 해결 못했지만...ㅠ 파서에서 스택 구조로만 데이터 중첩 처리를 해주었다. 이 때, 자식 태그가 같은 층위(계급?)로 여러개 주어졌을 때 children node로 처리하는 방법도 생각해봐야겠다. 아, 그리고 이번 parser 구현은 TDD(테스트 주도 개발)를 조금이라도 흉내내면서 진행해보았다. 아주 간단한 코드지만, jest를 통해 객체(tokenizer, lexer, parser)들을 하나씩 테스트하면서 진행했다. 또, 본 코드를 작성하기 전에 테스트코드부터 작성하면서 진행해보았다. 솔직히 아직은 코드의 규모가 아주 크진 않아서 그 소중함을 온전히 느끼진 못했지만, 앞으로 더더더 자주 테스트 코드를 작성하면서 진행할 예정이다. 무엇보다 이전에 잠깐 배웠던 머신러닝, 딥러닝의 방식과 굉장히 유사한 느낌이라 신기했다. input과 output을 먼저 준다는 점이 비슷했고 조금의 차이(사실 아주 큰 차이)라면 이후에 그 값에 대한 로직을 직접 짜야한다는 것..! 이게 개발의 재미이지 않을까 싶다.<br/>
이번 주 키 포인트는 객체지향, 타입스크립트 , 테스트코드로 요약할 수 있을 것 같다. :)
오늘의 잘한 점
- 파서 구현 완료한 점
- 타입스크립트 꿀잼
- 테스트 코드 작성하면서 코드 짠 점
- 스스로 공부, 학습의 방향이 잡혀가는 점
오늘의 아쉬운 점
- 미라클모닝은 잘 지키고 있는데, 자는 시간을 좀더 확보하지 않은 점!(잠이 보약이다!!!!!!)
undefined