일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- rolldown
- adb pair
- camera access
- 이미지 데이터 타입
- camera permission
- ffi-napi
- html
- Recoil
- react-native
- github 100mb
- animation
- electron-packager
- ELECTRON
- dvh
- npm package
- silent printing
- vercel git lfs
- custom printing
- Git
- device in use
- Failed to compiled
- Each child in a list should have a unique "key" prop.
- github lfs
- Can't resolve
- augmentedDevice
- 티스토리 성능
- adb connect
- react-native-dotenv
- nextjs
- github pdf
- Today
- Total
Bleeding edge
2022/08/04 - TIL 본문
오늘 공부한 것
디자인 패턴
: 객체 간의 상호 관계를 이용하여 문제점을 해결하는 하나의 규약을 말한다
1. 싱글톤 패턴
: 오직 하나의 인스턴스만 가지는 패턴으로 보통 데이터 베이스 연결 모듈에 많이 사용한다.
장점 : 인스턴스를 생성할 때 비용이 줄어드는 장점
단점 : 의존성이 높아진다. 의존성이 높기 때문에 단위단위의 테스트를 하기 힘들다.
싱글톤패턴 이용 사례: 데이터베이스 연결
단점 해결 방법 : 의존성 주입
- 의존성주입 장점 : 모듈들을 쉽게 교체할 수있고 테스팅하기 쉽고 모듈간의 관계를 좀 더 명확하게 합니다.
- 의존성주입 단점 : 모듈들의 클래스 수가 늘어나서 복잡성이 증가하므로 런타임 패널티가 생깁니다
- 의존성주입 원칙 : 상위 모듈은 하위 모듈에서 어떠한 것도 가져오지 않아야하며, 둘다 추상화에 의존을 해야하며 추상화 세부사항에 의존하지 말아야 합니다
2. 팩토리 패턴
: 객체 생성 부분을 뗴어내 추상화한 패턴이자 상속 관계에 있는 두클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴입니다.
3. 전략 패턴
: 객체의 행위를 바꾸고 싶은 경우 직접 수정하지 않고 전략이라고 부르는 캡슐화한 알고리즘을 컨텍스트안에서 바꿔주면서 상호 교체가 가능하게 만드는 패턴입니다.
예시 : 서비스 내의 회원가입된 아이디와 비밀번호를 기반으로 인증하는 LocalStategy전략과 Oath
4. 옵저버 패턴
: 옵저버 패턴은 주제가 어떤 객체의 상태 변화를 관찰하다가 상태 변화가 있을 때 마다 매서드 등을 옵저버 목록에 있는 옵저버들에게 변화를 알려주는 디자인 패턴입니다.
- 주체 : 객체의 상태를 보고 있는 관찰자
응용예시 : MVC,
5. 프록시 패턴
: 객체에 접근하기 전에 흐름을 가로채 대상 객체 앞단의 인터페이스의 역활을 하는 디자인 패턴
예시 : 프록시 서버 > 클라이언트가 자신을 통해 네트워크에 서비스에 간접적으로 접속하게 한다
프록시 서버가 해결해주는 것: SOP정책으로 인해 웹브라우저에 리소스를 로드할 때 다른 오리진을 통해 로드를 못하게하는 HTTP 헤더 기반 매커니즘인 CORS를 프록시 서버를 통해서 해결한다.
6. 이터레이터 패턴
: 이터레이터를 컬렉션의 요소들에 접근하는 디자인 패턴입니다
7. 노출모듈 패턴
: 즉시 실행 함수를 통해 private, public 같은 접근 제어자를 만드는 패턴입니다
내일 공부할 것
MVC, MVP, MVVM, 프로그래밍 패러다임
느낀점
오늘 공부한 패턴보다, 조별에 대해서 느낀점이 있었다.
어제 git을 공부를 하였지만, 미니 프로젝트가 눈앞에 있으니, git의 conflict가 더 크게 느껴졌고, 해결을 하기가 매우 어려웠다. git의 conflict가 있어도 잘 해결하는 방법에 대해서 좀더 검색해서 해결하는 능력을 갖춰야할 것 같다고 느꼈다.
'ConnecTo' 카테고리의 다른 글
2022/08/08 - TIL (0) | 2022.08.08 |
---|---|
2022/08/05 - TIL (0) | 2022.08.05 |
2022/08/03 - TIL (0) | 2022.08.03 |
2022/08/02 TIL (0) | 2022.08.02 |
2022/08/01 TIL (0) | 2022.08.01 |