분류 전체보기
-
라즈베리파이에 ubuntu 설치하기Raspberry PI & Jetson nano 2021. 2. 16. 17:50
라즈베리파이에 ubuntu 설치하기 Ubuntu 20.04 다운로드 Install Ubuntu on a Raspberry Pi 2, 3 or 4에서 본인의 라즈베리파이에 맞는 이미지를 다운로드 받습니다. 제 경우는 라즈베리파이 3+ 와 4를 가지고 있어서, Ubuntu Server 20.04.1 LTS 64bit로 다운받았습니다. 이전 포스트와 마찬가지오 SD카드에 다운 받은 이미지를 굽습니다. 초기 아이디 / 비밀번호는 ubuntu / ubuntu 를 입력하면 됩니다. 설정 후 해당 계정을 삭제 하시는 것을 추천 드려요. WIFI 연결 설정은 root 권한으로 진행해야 하기에 sudo를 사용합니다. 라즈베리파이에서 wif로 연결을 하기 위해서는 먼저 wifi 국가를 JP로 설정해야 됩니다. JP로 설정..
-
라즈베리파이에 k3s 설치 하기 - 실패기Raspberry PI & Jetson nano 2021. 2. 15. 17:49
라즈베리파이에 k3s 설치 하기 - 실패기 이 포스팅은 실패를 적은 것입니다. 1. 라즈베리파이에 OS 설치하기 그림과 같이 Raspberry Pi OS 다운로드페이지에서 Raspberry Pi OS Lite 버젼을 받습니다. 다른 버젼을 사용해도 되지만, 서버용으로 GUI 없이 사용하기 위해서는 Lite 버젼이면 충분합니다. 그리고 SD 카드에 해당 이미지를 구워줍니다. 그리고 부팅을 하고 몇가지 설정을 합니다. 대부분의 설정은 부팅 후 raspi-config 명령어를 이용하면 쉽게 할 수 있습니다. 인터넷 연결(WIFI) GPU Memory 64M => 16M hostname 변경(main, worker1, worker2 등) SSH 활성화 iptables 사용하도록 설정(k3s는 네트워킹 기능은 내..
-
MSSQL POOL을 Express 환경에서 사용하기NodeJS 2021. 2. 14. 17:46
MSSQL POOL을 Express 환경에서 사용하기 node-mssql의 예제를 참고로 다음과 같이 사용하고 있었습니다. const sql = require('mssql') // async/await style: const pool1 = new sql.ConnectionPool(config); const pool1Connect = pool1.connect(); pool1.on('error', err => { // ... error handler }) async function messageHandler() { await pool1Connect; // ensures that the pool has been created try { const request = pool1.req..
-
NAVER CLOUD PLATFORM API를 Typescript 기반에서 사용하기NodeJS 2021. 2. 13. 16:33
NAVER CLOUD PLATFORM API를 Typescript 기반에서 사용하기 회사의 메일 발송은 NAVER CLOUD PLATFORM API를 이용하고 있습니다. NAVER CLOUD PLATFORM API를 참조하면 인증키를 생성해서 API를 호출 해야 합니다. 자바를 사용할 경우 쉽게 만들수 있는데, javascript 버젼의 경우 CryptoJS v3.1.2를 사용하는 가이드를 주고 있습니다. 문제는 nodejs기반에선는 CryptoJS v3.1.2보다는 crypto-js를 많이 사용합니다. 다음 코드는 crypto-js를 사용해서 NAVER CLOUD PLATFORM API를 연동한 예제 입니다. 메일 발송 예제 import { HttpException, HttpStatus, Injecta..
-
Nestjs tutorialNodeJS 2021. 1. 11. 04:26
Nestjs tutorial 1. 프로젝트 생성하기 nestjs cli 를 이용하면 쉽게 프로젝트를 생성 할수 있습니다. # nestjs cli 설치 $ npm i -g @nestjs/cli # 프로젝트 생성 $ nest new project-name2. OpenAPI 설정 다음 라이브러리를 설치합니다. $ npm install --save @nestjs/swagger swagger-ui-express 이후 main.ts에 SwaggerModule 설정을 합니다 # main.ts import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; import { NestExpressAppli..
-
typeorm에서 merge 예제NodeJS 2021. 1. 11. 04:26
typeorm에서 merge 예제 데이터가 있을 경우 update, 없을 경우 insert를 처리 하는 코드 예제 입니다. await this.eventsRepository .createQueryBuilder() .insert() .into(Event) .values(event) .orUpdate({ conflict_target: ['wp_id'], overwrite: ['cntnt', 'srch_wrd_seq', 'writr_nm', 'writr_id', 'tgtr_nm', 'tgtr_id', 'mod_dtm'] }) .execute();orUpdate의 conflict_target에 중복..
-
Reactjs의 setState는 비동기(asynchronous)로 동작 합니다.HTML + JAVASCRIPT + CSS/ReactJS+AngularJS +VueJS 2021. 1. 10. 04:25
Reactjs의 setState는 비동기(asynchronous)로 동작 합니다. ReactJS의 useState는 비동기로 동작합니다. 다음의 코드는 이전 값으로 통신을 하게 됩니다. import React from "react"; import "./styles.css"; export default function App() { const [val, setVal] = React.useState(""); const callAjax = () => { console.log(val); }; const changeVal = (cVal) => { setVal(cVal); callAjax(); }; return ( Reactjs setState is asynchronous changeVal(e.target.valu..
-
Mongoose에서 Array 내용 수정 후 .save()를 호출해도 동작하지 않는 현상NodeJS 2021. 1. 10. 04:24
Mongoose에서 Array 내용 수정 후 .save()를 호출해도 동작하지 않는 현상 다음과 같은 mongo Model이 존재 할때, const mongoose = require('mongoose'); const { Schema } = mongoose; const Confirm = new Schema({ type: { type: String, require: true, index: true }, pgm_id: { type: Number, require: true, index: true }, confirm: { type: Array, index: true }, brd_dtm: { type: Date, require: true, index: true }, }, { timestamps: tr..