app.getProgress().getStudyDuration()과 같이 호출 할 때 progress가 null인 경우 NullPointerException가 발생하는 것이 흔한 일이었음그래서if (progress ≠ null) {}과 같이 null 체크를 해줘야했음.public Progress getProgress() { if (this.progress != null) { throw new IllegalStateException(); } return progress;}위와 같이 null 인 경우 에러를 throw 하기도 했었으나 좋은 사용 예는 아님Java8에서 부터는 비어있는 값이 있을 경우 Optional을 이용해서 처리할 수 있음public Optional getProgresS() { retur..
함수를 파라미터로 넘겨 활용할 수 있다?Function값을 하나 받아서 하나의 값을 리턴하는 형태R apply(T t)package learn;import java.util.function.Function;public class Plus10 implements Function { @Override public Integer apply(Integer integer) { return integer + 10; }}//이렇게 클래스를 만들어서 사용할 수도 있고Plus10 plus10 = new Plus10();System.out.println(plus10.apply(1));//아래와 같이 람다식으로 요약해서 사용할 수 있음.Function plus10 = (i) -> i + 10;함..
StreamStream은 데이터를 담고 있는 저장소(컬렉션)가 아니다.Functional in nature, 스트림이 처리하는 데이터 소스를 변경하지 않는다.스트림으로 처리하는 데이터는 오직 한번만 처리한다.무제한일 수도 있다. (Short Circuit 메소드를 사용해서 제한할 수 있다.)중개 오퍼레이션은 근본적으로 lazy하다.손쉽게 병렬 처리할 수 있다..parallelStream()을 사용하면 JVM이 병렬처리parallelStream을 사용한다고 무조건 빨라지는 것이 아니니 적절히 사용해야함스트림 파이프 라인0 또는 다수의 중개 오퍼레이션 (intermediate operation)과 한개의 종료 오퍼레이션 (terminal operation)으로 구성한다.스트림의 데이터 소스는 오직 터미널 오..
4월에 만지작 거리던 프로젝트를 11월 말에야 다시 열어보게 되었는데.. pdf 파일 내 텍스트 추출은 https://blog.taeseong.me/394에서 했던 대로 처리를 했지만 표 같은 양식이 있는 파일들은 텍스트를 파싱하기에 좀 어려움이 있어서 어떻게 해야하나 하다가 아래 방법으로 해결했습니다. File source = new File(filePath); PDDocument pdfDoc = PDDocument.load(source); PDFTextStripper pts = new PDFTextStripper() { @Override protected void writeString(String text, List textPositions) throws IOException { writeString..
같은 라이브러리를 이용해서 PDF를 바로 XLS로 변환하는 방식도 있는데 XML로 변환 후 XLSX로 변환하는 방식을 추천하길래 따라서 해봤습니다. 간단한 텍스트가 있는 PDF는 꽤 괜찮게 변환이 되는데 아쉬운점은 표가 삽입되어있다거나 하는 경우는 변환이 원활하지 않았습니다. 일단은 참고로 남겨두기 위해 작성해두는 것이니 만약 이 글을 보시는 분이 계시다면 참고로만 봐주세요. 변환을 위해서는 aspose pdf, cells 라이브러리가 필요합니다. 해당 라이브러리의 다른 버전이나 추가 정보가 필요하신 분들은 아래 링크를 참고하세요. https://mvnrepository.com/artifact/com.aspose/aspose-pdf/20.3 https://mvnrepository.com/artifact/..
개인적으로 만들고 있는 프로그램에서 PDF 파일 내 텍스트를 가져와야하는 일이 있어서 사용했던 소스를 간략하게 정리해봅니다. pdfbox를 사용해서 PDF 파일을 읽어올 것이기 때문에 pdfbox dependency를 추가하거나 jar를 받습니다. https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox/2.0.19 org.apache.pdfbox pdfbox 2.0.19 사용법은 아주 간단합니다. String fileName = "2020_03.pdf"; File source = new File(fileName); PDDocument pdfDoc = PDDocument.load(source); String text = new PDFTextStripper..
JAVA8이 나온지도 꽤 시간이 흘럿는데 JAVA에 관심이 없기도하고 회사에서 7을 쓰고있다보니 이제서야 7에 대한 내용을 쓰고있다.. 1. try-with-resources기존에 try-catch 문에서 자원의 해제는 finally문을 만들어서 처리를 했었는데 JAVA 7부터는 그럴 필요가 없다.public static void viewTable(Connection con) throws SQLException { String query = "select COF_NAME, SUP_ID, PRICE, SALES, TOTAL from COFFEES"; try (Statement stmt = con.createStatement()) { ResultSet rs = stmt.executeQuery(query); ..
이런 경우는 거의 없겠지만 자바스크립트를 자바에서 사용하고자 할땐 ScriptEngine을 이용해서 사용할 수 있습니다. ScriptEngineManager scriptEngineMgr = new ScriptEngineManager(); ScriptEngine jsEngine = scriptEngineMgr.getEngineByName("JavaScript"); 위와 같이 엔진을 선언하고 아래와 같이 자바스크립트 함수를 선언 합니다.private static void initScriptValue(ScriptEngine jsEngine) throws ScriptException { jsEngine.eval("JAVASCRIPT CODE INSERT"); }jsEngine.eval("") 에 스크립트 코드를..
- Total
- Today
- Yesterday
- jQuery
- 아이폰
- 제이쿼리
- Objective-C
- Spring Framework
- tomcat
- Programming
- Object C
- iOS 개발
- SQL
- iBATIS
- JavaScript
- oracle
- MacOS X
- 자바
- MySQL
- 자바스크립트
- Xcode
- 오브젝티브 C
- MAC OSX 10.7
- zero
- Java
- 아이폰 개발
- 아이폰 어플리케이션
- iPhone
- Spring
- IT
- Objective C
- JSP
- 오브젝트 C
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |