https://medium.com/@heoh06/%EB%A6%AC%EC%95%A1%ED%8A%B8-redux%EC%99%80-%EC%82%AC%EC%9A%A9%EB%B2%95-731853fc3cd4 [리액트] Redux와 사용법React 상태관리 라이브러리 Redux의 설명과 사용법medium.com https://techblog.woowahan.com/2599/ React에서 Mobx 경험기 (Redux와 비교기) | 우아한형제들 기술블로그안녕하세요 딜리버리플랫폼팀 김찬정입니다. 이 글의 목적 React와 함께 사용하는 State(상태)관리 라이브러리중 가장 많이 사용되고 있는 Redux와 또 다른 라이브러리인 Mobx를 직접 사용하여 개발techblog.woowahan.com
공부/추가공부
1. GitHub설명GitHub는 전 세계에서 가장 널리 사용되는 Git 기반 코드 호스팅 플랫폼으로, 오픈소스와 상업 프로젝트를 모두 지원합니다. Microsoft가 소유하고 있습니다.주요 특징커뮤니티 중심: 방대한 오픈소스 프로젝트가 존재하며, 개발자들이 활발히 참여.GitHub Actions: CI/CD 파이프라인 구축 및 자동화 도구 제공.인터페이스: 직관적이고 사용이 편리하며 초보자에게 적합.Marketplace: 확장 기능과 통합 도구 제공.코드 리뷰: 풀 리퀘스트(PR)와 코드 리뷰 기능이 강력.장점다양한 통합 옵션 제공 (Slack, Trello, Jenkins 등).방대한 사용자 기반과 커뮤니티 리소스.학습 자료와 튜토리얼이 풍부.무료 플랜에서도 비공개 저장소 제공.단점완전한 셀프 호스팅..
dependencywepmysqljpa application.yml spring: jpa: hibernate: ddl-auto: create show-sql: true datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/coupon_example username: root password: 1234 요구사항선착순 100명에게 할인쿠폰 제공하는 이벤트 제공조건1. 선착순 100명에게만 지급되어야 한다.2. 101개 이상이 지급되면 안된다.3. 순간적으로 몰리는 트래픽을 버틸 수 있어야 한다. Coupon Entity@Entitypublic class..
API(Application Programming Interface)소프트웨어 프로그램이 다른 소프트웨어 프로그램으로 데이터를 전송할 수 있도록 하는 규칙 집합이다. 쉽게말해, 필요한 서비스를 얻기 위해 다른 프로그램과 소통할 수 있도록 하는 인터페이스(메신저 역할) 이자,주고 받을 수 있는 데이터의 형식을 정하는 규격(매뉴얼)이라고 볼 수 있다. API종류접근 방식에 따른 API 종류1. Private API내부 API로, 기업이나 연구단체 등에서 자체 제품과 운영 개선을 위해 단체 내부에서만 사용한다.제 3자에게 노출되지 않는다. 2. Public API개방형 API로, 모두에게 공개된다.Public API 중에서도 접속하는 대상에 대한 제약이 없는 경우에는 Open API라고 한다. 오픈 API ..
ObjectMapper와 ModelMapper는 둘 다 Java 객체 간의 매핑을 지원하는 라이브러리입니다.그러나 각각의 라이브러리는 목적과 사용 방법이 약간 다릅니다. ObjectMapperJackson 라이브러리에서 제공하는 클래스로, JSON 데이터와 Java 객체 간의 변환을 처리합니다.JSON 문자열을 Java 객체로 변환하거나, Java 객체를 JSON 문자열로 변환하는 데 사용됩니다.주로 RESTful API에서 클라이언트와 서버 간의 데이터 전송을 위해 사용됩니다.주로 JSON 데이터를 처리하는 데 사용되며, 객체 간의 매핑에 특화되어 있습니다.// JSON 문자열을 Java 객체로 변환하는 예제String jsonString = "{\"name\":\"John\", \"age\":30}"..
프록시 패턴과 프록시 서버 💡 프록시 패턴(proxy pattern) 대상 객체(subject)에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인패턴이다. 객체의 속성, 변환 등을 보완하며 보안, 데이터 검증, 캐싱, 로깅에 사용한다. 프록시 객체로 쓰이기도 하지만 프록시 서버로도 활용된다. 📌 프록시 서버에서의 캐싱 캐시 안에 정보를 담아두고, 캐시 안에 있는 정보를 요구하는 요청에 대해 다시 저 멀리 있는 원격 서버에 요청하지 않고 캐시 안에 있는 데이터를 활용하는 것을 말한다. 이를 통해 불필요하게 외부와 연결하지 않기 때문에 트래픽을 줄일 수 있다는 장점이 있다. 💡 프록시 서버 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 ..
전략 패턴(정책패턴) 객체의 행위를 바꾸고 싶은 경우, '직접' 수정하지 않고 전략이라고 부르는 '캡슐화 알고리즘'을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만드는 패턴이다. 💡 캡슐화 데이터와 알고리즘을 하나로 묶는 것(관련있는 변수와 함수를 하나의 클래스로 묶는 것) 외부에서 쉽게 접근하지 못하도록 은닉하는게 핵심 💡 컨텍스트 프로그래밍에서의 컨텍스트는 상황, 맥락, 문맥을 의미하며 개발자가 어떠한 작업을 완료하는데 필요한 모든 관련 정보를 말한다. 어떤 것을 살 때 네이버페이, 카카오페이 등 다양한 방법으로 결제하는 것처럼 결제 방식의 '전략'만 바꿔서 결제하는 것 예제코드 전체보기 더보기 import java.text.DecimalFormat; import java.util.ArrayLi..
팩토리 패턴 팩토리 패턴에는 2가지가 있다. 먼저 심플 팩토리(Simple Factory) 패턴을 알아보자. 💡 심플 팩토리 패턴 객체 만드는 작업을 하나의 팩토리 클래스에 모아두는 것을 의미한다. 심플 팩토리 패턴에서 createPhone() 부분에서 Factory에서 직접 객체를 만드는 것을 Factory를 상속한 서브클래스에서 객체를 만들게끔 하는 것이 팩토리 메소드 패턴이다. 위의 코드에 팩토리 메소드 패턴을 적용해보자. ① 팩토리 메소드 패턴 클래스의 인스턴스를 만드는 일을 서브클래스에게 맡기는 것이다. 심플 팩토리 패턴에서 만들었던 객체 생성하는 함수를 모아둔 클래스를 인터페이스화하여 서브클래스에서 어떤 객체를 생성할지 결정하는 것이다. 이렇게 서브 클래스를 둔다면 아이폰, 안드로이드폰의 종류..
디자인패턴이란? 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 ’규약‘형태로 만들어 놓은 것을 의미한다. 1. 싱글톤 패턴(singleton pattern) 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에, 보통 데이터베이스 연결 모듈에 많이 사용한다. 장점 : 인스턴스 생성할 때 드는 비용이 줄어든다. 왜?????? 단점 : 의존성이 높아진다. 💡 인스턴스 * Java로 싱글톤 패턴을 구현하는 7가지 방법 2. 팩토리 패턴 팩토리 패턴에는 2가지가 있다. 먼저 심플 팩토리(Simple Factory) 패턴을 알아보자. 💡 심플 팩토리 패턴 객체 만드는 작업을 ..