Spring
728x90

Spring

728x90

    Spring Jsch SSH Private Key, Dockerfile 복사, Jsch kubernetes pod

    Spring Jsch java ssh 접속private Session session; private ChannelExec channelExec; connect public void connectSSH() throws JSchException { JSch jsch = new JSch(); session = jsch.getSession(username, host, port); session.setPassword(password); session.setConfig("StrictHostKeyCheckikarla.tistory.com SSH Authentication 동작 방식Client → Server : SSH connection을 요청Server → Client : Random message 전송Client..

    Spring Jsch java ssh 접속

    private Session session; private ChannelExec channelExec; connect public void connectSSH() throws JSchException { JSch jsch = new JSch(); session = jsch.getSession(username, host, port); session.setPassword(password); session.setConfig("StrictHostKeyChecking", "no"); session.connect(); } connectSSH(); // ssh 연결 try { Channel channel = session.openChannel("exec"); // 채널 접속 channelExec = (ChannelE..

    Spring @Async 비동기 처리

    @EnableAsync @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args);} } @Service public class MessageService { @Async public void print(String message) { System.out.println(message); } } @RequiredArgsConstructor @RestController public class MessageController { private final MessageService messageService; @..

    Spring websocket 웹소켓, java 채팅 프로그램

    웹 소켓 1. WebSocketConfig 생성 MessageBrokerRegistry enableSimpleBroker("/topic"); // 메시지 브로커를 활성화하고 subscribe 메시지 접두사를 설정합니다. setApplicationDestinationPrefixes("/app"); // 클라이언트에서 발송한 메시지중 Destination이 해당 경로(/app)로 시작하는 메시지를 메시지 브로커에서 처리하게합니다. StompEndpointRegistry addEndpoint("/chatting") // 웹소켓 엔드포인트를 지정합니다. 추후 클라이언트에서 해당 경로로 서버와 handshake 하게 됩니다. withSockJS(); // SockJS를 사용하여 브라우저에서 websocket을 지..

    [Jasypt] Spring Boot yaml 파일 암호화

    Jasypt Java Simplified Encryption의 약자로, 자바로 간단히 암호화할 수 있게 도와주는 라이브러리 파일트리 ├ src │ └─ main │ │ ├─ JasyptConfig.kt │ │ └─ KotlinStudyApplication.kt │ └─ resources │ ├─ application.yml │ └─ jasypt-encryptor-password.txt └─ .gitignore 1. build.gradle에 jasypt-spring-boot-starter 추가 dependencies { implementation ("com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.3") ... 생략 } 2. yaml 파일에 Jasypt ..

    Spring AOP, 관점 지향 프로그래밍

    AOP Aspect-Oriented Programming 관점지향 프로그래밍은 객체지향 프로그래밍을 보완하기 위해 쓰임 핵심 로직과 부가 기능을 분리하여 애플리케이션 전체에 걸쳐 사용되는 부가 기능을 모듈화하여 재사용할 수 있도록 지원하는 것 보통 비즈니스 웹 애플리케이션이라면 사업에 핵심적인 핵심 비즈니스 로직 횡단 관심사(cross-cutting concerns): 애플리케이션 전체를 관통하는 부가 기능 로직 (로깅, 보안, 트랜젝션) 관점 == 관심사( 개발에 필요한 고민이나 염두에 두어야 하는 일) - 파라미터가 올바르게 들어왔을까? - 이 작업을 하는 사용자가 적절한 권한을 가진 사용자인가? - 이 작업에 발생할 수 있는 모든 예외는 어떻게 처리해야 하는가? 핵심 로직은 아니지만, 코드를 온전하..