본문 바로가기 메뉴 바로가기

Dev.re.kr

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Dev.re.kr

검색하기 폼
  • 분류 전체보기 (83)
    • 개발 관련 (67)
      • 아두이노,IOT (22)
      • 개인 자료 (5)
      • Java (10)
      • Android (21)
      • iOS (0)
      • C++ (0)
      • 기타,연구 (5)
      • 문서번역(비공개) (0)
      • 기초 (2)
    • 기타 공부 (0)
    • 잡담 (0)
    • 기타 취미 (13)
      • DIY (7)
      • 자전거 (0)
      • 스노보드 (4)
      • 이곳저곳 (1)
  • 방명록

개발 관련/Java (10)
[이클립스] 4K 해상도에서 아이콘이 작게 나오는 문제 해결

27인치 4K 해상도의 모니터로 이클립스를 열었을 때 조금 당황스러웠었다. 눈을 모니터에 가까이 가져가야 보일 정도의 작은 아이콘과 패키지 익스플로어의 깨알 같은 폰트들이 보였기 때문이다. 이런 경우 eclipse 디렉토리에 있는 eclipse.ini 파일을 열어서 가장 마지막 줄에 아래의 옵션을 추가해주면 된다. -Dswt.enable.autoScale=true -Dswt.autoScale=200 -Dswt.autoScale.method=nearest

개발 관련/Java 2019. 6. 30. 23:27
HTTP 주소를 URL 인코딩하기.

JAVA 에서 특정 URL 경로로 데이터를 가져오기 위하여 URL Encoding 을 해야할 때 여간 귀찮은 것이 아니다.그래서 아래처럼 URLEncoder 클래스를 수정한 BorwerURLEncoder 를 만들었다. 사용법은 URLEncoder 와 동일하며, 마치 브라우저 창에서 URL 주소를 입력해 놓은 것처럼 출력되도록 하였다. BrowserURLEncoder.java import java.io.CharArrayWriter; import java.io.UnsupportedEncodingException; import java.net.URL; import java.nio.charset.Charset; import java.nio.charset.IllegalCharsetNameException; imp..

개발 관련/Java 2017. 8. 31. 11:06
JAVA 에서 javascript (ECMA script) 실행하기.

JAVA6 부터 자바 스크립트 엔진을 기본적으로 지원한다. (ps, 안드로이드에서는 자바 스크립트 엔진이 직접 포함되지 않는다. 그렇기 때문에 RhinoScriptEngine 프로젝트를 직접 적용해야 한다. https://github.com/mozilla/rhino) JAVA8 미만은 RhinoScriptEngine 을 사용하며, 8 버전에서는 NashornScriptEngine 을 사용한다. 하지만 사용방법은 동일하다. 물론 각 브라우저에서 사용할 수 있는 자바 스크립트 API 는 제공되지 않는다. 아래 예제는 콘솔을 통하여 두 수를 입력 받아 각각 함수와 객체를 이용하여 덧셈을 하고 그 결과 값을 출력해 주는 코드다. test.js : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ..

개발 관련/Java 2016. 5. 23. 11:20
스트링 엔코딩 변환 - euc-kr <---> utf-8

세 줄 요약. 1. JAVA 의 String 클래스는 유니코드로 처리되는 char 의 배열 이외에 어떠한 인코딩 정보를 갖고 있지 않는다. 2. String.getByte('인코딩명') 을 사용하여 인코딩 할 수 있으며, new String(byte[], "인코딩명") 을 사용하여 디코딩 할 수 있다/.3. EUC-KR 에서 UTF-8 으로 바꾸기 위해서는 EUC-KR ---> java.lang.String ----> UTF-8 과 같은 방식으로 변환 할 수 있다. 기본적으로 자바의 String 클래스는 2 byte 크기의 유니코드를 사용하여 문자열을 처리하는 Character 배열을 감싸고 있는 형태이다. https://docs.oracle.com/javase/8/docs/api/java/lang/Ch..

개발 관련/Java 2016. 3. 7. 02:05
JAVA 텍스트 파일의 Encoding 정보 가져오기 + String Encoding 변환하기.

이클립스로 작성된 다양한 프로젝트들을 의존하는 프로젝트를 생성하는 경우 인코딩 문제로 당황스러울 때가 종종 있다. 만약 여러개의 프로젝트내의 소스 파일들이 각각 다른 인코딩으로 저장되었을 경우 이 것을 한 번에 utf-8 로 바꾸는 방법에 대하여 알아볼 것이다. 1. 텍스트 파일 (혹은 java 파일) 의 인코딩 정보 가져오기 Text 파일 혹은 Java 소스 파일의 인코딩을 확인하는 방법은 여러가지가 있지만 가장 정확하면서 간단한 방법은 바로 juniversalchardet (https://code.google.com/p/juniversalchardet/) 라이브러리를 사용하는 것이다. (무식한? 방법으로는 파일을 읽어서 테스트 하려는 인코딩의 스트링으로 변환하고 character 배열을 받아 0xff..

개발 관련/Java 2015. 11. 18. 15:06
Guava 사용 요약 슬라이드.

이 슬라이드를 보고 암이 치료되었습니다... 위 슬라이드 내용을 아래와 같이 정리해 봤다. Base :: Objects.equal(), Objects.hashCode(), MoreObjectes.toStringHelper(), ComparisonChain.compare() public class Employee implements Comparable{ public String name; public Integer age; public Job job; @Override public boolean equals(Object o) { if(!(o instanceof Employee)) return false; Employee that = (Employee)o; return Objects.equal(name, t..

개발 관련/Java 2015. 4. 17. 02:55
[JAVA:병렬 프로그래밍 - 3] Exchanger 사용하기.

Exchanger 는 뜻 그대로 쓰레드상에서 두 개의 인스턴스를 교환해주는 역할을 한다. 만약 한쪽의 쓰레드에서만 교환 메소드를 호출한다면 다른쪽에서 교환 메소드를 호출하기 전까지 대기하고 있는데. 이 클래스는 java 의 gc 와 같은 동작에서 사용할 수 있다. 예를 들어 설명하면 다음과 같다. (이해를 돕기 위하여 '요청' 이라는 표현을 사용하였다. 정확히는 교환 대상이 되는 인스턴스 값을 인자로 하는 교환 메소드 호출이다.) 1. 데이터를 '스택에 쌓는 쓰레드' 와, '스택을 비우는 쓰레드' 가 있다. 이 두 개의 쓰레드에는 각각의 '스택' 이 있다. 2. 데이터를 '스택에 쌓는 쓰레드' 는 계속해서 데이터를 자신의 '스택' 에 추가한다. 이 동작을 반복하다 스택이 가득차면 '스택' 교환을 요청하고..

개발 관련/Java 2014. 10. 6. 13:53
[JAVA:병렬 프로그래밍 - 2] CyclicBarrier 사용하기.

CyclicBarrier 를 사용하면 동시에 실행되는 쓰레드 내부 원하는 지점에서 대기를 걸어주고 모든 쓰레드가 대기 상태에 들어갔을때, 대기를 풀어주는 동작을 할 수 있다. 예를들어 설명하면 N 개의 쓰레드가 돌고 있다고 가정하고 CyclicBarrier 를 생성할 때 인자값으로 N 을 준다. 각각의 쓰레드 내에서 CyclicBarrier 의 await() 를 호출하고 호출 횟수가 N번에 도달했을 때, N개의 모든 쓰레드의 대기 상태가 해제된다. 아래 그림 참고. 설명이 조금 애매한데, 그냥 대충 보고 눈치것 이해하는 것이 좋다. CyclicBarrier를 활용한 예제코드:public class main { private final static int THREADS = 5; private static ..

개발 관련/Java 2014. 9. 2. 11:13
[JAVA:병렬 프로그래밍 - 1] CountDownLatch 사용하기.

만약 백그라운드에서 실행되고 있는 싱글 쓰레드가 종료되기를 기다리는 코드를 작성해야 한다면 당장 Thread 클래스의 join() 메소드 부터 떠올리게 될 것이다. 아래와 같이 말이다. 간단한 join() 사용예:Thread thread = new Thread() { @Override public void run() { System.out.println("start trhead."); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("end trhead."); } }; thread.start(); try { // 스레드가 끝날때 까지 대기한다. thread.join();..

개발 관련/Java 2014. 8. 19. 13:41
[JAVA] int 또는 float 를 byte 배열 타입으로 변환. byte 배열을 int 또는 float 으로 변환, Unsigned 표현.

자주쓰는 함수라 매번 코딩하기 귀찮아서 올려 놓는다. 아래는 4개의 길이를 갖는 byte 배열을 int 로 바꾸거나 int 를 4개의 길이를 갖는 byte 배열로 바꾸는 것이다.// 아래의 방법 외에 다음과 같이 간단한 방법도 존재한다. :// byte[] byteArray = ByteBuffer.allocate(4).putInt(value).array(); public byte[] intToByteArray(int value) { byte[] byteArray = new byte[4]; byteArray[0] = (byte)(value >> 24); byteArray[1] = (byte)(value >> 16); byteArray[2] = (byte)(value >> 8); byteArray[3] = ..

개발 관련/Java 2014. 3. 4. 16:22
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
  • 구형 공기 청정기 IOT 기기로 개조
  • ESP8266 에 웹 설정 마법사 붙이기
  • C# 에서 ms office 문서 PDF 로 변환⋯
  • 간단한 IOT 무드등 만들기
최근에 달린 댓글
  • 안녕하세요. 포스팅 재밌게 잘 읽었습니다! 그럼 숙소는⋯
  • 잘 보고 갑니다!
  • 감사합니다. 사랑해요. 제 눈을 지켜주셔서!
  • ㅋㅋㅋㅋㅋ안녕 못 한대ㅋㅋㅋㅋ좋은 정보 감사합니다. 저⋯
Total
563,845
Today
4
Yesterday
52
링크
TAG
  • ESP8266
  • 알리익스프레스
  • 칩두이노
  • arduino
  • 개발
  • activity
  • NeoPixel
  • ENC28J60
  • noidemcu
  • 침블락
  • 아두이노
  • ATtiny85
  • 블루투스
  • Cheapduino
  • bluetooth
  • 병렬 프로그래밍
  • Java
  • 부트로더
  • 안드로이드
  • 가습기
  • 이더넷
  • oled
  • ndk
  • json
  • Android
  • WS2812B
  • Iot
  • 안드로이드 개발
  • HC-06
  • 스마트 무드등
more
«   2023/01   »
일 월 화 수 목 금 토
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
글 보관함
  • 2022/04 (1)
  • 2022/03 (1)
  • 2022/01 (1)
  • 2019/11 (1)
  • 2019/06 (1)

Blog is powered by Tistory / Designed by Tistory

티스토리툴바