일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- object
- Jenkins
- mariadb
- not to accept jdbcUrl
- JavaScript
- pkgutil
- spring
- svn backup
- javaascript
- key bindings
- jdbc
- docker
- remove
- driverspy
- spring boot
- Change port
- 줄복사
- install maven
- maven
- change file content
- gradle
- JAR
- 전송포맷
- local
- duplicate lines
- ^M바꾸기
- ADB
- install
- ubuntu
- Java
- Today
- Total
목록Other/Java (7)
Simplify
서버 측 프로그래밍을 하다 보면, 특히나 웹 프로그래밍을 하다보면, Excel 파일을 읽고 쓰는 일이 빈번합니다. 예를 들어 화면에 출력된 내용을 Excel 파일로 내보내기(export)한다거나, 한꺼번에 다량의 항목을 등록하려 할 때에 Excel 파일로 등록하기(import) 등의 기능이 이에 해당합니다. 물론 다양한 방법으로 Excel 파일을 읽고 쓰는 것이 가능하지만, 가장 흔히 사용되고 편리한 것은 POI 라는 것을 이용하는 것입니다. 사실 과거에 - 아주 오래전 - 는 엑셀 파일을 테스트 파일로 읽어들이면, xml 파일과 유사한 형태를 띄고 있어 쉽게 읽고 쓰는 것이 가능했지만, 최근에는 보안상의 이유인지 이 마저도 제대로 보이지 않고, 특히 xlsx 파일은 똑바로 읽을 방법이 없습니다. 간단하..
Java에서 이야기하는 Executor 에 대해서 잘 정리되어 있는 글이 있어, 학습하고자 참고하여 문서를 남깁니다. 모든 내용을 담고 있지는 않으므로, 아래 출처 / 참고자료 부분에 있는 링크를 따라가서 보시기 바랍니다. 사실 Executor 까지 참고하여 구현하게 되는 상황이 얼마나 될까 싶긴 합니다. 특히 저 처럼 업무(기능) 개발 위주로 업무를 진행하는 사람들은 기능 개발에 급급할 뿐 그 이상의 깊이있는 내용을 찾아보는 것이 쉽지는 않습니다. 물론, 다양한 부분에 대해서 찾아보고, 깊이있는 학습을 진행하는 것은 업무 개발에 있어서도 도움은 많이 될 것입니다. 일반적으로.. 아래와 같은 소스 코드.. 아마도 서버 측 프로그램을 조금이라도 들여다 본 분이라면 이와 같은 형태를 접했을 것입니다. whi..
보통의 경우, 개발 환경을 구축할 때, oracle 홈페이지에서 dmg 파일을 다운로드 받아서 설치하게 됩니다. 물론 이렇게 하면 PATH 에도 등록되고 하니, 편하게 Java를 사용할 수 있다는 장점이 있습니다. 그런데 특정 버전에 대해서 테스트를 해야 하거나, 다양한 버전을 기반으로 해서 서로 다른 프로그램들을 실행해야 하는 경우에는 이렇게 root 경로에 설치되는 것이 오히려 더 불편하다. 따라서 zip 등으로 압축된 파일을 다운로드 받아 압축을 해제해서 사용햇었는데, 최근 맥 환경에는 이를 제공하지 않고 있습니다. Minor 버전까지 확실하게 신경써야 하는 경우를 대비하여 이런 방법을 아래와 같이 공유합니다. 1. jdk dmg파일 준비 오라클 홈페이지의 archive 다운로드 경로에서 본인이 원..
일반적으로는 Spring 을 이용한 서버 통신이든, 그렇지 않은 경우에도 마찬가지고 String 으로 된 JSON 을 변경하는 경우가 좋은 상황은 아닙니다. 하지만 경우에 따라서 부득이하게 Plain Text 형태로 데이터를 수신하게 된 경우, 이를 변환하는 가장 쉬운 방법은 Jackson library 를 이용하는 것입니다. 라이브러리 추가 아래와 같이 pom.xml(혹은 gradle 파일)에 추가하여 관련 라이브러리를 가져옵니다. com.fasterxml.jackson.core jackson-databind 2.9.8 Source Code 1. JSON String 을 Map 으로 변환 package com.mkyong; import com.fasterxml.jackson.databind.Object..
들어가며수학적인 개념의 조합(Collection)은 순서에 상관없이 요소들의 집합 경우의 수를 다루는 것을 의미합니다. 학창 시절 수학시간에 배운 개념인데, 이걸 코딩으로 해결해 보려고 하니 까다로움이 있어 포스팅으로 남깁니다.보통의 경우, 아래 경우에 대해서 System.out 등으로 로그를 찍으면 조금만 커져도 그 양이 어마어마하게 많아집니다. 적은 수로 우선 동작을 확인하고 확대된 것을 이요하시기를 권장 드립니다.특히 ArrayList같은 경우에는 조합을 이용해서 index 의 조합을 가져오고, 이를 통해서 Arraylist 의 요소들을 꺼내 각각을 구현하는 방식을 이용했습니다. 바로 처리할 수도 있겠지만, 보통은 각각의 경우에 대해서 일련의 작업을 하고 마무리하는 것이 아니라, 아래처럼 가져온 모..
들어가며좌표값으로 이루어진 Matrix 에서, 하나의 좌표가 주어졌을 때, 그 주변 같은 값을 가진 좌표들을 구해내는 코드를 소개합니다. 눈으로 인지하기에는 어려운 로직이 아니지만, 실제 코딩을 해 보면 복잡도가 꽤 있고, 놓치는 부분이 많아 블로그에 정리합니다.배열을 for 문으로 돌면서 판단하는 로직, ArrayList 의 class요소에 대해서 contains 를 동작하게 하는 방법, 잘 사용하지 않는 do-while 문을 이용하는 방법 등을 소개합니다.구현방법위치 정보를 가진 배경다음과 같은 지도 형태의 matrix 에서 같은 값을 가진 원소들을 찾아보도록 하겠습니다.1 2 3 4 5 6 7 8 9 10 11 12 int[][] matrix = new int[][] { {0, 0, 0, 0, 0,..
들어가며 자바에서 문자열과 숫자를 구분하는 방법을 검색 해 보면, 거의 대부분 Double.parseDouble 로 해서 Exception을 발생시키고 catch 문에서 false, 정상 처리된 경우 true를 내보내는 형태로 구현한다. 하지만 성능 측면을 고려했을 때, try-catch 는 성능상 문제를 일으킬 수 있고, 따라서 가급적 사용하지 않고도 판단할 수 있는 방법이 있을 것 같아 다음의 방법을 찾아냈다. 구현방법 자바에서는 유니코드를 사용한다고 한다. 하지만 255까지는 아스키코드 값과 동일하다는 점을 이용한다. 숫자 0 은 유니코드 값으로 49, 숫자 9는 유니코드값으로 57에 해당하며, 아스키코드 값과 동일하다. 1234567891011121314151617181920 public bool..