예전에 php를 스크립트 언어로 하여 서버를 구성했던 프로젝트가 있는데

 

 

이번에는 자바스크립트 런타임인 노드 js를 이용하여 서버를 구축하여 작업을 하고 있는데,

 

 

서버 구성의 큰 축은 같지만, 이게 혼자 알아가면서 작성하려고 하니 오류에 많이 부딛히네요

 

 

작동이 안하는 에러는 아니지만 오늘은 실행시 Unhandled promise rejection이 콘솔에 계속 떠서

 

 

알아보니 async,await에서 핸들링 처리를 하지 않은 부분이 있으면 이러한 warnig이 뜬다고 하네요.

 

 

async-await를 걸어준 곳은 try로 감싸주고 catch로 에러핸들링을 처리해줘야 한다는 것.........!!!!

 

 

async-await는 비동기 처리코드 작성이 익숙하지 않은 저 같은 사람에게 도움을 주는...... 아주 소중한....

 

 

바쁜 시기가 좀 지나가고 시간이 좀 나면 자바스크립트를 꼼꼼하게 공부해보고 싶네요......!

Python-shell 이용하여, Nodejs에서 파이썬 스크립트 실행시키기

 

최근노드js를 이용하여 어플을 제작 중에 있습니다.

 

만들고자 하는 기능 중 시간에 민감한 기능이 있는데, 파이썬의 api를 이용해서 구현한 것을

 

nodejs에서 실행시키고, 결과를 받아와야 할 일이 있어서, 찾아보고 진행하였습니다.

 

찾아본 결과, child-process 이용, python-shell 이용 등의 방법들이 있었는데, 비교적 간단한 파이썬 스크립트를

 

실행하는 작업이였기 때문에 저는 python-shell 을 이용하여 진행하였습니다.

 

매우 간단한 작업 같으나, 다른 블로그의 게시글 중 오래된 글들도 있어, 오류가 좀 났었습니다.

 

버전에 따른 차이도 조금 있을거라 생각하는데, 실행시킨 코드는 다음과 같습니다.

( 우분투 버전 18.04 에서 진행하였고, python-shell, 파이썬 설치 및 추가로 사용할 모듈들은 설치를 따로 해주셔야 

원하는 결과를 받으실 수 있을겁니다....!)

 

 도 설치해야 했던 것으로 기억하고, 제 코드에는 시간을 측정하는 코드가 추가로 들어가있습니다.

 

현재 상황에서는 파이썬 스크립트로 전달할 값이 없었으므로, 추석처리 했으나 포함시켜 실행도 가능합니다.

 

파이썬에서는 sys.argv 와 같은식으로 값을 사용가능합니다.

 

저는 index.js ( app.js 인 분들도 많으시겠죠 )

 

와 같은 폴더내에 파이썬 스크립트를 넣어놓았으므로 scriptPath: 는 따로 설정하지 않았습니다.

 

결과는 파이썬에서 print한 결과를 받아옵니다.

'Web & App > Nodejs' 카테고리의 다른 글

(21.05.26) connection.release() 꼭  (0) 2021.05.27
(21.05.23) async-await 에러 핸들링  (0) 2021.05.24

1. JSON이란?

 

 

- 이름에서도 알 수 있지만 JavaScript의 객체를 정의하는 문법과 매우 유사한 형식을 따릅니다..

 

 

- 하지만 문법,프로토콜 등은 아니고 그저 텍스트 일 뿐......(데이터를 표시하는 방법)

 

 

- 일단 형식 자체가 이해하기가 매우 쉽다는 장점이 있습니다.

 

 

- 데이터를 전송하거나 저장을 할 때 많이 사용하는 형식 정도 라고 생각하면 될 것 같습니다.

 

 

 

 

 

2. JSON 특징

 

 

- JavaScript 함수를 통해 JSON형식의 파일을 JavaScript의 객체로 변환 할 수 있습니다.

  (JSON.parse("json텍스트") --> json을 자바스크립트 객체로)

  (JSON.stringify("자바스크립트 객체") --> 자바스크립트 객체를 json으로)

 

 

- 다양한 언어에서 json 데이터를 다룰 수 있는 라이브러리를 제공하고 있습니다.

 

 

- 서버와 클라이언트의 데이터 교류에 json형식이 많이 사용됩니다

 

 

- 용량이 적다.

 

 

 

 

 

3. JSON 형식

 

 

- javascript의 객체의 형식과 같이 {}(중괄호)로 묶어줍니다.

 

 

- "name" : "value"의 쌍으로 이루어져 있습니다. 

 

 

- "name" : "value" 쌍 사이는 ,(쉼표)로 구분하여 줍니다.

 

 

- key는 ""(쌍따옴표)로 묶어주며 문자열의 경우도 ""로 묶어줍니다.

 

 

- 객체안에 문자열, 정수, 배열[], 객체{} 등이 포함 될 수 있습니다

 

 

 

 

4. 예시형식

 

 

+ Recent posts