개발일지 44

http multipart

일을 하던 중에 tcp서버로 받은 센서 값을 사진과 함께 서버로 http 통신을 사용하여 넘겨주는 일을 맡았습니다. 이를 해결하기 위해 http multipart를 사용했습니다. multipart란 해석 그대로 '여러 부분'이라는 뜻입니다. 쉽게 설명하면 파일과 문자를 같이 서버에 post방식(사진은 용량이 커 GET방식 사용 불가)으로 넘겨주어야 하는 일이 발생합니다. 기본적으로 post는 하나의 타입만 보낼 수 있습니다. 이를 해결하기 위해 나온 것이 MULTIPART입니다. 이는 text부분의 공간과 file 부분의 공간을 나누어 보내는 방법을 사용합니다. 이 방법으로 한번에 다른 형식의 데이터를 보내 리소스를 줄일 수 있습니다.

TCP통신 서버 만들기

node-red서버에서 tcp통신은 매우 쉽게 만들 수 있습니다. 보통 언어에서는 socket을 열고 thread를 만들고 실행해주어야 합니다.(그 외에도 예외처리 등...) 하지만 node-red는 블록 2개면 tcp서버를 받고, 보내줄 수 있습니다.(보통은 MQTT를 추천합니다.) 이 두개의 블록을 사용하여 데이터를 tcp로 보내고 받을 수 있습니다. 일단 node-red 서버를 실행시키고 localhost:1880으로 들어옵니다.(기본 포트는 1880입니다.) 들어오면 오른쪽 위에 메뉴를 클릭하여 가져오기를 누르세요. 열린 창 안에 아래 JSON을 넣으시고 확인을 누르면 제가 만든 서버측 TCP블록이 생성됩니다. [ { "id": "303ed48cda1eef2c", "type": "http in",..

node-red는 무엇인가?

Node-RED(노드 레드)는 하드웨어 장치들, API, 온라인 서비스를 사물인터넷의 일부로 와이어링(배선화)시키기 위해 본래 IBM이 개발한 시각 프로그래밍을 위한 플로 기반 개발 도구이다. Node-RED는 브라우저 기반 플로 편집기를 제공하므로 자바스크립트 함수를 개발하는데 사용할 수 있다. 애플리케이션의 요소들은 재사용을 위해 저장하거나 공유할 수 있다. 런타임은 Node.js 위에서 개발되어 있다. Node-RED에서 만든 플로는 JSON을 사용하여 저장된다. 버전 0.14 이후 MQTT 노드들은 적절하게 구성된 TLS 연결을 만들 수 있다. -위키백과 이처럼 node - red는 IBM사가 개발한 로우코드 프로그램으로 nodejs기반으로 동작합니다. 그래서 여러가지 일을 처리하는 싱글스레드 기..

javax.net.ssl.SSLException: closing inbound before receiving peer's close_notify

spring mvc를 사용해 DB를 연결하여 sql을 사용하려고 하는데 서버를 실행했더니 이런 오류가 나왔습니다. 오류의 원인은 DB연결을 할 때 ssh연결이 필요하지만 그 설정을 안 하여 오류가 나온 것입니다. 해결방법은 jdbc:log4jdbc:mysql://localhost:3306/DB?&useSSL=false 로 수정합니다. 출처 : https://kikikimoong.tistory.com/entry/SpringBoot-Closing-inbound-before-receiving-peers-closenotify-%EC%98%88%EC%99%B8-%EC%97%86%EC%95%A0%EA%B8%B0 [SpringBoot] Closing inbound before receiving peer's close..

spring missing required library

jar파일을 이클립스가 못 읽어와서 다시 다운을 받고 다시 등록해주었습니다. 1. 못 읽어오는 jar파일을 다운받고 jar파일을 모아놓은 곳에 넣기 저는 json-simple jar를 못 읽어와서 다시 다운받았습니다. 다운 받은 후 다른 라이브러리를 모아놓은 곳에 넣어두었습니다. 2. 다운받은 라이브러리 다시 등록 사용할 프로젝트에서 오른쪽 클릭 후 Properties 를 클릭합니다. 클릭하면 아래 사진처럼 창이 나오는데 검색창에 build를 칩니다. java build path를 클릭하고 오은쪽에 add jars를 클릭한 후 다운받은 jar파일을 선택 후 apply and close를 누릅니다. 잠시 기다리시면 오류가 해결되는 것을 확인 하실 수 있습니다. 참조 : https://stackoverflo..

Target runtime Apache Tomcat 8.0 is not defined

egov의 소스를 받아 임포트 하였더니 이러한 에러가 나왔습니다. 이 에러는 기존에 설치된 톰켓 버전과 소스의 버전이 달라서 나오는 에러입니다. 이 오류를 해결하기 위해서는 소스의 톰켓 버전을 기존에 설치된 버전으로 변경해주어야 합니다. 저는 아래 블로그를 참조하였습니다. https://ktko.tistory.com/entry/Target-runtime-Apache-Tomcat-is-not-defined-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95 Target runtime Apache Tomcat is not defined 해결 방법 Target runtime Apache Tomcat v8.5 is not defined 오류가 발생하였습니다. 이 해결 방법은 8.5 버전뿐만아니라..

spring mvc error - src/test/resources missing

깃허브에서 내가 만들어 놓은 프로젝트를 서버에서 돌리기 위해 임포트하였을 때 나온 오류입니다. 이 문제의 해결은 아래 내용을 참조하였습니다. https://stackoverflow.com/questions/11976223/how-to-deal-with-missing-src-test-java-source-folder-in-android-maven-project How to deal with missing src/test/java source folder in Android/Maven project? I'm not very experienced with Maven in combination with Android yet, so I followed these instructions to make a new A..

the errors below were detected when validating the file "spring-context-4.0.xsd" via the file "dispatcher-servlet.xml". in most cases these errors can be detected by validating "spring-context-4.0.xsd" directly. however it is possible that errors will o..

이 문제는 무슨 오류인지 모르는 오류인데 오른쪽 클릭 후 아래쪽에 있는 validate 옵션을 끄면 오류가 사라진다. 아래 스택오버플로우는 똑같은 오류로 인해 고통받던 사람이 올린 해결법이다. https://stackoverflow.com/questions/13693065/error-in-spring-application-context-schema Error in spring application context schema I have a maven-spring project in Eclipse and I have this annoying error message in one of my spring contexts: Referenced file contains errors (jar:file:/M2_HOM..

이클립스 github push

아래 블로그가 잘 정리되어 있습니다. https://sallykim5087.tistory.com/111 이클립스로 git 관리하기 - pull / push 1. push 하기 2. clone 하기 (1) remote repository clone 하기 (2) clone 한 repository를 import 하기 3. pull 하기 sallykim5087.tistory.com 처음 pull은 아래 페이지에 나와았습니다. 2022.03.31 - [개발일지/GitHub 도전기] - 이클립스 git clone import 이클립스 git clone import https://ddolcat.tistory.com/1631 File 메뉴 클릭 > Import 클릭 2. G" data-og-host="ddolcat.t..