전체 글 (90) 썸네일형 리스트형 코틀린 Kotlin 다루기 (1) - Kotlin 사용 환경 구축하기 Kotlin 사용 환경 구축하기 앞으로 쓸 게시물은 쓰면서 Kotlin을 제가 Kotlin을 복습하는 겸 기초를 알리고자 쓰는 강좌입니다. 해당 강좌는 프로그래밍을 Kotlin으로 접하시는 분을 대상으로 합니다. 단, Java 기초 환경 (JDK 설치 등) 구축을 마쳤다는 가정을 하고 진행하며 Java 8 기준으로 작성합니다. Kotlin? Kotlin을 다뤄보기 전에 어떤 언어인지 간단하게 설명을 하고자 합니다. Java 계열 IDE로 알려진 (제가 생각하기에) 대표적인 두 IDE, Eclipse와 Intellij IDEA가 있습니다. Kotlin은 Intellij IDEA를 만든 회사, Jetbrains에서 제작한 프로그래밍 언어입니다. Kotlin은 JVM, Javascript(Java와 완전히 다.. Ask 익명질문 개발기 Typescript + Vue(Nuxt) + Firebase를 이용하여 Ask페이지를 만들어보았습니다.디자인하기 위해 Bulma.io 프레임워크를 사용했습니다. 페이지에서 질문 요청을 날리면 답변을 대기하기까지 기다리는 공간 또는 답변이 완료돼서 질문이 저장될 공간(DB)를 마련해야되는데 Firebase cloudstore 을(를) 이용하였습니다. Bulma를 이용하여 디자인을 완료하였습니다.Firebase가 server-side, client-side 둘 다 지원하는 라이브러리라서 client-side를 server-side로 쓰다보니 삽질을 많이 했었습니다. 페이지에서 질문을 요청하면 HTTP(Rest) API를 통하여 서버로 요청을 하게 만들었습니다. 메인 페이지에서 질문을 클릭하면 상세 페이지로 .. AirQualityTool 디자인 재작업 2018년 8월에 아두이노를 이용해서 웹에서 집의 온도, 습도, 공기품질을 확인할 수 있는 프로젝트를 진행하였습니다.당시에는 웹디자인을 부트스트랩으로 제작하였으며 각 그래프들을 한 페이지에 표시해 보기 편하지는 않았습니다. 그래프의 가독성을 조금이나마 높이고자 디자인을 변경해보았습니다. 기존에 쓰던 부트스트랩을 안쓰고 Bulma.io를 이용하였습니다.Nuxt.js를 이용하여 프론트엔드를 제작하였으며 Express로 만들어진 백엔드를 JavaScript에서 TypeScript로 변경하였습니다. 본문과 사이드바를 나누어주었습니다.사이드바는 컴포넌트로 분리하고 어느 페이지에 가도 항상 표시되기 때문에 layouts/default.vue에 넣어두었습니다. 마지막으로 본문에 그래프를 넣어 완성하였습니다. 온습도 .. RC자동차 만들기 몇 년 전 알리익스프레스에서 RC카 만드는 세트를 구매한 적이 있습니다.장난감에 들어가는 모터가 차체 모양이 장착해서 팔았었습니다. RF 통신을 이용했었는데 연결이 자주 끊기는 바람에 만들고 잊힌 작품이였습니다.(끊기는 원인은 모르겠는데 RF 송, 수신기 원인이 아닐 수도..?) 그래서 한참 시간이 지난 지금! 통신 방식을 블루투스로 변경하여 다시 만들어보았습니다. 사용 부품: 아두이노 나노, HC-06, L298N사용 전원: 모터용 전원 18650 배터리 (3.7V * 2), 아두이노용 전원 AA 건전지 (1.5V * 4) 기존 RC카의 경우 Mirco-Type B 규격을 사용하는 아두이노 나노였습니다.개발의 편리를 위해 남는 마이크로 5핀 단자를 사용하는 아두이노로 변경하였습니다. RF 통신 모듈의 .. 도커(Docker)가 뭐지? 최근 서버컴퓨터 OS를 기존 'Windows Server 2016'에서 'Ubuntu'로 갈아탔습니다.개발 목적에서는 리눅스가 익숙한 점도 있지만, 진짜 이유는 Docker을 쓰기 위함이었죠. 오늘은 Docker가 어떤 것인지 소개해보려고 합니다. 일단 도커는 하나의 서비스가 담긴 컨테이너 단위로 작동되는 가상화 솔루션입니다. 도커가 설치된 곳이라면 컨테이너를 올려 추가적인 개발 환경 구성 없이 실행이 가능합니다.현재는 리눅스에서 크게 사용되는 것으로 알고 있으며, 윈도우, MacOS에서도 사용 가능합니다. 그럼 도커와 일반적인 VM의 차이는? 출처: https://www.docker.com/resources/what-container VM은 Guest OS를 설치하여 그 위에 서비스를 올리는 반면 도커.. 자바 Pair 자바에서 Pair은 기본적으로 존재하지 않고 javafx에 속해있습니다.그래서 간단하게 작성해보았고 올려봅니다. javafx에 있는 Pair하고 거의 같습니다.(javafx에만 있는 기능하고 직렬화, toString 같은거 뺌) Docker-Compose 부팅 시 자동시작 되게 하기 DockerCompose 자동시작 되게 할려고 구글링을 열심히 한 결과 service를 등록해주면 된다는 글을 보았습니다.근데 오류가 뜨네요. 더 찾아보니까 docker-compose.yml에 restart: always 옵션을 넣어주면 됐습니다. restart: always 옵션을 넣은 후 최소 한번 이상 수동으로 시작해준다. 끝 MariaDB Can't connect to MySQL server on 'localhost' (10061) 해결하기 로컬에서 MariaDB(MySQL)를 접속하려고 했더니 Can't connect to MySQL server on 'localhost' (10061) 오류가 뜨기 시작했다. 구글링을 통해 찾아본 해결방법으로도 해결을 못했고 이상하게도 로컬이 아닌 곳에서는 접속이 잘 됐다. 결론부터 말하자면 기본 포트를 바꾼 사람만 이 글을 참고하길..! 기본 포트를 바꿨다면 아래 명령어로 접속해보자. mysql -u -p -port= 계정이 root이고 포트가 1111이라면 mysql -u root -p -port=1111 이렇게 쓰면 되는 것이다. -u 는 계정을 정해주는 옵션이고 -p는 비밀번호를 입력하겠다는 옵션이다. 이렇게 하니까 정상적으로 연결됐다. 온습도 및 미세먼지 측정, 시각화 - AirQualityTool 안녕하세요 :D 오랜만에 아두이노(NodeMCU) 프로젝트입니다! 집 안의 온습도 및 미세먼지는 기록하여 DB에 저장 후 그래프를 통해 보여주는 프로젝트입니다. 사용부품 : NodeMCU (CH340), DHT11, Grove DustSensor서버측 사용언어 : Node.js사용 데이터베이스 : MariaDB 제가 쓴 NodeMCU의 경우 일반적으로 많이 쓰이는 브레드보드에 들어가는 사이즈가 아니라서저런 방식으로... NodeMCU는 3V 출력만 지원하기 때문에 먼지 센서의 경우 외부전원을 이용해주었습니다. 사진처럼 그래프를 통해 현재 상태를 보여줍니다. GitHub : https://github.com/SkyLightQP/AirQualityTool 자바 java.util.ConcurrentModificationException 오류 java.util.ConcurrentModificationException 오류 java.util.ConcurrentModificationException는 어떤 오류이며 어떻게 해결하는지 써보고자 합니다. 해당 오류는 보통 List를 for문에 넣고 돌리면서 값을 remove() 할 때 발생합니다. 값을 삭제시 데이터가 변하게 되고, 시작할 때 데이터 상태와 달라지게 됩니다. 즉, index 값이 변합니다. 해결방법은 iterator을 이용하여 해결합니다. List list = new ArrayList(); Iterator it = list.iterator(); while (it.hasNext()){ it.remove(); } 볼트(V)체크기 완성! 3구 건전지 케이스, 남는 스위치, 볼트체크기를 이용하여 휴대용으로 만들어봤습니다.배터리 테스트나 여러가지 목적으로(사실 주목적이 배터리 테스트이지만) 만들었습니다.외관은 3D프린터로 뽑았습니다. 전체 틀 : 2시간위에 덮개 : 20분 전원을 키면 전면에 숫자가 뜹니다. 앞에 케이블을 통해 연결하면 전압 표시 사진에서는 드론 배터리를 연결했습니다. 옥토프린트 설치 완료! 라즈베리파이를 이용하여 옥토프린트를 설치해봤습니다3D프린터에 연결해서 외부에서도 3D프린터의 상태를 확인하거나 인쇄, 설정 등이 가능합니다. 라즈베리파이 카메라나 USB 웹캠을 이용해서 녹화, CCTV도 가능합니다!(아쉽게도 저는 없어서 못했지만..) 혹시 해보실 분들은 아래에 공식 튜토리얼 링크를 남겨두었으니 확인해보시길 바랍니다 :D 옥토프린트 설치하기 https://github.com/foosel/OctoPrint/wiki/Setup-on-a-Raspberry-Pi-running-Raspbian TelegramScreenShotBot 스크린샷 키를 누르면 해당 프로그램을 통해 텔레그램 특정 채널로 사진을 전송해주는 봇을 제작 중입니다.게임이 끝나고 게임 결과를 저장하기 위한 목적으로 제작 중입니다. 위와 같은 GUI로 구성하였습니다. (개발 당시 인증코드를 너무 많이 요청해서 일정 시간 차단을 먹은....)시험도 끝났으니 계속 개발해야겠네요 필라멘트 스탠드 제작 완료! 3D프린터를 사고난후 필라멘트 스탠드를 제일 먼저 만들거라는 목표를 세웠지만생각보다 쉽지가 않더군요. 어찌어찌해서 만든 필라멘트 스탠드! 안 쓰는 휴지걸이막대를 이용해서 만들었습니다.한쪽 받침대(?) 뽑는데 3시간 30분 정도 걸리고 너무 낮아서 높이 올리는 파츠 뽑는데 2시간 걸렸습니다. 제대로 작동하는지는 아직 안해봐서 모르겠지만 확실한건 막대 거치가 뒷쪽이라 무게중심이 뒤로 쏠리네요.이 부분만 고치면 쓸만할거 같습니다. [Gradle] Jar 빌드 경로 설정하기 Gradle로 빌드하게 되면 보통은 프로젝트 폴더 안에 Jar 파일이 생기게 된다.이 경로를 바꾸는 방법은 아래와 같다. [ build.gradle ] 1234jar { destinationDir new File("C:/Project")} Colored by Color Scriptercs 검색어하늘빛, 하늘빛QP, 그래들, Gradle, Groovy, Java, 자바, Gradle Build, Gradle 빌드 이전 1 2 3 4 5 6 다음