전체 글 876

Rest API와 Grpc API 서버를 하나로 서비스 할 수 있다고?!

Rest API와 Grpc API 서버를 하나로 서비스 할 수 있다고?! - 부제 (armeria + kotlin + spring boot integration)결론적으로 내가 하는 게 아니라, armeria가 다 해줍니다. (킹왕짱 armeria의 아버지 이희승님 찬양 합니다.) 요즘은 armeria를 붙여서 써 보고 있는 중인데, armeria의 장점은 크게 보면, 아래와 같다.비동기 웹 프레임워크grpc, graphql, thrift 동시 지원 가능 (한 서버로 프로토콜 다르게 서빙이 가능한 최고의 장점)spring 과도 통합이 가능하다.spring은 크게 보면, 2가지가 있다.spring frameworkspring webfluxarmeria는 spring webflux와도 연동이 가능하고, sp..

정보 - Evernote Bye, Welcome to Upnote

네이버 블로그에 썼으나, 티스토리에도 같이 써도 될 내용이라 같은 내용을 옮겨 왔습니다. 원래 에버노트 유료 결제 유저였습니다. 꽤 오랜 기간 사용 했죠. 그래도 노트는 많지는 않았는데, 대략 700개정도 있었습니다. 물론, 이는 obsidian으로 쓰고 있는 노트들은 따로 있죠. 제 본업인, 프로그래밍 관련 노트들은 obsidian으로 쓰고 있습니다. 그외의 영역은 에버노트를 쓰곤 했는데, 이게 에버노트가 인수 되면서 비용이 10만원 연결제가 되면서 한번 작년에 그렇게 써 봤는데, 10만원의 가치가 있나? 애매했습니다. 그래서 업노트로 이사가게 되었고, 업노트는 에버노트 export 형식을 지원 합니다. (이것부터 대박임)https://getupnote.com/월구독도 있지만, 평생 구독이 현재 $39..

Tool 2024.07.16

kotlin - jackson 관련 이슈 (토비의 스프링 6 강의)

토비님의 스프링 6 강의를 듣다가, 아래와 같은 코드를 입력 했었다. (자바로 안하고, 코틀린으로 작성 했을때의 문제이다)data class Payment( val orderId: Long, val currency: String, val foreignCurrencyAmount: BigDecimal, val exchangeRate: BigDecimal, val convertedAmount: BigDecimal, val validUntil: LocalDateTime,)import com.fasterxml.jackson.annotation.JsonIgnorePropertiesimport java.math.BigDecimal@JsonIgnoreProperties(ignoreUnknown = true)..

SDKMAN - JDK management kit

sdkman installhttps://sdkman.io/installsdkman 설치 스크립트curl -s "https://get.sdkman.io" | bashusage사용 방법은 아래 페이지에서 확인 할 수 있고, 쉽게 쓸 수 있다.https://sdkman.io/usagejdksjdk의 다양한 버전을 쓸 수 있어서 관리 하기 좋은 것 같다.https://sdkman.io/jdkssdk env init # 특정 버전을 고정 하고 싶을때, 특정 디렉토리 내에서 환경 설정 파일을 생성하고 쓰기 좋다.sdk list javasdk install java 17.0.11-temsdk default java 17.0.11-temsdks해당 sdk는 groovy나, scala, kotlin도 설치가 자유롭다. ..

MacOS 2024.06.27

퍼플렉시티 AI 검색의 지평

https://www.perplexity.ai PerplexityPerplexity은 정확하고, 신뢰할 수 있고, 실시간으로 모든 질문에 대한 답변을 제공하는 무료 AI 지원 답변 엔진입니다.www.perplexity.ai조금 써봤는데, 플러그인도 이미 개발 되어 있고, 구글 검색 보다 좀 더 편리하다?는 느낌을 많이 받는데, 진짜 지금은 타자 검색을 하지만, 나중에는 음성 검색으로 모든 것을 할 수 있겠다 싶다. 그런데, 구글도 여전히 구 시대의 패러다임을 갖고 있다. 이게, 한때는 혁신이었다. 근 20년이 넘는 혁신으로 페이지 랭크 알고리즘으로 버텨 왔는데, 앞으로는 사람들만의 저작물이 있는 시대가 아니라, AI로 찾아야 하는 시대가 됐다고 생각 된다.향후 20년의 지평은 무엇이 될까? 앞으로는 AI..

Tool 2024.06.21

Conventional commit plugin 추천 - commit prefix 자동화를 하자.

요즘 추세가 conventional commit 형태로 작성하는게 국룰이 된 것 같다. ref. https://www.conventionalcommits.org/en/v1.0.0/ Conventional Commits A specification for adding human and machine readable meaning to commit messages www.conventionalcommits.org 고민하다 보니 수동으로 쓰자니, 애매하여 찾아 보니 플러그인이 역시나 있었다. https://plugins.jetbrains.com/plugin/13389-conventional-commit Conventional Commit - IntelliJ IDEs Plugin | Marketplace The..

Tool 2024.03.28

스프링 핵심 원리 기본편 강의 - ComponentScan과 의존 관계 자동 주입

@ComponentScan 자동으로 @Component가 붙은 컴포넌트를 해당 빈 등록을 해준다. (싱글톤) 빈 이름은 기본전략은 MemberServiceImpl class -> memberServiceImpl로 앞의 글자만 소문자로 바꿔서 등록 해준다. 이름을 수정 할 수 있음. 15:47:41.702 [Test worker] DEBUG org.springframework.context.annotation.AnnotationConfigApplicationContext - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@d049e53 15:47:41.708 [Test worker] DEBUG org.s..

스프링 핵심 원리 기본편 강의 - Bean Definition

BeanDefinition 스프링은 어떻게 이런 다양한 설정 형식을 지원하는 것일까? 그 중심에는 BeanDefinition 이라는 추상화가 있다. BeanDefinition 정보 BeanClassName: 생성할 빈의 클래스 명(자바 설정 처럼 팩토리 역할의 빈을 사용하면 없음) factoryBeanName: 팩토리 역할의 빈을 사용할 경우 이름, 예) appConfig factoryMethodName: 빈을 생성할 팩토리 메서드 지정, 예) memberService Scope: 싱글톤(기본값) lazyInit: 스프링 컨테이너를 생성할 때 빈을 생성하는 것이 아니라, 실제 빈을 사용할 때 까지 최대한 생성을 지연처리 하는지 여부 InitMethodName: 빈을 생성하고, 의존관계를 적용한 뒤에 호출..

반응형