본문 바로가기

😸32

행동패턴 - 이터레이터/전략/옵저버, 구조패턴 - 프록시 이터레이터패턴 이터레이터를 사용하여 컨테이너(배열, 맵)의 요소에 접근하는 패턴 (javascript for를 이용해 배열, 맵 모두 조회 가능) 장점 : 같은 인터페이스로 쉽게 데이터 조회가 가능 전략패턴 특정 행위를 각각 다른 전략으로 실행해야할 때 전략을 쉽게 교체가능할 수 있도록 구현한 패턴 ex) passport 라이브러리 - 로그인이라는 행위를 다양한 전략으로 적용할 수 있도록 함(구글, 페이스북, 트위터 등) 각 전략은 캡슐화되어있지만 알고리즘은 컨텍스트 내부에서 다양하게 변경하여 사용할 수 있음 옵저버패턴 주체가 어떤 객체의 상태변화를 관찰하다가 변화가 있을 때마다 다른 옵저버들에게 변화를 알려주는 디자인 패턴 ex) 트위터의 메인 로직, MVC 패턴에도 적용됨 프록시패턴 객체에 대한 접근.. 2024. 1. 7.
깃허브 무료 호스팅 사이트 만들고 React 기본 프로젝트 얹기 묻혀있던 깃허브 아이디를 찾았다. 그런데 분명 깃허브 개인도메인을 만들어봤던 기억이 있는데 전부 삭제.... 어떻게 하는지 찾아봐야 한다. [GitHub] 깃허브로 무료 호스팅 하는 방법 :: 코딩 공부 일지 (tistory.com) [GitHub] 깃허브로 무료 호스팅 하는 방법 2년 전 친구한테서 깃허브로 호스팅 할 수 있다는 얘기를 듣고 그냥 흘려버렸었습니다. 최근 들어서야 포트폴리오를 만들어야 하는데 호스팅 업체에서 도메인을 구매하기엔 좀 부담스럽고 좋은 cocoon1787.tistory.com https://developer-bomi.github.io/mbti-test/ mbti-test developer-bomi.github.io 친절한 포스트를 찾아 위 링크 발행 완료! 그런데 해당 포스트에.. 2024. 1. 7.
우당탕탕 개인 프로젝트 시작하기 올해의 만다라트 계획표 64칸의 세부계획 중에서 - 많이 사용하는 언어 활용한 프로젝트 해보기 - github 활용해서 작업물 올려보기 - 프로젝트 하면서 꾸준히 기록하기 - AWS 서버 이용해서 사이드 프로젝트 해보기 - 개인 사이드 프로젝트 해보기 아주 작고 소중한 무려 5개의 항목을 차지할 정도의 의지가 있는 사이드 프로젝트...를 올해는 진짜 한번 시작해보기로 했다. 어떻게 시작해야 할지도 모르겠고 얼마나 걸릴지도 모르겠지만 내가 좋아하는 유사과학(이라고 부르고 MBTI라고 쓰는)을 주제로 프로젝트를 진행해볼 예정이다. 백엔드 언어는 아직 생각 안해봤지만 내가 익숙한 C#을 써볼까 하고 있고, (프엔과 백엔드 모두 미숙한 언어로 하면 너무 오래걸릴까봐.. 주르륵) 프론트엔드는 React.js (미.. 2024. 1. 7.
DI와 DIP 의존 A가 B에 의존한다 = B가 변하면 A에 영향을 미친다 = A → B DI(Dependent Injection) 의존성 주입을 하지 않으면 상, 하위 클래스가 의존하는 관계를 갖게 됨 DIP를 적용하게 되면 interface 등을 추가해서 상, 하위 클래스의 직접적인 의존성을 끊어줌 인터페이스를 이용한 하위 모듈 추가가 용이해짐 DIP(Dependent Injection Principle) 의존관계역전법칙 상위모듈이 하위모듈에 의존해서는 안되고, 두 모듈이 전부 추상화에 의존해야 함 추상화는 세부사항에 의존해서는 안되고, 세부사항이 추상화에 따라 달라져야 함 의존성 주입의 장단점 장점 모듈을 쉽게 교체할 수 있음 단위 테스트, 마이그레이션이 쉬워짐 의존성 방향이 일관되어 코드 추론이 쉬워짐 단점 클.. 2024. 1. 7.