전체 글 375

DI & AOP

IoC, DI IoC framework이 필요한 요소를 제공함(개발자가 만들지 않음) Spring에 한정해서 IoC == DI 라고 생각해도 큰 문제는 안된다. DI 생성자 DI setter DI DL; Dependency Lookup DI 구현 xml xml + annotation java 설정 file : xml이 하던 일을 자바에게 시킴 @Configuration Annotation Autowired 타입 기준으로 동일한 객체를 자동을 주입시킴 타입이 같은 객체가 존재한다면 @Qualifier을 이용(혹은 name 속성으로 별칭달아서 이용, 원칙은 @Qualifier) 존재 유무는 XML 파일에 명시 Component 설정한 패키지를 순회하여 @Component가 달린 클래스를 자동으로 객체로 만들..

05. Entity Relationship

23.06.20 엔티티 연관 관계; JPA User : Ad = 1 : N User : Web_Info = 1 : N User : Web_Like = 1 : N User : Web_View = 1 : N Web_Info : Web_Eps = 1 : N Web_Info : Web_Like = 1 : N Web_Info : Web_View = 1 : N Web_Eps : Web_View = 1 : 1 User 유저(일반) 유저가 여러 개의 관심 웹툰을 지정할 수 있음 유저가 웹툰을 조회한 경우도 DB에 저장 유저가 여러 웹툰을 조회할 수 있음 웹툰을 조회할 땐, 웹툰의 여러 회차 중 하나의 회차만이 가장 최근 조회 데이터가 될 예정 유저(작가) 유저가 여러 개의 웹툰을 제작할 수 있음 유저(기업) 유저가 여..

Spring Framework

Spring framework Enterprise application에서 필요로 하는 기능을 제공하는 프레임워크 Enterprise application 원격의 환경에서 네트워크로 활용하는 어플리케이션 web이라고 봐도 무방하다. JEE가 제공하는 다수의 기능을 지원하는 경량화 프레임워크 이전에 쓰던 프레임워크의 모든 기능을 종합적으로 사용하면서 경량화 된 솔루션 JEE의 기능 + DI + AOP JEE: Java Enterprise Edition DI: Dependency Injection AOP: Aspect Oriented Programming Spring framework의 목표 java enterprise applicaion의 기반(infro) 제공하는 것. 그로인해 개발자는 domain pr..

[Combination] 조합 템플릿 코드

import java.util.Arrays; import java.util.Scanner; /* 총 개수: N 뽑는 개수: R 순열과는 다르게 isSelected를 사용하지 않고, 재귀 내의 반복문의 시작점인 start를 변경해줌으로써 조합 형태의 경우의 수 구현 */ public class Combination { static int N, R, totalCnt; static int[] totals, selected; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); R = sc.nextInt(); totals = new int[N]; selected = new int[R]; for ..

[Permutation] 순열 템플릿 코드

import java.util.Arrays; import java.util.Scanner; /* 총 개수: N 뽑는 개수: R isSelected를 사용함으로써 사용 체크 및 순열의 형태의 경우의 수를 만들어냄 */ public class Permutation { static int N, R, totalCnt; static int[] totals, selected; static boolean[] isSelected; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); R = sc.nextInt(); totals = new int[N]; selected = new int[R]; isSel..