전체 글 (404) 썸네일형 리스트형 [Spring MVC] JPA / 영속성 컨텍스트 관련 JPA API [JPA] JPA(Java Persistence API) : Java 진영에서 사용하는 ORM(Object-Relational Mapping) 기술의 표준 사용(또는 명세, Specification) * 표준사양 : Java 인터페이스로 사양이 정의되어 있기에 JPA라는 표준 사양을 구현한 구현체는 따로 있다는 것을 의미 * Persistence : 영속성, 지속성의 의미로 무언가를 금방 사라지지 않고 오래 지속되게 한다는 것 즉, JPA 표준 사양을 구현한 구현체를 학습하는 것 데이터 액세스 계층(Data Access Layer) : JPA는 데이터 액세스 계층 상단에 위치 (JPA >> Hibernate ORM >> JDBC API) : 데이터 저장/조회 등의 작업은 JPA를 거쳐 구현체인 Hiber.. [Java MVC] DDD(Domain Driven Design) [DDD(Domain Driven Design)] : 도메인 주도 설계라고 부르며, 도메인 위주의 설계 기법을 의미 - Spring Data JDBC와 DDD는 밀접한 관련이 있기 때문에 DDD 자체의 개념을 완전히 이해하는 것은 어렵지만 Spring Data JDBC에서 사용하는 DDD 기본 개념은 이해해야 함 [Domain] : 용어 자체는 한 마디로 우리가 실제로 현실 세계에서 접하는 업무의 한 영역을 의미 [리포지토리(Repository)] : 데이터 엑세스 게층에서 DB와 상호작용 하는 역할을 하는 인터페이스 [애그리거트(Aggregate)] : 비슷한 범주의 연관된 업무들을 하나로 그룹화 해놓은 그룹 : 애그리거트 내에는 해당 애그리거트를 대표하는 도메인이 존재하며, 하나 이상의 도메인이 있음.. [백준 JAVA] 2738번 - 행렬 덧셈 [문제] N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오. * 입력 : 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다. * 출력 : 첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다. [풀이] 1. 입력받을 행렬의 크기를 지정하기 위해 변수 선언 및 입력을 받음 int n = sc.nextInt(); int m = sc.nextInt(); 2. 2개의 행렬을 더하는 것이기 때문에 2개의 행렬을 선언 .. [백준 JAVA] 2566번- 최댓값 [문제] 아래 그림과 같이 9×9 격자판에 쓰여진 81개의 자연수 또는 0이 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 프로그램을 작성하시오. * 입력 : 첫째 줄부터 아홉 번째 줄까지 한 줄에 아홉 개씩 수가 주어진다. 주어지는 수는 100보다 작은 자연수 또는 0이다. * 출력 : 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. [풀이] 1. 9×9 격자판 안에 숫자를 넣기 위해 9행 9열을 저장할 배열을 선언 int[][] arr = new int[9][9]; 2. 최댓값과 그 행/열의 값을 저장할 배열 혹은 변수 선언 //변수.. [Spring MVC] About 'Spring Data JDBC' * SQL 중심 기술 : 애플리케이션에서 DB에 접근하기 위해 SQL 쿼리문을 애플리케이션 내부에 직접적으로 작성하는 것이 중심이 되는 기술 >> 과거에 많이 사용했으며, 현재는 객체 중심의 기술로 이전하고 있음 : Ex) mybatis, Spring JDBC *객체(Object) 중심 기술 (ORM, Object-Relation Mapping) : 데이터를 SQL 쿼리문 위주로 생각하는 것이 아닌 모든 데이터를 객체(Object) 관점으로 바라보는 기술 : SQL 중심 기술처럼 직접적으로 내부에 SQL 쿼리문을 작성하는 것이 아닌 JAVA 객체(Object)를 이용해 애플리케이션 내부에서 java Object를 SQL 쿼리문으로 자동 변환하여 DB와 테이블에 접근함 : Ex) JPA(Java Persi.. [Spring MVC] About JDBC(Java Database Connectivity) [JDBC(Java Database Connectivity)] : Java 기반 애플리케이션의 코드 레벨에서 사용하는 데이터를 데이터베이스에 저장 및 업데이트 하거나 반대로 데이터베이스에 저장된 데이터를 Java 코드 레벨에서 사용할 수 있도록 해주는 Java에서 제공하는 표준 사양 : JDBC API를 이용해 다양한 벤더(Oracle, MS SQL, MYSQL등) 데이터베이스와 연동 가능 - JDBC API의 사용법을 알 필요는 없으며, JDBC의 동작 흐름을 알면 Spring에서 지원하는 데이터 엑세스 기술을 사용하는데 도움이 됨 [JDBC 동작 흐름] Java 애플리케이션 -> JDBC API -> JDBC 드라이버 -> 데이터베이스 * JDBC API를 사용하기 위해 JDBC 드라이버를 먼저 로딩.. [자료구조/알고리즘] 깊이 우선 탐색 DFS / 너비 우선 탐색 BFS [DFS] 깊이 우선 탐색(DFS, Depth First Search) : 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘 : 하나의 경로를 끝까지 탐색한 후 다음 경로로 넘어가 탬색을 진행 : BFS보다 탐색 시간은 오래걸리지만 모든 노드를 완전히 탐색 가능함 >> 모든 노드를 방문해야 하는 경우 사용 : BFS보다 좀 더 간단히 사용 가능함 >> 스택 또는 재귀함수로 구현함 [BFS] 너비 우선 탐색(BFS, Breathed First Search) : 그래프에서 가까운 노드를 우선적으로 탐색하는 알고리즘 : 최대한 넓게 이동한 다음, 더 이상 갈 수 없을 때 아래로 이동 : 너비를 우선적으로 탐색하는 방법으로 정점 사이의 최단 경로를 찾을 때 사용 >> 최악의 경우 모든 정점을 다 살펴야 함 >.. [Java] super & super() [super] : 자손 클래스에서 조상 클래스로부터 상속받은 멤버를 참조하는데 사용되는 참조변수 >> 즉, 조상 클래스에 존재하는 멤버를 가져와서 사용하는 경우를 의미 (멤버변수와 지역변수의 이름이 같을 때 this를 붙여서 구별했듯 상속받은 멤버와 자신의 멤버의 이름이 동일할 경우 super을 붙여서 구분함) class Ex{ public static void main(String args[]){ Child c = new Child(); c.method(); //Child 클래스를 참조하여 Child 클래스 내 method() 메서드를 사용 } } class Parent {int x = 10;} //super.x class Child extends Parent { // Child 클래스가 Parent .. 이전 1 ··· 39 40 41 42 43 44 45 ··· 51 다음