일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Data REST
- ApplicationPidFileWriter
- static inner class
- docker
- 세미나
- Spring Data REST
- spring jpa
- Spring Batch
- tomcat
- spring pid
- 코드 리뷰
- Spring Data JPA
- batch
- JPA mapping
- ORM
- spring-webmvc
- REST API
- Spring
- spring bean
- SuperTypeToken
- spring boot tomcat
- JPA
- spring boot
- 톰캣
- spring-webmvc #코드읽기
- spring batch 코드
- spring-mvc
- JUnit
- IntelliJ
- spring camp
- Today
- Total
목록개발환경 (27)
woniper
나는 최대한 intellij를 이용해 모든 개발을 끝내려고 노력한다. 개발을 하다 보면 실제 native query를 실행해 해야 경우도 있고, terminal을 사용해야 하는 경우, http request 요청 등을 하기 위해 intellij 외에 필요한 tool이 필요하다, intellij는 이런 기능을 대부분 지원한다. 특히 자주 사용하는 기능은 Database이다. 그런데 언제부턴가 버전업을 한 후에 SQL keyword 가 대문자로 자동완성 되던 것이 소문자로만 나왔다. 큰 문제는 없지만, 그동안 사용하던 대문자로 나오는 게 좋았다. 변경 Preferences > Editor > Code Style > SQL > General > Word Case > keywords > To upper 로 변경..
intellij 2018.1 EAP 버전을 설치한 후 고난이 시작되었다. spring application server를 실행만 하면 5분에 한번씩 5분간 mac이 hang 걸렸다. 키보드도 트랙패드도 먹통이다. 그래서 백업 후 완전 초기화를 했다. 이를 정리하는 포스팅이다. 백업 OS 마다 intellij 설치 경로가 다르다. 여기를 참고하자. 맥 기준으로 백업 대상 디렉토리 경로 plugins path : ~/Library/Application Support/ config path : ~/Library/Preferences/ 두 경로를 다른 경로로 백업한다. config path에 저장되어 있는 설정 정보는 intellij > file > Export Settings...로 대신 백업 가능하다. 하지..
jooq나 querydsl 같은 프레임워크는 typesafe를 지원하기 위해 class를 생성하는데, 생성하기 위해서 maven 또는 gardle 설정이 필요하다. 이번 포스팅에서는 gradle을 기준으로 생성된 class를 sourceSet으로 등록하는 방법을 기록해두기 위함이다. build.gradle /** * intellij 관련 plugin 추가 */ apply plugin: 'idea' ext { // 생성된 class 경로 generatedJavaSourceDir = "src/generated/java" } /** * sourceSet에 generated add */ sourceSets { generated { java.srcDir generatedJavaSourceDir } ..
Visual Studio Code를 사용해 Git 커밋 메시지 작성하기 라는 글을 보고 visual studio code를 git editor로 설정하기로 했다. 간단하지만, 기록을 남기기 위해서 블로깅한다. Visual Studio Code Download Visual Studio Code (이하 VSC) 경로 확인 mac 환경에서는 보통 /Volumes/HD/Applications/ 디렉토리 하위에 설치될 것이다. $ git config --global core.editor "/Volumes/HD/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code --wait" 위 경로는 예시일뿐 2번에서 경로를 확인 후 $git config ..
Spring Boot Source12345678910111213@RestController@SpringBootApplicationpublic class App1Application { public static void main(String[] args) { SpringApplication.run(App1Application.class, args); } @GetMapping("/") public String app1() { return "hello app1"; }}Colored by Color Scriptercs Spring Boot Dockerfile 1234567FROM java:8MAINTAINER woniper VOLUME /tmpADD app1.jar app1.jarEXPOSE 8888ENTRYP..
AWS Cloud Taekwon:: Docker를 활용한 서비스 배포 - 스마트스터디에서의 사용사례Docker로 보는 서버 운영의 미래클라우드 코딩 서비스 구름에서의 Docker Container 활용 사례DevOps with DockerDocker+Kubernetes를 이용한 빌드 서버 가상화 사례 사례들을 보아보았다. 대부분 내용을 보면 배포를 설명한다. 그만큼 애플리케이션 개발 또는 수정한 후 서버에 실수없이 성공적으로 배포하는 것은 정말 중요하다. 실수없이 성공적으로 배포하기 위해서는 배포 자동화가 중요하다. 내가 다닌 회사 중에 대부분 회사는 수동배포(손배포라고도 한다.)를 한다. 자바로 예를 들어 수동 배포는코드 수정소스 컴파일war 생성war 파일을 서버로 이동 또는 ..
개인적으로 Docker를 써야하는 이유를 몇가지 생각해보았다.서버 운영이 쉬워진다.장애를 해결하기 위한 재연이 쉬워지고 그로인해 장애 해결 시간을 줄일 수 있다.개발장비에 테스트 환경 구축이 쉽고 깔끔하다.서버 운영이 쉬워진다. Docker란 무언인가에서 설명한 부분인데, Docker로 서버 환경을 일관성있게 유지하고 공유할 수 있기 때문에 추가로 서버가 확장되거나, 서버 환경이 변경되는경우(애플리케이션 뿐 아니라 서버도 마찬가지도 요구사항이 자주 변경되기 마련이다.) 쉽고 빠르게 공유와 확장이 가능하다. 이는 즉 2번(장애를 해결하기 위한 재연 쉬워진다.)으로 이어진다. 하지만 Docker를 학습해야하지 않냐는 대답을 종종 듣곤하는데, 그렇게 치면 애플리케이션을 운영한다는 것은 평생 공부하고 기술을 익..
Docker 엔진 맥북을 사용하면서 공인인증서 결제를 사용하기 위해서 가상 머신으로 윈도우를 설치해본 경험이 있을 것이다.(없을수도ㅋㅋ)가상화 기술에서는 현재 사용하고 있는 OS를 Host OS라하고, Host OS에 가상 머신으로 설치된 OS를 Guest OS라고 한다. 가상화 기술로는 전가상화와 반가상화가 존재하는데 이 글에서는 자세히 설명하지 않겠다.(사실 나도 잘 모른다.) 이 가상화 기술은 성능 문제가 있다. Guest OS를 설치한다는 것은 OS(host)안에 OS(guest)를 설치해서 사용하는 것이기 때문에 성능과 용량에 문제가 있을 수 밖에 없다. 때문에 Docker는 반가상화 기술보다 더 경량화 시킨 가상화 기술이다.(전가상화 -> 반가상화 -> Docker 엔진) Docker는 Gue..
과거 서버 환경을 경험해 보지 못했지만, 적어도 내 경력 3~4년 동안 클라우드 서비스로 인해 많은 변화를 가져온 것 같다. 클라우드 서비스를 사용하지 않고 서버를 구축한다면... 서버(하드웨어)를 구입하고 OS를 설치하고, 서버에 필요한 Web Server, WAS(Web Application Server), 기타 필요한 애플리케이션, 그 뿐 아니라 여러가지 설정과 보안도 신경써야한다. 서버가 몇대 안되면 다행이다. 수백 수천대라고 생각하면 저 작업을 일일이 해야한다. 자동화 툴이나 쉘스크립트를 사용해서 자동화 해도 되지만, 쉽지 않은 작업이다. 그렇다면 클라우드 서비스를 사용한다면... 나는 AWS만 사용해봤는데 클릭 몇번으로 내가 원하는 OS 셋팅이 가능하고, 보안과 여러가지 아키텍처들을 빠르고 쉽..
며칠 전부터 Docker를 학습하고 있는데, 집에 있는 서버에 docker를 이용해 jenkins를 띄워보고 싶었다. jenkins 뿐만 아니라 여러가지 서비스를 nginx에 연결해서 사용하고 싶었다. nginx 역시 마찬가지로 docker로 사용하기로 했다.설명을 보지 않고 바로 사용하고 싶다면 github을 보자.docker에 기본 명령어는 설명하지 않을 것이다. 기본 설명은 여기를 참고하자. hub.docker.com hub.docker.com에는 docker 사용자들이 만들어 놓은 docker image 들이 존재하기 때문에 우리가 사용하고자 하는 image가 필요하다면 여기서 먼저 검색해보자. jenkins 설치 jenkins 역시 docker hub에 존재한다.먼저 jenkins image를 ..
Spring Core를 공부해보려고 Spring source를 받아서 분석하기 위해 어떻게 해야할지 고민했다. 부끄럽지만 개발 경력 3년동안 코드 분석을 처음 해 보는 것 같다. 남에 코드를 많이 읽어보라는 말도 많고, 나름 Spring을 자주 사용했는데 Core 소스나 구조가 궁금해져서 분석을 시작했다. 며칠 동안 어떻게 분석했는지 간단하게 정리하려 한다. 개발환경Mac OS El CapitanIntellij 15Java8내 개발 환경은 위와 같지만 Intellij를 사용한다면 대부분 비슷할 것이다. 때문에 단축키는 설명하지 않는다. 상황 AnnotationConfigApplicationContext라는 클래스가 있는데, 이 클래스는 @Annotation 기반 설정을 토대로 IoC를 관리해주는 클래스이..
iTerm 개인적으로 iTerm을 사용한다. 이 설정은 iTerm에만 적용되는건 아니기 때문에 설치하지 않아도 상관없다.다운로드 .bash_profile $ vi ~/.bash_profile # Add Homebrew `/usr/local/bin` and User `~/bin` to the `$PATH` PATH=/usr/local/bin:$PATH PATH=$HOME/bin:$PATH export PATH # Load the shell dotfiles, and then some: # * ~/.path can be used to extend `$PATH`. # * ~/.extra can be used for other settings you don’t want to commit. for file in ~..