교육용으로 만든 자료를 정리한 것이다. IntelliJ Community Edition 은 무료지만, JAVA EE 지원이 되지 않습니다. 하지만, Smart Tomcat 이라는 플러그인을 설치하면 간단한 서블릿 웹 앱 프로젝트에 한해서 실행 및 디버깅을 진행할 수 있습니다. (1) Gradle 프로젝트 생성 Gradle 프로젝트로 새 프로젝트를 생성합니다. (2) Smart Tomcat 플러그인 설치 상단 메뉴 File => Settings 에 들어가서 좌측 탭의 Plugins 를 선택합니다. 그 뒤에 Smart Tomcat 을 검색하여 설치합니다. (3) build.gradle 편집 build.gradle 파일 상단에 (repositories 블럭 밑) 아래와 같이 입력해줍니다. sourceSets ..
(사진 출처: https://www.blueair.com/ 블루에어 공식 페이지) 내가 일하는 사무실에서 약 5년간 공기 청정을 담당하다가 얼마 전 집으로 오게 된 구형 공기청정기 블루에어 Pure211. 이 녀석을 구글 홈에 붙여서 음성으로 컨트롤하거나 원하는 시간에 꺼지거나 켜지게 할 수 있도록 인터넷을 연결해 보았다. 1. 기기 분석 - 개조 가능한지 살펴보기 첫 번째 할 일은 공기청정기를 분해해서 개조가 가능한지 살펴보는 것이다. 내가 생각했던 제일 좋은 개조 방법은 스위치 케이블을 ESP8266(아두이노를 탑재한) 에 연결하고, 다시 아두이노에서 공기청정기로 스위치 신호를 보내는 방법이다. 그렇게 되려면 구조가 간단해야 하는데... 기판을 분해해서 스위치 쪽 케이블 커넥터를 살펴보니 친절하게 설..
가끔씩 필요에 의해서 만드는 IOT 기기 프로젝트를 진행하면 제일 고민스럽고 귀찮은 것 중에 하나가 WiFi 연결과 서버 연결 설정을 만드는 부분이다. 이 프로젝트를 완성하기 전에는 소스코드 내에 하드코딩으로 무선 AP 의 SSID와 패스워드를 삽입해 버리거나 웹 서버를 동작시켜서 GET 파라미터 값으로 SSID 와 패스워드 그리고 mqtt 서버 주소를 입력하는 방법을 사용해왔다. 하지만, 최종 연결 상태를 확인하거나 추가 옵션을 붙이기가 만만치 않고, 중구난방으로 생겨나는 자작 IOT 기기들의 설정 방법들이 일관되지 않아서 유지 보수가 어렵다는 단점이 있었다. 그래서 일관된 방법으로 설정값을 넣기 위한 웹 설정 마법사 모듈을 단순하게 만들어봤다. 소스코드 및 사용방법: https://github.com..
참조 추가 => COM 에서 다음 항목들을 추가한다. 이후 아래의 코드를 사용하면 끝. 다만, 보안 문제가 있는 형식은 예외를 발생시키는데 이를 강제로 열 수 있는 방법을 찾아야한다. public static void WordToPDF(string docPath, string exportPath) { Microsoft.Office.Interop.Word.Document wordDocument; Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Interop.Word.Application(); // 경로, 파일 변환 대화상자 표시 안 함, 읽기 전용으로 열기 wordDocument = appWord.Documents.Open(..
예젠에 회사 블로그에 올렸던 글... 준비물 1. NodeMCU v2 WIFI 기능이 탑재된 가성비 좋은 마이크로 컨트롤러 보드입니다. 2. USB 와이어 LED 오픈마켓 등에서 'USB 와이어 LED' 로 검색하여 구입 가능합니다. 3. 브레드보드와 점퍼 케이블 납땜 없이 전자 회로를 구성하고 테스트 할 수 있습니다. 4. NPN 트렌지스터 - 2N2222 NodeMCU v2 소개 NodeMCU v2 에는 중국 에스프레시프 시스템사에서 개발된 wifi 기능이 탑재된 MCU, ESP8266-12E 모듈이 탑재되었습니다. 이 기기의 스펙을 간략하게 적어보면 다음과 같습니다. - 802.11 b/g/n 프로토콜 - Wi-Fi Direct (P2P), soft-AP - TCP/IP 프로토콜 - 80Mhz 클럭..
27인치 4K 해상도의 모니터로 이클립스를 열었을 때 조금 당황스러웠었다. 눈을 모니터에 가까이 가져가야 보일 정도의 작은 아이콘과 패키지 익스플로어의 깨알 같은 폰트들이 보였기 때문이다. 이런 경우 eclipse 디렉토리에 있는 eclipse.ini 파일을 열어서 가장 마지막 줄에 아래의 옵션을 추가해주면 된다. -Dswt.enable.autoScale=true -Dswt.autoScale=200 -Dswt.autoScale.method=nearest
둘째날이 밝았습니다.이 날은 전 날 내린 눈이 많이 쌓여서 눈사태 위험이 있었기 때문에 스키장 측에서 눈 폭파 작업후 2시간 늦게 오픈을 한다는 통지를 해왔다고 합니다.덕분에 잠을 더 자고 천천히 출발할 수 있었습니다. 베이스 위에 올라가니 산 위에 걸려있던 구름은 더 아래쪽으로 내려가고 (도시는 흐렸습니다) 쨍한 하늘 아래 장엄한 산봉우리와 가슴 설레게 하는 광활한 슬로프가 눈에 들어왔습니다. 심장터질뻔... 2860m 중간 정상에 올라왔습니다. 중간 정상 슬로프 모습. 토요일 오전이었는데도 불구하고 사람 없는 넓은 슬로프가 너무 마음에 들었습니다.정설은 되었지만 아직 파우더 설질을 유지하고 있어서 라이딩하기에도 좋았었어요. 저 멀리 산보다 낮게 깔린 구름이 보이네요. 구름 아래에는 알마티 시내가 감춰..
저는 규모는 크지는 않지만, 나름 복지가 괜찮은 회사에 다니고 있습니다. 직원들을 위한 복지중에 하나가 1년에 한 번씩 해외 워크샵을 보내주는 것이며, 사내 직원들과 팀을 짜서 원하는 장소로 갈 수 있습니다. 여행지에서 신나게 먹고 마시며 즐길수도 있고,함께 3박 4일 이상씩 붙어 다니기 때문에 업무에 관련된 이야기를 심도 있게 나눌 수 있는 시간이기도 합니다.더 좋은 점은 결혼한 분들은 3년에 한 번씩 부부 동반으로 다녀올 수 있도록 비용을 지원해 줍니다. 사내 동료 직원들 중에 저와 같이 스노보드를 즐기는 분들과 함께 팀을 짜서 카자흐스탄 알마티에 있는 침블락 (Symbulak) 스키장을 을 다녀오게 되었습니다. 결론부터 이야기 하면 강추입니다. 끝내주는 경치와 3월 초에도 즐길 수 있는 최고의 설질..
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..
대략 두어 달 전..자전거에 나의 Nexus 6P 를 매달고 빠른 속도로 내리막을 내지르다가 갑자기 튀어나온 요철에 급브레이크를 잡게 되었다.덕분에 넥서스 6p 는 관성에 의해 총알처럼 튀어나갔고 아스팔트 바닥에 서너 바퀴 구른 뒤에 아래 사진과 같은 꼴을 하게 되었다. 다행히도 화면도 잘 나오고 기능 만큼은 정상적으로 동작하지만, 친구나 회사 사람이나 누구나 할 것 없이 모두 이렇게 한마디씩 했다."핸드폰은 언제 바꿀거에요?" 아직 바꾼지 1년도 안 되었는데... ㅜ_ㅜ 수리점을 찾았으나 나의 Nexus 6p 꼬락서니를 보고 고개를 절레절레 흔드는 분이 있는가 하면, 정말로 휴대폰을 바꿀까 고민하게 만드는 많은 수리비용 덕분에 부품을 직접 구입하여 자가 수리하기로 하였다.이왕이면 배터리도 새것으로 교체..
- Total
- Today
- Yesterday
- NeoPixel
- 침블락
- 가습기
- ATtiny85
- ENC28J60
- 이더넷
- ndk
- Java
- 칩두이노
- activity
- WS2812B
- 개발
- noidemcu
- 아두이노
- Cheapduino
- oled
- arduino
- HC-06
- 블루투스
- 알리익스프레스
- 스마트 무드등
- 안드로이드 개발
- 부트로더
- ESP8266
- 안드로이드
- Iot
- 병렬 프로그래밍
- Android
- bluetooth
- json
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |