일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링부트공부
- 자바공부
- JPA스터디
- querydsl
- JPA예제
- 플러터 개발
- 기술면접공부
- 스프링공부
- 스프링
- JPA
- 알고리즘공부
- 카프카
- Kafka
- DDD
- nestjs공부
- 자료구조공부
- 기술공부
- JPA공부
- Axon framework
- 코테공부
- JPA 공부
- K8S
- 플러터 공부
- 코테준비
- 스프링 공부
- 스프링부트
- 프로그래머스
- nestjs스터디
- Flutter
- nestjs
- Today
- Total
목록분류 전체보기 (715)
DevBoi
자바 디자인 행동 패턴에 대해서 알아보자 Chain of Responsibility : 책임연쇄 패턴, 책임들이 연결되어있어 내가 책임을 못지면, 다른 책임자에게 자동으로 넘어가는 구조이다. Command :명령어를 각각 구현하는 것보다는 하나의 추상 클래스에 메서드를 하나 만들고, 각 명령이 들어오면 그에 맞는 서브 클래스가 선택되어 실행한다. Interpreter : 문법 규칙을 클래스화한 구조를 갖는 SQL언어나 통신 프로토콜 같은 것을 개발할 때 사용한다. Iterator : 반복이 필요한 자료구조를 모두 동일한 인터페이스를 통해 접근할 수 있도록 메서드를 이용해 자료구조를 활용할 수 있도록 해준다. Mediator : 클래스 간의 복잡한 상호작용을 캡슐화하여 한 클래스에 위임해서 처리한다. Me..
어댑터 - 기존의 클래스를 재사용하거나, 사용자가 원하는 인터페이스를 하도록 클래스를 활용하기 위해 많이 쓰인다. 브릿지 - 기능의 확장과 구현의 확장 계층을 분리 하기 위함 컴포지트 - 비슷한 기능을 하는 구성요소들로 설계를 구성하는 패턴 데코레이터 - 종속적인 기능들이 공통적으로 동작하게 끔 동작하는 패턴 퍼샤드 - 하위 수준에서 사용되는 여러 기술들을 상위 기술에서 단순화 하여 제공하는 패턴 플라이웨이트 - 생성해야하는 객체나 클래스가 많은 경우 사용하면 효과적이다. 프록시 - 실제 동작하는 클래스가 아닌, 대체자, 대행자를 두어 그 프록시 클래스가 대신 수행하도록 해준다.
Docker Network Docker 컨테이너는 격리된 환경에서 돌아가기 떄문에, 기본적으로 다른 컨테이너와 컨테이너들끼리 통신이 불가능하다. 하지만, 하나의 Docker 네트워크에 연결시키면 서로 통신이 가능해진다. docker network ls 로 현재 생성된 네트워크 목록을 조회할 수 있다. docker 네트워크는 bridge,host,overlay등 목적에 따라 다양한 종류가 있다. bridge :네트워크는 하나의 호스트 컴퓨터 내에서 여러 컨테이너들이 서로 소통할 수 있도록 해준다. host : 네트워크는 컨테이너를 호스트 컴퓨터와 동일한 네트워크에서 컨테이너를 돌리기 위해 사용된다. overlay : 네트워크는 여러 호스트에 분산되어 돌아가는 컨테이너들 간에 네트워킹을 위해서 사용된다. 가..
생각해보니 전 회사에서 Java 6 -> 8에 대한 컨버전을 진행했다. 근데, 지금 회사에서는 자바 11을 쓴다. 어떤게 어떻게 다를까? 1) String 문자열 관련 메소드가 많다. isBlank(),line(),repeat(),stripLeading(),stripTrailing(),strip()과 같은 문자열 관련 메소드가 많이 도입됬다. 2) 파일에 대해서 많은 작업을 수행할 수 있다. writerString,readString,isSameFile과 같은 메소드들이 지원된다. 3) 패턴인식이 가능하다. asMatchPredicate()메소드 도움을 받을 수 있따. 4) 컬렉션 인터페이스, 메서드 추가 5) Predicate 인터페이스 static not 메서드 추가 해당 과 같이, static no..
하나씩 깊게 파보기 전에, 디자인 패턴 한개씩 써머리? 요약?을 진행해보자 하나씩 하나씩 요약을 진행하면서 간단하게 정리를 하고, 한개씩 깊게 파보도록 하자 * 싱글턴 패턴 : 생성자가 한번만 인스턴스를 생성하고, 이후 호출에서는 해당 생성된 인스턴스가 리턴되는 패턴 * 프로토타입 : 객체들의 인스턴스가 프로토타입인스턴스를 바탕으로 생성되는 것을 결정, 해당 결정되어 생성된 인스턴스를 사용 * 팩토리 메소드 : 기본 생성자나 생성자 메소드가 아니라 서브클래스(팩토리) 메서드에게 생성을 위임, 해당 클래스에서 생성을 한다. * 빌더 : 생성 객체의 속성이 옵셔널한 경우가 좀더 적합, 다양한 표현으로 생성자를 사용할 수 있다. * 추상 팩토리 패턴 : 관련 클래스들을 팩토리로 한데 모으고, 이 전체를 캡슐화..
일단 기본적인 구조는 아래와 같다 Controller > Service > Repository 이외 해당 API에 대한 설명은 스웨거로 작성을 하였고 게시물, 회원에 대한 간단한 Controller,Service, Repository는 아래와 같다. 소스 코딩은 별로 하지 않았고, 시간도 적었다. 러닝 커브는 심하지만, 이러한 JPA의 장점과 좋은 점들을 최대한 활용해보고자 하였고 추후에 QueryDsl 까지 섞어서 개발을 진행할 예정이다. 또한 트랜잭션 관련 개발 내용도 구조와 개념을 상세히 스터디해서 포스팅 할 예정이다. 공부의 의미가 적은 비즈니스로직은 사실 일일히 포스팅 할 필요가없어서 구조에 대한 개념을 잡기위해 아래와 같이 대충 포스팅 ㅋ
DTO와 Entity 간의 설정은 JPA에서 필수 조건이라고 생각한다. Entity를 DTO처럼 사용한다면, 나도 모르는새에 트랜잭션이 닫히면서 디비로 쿼리가 나갈수도있고 데이터가 바뀔수도 있기 때문이다. 이전에는 ModelMapper라는 기능을 사용했지만 이건 생각 보다 단점이 많은 기술이다. 쓰면서도 대충 느낌이 오긴했지만, 자세히 안좋은 점들과 어떨때 쓰면 좋을지는 추후 포스팅에서 다루기로 하고 일단 바꾼 방식에 대해서 정리해보자 일단은 빌더 패턴이다. 엔티티에서는 dto를 파라미터로 받아서, 세팅해주는 빌더를 선언해준다. 실제로 다 빌더로 넣어줄수도있지만, postId같이 자동으로 seq같이 붙는 값을 관리해주기위해 해당 유형의 값은 빼고 관리해주자 DTO에서는 이렇게, getEntity라는 메소..
RDS 연결하다가 죽을 뻔했다...ㅋ RDS 생성하고, local DBMS에서 죽어도 연결이 안됬다. 구글링을 오지게 하고 나온 결과 사람들의 많은 해결 방법은 크게 아래와 같았다. 1. VPC 내 보안 그룹에서 인바운드 규칙 추가 2.퍼블릭 액세스 예로 설정 근데 위 2개로 안됬다. 심지어 이렇게도 해보고 별 걸 다했다. 참고로 ::/0는 IP v6에서 anywhere 조건이다. 무튼 안되서 멘붕 이던 찰나, 갑자기 확인해보고싶은게 있었다. VPC 라우팅 테이블 -> 서브넷 그룹 (RDS)의 연결이 잘되있나? 하고 보던 찰나, VPC의 라우팅 테이블에, RDS 서브넷 그룹이 빠져있음을 확인 RDS 서브넷 그룹을 VPC에 등록해준 순간! 연결띠! 하, 이제 드디어...개발 시작이 가능하다...고생했다....
갑자기 데일리로 디자인 패턴 공부를 하고싶어졌다.. 해야겠다. 짧게나마 공부를 하고 익혀야겠다. 뭔가 디자인 패턴같은건 많이 알수록 좋다고 생각이든다.. ㅎㅎ 일단 목록을 나열해보자. 하루에 하나씩 진행해보고 정리해볼 리스트 말이다. Gof 디자인 패턴 위주로 공부하고 추가로 더 있다면, 뭐 하면되지 ㅋ * 싱글턴 패턴 * 프로토타입 * 팩토리 메소드 * 빌더 * 추상 팩토리 패턴 * 어댑터 * 브릿지 * 컴포지트 * 데코레이터 * 퍼샤드 * 플라이웨이트 * 프록시 * Chain of Responsibility * Command * Interpreter * Iterator * Mediator * Memento * Observer * State * Strategy * Template Method * Vis..
오늘은 TCP의 통신 방법에 대해서 공부를 해보려고 한다. 전송계층에서 사용하는 프로토콜, 목적지 장비까지 전송한 패킷을 상위 특정 응용 프로토콜에게 전달 하는 것에 목적이 있다. *TCP : 연결형 서비스를 지원하는 전송 계층 프로토콜, 인터넷 환경에서 기본으로 사용한다. 호스트간 신뢰성 있는 데이터전달과 흐름을 제어한다. 일반적으로 IP가 데이터의 배달을 처리하고, TCP는 패킷을 추적 및 관리하게 된다. TCP 특징 -연결형 서비스로 가상 회선 방식을 제공한다. -데이터의 경계를 구분하지 않는다. -데이터의 전송순서를 보장한다. -UPD보다 전송속도가 느리다. -신뢰성있는 데이터를 전송한다. * UPD 특징 -비연결형 서비스를 지원하는 전송계층 프로토콜로써, 인터넷상에서 서로 정보를 주고받을때 정보..