본문 바로가기

목록

(193)
Node.js Node.js란? Node.js는 JavaScript 언어로 만든 프로그램들을 실행할 수 있는 환경이다. 즉, Node.js는 JavaScript 런타임(=실행 환경)이다. ● JavaScript HTML에 종속되어 있는 언어로 HTML 조작과 변경을 위해 사용한다. ● HTML HyperText(웹 페이지에서 다른 페이지로 이동할 수 있도록 하는 것)기능을 가진 문서를 만드는 언어이다. ● 런타임 특정 언어로 만든 프로그램들을 실행할 수 있는 환경 Node.js는 어디에 사용되는가? Node.js는 서버를 만드는데 주로 사용된다. 특히 크기가 작은 데이터를 실시간으로 주고 받는데 적합해서 실시간 채팅이나 주식 차트 등에 많이 사용된다. 반면에 비디오나 대규모 데이터 처리 같이 CPU를 많이 사용하는 작..
String에 무한히 값을 넣어도 될까? String str; char value = 'a'; while(1) { str += value; } 위와 같은 코드는 이론적으로는 str 문자열에 문자를 계속 추가할 수 있다. 하지만 메모리 제한으로 인해 문제가 발생한다. while문이 계속 실행됨에 따라 str 문자열의 크기가 계속 증가하여 결국 시스템에서 사용 가능한 모든 메모리를 소비하게 된다. 시스템에 메모리가 부족해지면 프로그램이 충돌하거나 오류가 발생할 수 있다. 결론적으로 이 코드는 이론적으로 str 문자열에 무한한 수의 값을 넣으려고 하지만 실제로 프로그램에서 사용할 수 있는 메모리 양에 의해 제한된다.
(예제) Node-RED의 root directory를 지정하여 이미지 파일을 불러오기 1. 개요 컴퓨터의 Directory를 Node-RED에서 사용하는 root directory로 지정하고, 그 root directory에 저장된 이미지를 불러와 서버에 보내주는 예제를 진행하려고 한다. 2. 진행과정 1) Node-RED 환경 설정 아래의 링크를 참고하여 Node-RED 개발 환경을 설정한다. https://powerdeng.tistory.com/235 Node-RED와 개발 환경 설정 Node-RED란? 시각화 도구 중 하나로 이벤트 기반 애플리케이션을 위한 로우 코드 프로그램 환경이다. 시각화 도구답게 메시지가 애플리케이션을 통과하는 방식을 시각적으로 보여주는 장점을 지 powerdeng.tistory.com 2) User directory 확인 cmd창에 node-red를 입력하면..
(예제)웹 서버의 특정 경로에 접속하는 경우 메시지 출력하기 1. 개요 1) Web Client가 로컬 호스트일 경우 2) Web Client가 로컬 호스트가 아닐 경우 192.168.2.197의 1880포트를 사용하는 Node-RED 웹 서버가 열리면, Web browser(크롬)로 그 웹 서버의 경로 중 /powerdeng에 접속을 요청한다. 그러면 서버에서 "안녕하세요 powerdeng입니다."라는 메시지를 응답으로 보내주도록 서버를 Node-RED로 만드는 예제를 진행하려고 한다. 마지막으로 그 결과를 Web Client가 로컬 호스트일 경우와 아닌 경우로 나누어, 각각 PC와 핸드폰에서 접속하여 비교한다. ※ 로컬 호스트: 컴퓨터 네트워크에서 사용하는 루프백 주소로, 자신의 컴퓨터를 의미한다. ※ Web browser: Web server에 접속할 수 있..
Arduino 보드에서 생성된 값을 Serial 통신을 사용하여 서버로 보내기 1. 개요 Arduino Uno 보드에서 랜덤으로 생성한 3개의 값을 시리얼 통신으로 JSON Parsing하여 서버에 보내고, 서버에서는 받은 값으로 UI를 구성하여 보여주는 프로젝트를 진행하려고 한다. 개발 환경: Arduino IDE, Node-RED 개발 보드: Arduino Uno 보드 정보: Arduino Uno https://www.devicemart.co.kr/goods/view?no=34404 Arduino Uno (R3) A000066 / 이탈리아 정품 / ATmega328P 기반, 디지털 I/O 14핀, 아날로그 입력 6핀 / 32KB 메모리 / 동작 전압 : 5V / 68.6 x 53.4 mm / 25g www.devicemart.co.kr 2. 진행 과정 1번. Arduino ID..
Node-RED와 개발 환경 설정 Node-RED란? 시각화 도구 중 하나로 이벤트 기반 애플리케이션을 위한 로우 코드 프로그램 환경이다. 시각화 도구답게 메시지가 애플리케이션을 통과하는 방식을 시각적으로 보여주는 장점을 지니고 있다. ▷ Node-RED는 최소한의 코드로 프로그램을 만들 수 있는 개발 환경이다. ※ 로우 코드 로우코드 개발은 기존의 코드 우선 개발 방식이 아닌 적은 코딩으로 소프트웨어 애플리케이션을 만드는 방식입니다. 로우코드 플랫폼은 시각적 도구, 끌어서 놓기 기능, 자동화를 통해 앱을 만듭니다. 로우코드 개발은 일반적으로 기존 개발보다 더 빠르고 간편하며, 전문 개발자뿐만 아니라 기본 코딩 경험이 있는 사람도 로우코드 도구를 사용하여 앱을 만들 수 있습니다. 개발 환경 설정 1. Node.js 다운로드 아래의 링크에..
Arduino 보드와 PC(C# 사용)간에 UDP 통신을 사용하여 LED 제어하기 1. 개념 https://powerdeng.tistory.com/227 TCP와 UDP TCP와 UDP의 차이 TCP는 접속을 하고 서로 통신하지만 UDP는 접속하지 않고 통신한다. 사물 인터넷(IoT)에서 TCP와 UDP의 차이 1. TCP 사물 인터넷(IoT)에서는 기본적으로 사물(보드)이 많다는 가정이 있다 powerdeng.tistory.com 2. 개요 Wi-Fi 공유기에 IoT 보드와 PC( C#으로 UDP 서버 역할)가 연결되면 같은 공유기에 연결된 것들끼리는 UDP 통신이 가능하다. 따라서 이를 이용하여 보드에서 PC로 LED 상태 정보를 보내고, PC에서 보드로는 LED 제어 정보를 보내어 LED를 제어 및 상태를 파악하는 프로젝트를 진행하려고 한다. 보드 정보: WeMos D1 R1 h..
인코딩(Encoding) 인코딩(Encoding) 사람이 인지할 수 있는 문자, 사진, 영상 등을 컴퓨터가 이해할 수 있는 언어로 바꾸는 것을 통틀어 일컫는다. 인코딩을 하는 이유는 정보의 형태를 표준화하거나 보안 및 저장 공간 절약 등을 위해서 사용한다. 참고로 Decoding은 인코딩과 반대되는 개념이다. 문자 인코딩 문자를 숫자 표현 코드로 변환시키는 것을 말한다. 사용 목적에 맞게 변환시키는 방법에 따라 UTF-8, ASCII 등의 종류가 있다. https://codingpractices.tistory.com/entry/%EC%9D%B8%EC%BD%94%EB%94%A9-vs-%EB%94%94%EC%BD%94%EB%94%A9-%EC%A0%95%ED%99%95%ED%95%98%EA%B2%8C-%EC%9D%B4%ED%95%B4..