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 ..
API 서버를 개발하다보면 아래와 같이 간단한 JSON 타입을 Response 값으로 반환해야 하는 경우가 종종 생긴다. { "success" : true, "id" : 1024, "items" : [0,7,9,12], "status": { "method" : "get", "code" : 202 } } 만약 위 값이 일회성이라고 가정할 때, GSON 같은 도구를 사용하기 위하여 객체로 만들거나 스트링을 사용해서 이어 붙이기에는 구현하기가 복잡하거나 귀찮아 지는 경우가 종종 발생한다. 그래서 이런 귀찮은 작업들을 간단하게 줄여주는 코드를 만들었고, 공유한다. JsonMaker.java 파일을 만들고 아래 주소에 있는 코드를 붙여넣기 하여 사용할 수 있다.https://gist.github.com/ice3x..
Exchanger 는 뜻 그대로 쓰레드상에서 두 개의 인스턴스를 교환해주는 역할을 한다. 만약 한쪽의 쓰레드에서만 교환 메소드를 호출한다면 다른쪽에서 교환 메소드를 호출하기 전까지 대기하고 있는데. 이 클래스는 java 의 gc 와 같은 동작에서 사용할 수 있다. 예를 들어 설명하면 다음과 같다. (이해를 돕기 위하여 '요청' 이라는 표현을 사용하였다. 정확히는 교환 대상이 되는 인스턴스 값을 인자로 하는 교환 메소드 호출이다.) 1. 데이터를 '스택에 쌓는 쓰레드' 와, '스택을 비우는 쓰레드' 가 있다. 이 두 개의 쓰레드에는 각각의 '스택' 이 있다. 2. 데이터를 '스택에 쌓는 쓰레드' 는 계속해서 데이터를 자신의 '스택' 에 추가한다. 이 동작을 반복하다 스택이 가득차면 '스택' 교환을 요청하고..
만약 백그라운드에서 실행되고 있는 싱글 쓰레드가 종료되기를 기다리는 코드를 작성해야 한다면 당장 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();..
일을 하다보면 작성하기 귀찮은 코드들을 찾기 위해 구글링을 통하여 무한 복불을 한다. 랜덤 문자열 생성도 마찬가지로 이곳저곳 검색해서 많이 사용 했었는데, 간혹 특정한 문자 값들로 랜덤 문자열을 만들거나, 또는 랜덤 문자열에서 제외할 문자 값을 설정할 필요가 있어서 만들었다. :: 사용법 String randStr;// 숫자를 제외한 길이 32의 랜덤 문자열 생성.randStr = new RandomStringBuilder(). putExcludedChar(RandomStringBuilder.NUMBER). setLength(32).build();System.out.println(randStr); // 알파벳으로 이루어진 길의 32의 랜덤 문자열 생성.randStr = new RandomStringBui..
- Total
- Today
- Yesterday
- ndk
- NeoPixel
- 안드로이드
- bluetooth
- ENC28J60
- Cheapduino
- 안드로이드 개발
- WS2812B
- oled
- ESP8266
- Iot
- ATtiny85
- noidemcu
- 가습기
- 블루투스
- 병렬 프로그래밍
- activity
- 개발
- 이더넷
- 아두이노
- 칩두이노
- HC-06
- arduino
- 부트로더
- Android
- json
- 침블락
- Java
- 스마트 무드등
- 알리익스프레스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |