일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- install maven
- jdbc
- mariadb
- ADB
- ^M바꾸기
- svn backup
- gradle
- driverspy
- javaascript
- JavaScript
- pkgutil
- Java
- install
- spring boot
- maven
- not to accept jdbcUrl
- spring
- remove
- key bindings
- docker
- change file content
- 줄복사
- JAR
- duplicate lines
- 전송포맷
- object
- Change port
- Jenkins
- ubuntu
- local
- Today
- Total
목록Web & Server/Spring & Spring Boot (20)
Simplify
Java 프로그램을 구현하다 보면 어떠한 방식으로든 각종 라이브러리를 추가해서 사용하게 됩니다. 예를 들어 Stirng 처리와 관련된 편리한 라이브러리들이라든지, 통신 관련 모듈 등등 추가해서 사용해야 하는 것들은 무궁무진하게 많습니다. 프로젝트 규모가 조금 크거나, 프로젝트 내에 여러 sub-project 가 존재하는 경우, 프로젝트들의 일관성이나 관리를 위해서 공통 라이브러리를 만들어서 구현하는 경우도 많고, 이러한 경우에 로컬 저장소를 이용하기도 합니다. 그런데 저장소 까지는 필요없고, 그저 로컬 jar 파일 하나를 추가하는 경우도 있습니다. 이클립스에서 Java Build Path 에 추가해 주는 것과 비슷한 형태인데, 조금 더 전형적인 방법으로 추가해 보고자 합니다. 여기서는 필자가 잘 익숙하지..
스프링 프레임워크 처럼 서버 측 개발을 진행하는 동안, 자연스럽게 스케줄된 작업이 필요한 경우가 있습니다. 물론 여러가지 방법으로 이를 구현할 수 있고, 리눅스 환경에서는 간단한 프로그램이나 쉘(shell) 명령어를 crontab 에 등록해서 사용할 수 있습니다. 별도의 배치 프로그램을 사용하는 경우는, 서로 독립적인 프로세스로 동작하기 때문에 개발로 실행되고 관리될 수 있고, 따라서 프로그램들간에 서로 영향을 주지 않고 실행될 수 있습니다. 하지만 별도로 관리되므로 중복 코드가 발생하고 업데이트 하는 데 있어서 불편한 점 등 당연한 장단점이 존재합니다. 어느 하나의 방법이 좋다 라기 보다는, 어떤 상황이든 각 상황에 맞게 취사선택하여 개발 및 구현하는게 맞습니다. 여기서는 서버 온라인 프로그램 내에 스..
Spring 과 같이 웹 서비스 같은 경우, 기본 포트로 8080포트를 사용한다. 다른 포트를 사용하는 경우 물론 이상한 것은 아니나, 일반적으로 그렇다. 실제 서비스를 하는 경우, 특히 아키텍쳐 상 내부 서버인 경우에는 8080 포트를 노출시키지 않고, 내부적으로 알맞은 포트를 지정하여 이를 통해서 다른 서버와 통신한다. 여기서는 간단하게 Spring Boot 의 포트를 변경하는 방법을 알아본다. 포트 변경 Spring Boot 의 거의 대부분의 설정들이 application.properties 파일(경우에 따라서는 application.yml)에 존재하기 때문에 여기에서 간단히 설정해 줄 수 있다. 해당 파일을 열고 아래와 같이 입력한다. server.port = 1234 가만 생각해보면 Spring..
Gradle을 사용하게 되면서 Maven 보다는 약간 다른 문법에 대해서 정리할 필요성을 느낍니다. 다른 것들은 거의 유사하지만, 여기서는 local jar 를 추가하는 방법에 대해서 집중해서 정리합니다. 일반적인 gradle 설정 Maven Reposotry 에서 다운로드 받아서 jar를 프로젝트에 추가되는 것이 일반적입니다. repositories { mavenCentral() } dependencies { compile("org.projectlombok:lombok:1.16.8") } local jar 추가하기 local, 즉 프로젝트에 과거처럼 libs 폴더를 만들어 두고 그 안에 있는 jar를 추가하려면 다음과 같이 구성합니다. dependencies { compile files('libs/lo..
Spiring Boot 는 기본적으로 jar 배포형태를 가지고 있습니다. 그 말은 그 자체로서 java 실행 프로그램이다 라는 의미로 해석될 수 있다고 생각합니다. tomcat 같은 웹서버도, db 도 다 내장으로 가질 수 있는 형태이기 때문에, '독립적인 프로그램이다' 라는 의미를 가져간 것이라고 보입니다. 잘 알려진 것 처럼 war 는 웹 프로젝트, 즉 tomcat 과 같은 웹 서버 위에서 돌아가는 프로젝트라고 보시면 될 것 같습니다. 지금까지 프로젝트, 운영을 해오던 환경에서는, 혹은 웹 프로젝트인데 기존 환경에 익숙한 경우에, 그 구조를 변경하는 것을 꺼려하는 것이 일반적입니다. (명령어 한줄 조차도 말이죠) 그렇기 때문에 기존 프로젝트에서 신규 프로젝트로 변경하려면 war로 변경/배포해야 하는 ..
찾다 찾다.. 겨우 찾은 정보를 공유합니다. 다들 아무렇지 않게 상용하는지 모르겠지만, 저 같은 경우에는 Windows든, Mac OS 든, 개발용 영역(폴더)을 다른 것들과 구분 짓고 싶어 합니다. 그래서 보통 윈도우 PC의 경우에는 C 아래에 개발 툴 등을 두지 않고, D:\ide 폴더 아래에 개발 관련한 것들을 다 몰아넣습니다. (Eclipse 의 workspace 도, IntelliJ 의 ideaProjects 폴더도 모두 그렇게 합니다.) 단, Eclipse 는 설치형이 아니라 uninstall package로 되어 있기 때문에 이게 용이하지만, IntelliJ는 설치형인지라 ProgramFiles 폴더를 벗어나기는 좀 그래서.. 그냥 두었습니다. (아시는 분도 계시겠지만, IntelliJ 의 ..
들어가며 Sptirng Boot 등 개발에는 IDE(Integrated Development Environment)툴이 필요합니다. 현재 기준으로 하여 가장 많이 사용되는 두 개의 IDE는 Eclipse와 IntelliJ로 보입니다. 제가 알기로는 Eclipse가 더 오래되었고, OSGi 방식의 IDE로서 많은 사랑을 받았고, 현재도 많은 사람들이 사용하고 있는 것으로 알고 있습니다. IntelliJ 는 Android Studio, pycham 등과 함께 최근 각광받는 IDE로서 자리잡고 있습니다. 사실 오래 전에는 Eclipse 에 Android Development Tool 을 추가 설치(Plug-in)해서 Android 개발도 함께 진행했었습니다. 그런데 2016년 경 즈음 해서 갑자기 Androi..
들어가며 Spring Framework 를 이용하여 프로젝트를 최초 생성하고 나서, 처음 실행을 하면 마지막에 다음과 같이 표기됩니다. Exit Code 가 보이게 되죠.. (최초 생성시에는 Controller 등 listen 하고 있는 객체 생성을 하지 않아 실행과 동시에 종료됩니다..) 여기서는 이 코드값의 의미에 대해서 알아보고, Exit Code를 customizing 해서 원하는 기능을 구현할 수 있는지를 검토해 보고자 합니다. Exit Code 가지고 놀기 모든 프로그램은 종료 시점에 정수형 exit code를 return 합니다. Spring Boot 는 Exception 이 발생한 경우 Exit Code를 1로 return 하고 종료됩니다. 그렇지 않고 정상적인 종료가 이루어진 경우(cle..