이전 글 [GPS 모듈의 사용 - GPS 로그 찍어보기] 에서 아두이노에 GPS 모듈을 붙여서 GPS 로그를 시리얼모니터에 출력해 보았습니다. 이번에는 GPS 모듈외에 SD카드에 텍스트를 저장할 수 있는 모듈을 추가해서 GPS 로그를 저장 할 수 있는 GPS 추적기를 만들어 보겠습니다. SD카드 저장모듈은 예전에 한 번 리뷰한적이 있습니다. [아두이노로 SD카드 다루기 (SD카드 정보, SD 카드 읽기/쓰기)] 이를 이용하여 GPS 의 위도와 경도 데이터를 마이크로 SD 카드에 텍스트 형식으로 저장하는 것 입니다. 단, 저장하는 형식은 GPS 로그기록 포맷인 XML 형식의 GPX 파일 포맷으로 하여 구글어스 등의 프로그램에서 바로 불러 올 수 있도록 생성해 보려고 합니다. 마이크로 SD 카드 저장모듈 입..
아두이노에 GPS 모듈을 연결하면 자신의 현재위치 등의 정보를 알 수 있습니다. GPS 는 Global Positioning System 의 약자로서 미국 국방부에서 띄운 24개 이상의 위성에서 제공 해주는 신호를 이용하여 벡터방식으로 현재의 위도와 경도를 알 수 있도록 하는 시스템 입니다. 보통 GPS 신호는 실내에서는 잡기 힘들며 하늘이 보이는 야외로 나가야 잡을 수 있습니다. 그리고 3개 이상의 위성의 신호가 잡혀야 벡터방식으로 현재의 위치를 구할 수 있습니다. 많은 위성이 일정한 간격으로 지구전체를 돌고 있으므로 지구상 어느곳 에서든지 항상 3개 이상의 GPS 신호를 잡을 수 있습니다. 고로 자동차의 네비게이션, 조난 구조장치, 선박의 항법장치, 항공기 자동 조종장치 등 수 많은 산업에 쓰이고 있..
아두이노에 블루투스 모듈을 추가하면 시리얼통신을 이용하여 데이터 값을 받거나 보낼 수 있다. 블루투스는 10미터 정도에서 무선으로 데이터를 보내거나 받을 수 있으므로 이를 활용하면 릴레이, 모터, 전등 등을 동작시켜 무선으로 기기를 제어하는 것이 가능하게 된다. 예를 들어 블루투스 기능이 있는 스마트폰, 노트북 등으로 아두이노에 연결된 블루투스 모듈로 신호를 보내 침대에 누워서도 집안의 전등을 무선으로 끄고 켤 수 있게 할 수 있다. 단, 통신거리 10M 정도라는 제한이 있으므로 멀리 떨어지면 블루투스 모듈과의 연결이 끊겨 작동이 되지 않을 수도 있다. 아두이노를 위한 블루투스 모듈은 여러가지가 있지만 가장 싼 값에 사용할 수 있는 것이 HC-06이라고 불리는 모듈이다. 국내에서도 1만원 이하로 다양한 ..
이 문서는 패스트캠퍼스 오프라인 강의를 위해서 준비된 문서이기에, 일부 내용들은 설명이 생략되어있을 수도 있습니다.이번 강의에서 다룰 주제는 리덕스 미들웨어를 사용하여 외부 데이터를 연동하는 방법을 다뤄보겠습니다.외부 데이터를 연동하기 위해서 리덕스, 그리고 리덕스 미들웨어들이 꼭 필요한것은 아닙니다. 리액트 컴포넌트와 내부 state 만을 사용하여 모든 것 들을 할 수 있어요. 하지만, 좋은 도구들과 함께하면 좋은 개발자경험 (Developer Experience)이 따라옵니다.어플리케이션을 만듬에 있어서는, UX 도 매우 중요하지만, 이를 개발하는 개발자들의 정신건강을 위하여, 개발자경험 또한 놓칠 수 없습니다. 네트워크 요청의 상태 관리와 전달받은 데이터 상태 관리를 효율적이고 쉽게 할 수 있도록,..
이 포스트는 React 에서는 불변함 (Immutability) 를 지키며 상태 관리를 하는 것을 매우 편하게 해주는 라이브러리 Immutable.js 에 대해서 알아보겠습니다.서론리액트를 사용하신다면, Immutability 라는 말, 한번쯤은 들어보셨을겁니다. 리액트 컴포넌트의 state 를 변경해야 할 땐, 무조건, setState 를 통해서 업데이트 해주어야 하며, 업데이트 하는 과정에서 기존의 객체의 값을 직접적으로 수정하면 절대!! 안됩니다.예를 들어서 컴포넌트의 state 에 users 라는 배열이 있다고 가정해봅시다.state = { users: [ { id: 1, username: 'velopert' } ] };자, 우리가 만약에 이 users 배열에 새로운 객체를 추가한다면 어떻게 해야..
이 포스트는 이어지는 튜토리얼 입니다. 1편 을 먼저 읽고 오시길 바랍니다.리덕스의 3가지 규칙리덕스를 프로젝트에서 사용하게 될 때 알아둬야 할 3가지 규칙이 있습니다.1. 하나의 애플리케이션 안에는 하나의 스토어가 있습니다.하나의 애플리케이션에선 단 한개의 스토어를 만들어서 사용합니다. 사실, 권장되지는 않습니다. 여러개의 스토어를 만들고 싶다면 만들 수는 있습니다. 특정 업데이트가 너무 빈번하게 일어나거나, 애플리케이션의 특정 부분을 완전히 분리시키게 될 때 그렇게 여러개의 스토어를 만들 수도 있습니다. 하지만 그렇게 하면, 개발 도구를 활용하지 못하게 됩니다.2. 상태는 읽기전용 입니다.리액트에서 state 를 업데이트 해야 할 때, setState 를 사용하고, 배열을 업데이트 해야 할 때는 배열..
이 포스트는 리덕스의 리도 모르는 독자들을 대상으로 작성된 글입니다. 리덕스가 왜 필요한지 알아보고, 리덕스를 편리하게 사용하기 위한 발악을 한번 해보겠습니다.리덕스 왜 쓸까?리액트애서 애플리케이션을 만들 때, 기본적으로는 보통 하나의 루트 컴포넌트 (App.js) 에서 상태를 관리합니다. 예를들어서, 투두리스트 프로젝트에서는, 다음과 같은 구조로 상태가 관리되고 있죠. 리액트 프로젝트에서는 대부분의 작업을 할 때 부모 컴포넌트가 중간자 역할을 합니다.컴포넌트 끼리 직접 소통 하는 방법은 있긴 하지만, 그렇게 하면 코드가 굉장히 많이 꼬여버리기 때문에 절대 권장되지 않는 방식입니다. (ref 를 사용하서 이러한 작업을 할 수 있긴 하죠.)App 에서는 인풋의 값인 input 값과, 이를 변경하는 onCh..
다음은 회원가입 프로젝트를 이용한 라우트 분리와 게시글의 추가, 수정, 삭제 기능을 물리적으로 합치는 것에 대해서 진행하겠습니다. 소스코드 : https://github.com/swk3169/nodejs-membership 라우트 : 길을 내다 라우트를 분리하는 이유 : 코드의 가독성을 높이기 위해서 코드를 필요에 따라서 길을 나누는 것 기존의 facebook인증을 통한 회원가입 프로젝트 코드 app_passport_facebook_mysql.js var express = require('express');var session = require('express-session');var MySQLStore = require('express-mysql-session')(session);var bodyPars..
- Total
- Today
- Yesterday