SimpleUrlAuthenticationSuccessHandler는 로그인 성공 시 redirect할 경로를 설정하거나, 이후 어떤 처리를 할 지 설정한다. 기본적으로 AuthenticationSuccessHandler 인터페이스를 구현하고 있고, 커스텀 로직을 구현
기존에는 input type=file 태그에서 파일을 선택해서 controller단에서 Multipart\[]로 받으면 그 파일 정보가 어디에 저장이 되는 지 몰랐고, 그저 요청했으니 계속 그 정보가 남아있을 것?이라는 막연한 생각만 했었다. 결론은 "아니다". 스프링
페이팔로 결제를 하고 결제 완료 시 텔레그램 알림이 뜨도록 하는 기능을 만들어 봤다. 이번 포스팅은 Telegram Bot을 연동하는 방법을 설명하겠다. 준비물 : bot으로 사용할 Telegram 계정 나의 경우 그냥 내 Telegram 계정으로 만들었다. Teleg
저번에 이어서 텔레그램봇에 메세지를 전달해 보자. 환경 : spring boot 2 + gradle Component를 작성한다. 텔레그램봇 연동할 key값들은 iv로 선언한다.텔레그램봇에 들어가는 기본 key 정보들은 별도 application.properties에
스프링 부트 3버전대부터 자바 17을 사용해야 한다. 자바 버전이 낮으니 실행시 java 15 어쩌고 자바 버전 에러가 나온다. 인텔리제이에서 SDK를 다운받고 3가지 설정을 해주자. 먼저 인텔리제이에서 oraclegralvm 17을 설치한다. (그랄브이엠)projec
카프카는 Pub-Sub 모델의 메시지 큐 형태로 동작하며 고성능으로 분산 이벤트를 처리할 수 있다. 메세지 큐에 대한 개념이 선행되어 있어야 한다. 참고 사이트 https://velog.io/@holicme7/Apache-Kafka-카프카란-무엇인가Window
먼저 블로그를 보고 풀링과 웹소켓의 차이를 알고 sse를 보는 게 좋다. 풀링 : 가장 기본. request와 response의 핑퐁으로 요청, 응답이 이루어지고 송/수신자가 누구인지 매번 확인한다. 웹소켓 : client, server 간에 커넥션을 맺고, 커넥션이
두 개의 별도 프로젝트(kafka-basic, sss-basic)를 생성한 다음, 각각 필요 부분을 수정했다. 처음에 전체 로직을 정확히 이해 못해서 돌고 돌은 것이 아쉽다. 이해가 선행되면 코딩이 줄어든다. 카프카에서 producer 코드를 작성한다. sse에서 카프
Overview Spring boot 환경에서 Caching을 위해 Redis를 연동하는 삽질 도중, Redis Caching을 위해 꼭 RedisTemplate이나 dialect방식이 필요하지 않다는 것을 배웠다. Caching에서는 다른 방식을 쓸 것이지만,
스프링 캐시 테스트 사용자 추가 사용자 조회 사용자 desc 변경 (캐시를 삭제하지 않을 경우)디비 변경사항 확인 사용자 desc 변경 (캐시를 삭제한 경우)디비 변경사항 확인 4-1. 캐시를 안 지운 상태에서 조회디비가 변경되었음에도 기존 Redis 캐시에서 가지고
Spring Caching 기능을 테스트해보면서 너무 Redis를 깊게 파고 이걸 하려니 더 헷갈리지 않느냐는 지적을 받았다. 이에 덧붙여 들은 설명을 풀어보고자 한다.어노테이션의 value와 map 안의 value가 굉장히 헷갈렸다;;결론은 어노테이션의 value는
Overview Spring Caching 기능을 H2 DB와 Redis를 사용해서 실습해보았다. 이 글을 읽기 앞서, 이전 포스팅을 보고 오는 것을 추천한다.
Spring Batch + Scheduler를 이용해서 기초적인 Job, Step을 등록하고 jsonplaceholder.com api를 연동해서 데이터를 일정 시간마다 불러와서 H2에 저장해보자. Windows Spring Boot 3.1.5Spring Batch 5
Http통신을 위한 기존의 RestTemplate은 비동기를 지원하지 않을 뿐더러 너무 성능이 비효율적이다. 이제 비동기 지원 + 효율적인 WebFlux를 공부하자.
회사 프로젝트 내에서 어떤 방식으로 통신할 것이냐 이야기에서 FeignClient 이야기가 나왔다. 한번 예제로 학습해 보자.
카카오 로그인을 FeignClient로 바꿔보자.
api url을 조합해서 실행시 환경에 등록하자
POI 라이브러리로 액셀 파일을 DB에 저장해보자.
ObjectMapper를 써봤던 경험과, ObjectMapper.readValue()에서 생기는 예외처리를 할 때 SW 보안에 안 걸리게 하는 법을 적었다.
사용자 시스템 A가 있고, 관리자 시스템 B가 있다. 둘다 백엔드 어플리케이션이다. A는 B의 설정값을 feign으로 호출하면 B가 DB로 조회해서 응답한다. 결과적으로 A의 프론트가 이를 받아서 A 시스템에 적용한다.
controller에서 api를 호출할 때는 mapper 인터페이스 내부 메서드에서 파라미터를 아래 기준으로 어노테이션을 처리했다.
사이드 프로젝트하면서 gradle build해서 jar를 생성하려는데 jvm을 최소 17은 써야 하는데 현재 11이라서 계속 빌드에 실패했다.