2021

About what I learned at 2021

2021-12-13

프로토타입 기반 OOP 언어의 특징은 다음과 같습니다.

  • 개별 객체(instance) 수준에서 메소드와 변수를 추가
  • 객체 생성은 일반적으로 복사를 통해 이루어짐
  • 확장(extends)은 클래스가 아니라 위임(delegation)
  • 현재 객체가 메시지에 반응하지 못할 때 다른 객체로 메시지를 전달할 수 있게 하여 상속의 본질을 지원
  • 개별 객체 수준에서 객체를 수정하고 발전시키는 능력은 선험적 분류의 필요성을 줄이고 반복적인 프로그래밍 및 디자인 스타일을 장려
  • 프로토타입 프로그래밍은 일반적으로 분류하지 않고 유사성을 활용하도록 선택
  • 결과적으로 설계는 맥락에 의해 평가

Javascript 에 익숙하다면 별다른 설명 없이도 이해되는 부분이 있을 것으로 보입니다.
다시 한번 가장 중요하다 생각되는 부분을 정리해보면

  • 프로토타입 언어에서는 ‘분류’를 우선하지 않는다. 생성된 객체 위주로 유사성을 정의한다.
  • 어휘, 쓰임새는 맥락(context)에 의해 평가된다.
    • 실행 컨텍스트, 스코프 체인이 여기서 파생되었습니다
    • 클로져, this, 호이스팅 등등. 이 모든 헬(?) 이 프로토타입의 ‘맥락’을 표현하기 위한 것입니다.

비트겐슈타인 글을 좋아했지만 이걸 자바스크립트에 연결시켜서 언어를 이해하려고 한 적은 없어서 정말 신선했고 좋았다. 큰 깨달음! 그리고 내가 좋아했던 비트겐슈타인의 전쟁일기 속 글귀도 몇개 다시 기록해본다.



2021-12-08



2021-11-16

개인적으로 styled-component처럼 스타일링 코드를 컴포넌트화해서 얻는 이점보다 단점이 더 커서 별로 좋아하지 않는다. css는 당연히 HTML요소와 강결합되는게 맞지만, 코드를 작성할 때부터 그러면 마크업 요소가 눈에 잘 들어오지 않기 때문이다. 그래서 css-in-css방식을 좋아하지만, css코드 안에서 변수/상속 등을 활용한다는 것 자체가 러닝커브이고 묘하게 이질감이 들 때가 많았는데 두가지를 적절하게 조합한 라이브러리가 나와서 기대된다. 다들 잘만 쓰길래 나만 별로인가 싶었는데, 이런 취향도 있다고!



2021-10-01



2021-09-16



2021-08-11



2021-08-06



2021-07-26



2021-07-15



2021-07-09




2021-06-30



2021-06-23



2021-05-05



2021-04-14



2021-03-26



2021-03-24



2021-02-24



2021-02-10



2021-02-09