gradle에서 원격접속 키파일 포멧 PEM 변경

gradle에서 원격으로 접속하기 위해 아래와 같이 ssh정보를 작성함 아래를 참고함 이것은 jsch의 문제입니다. 이것이 jsch 0.1.55에서 수정되었는지는 모르겠지만, 그렇지 않을 것 같지만 누군가 수정해 주었으면 합니다! 최신 버전의 OpenSSH(7.8 이상)는 기본적으로 다음으로 시작하는 새로운 OpenSSH 형식으로 키를 생성합니다. —-BEGIN OPENSSH 개인 키—– JSch는 이 키 형식을 지원하지 않습니다. ssh-keygen을 사용하여 키를 클래식 OpenSSH 형식으로 변환할 … Read more

HttpServletRequest 여러번 읽기(HttpRequestServlet 래핑)

간단한 flow 설명 request (요청) -> 디스패처 서블릿 -> 컨트롤러의 객체로 값을 바인딩 하는 과정에서 바디 데이터 소비 -> 컨트롤러의 request body 비워져 있음 request.getReader()에서 InputStream을 생성하는데, 이걸 tomcat에서 한번만 사용할 수 있도록 막아두어서, 한번 read한 body값은 다시 읽을 수 없게 되어 있었다. 1. HttpServletRequestWrapper 상속받아 클래스 생성 재정의 2. OncePerRequestFilter 를 상속받은 클래스의 doFilterInternal … Read more

로그핸들링: logback 설정

일반적인 logback 출력 설정 참조 Logback 으로 쉽고 편리하게 로그 관리를 해볼까요? ⚙️ [스프링부트 (5)] Spring Boot 로그 설정(1) – Logback logstash-logback-encoder GitHub – logfellow/logstash-logback-encoder: Logback JSON encoder and appenders JSON 으로 로그파일 출력하기 Spring boot LogBack for ELK Stack

AOP적용 에러: No thread-bound request found

​​ AOP적용 에러 @Aspect 로 전체 com.app.parent 하위 폴더에 동일한 메서드를 걸어놔서 스케쥴링 호출할때도 RequestContextHolder를 못불러오는데 자꾸 불러오려니 에러가 나서 범위를 com.app.parent.controller 하위로 제한해줌 스케줄링 설정엔 여러 방법이 있지만 어노테이션이 제일 간단하다 위에 추가해주고 task:annotation-driven/ 해주고 component-scan만 제대로 설정해주면됨 아니면 직접 클래스를 지정하는 방법도 있음 클래스랑 메서드는 걍 이렇게

VS Code로 Spring Boot 개발환경 세팅 개발(JSP 사용)

VSCODE setting build.gradle application.yml 스프링부트에는 정적자원 접근을 위한 디폴트 설정이 있다 보면 스프링부트는 resources > static 에서 정적자원에 접근한다 (자동생성된폴더) static 파일 아래 hello.html 파일을 두고 localhost:8080/hello.html 을 호출하면 정상적으로 로드된다 Tiles TilesConfig.java layout.jsp Controller

Spring Security 구현과 JWT 토큰 로그인

본 내용은 최주호님의 스프링부트 시큐리티 & JWT 강의를 듣고 정리한 내용 입니다. 주석의 내용까지 차근차근 살펴 읽어 보시면 크게 어렵지 않으실 겁니다. 기본형태 제일 기본적인 형태를 보려면 Config쪽에 WebMvcConfig 만 남기고 주석처리, controller 에는 아래 / 경로만 설정해준다. 시큐리티 의존성을 설치 해주면 처음엔 기본적으로 http://localhost:8080/login으로 이동했을때 로그인 페이지가 생긴다. application.yml 에 아래처럼 시큐리티 설정을 해주면 … Read more

AWS 라이트세일(lightsail)로 워드프레스 블로그 설치해야하는 이유

워드프레스로 블로그를 처음 시작하거나 혹은 티스토리로 열심히 블로그를 키워오시다가 카카오 화재사건 이후로 타격을 맞으신후 카카오에 의해 좌지우지 되기 보단 좀 더 안전한 방식으로 블로그를 운영하기 위해 워드프레스를 알아보기 시작한 분들도 많아졌던 시기가 아마 작년부터 였을것입니다. 한동안 유튜브에도 워드프레스 블로그를 시작해야한다는 영상들이 많이 뜨면서 클라우드 웨이즈라는 호스팅을 추천하고 본인은 커미션을 받으며 부업이 간절한 사람들을 현혹하는 류의 … Read more

슬랙 웹훅(Slack Webhook) API 생성하기

현대의 업무 환경에서는 효율적인 커뮤니케이션 도구가 필수적입니다. 그 중에서도 슬랙(Slack)은 많은 기업과 조직에서 널리 사용되고 있으며, 다양한 기능과 유연성으로 인해 인기를 끌고 있습니다. 슬랙 웹훅 Webhook API를 활용하면 다른 애플리케이션과 슬랙을 연동하여 메시지를 자동으로 전송하거나 이벤트를 트리거할 수 있습니다. 이를 통해 업무 프로세스를 자동화하고 효율성을 높일 수 있습니다. 이번 글에서는 슬랙 웹훅(Slack Webhook) API를 생성하는 … Read more

자바 지네릭스(generics) 와일드 카드, 지네릭 메서드와 형변환

generics 지네릭스란? 지네릭 클래스 선언 타입을 지정해주지 않을때 매개변수와의 유사성 지네릭 클래스의 제한 지네릭 클래스의 객체 생성과 사용 제한된 지네릭 클래스 extends 사용 Fruit와 Eatable 인터페이스 구현 와일드 카드 외일드 카드의 필요성 Collections.sort()를 이용한 정렬 이는 Collections.sort()를 이용해 appleBox에 담긴 과일을 무게별로 정렬하는 것이다. Collections의 선언부는 다음과 같다 이는 지네릭 메서드이다. list는 정렬할 대상, c는 … Read more