목록분류 전체보기 (796)
코드 그라데이션
JPA는 귀찮은 작업들을 처리해주는 편리한 도구. 예를 들면, 지금 코드에 있는 Product라는 것도 관계형 데이터베이스에 있는 하나의 row인데 쿼리를 직접 짤 필요 없이 객체 단위로 저장을 하거나 조회를 하고, 객체 째로 주면 jpa가 알아서 Insert 쿼리를 날려주고, 조회를 한다고 하면 그 row를 다시 객체로 변환하는 귀찮은 작업들을 도와주는 것도 맞다. "패러다임 불일치" 데이터베이스에서 보는 객체는 하나의 row인데, 객체에서는 하나의 클래스(다름) 이 부분을 자동 변환을 통해 해결해줌. 그런데 이러한 작업을 하려면, 적어도 "데이터베이스에 있는 이 row는 클래스와 어떻게 매핑이 될 거야" 라고 하는 최소한의 정보는 줘야 해. 그게 이제 "매핑 관계 설정" 이 되는 거지. @Entity..
Q1. JPA는 무엇인가? JPA는, SQL을 쓰지 않고 데이터를 생성, 조회, 수정, 삭제할 수 있도록 해주는 번역기입니다.영속성 관리 도구입니다. 단기 작업용이라 휘발되어도 상관없는 데이터들이 있고, 어딘가에 적어둔 다음 두고두고 이용하는 데이터들이 있는데요. 데이터를 적어두고 관리해주는게 데이터베이스이고, 데이터베이스와 소통을 1) 자바를 이용해서 편하게 하고, 2) 작업이 빠르고 견고하게 일어날 수 있도록 도와주는 녀석이 JPA 라고 생각하시면 됩니다. Q2. Restful API란? RESTful은 REST의 설계 규칙을 잘 지켜서 설계된 API를 RESTful한 API라고 합니다. 즉, REST의 원리를 잘 따르는 시스템을 RESTful이란 용어로 지칭합니다. Q3. Controller, Se..
1. 내 브랜치 A를 파서 작업한다. 2. 작업 -> 커밋 -> 푸시 하면, Github에 Create Pull Request가 등장 3. 검토 후 관리자가 Merge Pull Request를 하면, 내 작업물인 브랜치 A는 원격의 main(dev)에 합쳐진다. 4. 그럼 이제 내 로컬의 main(dev)에도 반영을 해줘야 하므로, A -> main(dev)로 체크아웃 한 후 pull을 누르면, 내 로컬 main(dev)에도 merge 된 게 반영이 된다. ---- 여기까지 주의사항 * 이 상황에서 본인의 작업 내역을 커밋 시키지 않은 채로 pull을 해오면 충돌이 발생할 가능성이 있다. 5. 그럼 로컬의 main(dev)에 당겨온 것을 내 브랜치로 가져와서 작업을 해야하니까, -> 다시 내 브랜치로 체..
람다식 _03_Lambda //Day16 public class _03_Lamda { public static void main(String[] args) { //람다식 : 간결한 형태의 코드 뭉치 // (전달값 1, 전달값 2 -> { 코드 } } // 기본 형태 : 뭔가를 출력하는 함수 /* public void print() { String s = "test"; System.out.println(s); } */ // 이걸 람다식으로 바꾸는 연습 // 1. 람다식은 public과 메서드 명이 필요가 없다(지움) // 2. 람다식에서는 무언가 리턴 타입이 필요한 부분이 있다면 자동으로 지정해주므로 void 삭제 // 3. 전달값과 메서드 바디 사이에 화살표로 연결 필요 // 지금까지 하면 print 메..
후발대수업_16. 람다식(Lambda), 함수형 인터페이스 1. 람다 함수(Lambda Function)란? 람다 함수는 함수형 프로그래밍 언어에서 사용되는 개념으로 익명 함수라고도 한다.Java 8 부터 지원되며, 불필요한 코드를 줄이고 가독성을 향상시키는 것을 목적으로 두고있다. 2. 람다 함수의 특징 메소드의 매개변수로 전달될 수 있고, 변수에 저장될 수 있다.즉, 어떤 전달되는 매개변수에 따라서 행위가 결정될 수 있음을 의미한다. 컴파일러 추론에 의지하고 추론이 가능한 코드는 모두 제거해 코드를 간결하게 한다. 3. 람다식 표현 파라미터와 몸체로 구분된다. 파라미터와 몸체 사이에 > 구분을 추가하여 람다식을 완성시킨다. 몸체 부분이 단일 행일 경우 중괄호와 return문을 생략할 수 있다. ( 파..
_08_Iterator public class _08_Iterator { public static void main(String[] args) { // 이터레이터 // 컬렉션 프레임워크의 데이터를 순회하는 거라고 생각하면 쉽다. List list = new ArrayList(); // ctrl하고 클릭해보면 List는 인터페이스이고, ArrayList는 클래스이다. // ArrayList는 List 인터페이스를 상속받는 형태로 구현이 되는 것이에요. // 그래서 이는 다형성 사례라고 할 수 있음. LinkedList 써도 마찬가지 //추가 // 알 수 없는 오류로 잘못 된 더미 값이 들어온다고 쳐보자 list.add("유재석"); list.add("(알 수 없음)"); list.add("김종국"); li..
후발대수업_15. Iterator, 퀴즈, 익명클래스 Iterator : 프로그래밍에서 이터레이터는 개발자가 컨테이너, 특히 리스트를 순회할 수 있게 해주는 객체다. 이터레이터는 데이터베이스 커서와 동작이 유사하다. 객체 지향적 프로그래밍에서 배열이나 그와 유사한 자료구조의 내부요소를 순회하는 객체 배열이나, 셋, 맵을 순회하고 불필요한 데이터를 바로 삭제 할 수 있다. 익명클래스는 내부클래스 (Inner Class) 일종으로 단어 그대로 이름이 없는 클래스를 말한다. 익명 클래스는 클래스 정의와 동시에 객체를 생성할 수 있다. 따로 클래스 정의 없이 메소드 내에서 바로 클래스를 생성해 인스턴스화 할 수 있으며 이렇게 클래스의 선언과 객체의 생성을 동시에 하기 때문에 단 한번만 사용 될 수 있고, 익명으..