본문 바로가기

전체 글151

Spring Camp 2019 강의 자료 모음 Spring Camp 2019 강의 자료를 볼 수 있는 URL을 모아 놓은 글입니다. 1. 실전에 써먹는 스프링 부트 https://docs.google.com/presentation/d/1nid-BYFGHYjvzgMpbBBgEC2Hwx_nJ6JomikDbHtA55g/edit?fbclid=IwAR08g77Usg6iG8iNAvDl67RaPjyoGcrL5_8GnRZ-rLGKi7ydfq3GnBwA2Nc#slide=id.p 실전에 써먹는 스프링 부트 이야기 실전에 써먹는 스프링 부트 Bootiful Your Life! @Spring Camp 2019 실전에 써먹을 수 있는 ‘스프링 부트'에 대한 지식을 공유하여 ‘Bootiful Your Life’를 만들어 갔으면 좋겠습니다. 스프링 부트 개발을 이끌고 있는 개.. 2019. 5. 6.
Spring HandlerMethodArgumentResolver 인터페이스 프로그래머스 강의 과제를 하던 중 클라이언트에서 보낸 쿼리 파라미터 값이 컨트롤러 파라미터에 바인딩이 되지 않아서 삽질을 했다. Spring 프레임워크에서 지원하는 Pageable 인터페이스를 사용하지 않고, 직접 Pageable 인터페이스를 생성해서 사용했다. 클라이언트에서 쿼리 파라미터로 값 보내기 포스트 목록을 조회하는데, 쿼리 파라미터 값으로 offset 값은 0, limit 값은 5를 보내고 있다. 컨트롤러에서 포스트 목록 조회 메서드 컨트롤러에서는 리스트 조회를 하기 위한 메서드를 다음과 같이 구현했다. 이 때, Pageable 인터페이스는 직접 생성했다. @RestController @RequestMapping("api") public class PostRestController { @Get.. 2019. 5. 5.
리팩토링 - 리팩토링 개론 리팩토링은 무엇인가 '리팩토링' 용어는 문맥에 따라 두 가지 의미로 정의된다. 겉으로 드러난 기능은 그대로 두고, 알아보기 쉽고 수정하기 간편하게 소프트웨어 내부를 수정하는 작업 리팩토링 기법을 연달아 적용해서 겉으로 드러나는 기능은 그대로 둔 채 소프트웨어 구조를 변경한다. 리팩토링의 목적은 소프트웨어를 더 이해하기 쉽고 수정하기 쉽게 만드는 것이다. 그리고 리팩토링은 겉으로 드러나는 소프트웨어 기능에 영향을 주지 않는다. 리팩토링은 왜 해야 하나 리팩토링은 소프트웨어 문제를 해결하는 만병통치약은 아니지만, 리팩토링의 가치는 코드를 쉽게 이해할 수 있게 도와주는 도구이다. 리팩토링은 다양한 용도로 사용이 가능하다. 소프트웨어 설계 개선되니까 가끔 단기적인 목적으로 코드를 추가할 때가 있다. 이러한 방식.. 2019. 5. 4.
Spring Boot 배너 만들기 Spring Boot 애플리케이션을 실행할 때, Spring Boot 텍스트와 버전이 표시된다. 해당 배너는 개발자가 원하는 모양으로 변경할 수 있다. Spring Boot 프로젝트에서 main/resources/banner.txt 파일을 먼저 생성한다. 원하는 글자를 직접 입력할 수 있지만, 생각만큼 예쁘게(?) 나오지 않는다. 텍스트를 그럴듯하게 표현해주는 사이트를 이용해보자. banner.txt에 원하는 텍스트를 채우고 Spring Boot 애플리케이션 다시 실행하면, 입력한 텍스트가 배너로 나오는 것을 확인할 수 있다. 그리고 banner.txt 파일에 텍스트 색상, Spring Boot 버전 등 추가 정보를 넣을 수 있다. ${AnsiColor.GREEN} 텍스트 ${AnsiColor.BRIGH.. 2019. 5. 4.
REST API 문서 자동화 도구 Swagger 참고 문서 https://springboot.tistory.com/24 Spring REST API에 Swagger 2 설정하기 Spring REST API에 Swagger 2 설정하기 Setting Up Swagger 2 with a Spring REST API (원문소스: http://www.baeldung.com/swagger-2-documentation-for-spring-rest-api) 1. 개요 Overview REST API를 만들 때.. springboot.tistory.com https://yookeun.github.io/java/2017/02/26/java-swagger Spring REST API 문서를 Swagger로 만들자 REST API를 개발할때 관련 문서를 만드는 것은 꽤 귀찮은 일이.. 2019. 5. 4.
QueryPie, Cross Platform Database IDE QueryPie, Cross Platform Database IDE CHEQUER에서 현재 참여하고 있는 프로젝트 QueryPie 사이트가 오픈되고, 클로즈 베타 버전 지원을 받고 있습니다. QueryPie를 한마디로 표현하면 크로스 플랫폼 데이터베이스 툴입니다. 국내 시장뿐만 아니라 글로벌 시장에도 데이터베이스 툴은 이미 많이 존재합니다. 하지만, 이전에 만들어진 데이터베이스 툴은 한정적인 수요자(DBA)를 타겟팅을 하고 만들었습니다. 따라서 일반 사용자가 주로 사용하는 기능 범위보다 많은 기능을 제공하고 있고, 현재 트렌드와는 동떨어진 UI/UX를 가지고 있다고 생각합니다. QueryPie는 일반 사용자, 개발자, 데이터 사이언티스트, DBA 등 다양한 분야의 종사자가 데이터베이스 업무를 손쉽게 할 .. 2019. 5. 3.
TreeViewer 목록이 없을 때 확장 가능한 트리 아이콘 제거 TreeViewer에서는 기본적으로 목록이 없는 경우에도 아래 그림처럼 확장 가능한 트리 아이콘 '>'을 보여준다. 처음 트리 뷰어를 실행 시켰을 때 목록이 없는 노드의 확장 가능한 트리 아이콘을 제거하려면, TreeViewer 노드를 자동으로 확장되도록 설정하면 된다. 아래 코드를 추가하면 확장 가능하다는 표시('>')는 자식 노드가 있는 노드에서만 나타난다. treeViewer.setExpandPreCheckFilters(true); 2019. 4. 30.
백그라운드 작업과 진행 상황 보고 기능을 제공하는 Jobs API Eclipse Framework Single UI Thread Eclipse RCP 또는 Plugin은 사용자 인터페이스를 하나의 스레드로 처리한다. 이 스레드를 메인 스레드, UI 스레드라고 부른다. 해당 스레드에서 오래 걸리는 작업(네트워크, 파일 처리, 데이터베이스)을 수행하면, 사용자 인터페이스와 관련된 다른 처리가 차단 되는 현상이 발생하므로 주의해야 한다. 이 현상은 사용자가 느끼기에는 답답하고 애플리케이션 멈춘것처럼 보이기 때문에 피해야 하는 안티패턴이다. 따라서 오래 걸리는 작업은 백그라운드 스레드로 실행해서 UI가 멈추지 않도록 해야 한다. Java 라이브러리에 있는 Thread, Timer를 이용해서 백그라운드 작업을 수행할 수 있지만, Eclipse Framework에서는 Jobs A.. 2019. 4. 30.
Eclipse 4 파트에 팝업 및 뷰 메뉴 생성 Eclipse 3.x에서의 뷰(View) 또는 에디터 파트(EditorPart)는 Eclipse 4에서 파트(Part)와 동일한 의미로 사용된다. 이전에 커맨드 나 핸들러를 정의 했던 것처럼, 팝업 및 뷰 메뉴 관련된 정의를 Application.e4xmi 파일에 선언한다. 팝업 및 뷰 메뉴는 특정 파트와 관련되어 있다. 팝업 및 뷰 메뉴를 추가 하고자 하는 파트를 선택하고, 오른쪽 클릭을 하면 아래 이미지처럼 표시된다. 그런 다음 어떤 메뉴를 선택할지 클릭한다. Eclipse 4 파트에 팝업 메뉴 추가 팝업 메뉴에 대해서 먼저 알아보자. 다른 메뉴도 비슷한 방법으로 추가하기 때문에 참고하면 된다. Popup Menu 아래에 Handled Menu Item을 추가한다. 그리고 ID, Label, Comm.. 2019. 4. 30.