목록분류 전체보기 (254)
요르딩딩

이번시간에서 globals.properties에 값을 암호화하여 저장하고, 복호화한 값을 로직에서 사용할 수 있는 기능을 구현해보겠습니다. [순서] 1. globals.properties의 원하는 변수 값을 암호화합니다. 2. globals.properties의 원하는 변수에 암호화한 값을 ENC(암호화한 값) 형태로 넣어줍니다. 3. resources > config > spring > context-common.xml에 복호화가 가능하도록 bean설정을 추가하여줍니다. 4. 실행하고자하는 로직에 context-common.xml에서 생성한 bean을 @Autowired로 가져와 사용하면 됩니다. 위의 순서대로 진행을 해보겠습니다. 1. globals.properties의 원하는 변수 값을 암호화합니다..

이번시간에는 웹개발을 하며 Spring에서 주로 사용하는 DB Connection Pool에 대해서 알아보겠습니다. Java에서는 DataSource인터페이스를 통해 Connection Pool을 사용합니다. Connection Pool이란 WAS(web application server)가 실행될때 DB연결을 위해 Pool안에 미리 일정 갯수의 connection객체를 만들어두고, 사용자가 DB연결 요청을하면 Pool에서 생성한 connection 객체를 넘겨주고, 사용이 끝나면 반환받아 보관하는 기법입니다. 아래그림은 Connection pool의 동작과정입니다. Connection Pool 사용의 장점 1. 서버의 부하를 줄여줍니다. Java에서 DB Connection할때 부하가 많이 걸리는 작업..
import java.util.*; import java.io.*; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] a = new String[2]; a = br.readLine().split(" "); int H = Integer.parseInt(a[0]); int M = Integer.parseInt(a[1]); int N = M-45; if(N>0) { M = M-45; } else if(N
https://www.acmicpc.net/source/32155658 로그인 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { @SuppressWarnings("unlikely-arg-type") public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String a[] = new String[3]; for(int i =0; i
https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new Inpu..
https://webdevtechblog.com/%EC%8B%B1%EA%B8%80%ED%84%B4-%ED%8C%A8%ED%84%B4-singleton-pattern-db75ed29c36 싱글턴 패턴 인스턴스가 오직 1개만 생성되는 경우에 사용하는 패턴입니다. 하나의 인스턴스를 메모리에 등록해 여러 스레드가 동시에 해당 인스턴스를 공유하여 사용하게끔 할 수 있으므로, 요청이 많은 곳에서 사용하면 효율적입니다. [주의할점] 여러 스레드가 공유하므로, 동시성 문제를 고려해야합니다. [자바의 싱글턴 패턴 특징] private constructor를 가지고, static method를 사용합니다. [Eager Initialization (이른 초기화, Thread-safe)] 특징 static키워드의 특징을 이용..

이번시간에는 지난번에 적용한 환경별 resource적용에 이어 이번에는 globals.properties에 변수를 선언하여 사용하는 방법에 대해 공부해보겠습니다. 1. globals.properties 폴더 생성 및 선언 지난시간에 resource-dev를 바라보도록 선언을 했기에 아래와 같은 위치에 생성했습니다. 보통 환경별로 나누어 사용하는 목적이므로 이렇게 진행하겠습니다. 2. 생성한 globals.properties폴더 경로 설정 및 적용 1. properties를 사용하기 위해서는 아래 그림처럼 beans에 util설정을 해준다. 2. globals.properties 폴더를 읽을 수 있도록 PropertyConfigurer에 경로를 추가해줍니다. 3. util로 사용할 id,경로를 java c..

이번시간에는 회의시간에 발표한 소캣관련 간단한 ppt를 첨부하여 설명을 대체하도록 하겠습니다. 아래는 직접 테스트해본 소스와 디버깅결과를 첨부하였습니다. 참고해주시면 됩니다. 1. Server Socket @Service("socketServerService") public class socketServerImpl implements socketServerService { @SuppressWarnings("resource") public void socketServer() { try { System.out.println("Server Socket 생성"); ServerSocket serverSocket = new ServerSocket(6080); // 현재 아이피로 8981포트를 사용하여 서버 오픈 w..