전체 글 11

투자
미국이 금리를 인하한다고 ?

글쓴이는 이과, 공대 출신 IT 업계 종사자로, 금융관련에 전문지식이 없습니다.스스로 공부를 하기 위한 글 입니다.개요투자에 관심이 있으신 분이라면, 미국금리인하에 대하여 많은 소식을 접했을 것이다.따라서 미국 금리가 인하한다면 어떻게 투자를 대응해야할까 공부를 하고 싶고 정리를 하고 싶었습니다. 금리가 인하된다면 어떤 영향이 있을까 ?1. 경제 성장 촉진소비 증가: 대출 금리가 낮아지면 소비자들이 자동차 대출, 주택 담보 대출, 신용 카드 등을 통해 돈을 빌리기가 쉬워집니다. 이는 소비 지출을 증가시켜 경제 성장을 촉진합니다.기업 투자 증가: 기업들이 낮은 금리로 자금을 조달할 수 있어 설비 투자, 연구 개발 등을 증가시킬 수 있습니다. 이는 생산성 향상과 고용 증가로 이어질 수 있습니다.2. 인플레이..

Spring
[MSA 구축해보기_1] SpringBoot + Spring Cloud Gateway

사전 지식 - Spring Cloud Gateway 는 WebFlux와 Reactor 프로젝트를 기반으로 비동기적으로 만들어졌다. - Servlet 대신 netty 서버를 이용한다. - 마이크로 서비스를 위한 API Gateway는 늘어난 http 통신을 빨리빨리 처리하기 위해 nonblocking & asynchronus 하게 돌아가야한다. 인증서버 역할 로그인/회원가입 페이지 MVC Refresh Token과 Access Token 발행 로그아웃 블랙리스트 관리 Refresh Token db 관리 Gateway 첫 토큰 발행 요청(로그인 요청)을 받으면 인증 서버로 전달해서 Access token과 Refresh Token 받아와서 Client에 전달 Client로부터 Refresh Token을 받으..

Spring/Kotlin
[Kotlin + Springboot + JPA] Entity 연관관계 (지연로딩, OrphanRemoval 확인) by Kotlin

Kotlin으로 Springboot 를 해보면서 정상적으로 JPA가 연관관계를 정상적으로 매핑하고 동작하는지 궁금하였다! 그래서 간단한 게시글에 댓글을 구현하여서, Post 엔티티와 Comment 엔티티를 일대다 관계로 매핑을 해보자! 1. Post Entity @Entity @Table(name = "post") class Post( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "post_id") var id: Long = 0, var title: String, var contents: String, @ColumnDefault("0") var view: Long = 0, @Enumerated(EnumType.STRING)..

Spring/Kotlin
[Kotlin+Springboot+JPA] Exception Handling by Kotlin

사용할 클래스 1. ErrorCode : 모든 예외 케이스를 관리 하는 클래스. 2. ErrorResponse: JSON 형식으로 에러 응답 형식 작성. 3. Exception: 기본적으로 제공되는 Exception 이외에 추가할 Exception (예시로 EntityNotFound 그냥 구현). 4. GlobalExceptionHandler - @ControllerAdvice: 프로젝트 전역에서 발생하는 Exception을 잡아주는 클래스 - @ExceptionHandler: 특정 Exception 을 지정해서 별도로 처리함. 1. ErrorCode를 Enum 클래스로 정의 해준다. enum class ErrorCode( private val status: Int, private val errorCod..

Spring/Kotlin
[SpringBoot + Kotlin + JPA] 간단한 게시글 CRUD REST Api 구현.

코틀린으로 server-side 를 공부하기 위해서, 일단 한번 무작정 게시글 작성, 삭제, 수정, 조회 기능을 갖춘 REST Api 를 구현해 보았다. 주요기능 - 게시글 생성 - 게시글 삭제( 실제 DB에서는 보존, 사용자는 조회 불가) - 게시글 수정 - 게시글 조회 ( 조회수 증가) 프로젝트 위 과정의 모든 소스코드는 아래에서 확인하실 수 있습니다.

Spring/Kotlin
[Springboot + Kotlin] Slack 채널 메세지 전송 연동.

동기 새로운 게시글이 작성될 때, 알림을 받고 싶어서 slack 을 이용하기로 정하였고 가벼운 실습을 진행하기로 하였다. 1. Slack -> 앱 -> " Incoming WebHooks"를 추가해준다! 추가를 하고나서, 원하는 채널을 생성 또는 선택 하면 생성되는 WebHook URL 을 복사해줍니다. 예시 : https://hooks.slack.com/services/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 !! 다음과 같은 설정을 할 수 있습니다! !! 2. 프로젝트의 applicatiion.yml 파일에 아래 내용을 추가합니다! (저는 게시글을 생성하면 Slack 에 메세지를 전송해주기 위한 목적으로 생성하겠습니다.) slack: webhook-ur..

Spring/Kotlin
[Kotlin + Springboot + Kotest] Kotest 알아보자.

코틀린으로 서버사이드로 개발을 하던 도중, kotest 라는 테스트 툴에 대해서 알게되었다. 한번 사용해보자! Kotest 준비 Maven dependency 추가해주기. io.kotest kotest-runner-junit5-jvm 4.6.1 test io.kotest kotest-assertions-core-jvm 4.6.1 runtime gradle dependency 추가해주기. //kotest 추가. runtimeOnly("io.kotest:kotest-assertions-core-jvm:4.6.1") testImplementation("io.kotest:kotest-runner-junit5-jvm:4.6.1") Intellij 에서도 플러그인 설치를 해줘야 함! Kotest 사용해보기! 우선 ..

카테고리 없음
[Lombok] NoArgsConstructor, RequiredArgsConstructor, AllArgsConstructor .

@NoArgsConstructor 파라미터가 없는 생성자를 만들어준다. 초기 값이 필요한 final 필드가 있을 경우, 컴파일 에러가 난다. @NoArgsConstructor(force = true) 를 하면, 컴파일 에러르 내지 않고 0 / false / null 로 초기화 해준다. @RequiredArgsConstructor 다음에 해당하는 필들에 대한 파리미터를 갖는 생성자를 만들어준다. - final 필드 - @NonNull 이 지정된 필드 @AllArgsConstructor 모든 필드를 파라미터로 갖는 생성자를 만들어준다.

Spring/Kotlin
[Kotlin + Springboot + JPA] Entity 생성에 관하여.

무작정 코틀린에 대해서 접하였고 기본적인 문법을 공부하고, 간단한 게시판CRUD를 만들면서 참고할만한 글들을 찾아보는데 어떠한 글은 Entity 생성시 data class 를 사용하는 글과, 일반 class를 사용하는 경우가 다양하여서 한번 무슨차이가 있을지 정리해보고 싶었다. 우선 data class 가 뭔지 살펴보자!! 간단한 정보만 정리해보면, https://kotlinlang.org/docs/data-classes.html data 를 저장하기 위한 클래스라고 한다. 컴파일러가 자동으로 primary constructor 의 properties 로 부터 아래의 멤버들을 생성한다. equals() / hashCode() toString(); 선언 순서대로 각 property 에 해당하는 compon..