본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


전체 글674

파일종류, Dos파일 / Unix파일 텍스트 파일(문서 편집기로 열 수 있는 파일형식)은 운영체제에 따라 조금씩 다르다. 유닉스 계열과 윈도우 계열에서 만들어진 파일의 행의 끝부분이 각각 OS에 맞게 나오는 것이 아니라 조금씩 다를 수 있다.(물론 매킨토시도 마찬가지다) - 유닉스/리눅스의 텍스트 파일은, 각 행의 끝부분이 16진수로 0A 라는 1개의 문자 - 매킨토시(MAC), 윈도우의 텍스트 파일은, 각 행의 끝부분이 16진수로 0D 라는 1개의 문자 이러한 파일들이 문서를 보거나 열때 깨지거나 문제가 발생 할 수 있다. 문서편집기는 문서에 대해 최적화 되어있어서 사실 상관없이 잘 열릴수가 있는데, 가령 해당 파일을 바탕으로 무언가 실행되는 프로그램이 존재한다면 해당 파일을 읽지 못하는 것이다. 아무튼..이러한 경우에는 통상적으로 rep.. 2019. 4. 25.
자바 기본 인코딩 (with 파일 입출력) 저장된 파일이나 Blob 형태의 데이터를 읽어들인 경우에 기본 인코딩은 설치된 Java 인코딩 설정에 의해서 영향을 받으며, Java의 기본 인코딩 설정은 OS에 의해서 영향을 받아서 UTF-8이 아닌경우가 종종 존재 한다. JVM이 동작을 하게되면 OS의 기본인코딩을 따른다고하니까..뭐..윈도우나 맥에서는 한글데이터가 그다지 깨지는 모습을 볼 수 없는데.. 특히 좀 옛날스러운 서버에서 파일을 읽은 경우 같은 코드임에도 불구하고 한글이 깨져서 나온다. 즉, 개발환경에서는 잘만 보이던 한글이 설치한 서버에서는 깨지거나 안보 일 수 있다. ByteArrayInputStream isr = new ByteArrayInputStream('Byte로읽어온파일데이터'); InputStreamReader inss = .. 2019. 4. 25.
Java 반응형 프로그래밍 요즘 함수형과 반응형 프로그래밍에 대해서 많이들 이야기가 나온다. MVC 패턴이나 디자인패턴 등 여러 개발방식은 어떠한 행위에 대해서 직접 접근해서 보기좋게 처리하는 것을 의미한다면, 그중 반응형 프로그래밍은 이벤트(행위,동작)가 발생하면 이미 정의된 기능(함수)이 알아서 처리하는 것을 의미한다. 반응형 프로그래밍은 비동기 데이터의 스트림을 프로그래밍 하는 것 이다. * 네..? 뭔말인지.. 어떠한 이벤트에 대해 그것에 대한 데이터 스트림을 만들고 그 스트림을 함수형으로 합성하고 생성하며 필터링 할 수 있는 방법을 의미한다. 그니까..데이터나 이벤트를 함수형 방법을 통해서 좀 더 쉽게 가공하고 처리 할 수 있는 개념이라고 생각하면 될 듯 하다. ReactiveX 홈페이지에 가면 그러한 반응형 기능을 잘 .. 2019. 4. 25.
자바 함수형 프로그래밍 2 람다식의 등장으로 자바에서도 편리하게, 보기쉽고 간결하게가 모티브가 되어 여러 기능들이 새롭게 계속 나오고 있다. 물론 함수형 프로그래밍 기법을 몰라도 코딩하는데 문제는 없지만. 저번에 사용한 기법은 인터페이스에 내장된 default 메소드를 통한 사용방법이었다면, 지금 소개할 내용은 Fuctnion이라는 인터페이스를 활용하는 방법이다. 기본적으로 람다를 알고 있어야 함수형 인터페이스르 이해 할 수 있다. 첫번째 함수 f는 String값을 받아 Integer형태를 리턴한다는 내용이다. 해당 함수를 구현하면 기본적으로 apply라는 메소드를 통해서 실행이 가능 하다. 함수에서는 반드시 리턴값이 존재하기 때문에 만약 void 형태를 구현한다면 Consumer를 활용하면된다. public class Main .. 2019. 4. 25.
Java Exception 기록하기 에러가 발생하면 통상적으로 printStackTrace를 사용하고는 한다. 그런데 해당 메소드는 void 타입으로 저장되어있는 메시지를 출력하는 용도로 쓰인다. 에러로그를 대충 기록하려면 getMessage 메소드에서 문자값을 가져오면 끝나지만 상세히 기록하는데는 별 쓸모가 없다. printStackTrace를 자세히보면 이름이 같은 오버로딩 형태의 메소드가 존재하는데..해당 메소드를 사용하면 메시지를 얻을 수 있다. catch (Exception e) { String res = ""; e.printStackTrace(); //출력 res += "----------*---------- 간단메시지 : " + e.getMessage(); res += "----------*---------- 이유 : " + .. 2019. 4. 25.
Java로 프로그램(exe, sh같은) 실행 java로 파이썬이나 R 프로그램을 동작하는 경우가 있었다. 조금더 깔끔하게 무언가 callback형식으로 만들고 싶다는 생각이 들어서 여러방법을 조합하여 보았다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class Test { private static Process process = null; public static void main(String args[]){ exeOrder("c:/test.exe",new Item() { @Override public void todo(String res) { // 콜백으로 할.. 2019. 4. 25.