일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그리디
- Java
- ES
- 애자일기법
- framework
- 코딩
- 개발자
- 애자일
- 엘라스틱서치
- 애자일프로그래밍
- cleancode
- 백준
- 읽기쉬운코드
- 개발
- Spring
- 코딩테스트
- 클린코드
- 데이터베이스
- 스프링
- 코드
- JPA
- Elasticsearch
- 알고리즘
- 자바
- spring boot
- 그리디알고리즘
- database
- 프레임워크
- API
- Baekjoon
- Today
- Total
목록전체 글 (173)
튼튼발자 개발 성장기🏋️
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dS6K89/btqFUzWI47W/WGgpd1Ba0m2PFqdQF6ZM41/img.png)
Spring을 쓰면서 데이터베이스에 접근할 때는 DTO는 필수조건일 것이라 생각이 든다. 나는 개인적으로 DTO를 Entity라고 생각하는 경우도 종종 있다. (그래야 이해하기 쉽기 때문...) 우리는 getter와 setter를 아주아주 자주 만들어 사용할 것이다. 굳이 spring이 아니더라도, 작은 어플리케이션 만들 때 조차 필요할 수 있다. 오죽하면 eclipse 자체에서 생성해주는 기능과 단축키까지 설정 되어 있겠는가..?ㅋㅋ 그것도 모자라서 Lombok이라고 하는 녀석은 어노테이션을 이용해서 자유롭고 편리하게 getter와 setter를 생성해서 사용할 수 있다. Lombok은 그냥 dependency를 걸어주고 바로 사용할 수 있는 녀석이 아니다. 사용 전에 필수 적으로 진행해야하는 절차가 ..
나는 나는 지금 주니어 개발자다. 신입사원으로 입사해서 열정에 불타오르던 때가 어끄제 같다. 신입이었을 때는 무조건 잘보이고 싶은 마음과 "열심히 하는 신입" 혹은 "노력하는 신입", "동료에게 민폐를 끼치지 않는 신입"으로 인정받고싶었다. 2년 4개월이 지난 지금, 나는 오로지 "일 잘하는 대리"로 인정 받고 싶다. 일을 잘 한다는 것은 굉장히 어려운 부분이다. 내가 신입으로 첫 직장에 다닐 대, 생각했던 모습과 굉장히 달랐다. 개발본부 모두가 굉장히 바쁠 시즌에 입사한 것이다. 우리 팀은 그 중에서도 가장 바빠보였고, 신입동기가 없던 나는 외로움과 긴장을 동시에 타면서 직딩의 꽃봉우리가 나기 시작했다. 누구에게 모르는 것을 물어봐야 하는데 물어볼 곳이 없었다. 바로 윗 분은 어마무시하게 예민하셨던 차..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/1eEX9/btqEPfyyaAT/pXEZVaShn8kfyydt6Pkx1K/img.png)
협업에서는 대부분 리눅스를 기본적으로 사용할 줄 알아야 한다. 나는 대학생 시절 때 리눅스 교육과정이 없었는데 그 부분이 아직도 의아하다. 왜 없었을까.. 아무튼 이번엔 linux의 기본적인 명령어를 알아본다. head : 문서 내용의 앞 부분을 출력 (default 10 line) 가장 많이 사용하는 옵션은 -c 옵션으로, 밑에서 일정 line을 제외하고 출력하는 것. 더보기 Usage: head [OPTION]... [FILE]... Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or wh..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/k5Qn5/btqEP3Kachn/qYna17GDItCVkKDOWkDuw0/img.png)
최근 개인적으로 프로젝트 하느라 H2 데이터베이스를 연동해보았다. H2는 굉장히 생소했지만 테스트 용으로 많이들 사용하는 것 같다. "인메모리 데이터베이스"로 분류되어 있으며 용량이 작고 속도가 빠르다는 장점을 가지고 있다. 이 H2를 spring MVC에 연동하는 것이 굉장히 힘들었다. mySql이나 몽고와는 살짝 다른 건지.. 아니면 내가 spring을 공부하는 단계라서 그런건지 너무 어려웠다. 약 3일동안 삽질해서 연동을 해보았다. 가장 먼저 연동을위한 repository를 dependency 걸어주자. 참고로 나는 Gradle Build tool을 사용해서 maven을 사용한다면 pom.xml에 알맞은 버전을 걸어주면 된다. dependencies { compile group: 'org.sprin..
repository 프록시는 메소드 명으로부터 query를 가지고 오는 방법이 두 가지가 있다. 메소드 명으로부터 query를 직접 가지고 오는 방법. 수동적으로 정의된 query를 가지고 오는 방법. 이 두 가지 방법의 선택은 스토어에 따라 달라질 수 있다. 실제 어떤 query가 만들어 지는지는 어떠한 전략(?)이 있다. CREATE query 메소드의 이름을 가지고 query를 만든다. well-known prefix를 모두 제거하고 나머지 이름 부분 가지고 파싱해서 query를 만든다. (ex. findById()) USE_DECLARED_QUERY 선언 되어있는 query를 찾는다. 찾지 못하면 예외가 있으니 예외처리를 해주어야한다. 어노테이션을 사용하여서 어딘가에 정의되어 있을 수 있다. CR..
이전 글에서 query method를 만드는 4 step에 대해 알아 보았다. Repository를 상속한 인터페이스 만들기 query method 정의하기 String Data JPA 활성 시키기 주입 받아서 사용하기 상위 단계 중에 1step에 대해 알아보려고 한다. 보통 Repository와 CrudRepository와 PagingAndSortingRepositoryRepository 그리고 JpaRepository 중에 하나를 상속을(extends)를 받아 사용할텐데, 이 것을 어노테이션을 사용할 수도 있다. 바로 이런 식으로. @NoRepositoryBean interface MyBaseRepository extends Repository { Optional findById(ID id); S s..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/GnMrR/btqEfqNkjgH/zQ7AdcADy4Lq5G62HJCBmK/img.png)
사실 spring에서 MyBatis를 먼저 배우게 되는데 나는 생략하고 가장 핫한 JPA를 공부해볼까 한다. MyBatis를 경험해본 경과 상당히 귀찮고 반복되는 로직과 sql 작성으로인한 오타 등으로 나를 힘들게 했던 기억이 난다. JPA는 Java Persistence API로 RDB 관계를 표현하는 자바의 API로써 spring Data JPA는nce API로 RDB 관계를 표현하는 자바의 API로써 spring Data JPA는이러한 JPA에 대한 저장소를 서포트한다. 이 spring Data JPA는 JPA Data Source에 접근해야하는 프로그램 개발에 용이할 수 있다고 정의되어 있다. JPA reference는 다음 문서를 참고하자. 예제도 구할 수 있으니 꼭 참고하자. Spring Da..
Database를 연동하게 된다면, 우리는 코드 상에서 query를 날리는 로직이 필요할 것이다. 그렇다면 우리가 해야할 일은 다음과 같을 것이다. 드라이버 로드 -> connection 생성 (혹은 DB pool 사용) -> DB 연결 -> sql auery 실행 -> 자원해제 데이터베이스에 접근 할 때마다 상기 내용과 같은 작업이 반복적으로 이루어져야만 한다는 이야기다. 이를 해결하기 위해 JDBC를 사용하는 것이다. spring JDBC를 사용하기 위해 spring-jdbc maven lib이 필요하다. 찾는 방법은 이전 글의 maven Repository를 참고하자. #12 : spring 관련 docs 및 API 참고 자료 spring을 사용하려면 spring docs는 필수로 보아야하고, 어떤..