목록전체 글 (240)
요르딩딩
Bean 1. 빈 또는 빈 오브젝트는 스프링 Ioc방식으로 관리하는 오브젝트라는 뜻입니다. 2. 스프링에서 사용하는 모든 오브젝트가 다 Bean은 아닙니다. 3. 스프링이 직접 생산과 제어를 담당하는 오브젝트만을 Bean이라 부릅니다. Bean Factory 1. 스프링의 Ioc를 담당하는 핵심 컨테이너입니다. 2. 보통은 이를 바로 사용하지 않고, ApplicationContext를 이용합니다. 3. Bean의 생성과 제어 관점에서 얘기할때 부릅니다. Application Context [설명] 1. 이는 Ioc컨테이너, 스프링컨테이너, 빈 팩토리라고 부르기도 합니다. 2. 이는 BeanFactory인터페이스를 상속했으므로 BeanFactory의 확장 Ioc컨테이너라고 보시면 됩니다. (Applicat..
MVC 패턴 (Model , View, Controller) - 디자인패턴 : 과거 소프트웨어 개발과정에서 발견된 설계의 노하우를 축적하여 이름붙여 이후에 재사용하기 좋은 형태로 특정규약을 만들어서 정리한것 (효율적인 코드를 위한 방법론) - 동작 순서 : user > controller > model > contoller > veiw > uesr Model : 어플리케이션의 데이터, 자료 및 이러한 데이터 가공을 책임지는 컴포넌트를 말합니다. 1. 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 합니다. 2. 뷰나 컨트롤러에 대해서 어떤 정보도 알지 말아야 합니다. 3. 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야한 합니다. (모델은 재사용이 가능해야하며, 다른 인터페이스에서도 변하지 ..
이번시간에서 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키워드의 특징을 이용..