본문 바로가기

분류 전체보기

(341)
디자인 패턴) Prototype Pattern 이 글을 공부하면서 번역하고 정리한 글입니다. 같은 타입의 여러 객체들 간 속성을 공유하는 패턴 prototype 패턴은 같은 타입의 여러 객체 간 속성을 공유하기 좋습니다. 프로토타입은 JavaScript의 native 객체이며 프로토타입 체인을 통해 객체에 접근할 수 있습니다. 우리는 하나의 애플리케이션에서 같은 타입의 객체를 많이 만들어 사용합니다. 이때, ES6의 클래스의 인스턴스를 여러개 만들어 사용합니다. Example class Dog { constructor(name) { this.name = name; } bark() { return `Woof!`; } } const dog1 = new Dog("Daisy"); const dog2 = new Dog("Max"); const dog3 = n..
디자인 패턴) Provider Pattern 이 글을 공부하면서 번역하고 정리한 글입니다. 여러 자식 컴포넌트에서 데이터를 사용할 수 있도록 만드는 패턴 애플리케이션에서 데이터를 여러 컴포넌트에서 사용하고 싶을 때가 있습니다. props를 이용해서 데이터를 전달할 수 있긴 하지만 이 방법으로 애플리케이션의 거의 대부분의 컴포넌트에 데이터를 전달하는 것은 어렵습니다. 우리는 종종 prop drilling이라고 불리는 현상을 마주칩니다. 이는 props를 컴포넌트 트리의 깊은 곳까지 전달하는 경우에 발생합니다. 이 경우에 props에 의존한 코드를 리팩토링하는 것은 거의 불가능해지고 특정 데이터가 어디서 오는지 알기 매우 어려워집니다. 특정 데이터를 가진 'App'이라는 하나의 컴포넌트가 있다고 사정해봅시다. 컴포넌트 트리 최하위에 ListItem, ..
디자인 패턴) Proxy Pattern 이 글을 공부하며 번역하고 정리한 글입니다. 타겟 객체에 대한 인터렉션을 가로채서 제어하는 패턴 프록시 객체를 사용하면 특정 객체와의 인터렉션에 대한 더 많은 제어권을 얻을 수 있습니다. 프록시 객체는 값을 가져오거나 설정할 때와 같이 객체와의 인터렉션 할 때의 동작을 결정할 수 있습니다. 일반적으로, 프록시는 '대리인'을 의미합니다. 누군가에게 직접 말하기보다는 그 누군가를 대표할만한 사람에게 대신 말하는 것이죠. Javascript에도 같은 상황이 있는 것입니다. 타겟 객체와 직접 상호작용하기보다는 대리인 객체 즉, 프록시 객체를 통해 타겟과 상호작용하는 것입니다. 'John Doe'라는 인물을 표현하는 person 객체를 만들어봅시다. const person = { name: "John Doe", ..
디자인 패턴) Singleton Pattern 이 글을 공부하기 위해 번역 및 정리한 글입니다. 어플리케이션 전체에서 하나의 전역 인스턴스를 공유하는 패턴 싱글톤은 한 번만 인스턴스화될 수 있고, 전역으로 접근할 수 있는 클래스입니다. 그렇게 만들어진 하나의 인스턴스는 어플리케이션 전역에서 공유될 수 있어서 어플리케이션의 전역 상태를 관리하기 좋습니다. 우선, ES2015 클래스를 사용해서 싱글톤이 어떻게 사용되는지 확인해봅시다. 다음 예시에서 Counter 클래스를 만들어봅시다. 다음과 같이 클래스를 만들면 우리는 여러 개의 Counter 인스턴스를 만들 수 있기 때문에 싱글톤 패턴의 기준에 맞지 않는 방식입니다. let counter = 0; class Counter { getInstance() { // 인스턴스 반환하는 메소드 return th..
Vue.js) vue-cli → vite 변환 작업 1. vite 설치 $ npm install -D vite devDependencies에 넣기 2. 불필요한 의존성 삭제 babel 관련 패키지 vue-cli 관련 패키지 @vue/cli-plugin-babel @vue/cli-plugin-eslint @vue/cli-plugin-router @vue/cli-plugin-vuex @vue/cli-service sass-loader (sass만 있으면 된다) 3. package.json에 스크립트 수정 ... "scripts": { "serve": "vite", "build:dev": "vite build --mode dev", "build:stage": "vite build --mode stage", "build": "vite build", "lint":..
[재능의 불시착 - 박소연] 직장에 불시착한 사람들의 이야기로 전하는 위로 독서 노트 우주의 먼지가 되어 녹아버리고 싶은 날 그런 날이 있다. 아니 그렇지 않은 날이 잘 없다는 표현이 더 정확할 것 같다. 지금은 단순히 일요일 저녁이기 때문에 그러고 싶고, 또 어느 날은 사무치게 그립고 외로워서 그러고 싶고, 또 어느 날은 머리가 터지게 스트레스 받아서 그러고 싶다. 그럼에도 그렇지 않은 순간들이 있으니 견뎌야 할 이유가 있다. 저는 진짜 평범한 사람이거든요. 특별히 잘하는 것도, 못하는 것도 없어요. 나도 그렇다. 근데 대부분 그렇기 때문에 이런 사람을 '평범'하다고 하는거다. 다른 사람들은 도대체 뭘 하고 살고 있을까, 어떻게 자기를 꾸준히 먹여 살리고 있을까 나처럼 지독한 습관러에게는 참 쉽다. 매일 운동하고, 매일 숨 쉬고, 매일 밥 먹는 것처럼 그냥 매일 출근하고 일하..
[모래알만 한 진실이라도 - 박완서] 인생 어른이 들려주는 이야기, 사랑 받은 삶에 대한 이야기 한동안 젊은 작가 수상집을 읽던 때였다. 물론 너무 훌륭한 작품들이었고 소재들도 신선했지만 어쩐지 반복적으로 등장하는 퀴어 요소와 허세처럼 느껴질 정도로 담백한 아이러니한 문장들에 조금씩 실증이 나기 시작했다. 그러나 박완서 작가의 책을 읽고 노련한 작가의 글에 큰 감동을 받았다. 독서 노트 겨울의 희망도 뭐니 뭐니 해도 역시 봄이고, 봄을 믿을 수 있는 건 여기저기서 달콤하게 속삭이는 봄에의 약속 때문이 아니라 하늘의 섭리에 대한 믿음 때문이다. 봄이 다가와서 느껴지는 몽글몽글한 그 좋은 기분을 이렇게 성숙하고 단아하게 표현할 수 있다니. 노련한 작가의 글솜씨가 느껴진다. 나는 손님을 가장 불편하게 하는 것은 지나친 공경과 관심이라고 생각한다. ... (중략) 필요한 것이 알맞게 갖춰져 있고 홀로의 시..
[물고기는 존재하지 않는다 - 룰루 밀러] 물고기는 정말로 존재하지 않는다 독서 노트 파도 속에 발을 담그며 불꽃처럼 터지는 초록빛 생물발광*을 일으키고는 했다. *반딧불이처럼 생물이 화학작용을 통해 스스로 빛을 내는 것. 야광충이 많은 밤 해변에서는 바닷물에 손이나 발을 담그면 야광충들이 발하는 푸른빛을 볼 수 있다. 나도 생물 발광을 일으키는 파도에 발을 담그며 해안을 거닐고 싶다. 분류학 용어로 모든 표본을 “모식模式, type”이라고 하는데, 최초의 신성한holy 모식은 영광스럽게도 “완모식完模式, holotype”이라 부른다. 완모식은 같은 종이라 할지라도 절대 다른 것으로 대체될 수 없다고 하는 점이 두렵기도 하고 잔인하다고 느껴지기도 한다. 고작 이 규칙 한 주 때문에(?) 완모식이라고 불리는 어떤 표본을 일어버리면 그 표본의 완모식은 영원히 상실한 상태가 되어버린..