profile
공부 정리 블로그

Java 21의 List 신기능

자바21이 나오면서 List에 새로운 기능이 나온다고 한다.SequencedCollection 라는 인터페이스가 생기고 그 밑에 addFirst() , addLast(), removeFirst(), removeLast() 같은 메서드들이 생긴다고 한다.이름에서 알 수

2023년 9월 13일
·
0개의 댓글
·

sqlBuilder 만들어 보기

이미 SQL을 사용하기 쉽게 해주는 많은 라이브러리들이 있고, 그 중에서 제일 유명한 것이 바로 MyBatis나 JOOQ가 있다.이 외에도 JPA를 주로 사용할때 많이 사용하는 Querydsl 같은 것도 있음. 그럼에도 한번 내가 SQL 만들 때 어떻게 하면 좋을지 생

2023년 9월 9일
·
0개의 댓글
·

동시성 문제

동시에 여러 요청이 들어올 시? -> 요청이 정확하게 반영되지 않는다. database에 접근해서 데이터를 수정할 때 동시에 수정이 일어나 충돌이 일어날 수 있습니다선착순 이벤트1\. 쿠폰이 제한 개수 이상으로 발급, 2\. 이벤트의 트래픽으로 다른 서비스가 영향을 받

2023년 9월 8일
·
0개의 댓글
·

port kill 하는 법

터미널 명령어로 port kill 하는 법삭제해야될 포트 검색으로 PID 찾기PID 찾기 - 여기서 ex 12345

2023년 8월 28일
·
0개의 댓글
·

좋은 객체 설계의 법칙

객체의 내부 구조에 강하게 결합되지 않게 하라낯선 자에게 말하지 말라.오직 인접한 이웃하고만 말하라(java or C클래스가 특정한 조건을 만족하는 대상에게만 메시지를 전송하도록 프로그래밍 해야한다. 클래스 내부의 메서드가 아래 조건을 만족하는 인스턴스에만 메시지를 전

2023년 8월 28일
·
0개의 댓글
·

메시지, 메서드

메시지의 중요성 객체지향 프로그래밍에 대한 초보자들의 실수 - '클래스'를 중심에 놓는다 실제 처음 입문할 클래스를 직접 만지고 구현할 수 있는 도구 하지만 이는 어디까지나 중요한 '도구' 일 뿐이다. 무엇을 중심에 놓아야 하나? - '객체', 더 정확하게는 협력안

2023년 8월 28일
·
0개의 댓글
·

CQRS

Command Query Responsibility Segregation 의 앞글자를 따서 CQRS간단하게 파악해보기..간단하게 생각하자면? 데이터 저장소로부터의 읽기와 업데이트 작업을 분리하는 패턴: 코드만 분리하는 것은 아님. 구현 방식, 규모에 따라 DB나 프로세

2023년 8월 26일
·
0개의 댓글
·

JPA Repository 상속을 받지 않는 이유

Spring Data Jpa를 사용하면 JpaRepository를 상속받아 쓸 수 있다.이렇게 하면 간편하게 이미 만들어진 기능을 쉽게 사용 가능하다.그런데 JpaRepository를 상속받지 않는 것에 대한 이유를 읽어 정리해보자고 한다.명령 모델이란? -> CQR

2023년 8월 26일
·
0개의 댓글
·

cloud 서비스 생성 및 올리기

VPC 생성 Network ACL -> private , public 생성 Subnet 생성 -> public db, public web 생성 ACG 생성 (여기서 Inbound 잘 설정해줘야 된다!) 이후 Cloud MySQL과(private으로 하면 cl

2023년 8월 26일
·
0개의 댓글
·

TDD

느낀점과 중요한 점을 몇가지 알아 보자.테스트를 먼저 정의하라어떤 것을 테스트할지 먼저 테스트를 만들고 나서 실제 작동 코드를 작성하여 테스트 통과 시키기어떻게든 테스트가 통과하면 된다처음부터 너무 완벽하게 짤 필요가 없음. 테스트를 통과시키는 코드를 어떻게든 짜면 되

2023년 8월 24일
·
0개의 댓글
·

자바의 가변인자

자바의 가변인자에 대해 알아보자이렇게 가끔 매개변수로 받는 파라미터들에 타입... 변수명 같이 점이 세개 붙어 있는 것을 본적이 있을 것이다. 이런 변수는 가변인자를 사용한 것인데 말 그대로 '가변', 형태나 성질이 바뀔 수 있다는 말로 매개변수의 개수가 동적으로 바뀔

2023년 8월 23일
·
0개의 댓글
·

객체에 대한 고민

객체지향의 사실과오해라는 책을 읽으며 객체에 대한 개념이 조금 더 잡힌것 같다. 같은 작가님이 쓰신 '오브젝트' 라는 책도 있는데, 그 책도 읽고 있는 중이다.역할, 책임, 협력 - > 객체에 부여된 역할은 그 객체가 해야할 책임을 낳는다.전지전능한 객체? -> 하나의

2023년 8월 19일
·
0개의 댓글
·

CI/CD

많은 기업들이 개발 프로세스로 CI/CD를 사용하고 있다. CI / CD 란? CI - Continuous Integration 지속적인 통합 CD - Continuous Delivery (Deployment) 지속적인 제공(배포) 애플리케이션 개발 단

2023년 7월 20일
·
1개의 댓글
·

Docker

Docker란?Application, System Tools, Dependencies등을 묶어서 어떠한 환경에도 쉽게 배포하고 안정적으로 구동할 수 있게 해주는 패키징 툴의 역할Virtual Machine과 비슷하지만 VM은 운영체제를 포함하고있고, VM machine

2023년 7월 20일
·
1개의 댓글
·

Multi Module

처음에는 멀티 모듈이 MSA인줄 알았는데, 서로가 다른 것이라는 것을 깨달음. 다만 모노릭보다 멀티 모듈이 좀 더 MSA와 비슷한 시스템이고, 나중에 마이그레이션할때 더 쉽게 갈 수 있다고 한다. MSA - API Gateway를 통한 기능별 API 서버 분할 M

2023년 7월 19일
·
1개의 댓글
·

엑츄에이터와 모니터링

엑츄에이터를 통해 들어오는 정보를 좀 더 시각적으로 나타내기 위해서 사용 할 수있는 모니터링 도구들이 있다. 밑의 3가지도 유명한 모니터링 도구들이다마이크로미터프로메테우스그라파나보통 이 세가지를 함께 사용하는 경우가 많다.애플리케이션의 메트릭을 마이크로미터가 정한 표준

2023년 7월 15일
·
0개의 댓글
·

role & authority

role : 역할 = 유저, 관리자, 손님 등등..authority : 권한 = 글쓰기, 글 삭제, 정지 등등..hasRole hasAuthority 이런식으로 줄 수 있음..details에서 설정할때는 역할이라는 것을 인식하려고 하면, "ROLE역할", 권한이라는 것

2023년 7월 14일
·
0개의 댓글
·

Spring의 http 통신

RestTemplateSpring 3부터 지원, REST API 호출이후 응답을 받을 때까지 기다리는 동기 방식AsyncRestTemplateSpring 4에 추가된 비동기 RestTemplate이다.WebClientSpring 5에 추가된 논블럭, 리엑티브 웹 클라이

2023년 7월 12일
·
0개의 댓글
·

Jackson vs Gson

Java에서 Json을 다루다 Springboot 사용시 포함되어있는 Jackson의 ObjectMapper를 사용해왔음.그런데 Gson이라는 다른 라이브러리도 있다는 것을 알게되었고, 둘을 한번 비교해 봄.스프링부트 사용시 별도의 설정 없이 사용하기 편한 Jackso

2023년 7월 10일
·
0개의 댓글
·

cloud server에 수동 업로드

로컬의 파일을 서버에 옮긴느 방법에는 여러가지가 있는데, 대표적으로 사용하는 방법 scp, rsync 등의 방법이 있다. 로컬 -> 원격지로 원격지 -> 로컬 그렇게 jar 파일을 옮겼으면 jar 파일을 실행하면 되는가? -> 하지만 실행이 되지 않는다. 왜냐

2023년 7월 4일
·
0개의 댓글
·