stack — 최근 글
최근
Java EcoTILSpring Framework
Spring Boot; 훑어보기#3 - JDBCTemplate
H2 데이터베이스 순수 JDBC 스프링 JdbcTemplate : JDBC 중복을 제거해서 만든 템플릿 JPA : 객체를 쿼리 없이 DB에 저장하는 방법 스프링 데이터 JPA : JPA를 간단하게 쓰기 위한 스프링의 Wrapping official site bin/h2.sh 실행 JDBC URL : jdbc:h2:tcp://localhost/~/h2/test 파일로 직접 접근하지 말고 TCP로 접속. build.gradle 추가 Connection 객체 : DB연결 객체 PreparedStatement 객체 : 쿼리와 코드를 매칭해
Java EcoTILSpring Framework
Spring Boot; 훑어보기#2 - GetMapping, PostMapping
URI를 매핑하고 템플릿으로 반환한다. (String) 접근을 변수에 바로 하더라도 getter로 접근하여 (propperties방식) 반환받는다. Controller를 먼저 찾고 없으면 static 파일을 찾는다.
BlogThink
IntelliJ 자주 쓰는 단축키 정리
자주 쓰일법한 단축키를 정리해봤다. 생각보다 유용한 context 제시 기능이 많다. Git commit Git push context 제안 보기 (class import, 오타 수정 등등) 가장 최근에 봤던 파일들 문장 완성 타입 변형 (Optional 호출 등) Refector 메뉴 Test Code 생성 메소드에 들어가야 할 인자를 출력 스크롤 된 코드를 메소드로 분리 이름 바꾸기 (리팩토링) Super = Windows키 = Command키
Java EcoTILJava programming
테스트 코드의 작성법 assert
개발된 코드가 예상된 결과값을 내놓는가에 대한 시험 테스트를 먼저 만들고 구현체를 개발하는 방법 테스트 주도 개발 src 아래 test라는 폴더 아래로 프로젝트와 같은 패키지 구조를 가짐. 테스트하고자 하는 클래스의 끝에 Test라고 붙이는 것이 관례 메소드를 명시하고 @Test 어노테이션을 붙임. 결과값 result가 기대값 member를 만족하면 테스트 코드를 통과한다. 결과값 result가 기대값 member를 만족하면 테스트 코드를 통과한다. -> Expecting 'result' to be equal to 'member'
Java EcoTILSpring Framework
Spring Boot; 훑어보기#1
나의 스프링 역사는 작년 이맘때쯤 시작됐다. (2020년 2월) 백엔드 개발자가 되기 위해 호기롭게 한권의 책으로 시작했으나 당시 나한텐 자바 언어를 떠나서 OOP에 대한 지식이 없었다. 세상에 프로그래밍을 위한 책이 모두 완벽하면 좋겠으나 다른 분야의 책들도 정오표를 내는 마당에 사전 지식없이 오류에 부딪히기엔 너무 버거웠다. 책 앞부분 부터 예제의 오류로 대부분의 시간을 보내다가 결국 포기했었다. 이후 진입장벽이 낮은 파이썬의 flask등으로 방황하다가 작년 12월 우테코 3기 이후로 다시 자바로 돌아오게 되었다. 이 블로그를
FundamentalTILData structure
파이썬의 정렬과 힙 #1
정렬의 기준이 되는 가중치를 key 필드로 임의 지정할 수 있다. 원소가 이터러블일때 모두 사용가능하다. 가중치를 자유롭게 지정할 수 있다. 소수 구하기 이진트리기반의 heapq와 연결리스트 기반의 데크는 원소를 추가하고 삭제하는 것이 배열보다 비용이 적다. heqpq : 우선순위 큐 deque : 양 끝단에서 데이터를 넣고 뺄 수 있는 큐
Java EcoTILSpring Framework
스프링5; AOP의 실제 #2
이전 글 execution(public void set*(..)) : 반환형이 void이고, 메소드 이름의 set으로 시작하고 인자가 0개 이상인 메소드를 호출한다. executation(* dto.*.*()) : dto 패키지 탕비에 속한 인자가 없는 모든 메소드를 호출한다. executation(* dto..*.*(..)) : dto 패키지 및 하위 패키지에 있고 인자가 0개 이상인 메소드를 호출한다. execution(Long dto.StudentRepository.getAge(..)) : 반환형이 Long인 StudentRe
Java EcoTILSpring Framework
스프링5; AOP의 실제 #1
스프링에서 프록시 패턴을 어떻게 적용시키는지 실제로 스프링을 통해 적용해본다. proxy 패턴은 decorator 객체 로도 활용할 수 있다. 기능 추가와 확장에 초점이 맞춰져있다. 프록시의 특징은 핵심 기능은 구현하지 않는다는 점이다. 프록시는 핵심 기능을 구현하지 않는 대신 여러 객체에 공통으로 적용할 수 있는 기능을 구현한다. AOP의 기본 핵심은 공통 기능을 삽입하는 것 이다. 공통 관심 기능을 핵심 로직에 적용하는 시점을 정의한다. ex) 메소드를 호출하기 전에 트랜잭션을 시작하는 기능을 적용한다. Advice를 적용하는