분류 전체보기 178

습관은 결코 애쓰지 않는다. (읽기 전에 정리)

당신은 습관 설계자인가, 만성 노력 중독자인가?? 잠재된 43퍼센트의 무의식을 깨워라 어떤 사람들은 스트레스가 올바은 습관을 형성하는데 큰 방해라고 한다. 습관은 스트레스에 강력한 저항력을 가지고 있다. 일상의 스트레스는 좋은 습관이든 나쁜 습관이든 갖리지 않고 그 지속력을 강화시킨다. 어떠한 경우에도 습관은 질긴 생명력을 이어갔다. 오히려 스트레스 속에서 번성해나갔다. 우리는 좋은 숩관을 생성하기 위해 장소화 시간, 즉 '상황'에 집중해 볼 것이다. 우리는 먼저 습관이 우리가 좌우할 수 있는 대상이 아니라는 걸 깨달아야 한다. 의식이 깨어 있는 시간 중 거의 절반 동안 인간의 뇌는 이른바 '습관 시스템'에 의존한다. 즉 별다른 고민이나 판단을 거치지 않고 무의식적으로 반복한다는 것이다. 이때 우리가 생..

파일 시스템 접근하기, 동기와 비동기 메서드

1. fs 파일 시스템에 접근하는 모듈 파일/폴더 생성, 삭제, 읽기, 쓰기 가능 웹 브라우저에서는 제한적이었으나 노드는 권한을 가지고 있음 파일 읽기 예제(결과의 버퍼는 뒤에서 설명함) 2. fs 프로미스 콜백 방식 대신 프로미스 방식으로 사용 가능 require(‘fs’).promises 사용하기 훨씬 더 편해서 프로미스 방식을 추천함 3. fs로 파일 만들기 4. 동기와 비동기 메서드 노드는 대부분의 내장 모듈 메서드를 비동기 방식으로 처리 비동기는 코드의 순서와 실행 순서가 일치하지 않는 것을 의미 일부는 동기 방식으로 사용 가능 동기와 비동기: 백그라운드 작업 완료 확인 여부 블로킹과 논 블로킹: 함수가 바로 return 되는지 여부 노드에서는 대부분 동기-블로킹 방식과 비동기-논 블로킹 방식임..

Node.js 2020.12.11

child_process, 기타 모듈

다른언어를 사용하거나 다른 프로그램을 실행하고 싶을 때 현재 노드 프로세스 외에 새로운 프로세스를 띄워서 명령을 수행함. 명령 프롬프트의 명령어인 dir을 노드를 통해 실행 (리눅스라면 ls를 대신 적을 것) python 3 실행하기 기타 모듈들 assert 값을 비교하여 프로그램이 제대로 동작하는지 테스트하는 데 사용합니다. dns 도메인 이름에 대한 IP 주소를 얻어내는 데 사용합니다. net HTTP보다 로우 레벨인 TCP나 IPC 통신을 할 때 사용합니다. string_decoder 버퍼 데이터를 문자열로 바꾸는 데 사용합니다. tls TLS와 SSL에 관련된 작업을 할 때 사용합니다. tty 터미널과 관련된 작업을 할 때 사용합니다. dgram UDP와 관련된 작업을 할 때 사용합니다. v8 V..

Node.js 2020.12.11

Keras CNN functional로 글써보기

# Day_28_02_chosun.py import tensorflow as tf import numpy as np import re # 파일 다운로드 # url = 'http://bit.ly/2Mc3SOV' # file_path = tf.keras.utils.get_file( # 'chosun.txt', url, cache_dir='.', cache_subdir='data') # print(file_path) # str 정리 한글처리부분 ( 불용어 ) def clean_str(string): string = re.sub(r"[^가-힣0-9]", " ", string) # string = re.sub(r",", " , ", string) # string = re.sub(r"!", " ! ", string..

인공지능/CNN 2020.12.10

Keras functional

# Day_27_01_functional.py import tensorflow as tf import numpy as np # 지금까지는 sequential 이였다면 지금부터는 functional # AND 데이터셋에 대해 정확도를 계산하는 모델을 만들 것임. def and_sequential(): data = [[0, 0, 0], [0, 1, 0], [1, 0, 0], [1, 1, 1]] data = np.int32(data) x = data[:, :-1] y = data[:, -1:] print(x.shape, y.shape) # (4, 2) (4, 1) model = tf.keras.Sequential() model.add(tf.keras.layers.Input(shape=[2])) model.ad..

인공지능 2020.12.10

Worker_threads (멀티 스레드)

노드에서 멀티 스레드 방식으로 작업할 수 있음. isMainThread: 현재 코드가 메인 스레드에서 실행되는지, 워커 스레드에서 실행되는지 구분 메인 스레드에서는 new Worker를 통해 현재 파일(__filename)을 워커 스레드에서 실행시킴 worker.postMessage로 부모에서 워커로 데이터를 보냄 parentPort.on(‘message’)로 부모로부터 데이터를 받고, postMessage로 데이터를 보냄 const { Worker, isMainThread, parentPort, workerData } = require('worker_threads') if(isMainThread){//메인스레드 const threads = new Set(); // 중복되지 않는 배열 threads.ad..

Node.js 2020.12.10

암호화(단방향 :crypto, pbkdf2, 양방향), util

암호화는 CPU를 많이 잡아 먹어 멀티 쓰레드로 돌아간다. 암호화는 가능하지만 복호화는 불가능 암호화: 평문을 암호로 만듦 복호화: 암호를 평문으로 해독 비밀번호는 해시 !! 단방향 암호화의 대표 주자는 해시 기법 문자열을 고정된 길이의 다른 문자열로 바꾸는 방식 항상 같은 input에는 같은 output이 나옴 abcdefgh 문자열 -> qvew createHash(알고리즘): 사용할 해시 알고리즘을 넣어줍니다. md5, sha1, sha256, sha512 등이 가능하지만, md5와 sha1은 이미 취약점이 발견되었습니다. 현재는 sha512 정도로 충분하지만, 나중에 sha512마저도 취약해지면 더 강화된 알고리즘으로 바꿔야 합니다. update(문자열): 변환할 문자열을 넣어줍니다. digest..

Node.js 2020.12.10

딥러닝 학습할 때 예측결과를 높이는 여러가지 방법들

# Day_26_01_PokerCompetition.py # 99_Poker.py import tensorflow as tf import numpy as np import pandas as pd from sklearn import preprocessing, model_selection from operator import itemgetter # poker-hand 데이터셋을 추가해주면 동작 가능 # acc 올리기 # 1번. 스케일링 def apply_scaling(x): return preprocessing.scale(x) # 2번. 원핫 벡터 def apply_onehot(x): # suit : 4가지 * 5 = 20 # card : 13가지 * 5 = 65 enc = preprocessing.Labe..

인공지능 2020.12.09

이미지 증식과 분석, 사전학습된 것 적용시키기 (전이 학습)

# Day_25_01_DogsAndCats.py import tensorflow as tf import numpy as np import os import time import pickle import matplotlib.pyplot as plt from tensorflow.keras import optimizers from tensorflow.keras.preprocessing.image import ImageDataGenerator as IDG # 베이스 라인 만들 것임 # 이미지 증식 후 분석 # slim 에서 본거 같이 사전학습된 것으로 우리꺼 예측해볼 것 (전이 학습) def get_model_name(version): filename = 'dogcat_small_{}.h5'.format(ver..

인공지능/CNN 2020.12.09