| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- backjoon
- 금융IT
- 백준
- 재귀함수
- dfs
- 삼성sw문제
- 자바
- 현대오토에버 코딩테스트
- Java
- 네트워크
- 개발
- dp
- BFS
- 삼성SW테스트
- 데이터베이스
- 멀티스레드
- IT
- 익명클래스
- Android
- 백준 알고리즘
- 조합
- 모바일
- 프로그래머스
- 다이나믹 프로그래밍
- 익명객체
- 알고리즘
- 안드로이드
- CKLU
- 너비탐색
- 언더라이터
- Today
- Total
목록분류 전체보기 (237)
Limky 삽질블로그
엔티티 연관관계를 매핑할 때에는 아래 3가지를 고려해야함 다중성 단방향, 양방향 연관관계의 주인 조금 더 구체적으로 설명하자면,,,,, 다중성 다대일 일대다 일대일 다대다 단방향, 양방향 테이블은 외래 키 하나로 조인을 사용해서 양방향으로 쿼리가 가능함으로 사실상 방향 개념이 없음 반면 객체는 참조용 필드를 가지고 있는 개체만 조회할 수 있음 단방향 : 연관된 객체 중에 한쪽만 참조용 필드를 사용해 한쪽 객체만 참조하고 있음 양방향 : 연관된 객체 모두 각자 참조용 필드를 사용해 양쪽다 객체를 참조하고 있음 연관관계의 주인 양뱡향 객체를 참조하고 있는 경우 관리 포인트가 2곳이기 때문에 키를 효율적으로 관리하기 위해 주인을 선택해야 함 주인이 아닌 곳에선 객체를 변경할 순 없고, 단순 조회만 가능 다대일..
엔티티 매니저 팩토리와 엔티티 매니저! JPA가 제공하는 기능은 크게 2가지이다. 엔티티와 테이블을 매핑하는 설계 부분 매핑한 엔티티를 실제로 사용하는 부분 이번 장에서는 매핑한 엔티티를 엔티티 매니저를 통해 어떻게 사용하는지 알아보자. 엔티티 매니저가 하는 일 엔티티를 저장,수정,삭제,조회 등 엔티티 관련된 모든 일을 처리 개발자 입장에서 엔티티 매니저는 엔티티를 저장하는 가상의 데이터베이스로 생각하면 됨 엔티티 매니저 팩토리 생성 코드 공장생성 비용이 상당히 큼(따라서 어플리케이션 전체에서 한 개만 만들고 공유하는 전략을 취함) EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpabook"); 공장에서 엔티티 매니저를 생성, 비..
회원 테이블 생성 CREATE TABLE MEMBER ( ID LONG AUTO_INCREMENT NOT NULL, -- 아이디(기본키) NAME VARCHAR(255), -- 이름 AGE INTEGER NOT NULL, -- 나이 PRIMARY KEY (ID) ) 회원 클래스 생성 import javax.persistence.*; @Entity @Table(name="MEMBER") public class Member { @Id @Column(name = "ID") private Long id; @Column(name = "NAME") private String username; private Integer age; public Long getId() { return id; } public void s..
JPA를 사용하지 않으면 생기는 문제점 (=SQL을 직접 다룰 때 발생하는 문제점) 객체지향과 데이터 중심의 데이터베이스 설계간 패러다임 불일치로 인해 개발자가 직접 객체의 필드값을 데이터 중심의 데이터베이스 구조에 맞게 로직을 짜야하고, CRUD(생성,조회,수정,삭제) 쿼리를 짜야한다. (반복적이고 지루한 일...) SQL에 의존적인 개발 (=물리적으론 엔티티와 데이터베이스를 분리했어도, 논리적으론 강한 의존관계를 가지고 있음) 등록,조회,수정 코드가 변경되거나, 연관 객체끼리 참조하는 경우 코드레벨에서 우리가 원하는 객체, 그리고 데이터 값을 보장받을 수 없기 때문에 결국엔 SQL를 까봐야 한다.. 상속 관계인 객체들을 저장하거나 조회하는 경우 원하는 타입만 따로 따로 조회하기 어렵고, 저장 또한 어..
늙어가는 것은 무엇일까.나이 들어가는 것은 무엇일까. 노인의 삶은 어떨까.노인의 생각은 어떠하나. 종종 생각하게 된다. 조심스럽게 답을 내린다.인간은 어디에서부터 누군가의 의해 태어나서 세상에 던져졌다. 던져진 세상에서 세상의 규율과 세상이 말하는 진리와 잣대에 맞춰살아남기 위해, 자신의 욕을 위해 온 힘껏 살고 살아간다. 열심히 공부하고, 열심히 놀고, 열심히 취업하고, 열심히 일하고, 열심히 생각하고, 열심히 생각하지 않고...열심히 먹고, 열심히 싸고.. 열심히 싸우고, 열심히 화해하고, 열심히 논쟁하고, 열심히 타협하고, 열심히 기뻐하고, 열심히 절망하고...그러다가.. 그러다가.. 어느덧 늙어간다. 제법 많은 숫자를 나의 나이라고 소개할때, 그 정점엔 무엇이 있을까.. 그 정점은 '죽음'이다.'..
누가복음 9장 18절 ~ 27절 18절 예수께서 따로 기도하실 때에 제자들이 주와 함께 있더니 물어 이르시되 "무리가 나를 누구라고 하느냐" 19절 대답하여 이르되 세례 요한이라 하고 더러는 엘리야라, 더러는 옛 선지자 중의 한 사람이 살아났다 하나이다 20절 예수께서 이르시되 "너희는 나를 누구라 하느냐" 베드로가 대답하여 이르되 "하나님의 그리스도시니이다" 하니 21절 경고하사 이 말을 아무에게도 이르지 말라 명하시고 22절 이르시되 인자가 많은 고난을 받고 장로들과 대제사장들과 서기관들에게 버린 바 되어 죽임을 당하고 제삼일에 살아나야 하리라 하시고 23절 또 이르시되 아무든지 나를 따라오려거든 자기를 부인하고 날마다 제 십자가를 지고 나를 따를 것이니라 24절 누구든지 제 목숨을 구원하고자 하면 ..
람다식 또는 람다 기본적으로 다른 함수에 넘길 수 있는 작은 코드 조각 람다를 사용하면 쉽게 공통 코드 구조를 뽑아낼 수 있음 함수를 값처럼 다루는 접근 방법 무명 클래스의 역할을 대신 함 람다는 함수에 인자로 넘어갈때 정의해서 바로 사용함 실행시점의 코틀린 람다 호출은 아무 비용도 들지 않는다 람다의 사용처 컬렉션 처리 자바 라이브러리에 람다 함께 사용 수신 객체 지정 람다 람다 소개 : 코드 블록을 함수 인자로 넘기기 컬레션 처리에서 람다 없이 자바에서 처리하는 방법 data class Person(val name: String, val age: Int) /* Java */ fun findTheOldest(people: List) { var maxAge = 0 var theOldest: Person?..
코틀린 인터페이스 fun main(arg:Array){ val button = Button() button.showOff() button.setFocus(true) button.click() } interface Clickable { //interface 키워드로 선언 fun click() //추상메서드 fun showOff() = println("I'm clickable!") //구현이 있는 메서드(디폴트 메서드) *선택 } interface Focusable { fun setFocus(b: Boolean) = println("I ${if (b) "got" else "lost"} focus.") //디폴트 메서드 *선택 fun showOff() = println("I'm focusable!") //Cl..