![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/rvxwS/btri1dn8m5X/UYkAmk5eDlelIgrN4dQEW1/img.png)
Builder Pattern 1. GoF 디자인 패턴 복잡한 객체를 생성하는 방법과 표현하는 방법을 정의하는 클래스를 별도로 분리하여, 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절차를 제공할 수 있도록 합니다. 활용성 - 복합 객체의 생성 알고리즘이 이를 합성하는 요소 객체들이 무엇인지 이들의 조립 방법에 독립적일 때 - 합성할 객체들의 표현이 서로 다르더라도 생성 절차에서 이를 지원해야 할 때 2. Effective Java 생성자에 매개변수가 많다면 빌더를 고려하라 일반적인 정적 팩터리와 생성자는 점층적 생성자 패턴으로 해결할 수 있지만, 매개변수가 많아지면 클라이언트 코드를 작성하거나 읽기 어려워진다. 자바빈즈 패턴(setXxxx() 형식으로 작성하는 형식)에서는 객체 하나를 만들려면 메서..
1. for(int i=0, j=1; i
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/XYGyU/btrizVVQzu8/M3WGxk7Ks7P1dB1kDQZ3ck/img.png)
1. true || false 인 경우 @SpringBootTest public class SimpleTest { @Autowired OrganizationRepository organizationRepository; @Test void test_true가_먼저_있을_때(){ long start = System.currentTimeMillis(); int size= 20; Random random = new Random(); for (int i = 0; i < 10000; i++) { long id = (long)random.nextInt(size); if (sleepTrue(id) || sleepFalse(id)){ continue; } } long end = System.currentTimeMilli..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bozYAJ/btriA4xtQuu/bmXIRR81esKeY7orxFEKp0/img.png)
public class Pad { public static void main(String[] args){ long start = System.currentTimeMillis(); int count = Integer.MAX_VALUE; long ret = 0L; for (int i = 0; i < count; i++) { ret++; } long end = System.currentTimeMillis(); System.out.println((end-start)/1000.0); } } public class Pad { public static void main(String[] args){ long start = System.currentTimeMillis(); int count = Integer.MAX_VA..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/batXjl/btro1262Mov/vs9XQ1Rq18C1nQwnUh7kO1/img.png)
Jpa를 이용하면서 데이터 디폴트 값을 어떻게 줘야 할까 고민 한 적이 있었다. 첫 번째로 시도한 방법은 다음과 같다. public class Saying{ ... @Column(columnDefinition = "VARCHAR(255) default '작자미상'") private String author; } @Column에 디폴트 값을 설정하여 시도 한 적이 있었다. 그리고 resources 디렉토리 아래에 "import.sql"에 다음과 같이 작성했다. INSERT INTO SAYING (content) VALUES ('새로운 일을 시작하는 용기속에 당신의 천재성, 능력과 기적이 모두 숨어 있다.'); 그랬을 때 DB 상에서는 IDAUTHORCONTENT 1"작자미상""새로운 일을 시작하는 용기속에..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/d5jtok/btrhdWVvAmi/Fo7MBCda2o06gx5GqkLsJK/img.png)
JPA Java Persistence API 로서 영속성 프로그래밍을 위한 라이브러리 영속성: 프로그램이 종료되어도 사라지지 않는 데이터의 특성을 의미 스프링에서는 JPA를 구현한 프레임워크는 대표적으로 Hibernate가 있고 그 이외에도 EclipseLink, DataNucleus 등이 존재한다. hibernate 자바 언어를 위한 객체 관계 매칭 프레임워크, 객체 지향 도메인 모델을 관계형 데이터베이스로 매핑을 위한 프레임워크 ORM 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것을 의미 객체 지향 프로그래밍은 클래스를 사용하고, 관계형 데이터베이스는 테이블을 사용 사용하는 언어가 들ㄴ 것에 대한 불일치를 해결 Persistence API라고도 불린다. 장점 비즈니스 로직에 좀 더 집중..
- Total
- Today
- Yesterday
- headers
- thread
- Command Line
- 카카오
- Spring
- 알고리즘
- Python
- setattr
- DRF
- Pattern
- Linux
- PostgreSQL
- 그래프
- Celery
- BFS
- 프로그래머스
- docker
- 자바
- ubuntu
- dockerignore
- Java
- Collections
- 면접
- 백준
- django
- 파이썬
- 2021 KAKAO BLIND RECRUITMENT
- env
- docker-compose
- postgres
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |