node에서는 기본적으로 fs라는 모듈을 제공한다. 이를 통해 JSON 등 다른 파일을 읽어오고 사용할 수 있다. 1. JSON 파일 불러 와서 Object로 만들기 const fs = require('fs'); 별도의 install 없이, 다음과 같이 모듈을 import 함으로써 fs 모듈을 사용할 수 있다. js와 같은 디렉토리에 다음과 같은 doc.json 파일을 생성한다. { "name": "팬팬", "age": 3, "favorit": ["코딩", "노래", "메이플스토리"] } 일단 JSON 파일을 불러온 뒤 그냥 출력해보면, 결과는 다음과 같을 것이다. const doc = fs.readFileSync('doc.json'); console.log(doc); 이는 버퍼에 있는 16 진수로 이루..
npm init - package.json을 생성 + -y 옵션을 붙이면 모두 default 값으로 생성 npm install {패키지명}(@{버전}) --save(-S) --dev(-D) -g save: package.json의 dependencies에 추가한다. (이제 기본 옵션이 되어서 생략해도 된다.) dev: package.json의 devDependencies에 추가한다. 개발할 때에만 사용되는 모듈을 지정할 때 사용 g: global로 (해당 프로젝트 뿐 아니라 어디에서든 사용 가능) 설치 + npm install만 입력하고 실행하면 dependencies에 명시된 패키지들을 다운로드한다. + install도 i 라고 줄여 쓸 수 있지만 별 걸 다 줄인다. npm run {스크립트명}: pa..
은근히 정규식을 사용할 일이 많아 정규식에서 사용되는 특수문자들의 기능, 자주 사용하는 정규식에 대해 정리해보고자 이 포스팅을 작성하게 되었다. 출처는 모두 아래 페이지에 있다. Mozilla : https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/정규식#special-negated-look-ahead 정규 표현식 정규 표현식은 문자열에 나타는 특정 문자 조합과 대응시키기 위해 사용되는 패턴입니다. 자바스크립트에서, 정규 표현식 또한 객체입니다. 이 패턴들은 RegExp의 exec 메소드와 test 메소드 ,�� developer.mozilla.org 정규식 사용법 // 리터럴 const reg = /ab*c/; // 생성자 함수 이용 let Reg ..
자바스크립트를 처음 배우면서 가장 당황했던 것은, 코드가 반드시 순차적으로 실행되지 않는다는 것이었다. 입력을 받아 입력값을 바탕으로 간단한 내용을 처리하는 코드를 짜면서도, 입력을 받기도 전에 내용을 처리하려 들어서 고작 20줄 정도를 짜면서도 상당히 애를 먹고서야, 이 문제가 JS의 비동기적 특성 때문인 것을 깨달았다. 그래서 비동기 처리 방법에 대해 간단히 짚고 넘어가기로 했다. 비동기 처리란 무엇인가? 비동기에 대해 이해하기 위해서는 우선 다른 프로그램들의 동작 방식인 동기에 대해 확실히 알고 있는 게 좋다. 동기(sync)란, 요청한 것에 대한 결과가 반환되기까지 그 자리에서 기다리는 처리 방식이다. 비동기(Async)란, 요청만 하고 결과 반환 여부와 상관 없이 다음 동작을 실행하러 움직이는 ..
실습 환경은 Python 3.6과 tensorflow 1.5이다. GAN (이미지 출처: Thalles Silva) 생성자(Generator)와 구분자(Discriminator)를 설정하여 대립적으로 작용하게 함으로써, 생성자가 더욱 진짜에 가까운 데이터(Noise -> Fake image)를 생성해내도록 하는 비지도학습 모델. GAN에 대한 예시를 들 때 빠지지 않는 설명이 이안 굿펠로우의 논문에 제시된 비유이다. 이 비유에서는, 생성자를 위조지폐를 생성하는 위조지폐범, 구분자를 경찰로 설정한다. 경찰이 위조지폐를 최대한 감별하려고 노력할수록, 위조지폐범 역시 더욱 정교한 위조지폐를 만들어내게 된다. 개인적인 생각으로는 보안 관리자와 해커 사이의 상호작용과도 닮은 것 같다. 보안 기술이 발전하고 암호화..
실습 환경은 Python 3.6과 tensorflow 1.5이다. 오토인코더(AutoEncoder) 정답이 주어지지 않고, 비슷한 데이터끼리 묶는 군집화에 주로 사용되는 비지도학습의 대표적인 신경망. 은닉층의 노드 수가 입/출력 계층의 노드 수보다 적다는 특징을 가진다. 그 이유는, 오토인코더가 데이터를 압축하거나 노이즈를 제거하는 데에 주로 사용되기 때문이다. 오토인코더로는 변이형 오토인코더(VA), 후자를 잡음제거 오토인코더(DA) 등 다양한 방식이 존재한다. 오토인코더 구현 역시 이번에도 MNIST 데이터셋을 이용한다. MNIST에 대해 잘 모른다면, 이전 포스팅을 참고하라. 2020/07/19 - [개발 일지/ML] - MNIST 학습 모델 만들기 MNIST 학습 모델 만들기 실습 환경은 Pyth..