# Journal 2024-12 > 2024년 12월 일지 <2024년 12월> 일지 ## 월간 회고 윤석열 내란 사태가 있었던 달. 시위 나가고 뉴스 보느라 정신 없었다. [윤석열](https://wiki.g15e.com/pages/%EC%9C%A4%EC%84%9D%EC%97%B4.txt)은 아직도 체포되지 않았고 행정부 고위 관료들과 국민의힘 의원들은 대놓고 또는 교묘하게 내란을 옹호하고 있다. [Next.js](https://wiki.g15e.com/pages/Next.js.txt)와 [Tailwind](https://wiki.g15e.com/pages/Tailwind.txt)를 계속 쓰고 있고, 쓸수록 마음에 안든다. 읽은 책들: - [I am Malala](https://wiki.g15e.com/pages/I%20am%20Malala.txt) (노벨평화상 수상자 의 자서전) - (소설. 가출해서 미술관에 숨어지내는 어린 남매의 모험담) - [The strange death of Europe: Immigration, identity, islam](https://wiki.g15e.com/pages/The%20Strange%20Death%20of%20Europe%20-%20Immigration,%20Identity,%20Islam.txt) (영국의 극우 작가가 분석한 유럽 이민 정책의 문제점. 이슬람 혐오가 가득한 책) ## 일지 ### 204-12-31 [I am Malala](https://wiki.g15e.com/pages/I%20am%20Malala.txt) 다 읽었다. 인도-파키스탄-아프가니스탄 관계에 대해 아주 조금 알게 됐다. ### 2024-12-20 [I am Malala](https://wiki.g15e.com/pages/I%20am%20Malala.txt) 계속 읽는 중. 오사마 빈 라덴 암살 작전에 대한 내용이 흥미롭다. 미국이 파키스탄 정부 승인 없이 작전을 수행한 뒤에 통보만 했다고. 한국도 내란 사태가 아직 진행 중이고 자칫 제3차대전으로 번질 가능성도 있으니 언제 비슷한 일이 벌어질지 알 수 없다는 생각이 들었다. ### 2024-12-13 테일윈드 계속 쓰는 중이고 맘에 안든다. 공식 문서에서는 중복되는 유틸리티 조합 문제에 대해 [이렇게 말한다](https://tailwindcss.com/docs/reusing-styles): - **다중 커서 편집 기능을 이용해서 한 번에 고치면 된다**: 하지만 [중복된 코드](https://wiki.g15e.com/pages/Duplicated%20code.txt)의 문제는 "여러번 편집하는 불편함"이 아니라, 중복 코드가 있는데 중복인줄 몰라서 하나만 고치고 나머지를 안고치는 순간 버그 혹은 동작의 비일관성이 생긴다는 점이다. 이런 문제는 보통 한참 뒤에야 발견되기 때문에 비용이 크다. ([결함비용증가](https://wiki.g15e.com/pages/Defect%20cost%20increase.txt)) - **반복문을 써서 중복 제거**: 상위 요소에서 descendent selector를 쓰면 한 번에 해결할 수 있는데 매 자식 요소에 반복되는 규칙을 적용한다는 점에서 아름답지 못하며, 잠재적으로 런타임 성능에 악영향을 줄 소지가 있음. - **반복되는 요소를 컴포넌트로 추출하기**: [CSS](https://wiki.g15e.com/pages/Cascading%20Style%20Sheets.txt)와 관련한 근본적 문제는, [CSS](https://wiki.g15e.com/pages/Cascading%20Style%20Sheets.txt)가 풀고자 하는 디자인 문제는 근본적으로 [다차원적 관심사 분리](https://wiki.g15e.com/pages/Multidimensional%20separation%20of%20concerns.txt)의 문제이기 때문에 <트리 구조>만으로 해결하기 어려운 반면 또는 컴포넌트 트리는 <트리 구조>로 제한된다는 사실에서 발생한다. "반복되는 요소를 컴포넌트로 추출하기"라는 해법은 [다차원적 관심사 분리](https://wiki.g15e.com/pages/Multidimensional%20separation%20of%20concerns.txt) 문제를 해소할 수 없다. - **@apply**: 이 방식은 테일윈드의 접근법과도 안맞고(되도록 저수준의 유틸리티 조합을 써야하는데 `@apply`를 많이 쓸수록 점점 전통적 접근과 같아지기 때문), 전통적 [CSS](https://wiki.g15e.com/pages/Cascading%20Style%20Sheets.txt)와도 안 맞는다(CSS 코드 안에 테일윈드 유틸리티를 열거하기 때문). 그래서 테일윈드 문서는 `@apply` 사용을 되도록 자제하길 권한다. 하지만 어쩌면 이 방식이 내가 생각하기엔 오히려 더 나아보이는데, 왜냐하면 선택자를 임의로 쓸 수 있다는 점에서 [AOP](https://wiki.g15e.com/pages/Aspect-oriented%20programming.txt)의 [Join point](https://wiki.g15e.com/pages/Join%20point.txt) 모델을 쓸 수 있으면서, CSS의 rule-set 대신 테일윈드의 유틸리티를 열거한다는 점에서 디자인에 일정한 제약을 주기 때문. ### 2024-12-07 여의도 탄핵 촉구 시위에 나갔다. 의 [How to be a conservative](https://wiki.g15e.com/pages/How%20to%20be%20a%20conservative.txt)를 조금 읽었다. ### 2024-12-05 여의도 탄핵 촉구 시위에 나갔다. ### 2024-12-03 [윤석열](https://wiki.g15e.com/pages/%EC%9C%A4%EC%84%9D%EC%97%B4.txt)이 친위 쿠데타를 일으켰다. ### 2024-12-02 다 읽었다. 귀엽고 재밌다 :) 내일부터는 [I am Malala](https://wiki.g15e.com/pages/I%20am%20Malala.txt)를 읽는다. [수산업](https://wiki.g15e.com/pages/Fishing%20industry.txt) 공부 계속 하는 중. 2008년에 해외 수입 해산물의 중량이 크게 증가했는데, 왜 그랬는지 찾아보니 원래 광물로 분류되던 소금이 2008년부터 식품으로 재분류되면서 해산물 수입으로 집계되기 시작했기 때문이었다. 재밌다.