yceffort

All Posts

Socket.IO 공부하기 (1)

Posted on March 21, 2020

WebSocket 웹은 전형적으로 HTTP 요청에 대한 HTTP…

Read full post

[Python] Send ncloud sms message

Posted on March 16, 2020

네이버 클라우드 플랫폼의 서비스 중 하나인 https://www.ncloud.com/product/applicationService/sens 로 SMS를 발송하는 예제. ncloud서비스를 다 써본건 아니지만, 는 전 서비스에 다 똑같이 쓸 수 있을 것 같은 기분이다.

Read full post

Javascript Regex 숫자를 comma와 함께 Formatting 하기

Posted on March 16, 2020

regex를 활용해서 숫자에 , 를 찍어서 formatting을 해보자. 1. 첫번째 시도 인터넷에 가장 많이 떠돌아 다니는 해결책으로, 아쉽게도 소수점에 대한 대응이 되지 않는다. 2. 두번째 시도 이게 성공하는 줄 알고, test 도 넘어가길래 실제로 써보았더니 앱에서 오류가 나기 시작했다. ㅠ.ㅠ 이와 관련된 posting…

Read full post

NextJS 1. Page & Route

Posted on March 11, 2020

요즘 리액트를 쓰는 많은 프로젝트에서, SSR을 지원하기 위해 nextjs를 쓰고 있다. 초기 로딩 속도나, SEO 지원 이슈 등 등 때문에 아무래도 SPA는 요즘 트렌드에서 많이 밀린 기분이다. 물론 razzle 을 쓰거나 custom server 로 맨 바닥에 해딩하는 방법도 있지만 여기저기 컨퍼런스나 주변 사람들의 말을 들어보면 nextjs…

Read full post

NextJS 2. Data Fetching

Posted on March 11, 2020

nextjs의 공식 문서를 보고 요약한 내용입니다. 1. getInitialProps 2. getStaticProps 3. getStaticPaths 4. getServerSideProps 1. getInitialProps Nextjs 9.3 이전에는 밖에 존재하지 않는다. 최신 버전인 9.…

Read full post

자바스크립트 커링과 클로져

Posted on March 04, 2020

커링 이 글 에 잘 정리 되어 있습니다. Currying은 여러 개의 인자를 가진 함수를 호출 할 경우, 파라미터의 수보다 적은 수의 파라미터를 인자로 받으면 누락된 파라미터를 인자로 받는 기법을 말한다. 즉 커링은 함수 하나가 n개의 인자를 받는 과정을 n…

Read full post

Tensorflow.js - 08. Build an audio recognizer

Posted on February 03, 2020

Transfer learning audio recognizer 1. 소개 2. 요구사항 3. Tensorflow.js와 오디오 모델 로딩 4. 실시간 예측 5. 예측을 테스트 해보기 6. 데이터 수집 코드를 자세히 보기 7. 수집한 데이터 테스트 8. 모델 훈련시키기 코드 살펴보기 9. 슬라이더를 실시간으로 움직이기 코드 살펴보기 1…

Read full post

Tensorflow.js - 07. Build an image classifier

Posted on February 03, 2020

Transfer learning image classifier 1. Introduction 배우게 될 것 2. 요구 사항 3. Tensorflow.js와 MobileNet 불러오기 4. 브라우저에서 MobileNet을 로딩 5. MobileNet을 테스트 하기 6. 브라우저에서 웹캠을 활용하여 MobileNet 모델을 실행하기 7. MobileNet…

Read full post

자바스크립트에서 http 요청하기 - fetch에 대한 고찰

Posted on January 21, 2020

1. 서론 2. XMLHttpRequest 3. JQuery Ajax 3. async await & fetch 4. fetch polyfill 5. deep dive to fetch 5-1. 에러 처리 5-2. Abortable Fetch 5-3. fetch in react 6. 결론 1. 서론 자바스크립트에서 http…

Read full post

Tensorflow.js - 05. Training and Prediction in Node.js

Posted on January 15, 2020

Training and Prediction in Node.js 1. 소개 2. 요구 사항 3. Nodejs.app 설치 4. 학습/테스트용 데이터 설치하기 5. 구질을 구별하는 모델 만들기 6. 모델을 서버에서 훈련시키기 7. 클라이언트 페이지를 만들고 display 용 코드 만들기 8. 앱 실행하기 9. 배운것 Training and Prediction…

Read full post

React count down에서 배운 event-emitter 와 requestAnimationFrame

Posted on January 14, 2020

리액트에서 카운트 다운을 만들며 배운 것들 리액트에서 카운트 다운을 만든다고 가정해보자. 가장 먼저 생각나는대로, 빠르게 구현한다면 아래와 같은 느낌이 될 것이다. 하지만 이 코드는 한가지 문제를 가지고 있다. setInterval, setTimeout…

Read full post

2020년, 매일 github에 contribution 하기

Posted on January 11, 2020

블로그의 성장 2018년 5월 1일에 블로그를 시작한 이례로 헛소리를 지껄이는 블로그에서, 제법 이사람 저사람 찾아오는 블로그로 성장했다. 꾸준한 블로그 뻘 글과 회사에서 일하는 것 덕분에 github contribution에 초록색 불도 많이 들어오고 있다. github contribution은 2013년에 생긴 이래로 개발자의 daily…

Read full post

Chrome Samesite 쿠키 정책

Posted on January 09, 2020

문제의 시작 지난 주말, 엄청나게 급하게 빠른 속도로 프로젝트를 heroku에 올릴 일이 있었다. DB도 새로만들어야하고, 로그인도 필요한 사이트라 DB는 Heroku의 Clean DB를, 로그인은 google sign-in for websites을 사용하였다. 처음에는 passport google auth를 사용하려다가, 그냥 하는 김에 직접 api…

Read full post

Tensorflow.js - 04. CNN

Posted on January 02, 2020

Handwritten digit recognition with CNNs 1. 들어가기전에 만들어 볼 것 우리가 배울 것 학습 전에 준비해야 할 것 2. Set up HTML, Javascript 생성 데이터와 코드를 위한 자바스크립트 파일 생성 테스트 해보기 3. Load the Data 4. 작업의 개념화…

Read full post

머지된 브랜치를 삭제하는 스크립트

Posted on January 01, 2020

remote에서 이미 master로 머지된 local/remote 브랜치를 삭제하는 스크립트 우교수님께 감사의 말씀을 🙇‍♂️

Read full post

블로그 개편했습니다. 😎

Posted on December 30, 2019

주말에 집구석에 혼자 오래있을 일이 있어서, 생각난 김에 블로그를 개편했습니다. 이 전에는 hexo 기반으로 만들어진 블로그를 작업했는데, hexo 생태계가 관리가 잘 안되고 있는 건지 플러그인이나 기능들이 제대로 동작을 안하더군요. wordpress -> ??? -> github pages -> hexo -> gatsby…

Read full post

중앙은행 디지털화폐: 왜 정부는 디지털화폐를 발행하려고(하지 않으려고) 할까

Posted on December 27, 2019

Central Bank-Issued Digital Currencies: Why Governments May (or May Not) Need Them 원문 일본은행 아마미야 마사요시 부총재는 20일 중앙은행에서 발행한 디지털 화폐(CBDC)가 기존 화폐를 개선하지 못할 가능성이 낮다고 거듭 주장했다. CBDC(중앙은행 발행 디지털 화폐, Central…

Read full post

Tensorflow.js - 03. Linear Regression

Posted on December 23, 2019

Linear Regression 몇 번째 선형 회귀인지 알 수 없다. 01. 2d data로 예측해보기 이번 튜토리얼에서는 자동차 세트를 표현한 숫자 데이터로 예측하는 모델을 훈련시켜 봅니다. 이 연습에서는 다양한 종류의 모델을 훈련하는 공통적인 단계를 보여주고, 이에 따라 작은 데이터 세트와 간단한 모델을 사용합니다. 1차적인 목표는 Tensorflow…

Read full post

Tensorflow.js - 01. 시작하기

Posted on December 20, 2019

https://www.tensorflow.org/js/tutorials을 개인적인 학습을 위해 번역한 글입니다. 정확한 번역을 위해서가 아니라, 개인적인 공부를 위해서 하는 것입니다. 오해 ㄴㄴ 시작하기 Tensorflow.js는 브라우저와 Node.js…

Read full post

Tensorflow.js - 02. 설치하기

Posted on December 20, 2019

이전글 보기 설치 브라우저 설치 Tensorflow.js를 설치하는 방법은 두 가지가 있습니다. Script tag를 이용하는법 npm을 이용해서 설치하고, Parcel, Webpack, Rollup…

Read full post

2020년 목표

Posted on December 18, 2019

Don't do anything boring Tensorflow JS 중요도: ★★★★★ 난이도: ★★★★★ AI가 하고 싶어요 선생님... tensorflowjs 를 튜토리얼부터 따라하면서 배워보자. 알고리즘 강의 백준강의 이제 알고리즘 정복할 때가 되었다. 자바스크립트와 파이썬으로 진행해볼 예정. 중요도: ★★★★ 난이도: ★★ Preference…

Read full post

Github을 아름답게 관리하기

Posted on December 18, 2019

Commit Message 좋은 git commit 메시지를 위한 영어사전 좋은 git 커밋 메시지를 작성하기 위한 7가지 약속 요약 Single Line Multi Line Single Line 과 동일하지만, Multi Line 으로 가면 두 번째 라인은 반드시 비워둘 것 세 번째 라인부터 Change 상세를 리스트 형식으로 기술 Linear…

Read full post

2019년 회고

Posted on December 13, 2019

2019년도 이제 2주가 채 남지 않았습니다. 2019년에 대해 잠시 뒤돌아 보는 시간을 갖도록 하겠습니다. Achievement 1. 퇴사 그리고 이직 사실 K사에 있었을 때에는, 나름에 그 다음 이직에 대한 몇가지 원칙이 있었습니다. 3년을 채워서 꼭 안식월…

Read full post

리액트 텍스트 하이라이트 만들기

Posted on October 15, 2019

요구사항 한 엘리먼트안에서 특정한 키워드를 다른 색싱으로 바꿔서 출력하는 것이다. 아래 예시를 살펴보자 before after 의식의 흐름 특정 키워드가 포함되어 있는지, 그리고 그것을 따로 뽑아 낼 수 있는 가장 간단한 방법은 무엇일까? 바로 split 일 것이다. 그러나 여기서 두 가지 몰랐던 사실을 알게 된다. 첫 문자에 seperator…

Read full post

typescript debounce

Posted on October 14, 2019

Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since the last time the debounced function was invoked. The debounced function comes with a cancel…

Read full post

브라우저 히스토리 조작

Posted on September 30, 2019

브라우저 히스토리 브라우저의 히스토리는 안에 있다. 만 가져올 수 있을 뿐, 실제 내부에 리스트는 가져올 수가 없는데 이는 보안상의 문제 때문이다. 는 각각 브라우저의 앞으로가기 뒤로 가기와 동일한 역할을 한다. 특정 위치로 가기 현재 페이지의 index는 0 이라고 볼 수 있다. -1 은 바로 전 페이지,…

Read full post

타입스크립트 제네릭

Posted on September 19, 2019

제네릭이란 제네릭은 클래스 내부에서 사용하는 데이터의 타입을 외부에서 지정하는 것을 의미한다. 어떤 타입의 데이터를 쓸지를, 클래스 선언부가 아니라 외부에서 결정하는 것이다. 일단 자바 코드로 한번 살펴보자. 라는 데이터 타입은 존재하지 않는다. 는 name의 타입으로, 아래 처럼 Person…

Read full post

리액트 인터뷰 질문 & 답 (2)

Posted on August 21, 2019

목차 table of contents React Router What is React Router? How React Router is different from history library? What are the components of React Router v4? What is the purpose of and methods of ? How…

Read full post

리액트 인터뷰 질문 & 답 (1)

Posted on August 20, 2019

목차 Core React What is React What are the major features of React? What is JSX? What is the difference between Element and Component? How to create components in React? When to use a Class Component…

Read full post

타입스크립트 타입 단언

Posted on August 20, 2019

문제의 시작 문제의 시작은 여기 였다. 내가 사용하는 코드는 아래와 같았다. 그러나 다른 프로젝트에서 아래와 같은 에러가 발생했다. 파라미터로오는 이 enum의 키가 아닐 수도 있기 때문에 발생하는 에러 였다. 기존 lint 룰에서는 any를 accept…

Read full post

리액트 인터뷰 질문 & 답

Posted on August 13, 2019

원문-reactjs-interview-questions 1. Core React 2. React - Router, Internationalization, Redux, Native and supported libraries and Integration 

Read full post

브라우저는 어떻게 동작하는가? - 모던 웹브라우저가 동작하는 방법

Posted on August 12, 2019

🚧작성중 🚧 원문-How Browsers Work: Behind the scenes of modern web browsers 이 글을 요약/번역한 더 좋은 글이 네이버 d2에 있습니다. 개인적인 공부 차원에서 이 원문을 fully…

Read full post

koa-nextjs-react-typescript-boilerplate

Posted on August 12, 2019

github repository nextjs와 react 만 깔끔하게 쓰고 싶지만, 그러기엔 현실적인 문제가 몇가지 있다

Read full post

React Hooks Api (2)

Posted on August 12, 2019

useReducer 의 대체 함수다. 다수의 하윗 값을 만드는 복잡한 로직, 혹은 다음 state가 이전 state의 의존적인 경우에 쓴다. 뭐가 뭔지 모르겠으니까 예제를 보자. useState를 쓰기전 예제를 보니 대충 감이 온다. dispatch를 통해서 state값에 변화를 주지 않고 state…

Read full post

React Hooks Api (1)

Posted on August 08, 2019

Hooks API Hook은 react 16.8에서 추가된 개념으로, Hook을 시용하면 class를 갖성하지 않아도 state관리와 같은 react의 기능을 사용할 수 있다. 기본 Hook useState…

Read full post

HAProxy

Posted on August 07, 2019

로드밸런서 로드 밸런싱이란, 부하 분산을 위해서 가상 IP를 통해 여러 서버에 접속하도록 분배하는 기능을 말한다. 로드 밸런싱에서 사용하는 주요 기술은 NAT(Network Address Translation): 사설 IP 주소를 공인 IP 주소로 바꾸는 데 사용하는 통신망의 주소 변조기이다. DSR(Dynamic Source Routing protocol…

Read full post

Docker와 ECR, ECS 경험

Posted on August 06, 2019

제법 규모가 있었던 전 회사에서는 특별하게 인프라에 대해 고민을 별로 할 필요가 없었다. 많은 부분이 자동화되어 있었고, 또 적당한 툴로 잘 만들어져 있었기 때문에 개발에 온전히 집중할 수 있었다. 하지만 새롭게 온 스타트업은 (당연하게도) 그런게 없으므로, 회사에서 사용하고 있는 AWS…

Read full post

Javascript Reduce

Posted on July 22, 2019

멍청이라 그런지 함수가 잘 이해 되지 않았다. Reduce : 처리할 현재 요소 (optional): 처리할 요소의 인덱스 : 콜백의 반환값을 계속해서 누적한다. 이 예제에서는 처음엔 , 그 다음엔 , 그 다음엔 가 될 것이다. (optional): 를 호출한 배열, 여기서는 이 될 것이다. (optional): 의 최초 값. 없으면 배열의…

Read full post

Javascript Set 그리고 Map

Posted on July 18, 2019

근데 사실.. 컬렉션 필요없지 않을까 자바스크립트에서 일반적인 Object는 key-value쌍을 끊임 없이 추가할 수 있는 형태로 구성되어 있다. 그래서 사실 컬렉션이 필요하지 않은 것 처럼 보일 수도 있다. 그러나 이따금씩 object로 부족할 때가 있다. key…

Read full post

Javascript Symbol

Posted on July 18, 2019

Javascript Primitive 기존에 자바스크립트는 6가지의 primitive가 있었다. Object string number boolean null undefined 그러나 es6가 들어서면서 이라는 7번째 primitive가 추가되었다. Symbol 새로운 심볼 값을 생성했다. 이 심볼로 생성한 값은 변경할 수 없으므로 const…

Read full post

javascript event bubbling & capturing

Posted on July 17, 2019

image Javascript Event Capturing Event Capturing은 특정 요소에서 이벤트가 발생했을 때, 최상위 요소에서 부터 이벤트를 탐색하여 특정요소까지 찾아오는 이벤트 전파 방식을 의미한다. 위 예시에서 가장 내부의 element…

Read full post

javascript class

Posted on July 09, 2019

Class 클래스는 기본적으로 이렇게 생겼다. 특징 1. strict 모드에서 실행 딱히 를 선언하지 않아도, 클래스의 코드는 기본적으로 모드에서 실행된다. 그렇게 되면, 당연히 모드의 여러가지 특징을 자동으로 따르게 된다.…

Read full post

javascript 일반 함수와 화살표 함수의 차이

Posted on July 09, 2019

ES6에서부터 생긴 은 일반적으로 의 모양을 하고 있으며, 동작도 비슷해보인다. 하지만 이 두 선언방식은 두가지 분명한 차이를 가지고 있다. 1. this와 arguments…

Read full post

Intersection Observer

Posted on June 24, 2019

Intersection Observer Intersection Observer는 엘리먼트가 viewport에 노출되고 있는지 여부를 확인해주는 API…

Read full post

Typescript, React, NextJs, Koa, Styled Component 로 프론트엔드 환경 만들기

Posted on June 20, 2019

이 문서는 더 이상 업데이트 하지 않을 생각이다. 대신 https://github.com/yceffort/koa-nextjs-react-typescript-boilerplate 여기에서 계속 해서 만들어 가고 있다. 사용한 오픈소스 React 자세한 설명은 생략 한다 Nextjs NextJs…

Read full post

Typescript Type, Enum, Partial, Record로 글로벌 변수 관리하기

Posted on June 17, 2019

고민지점 Global 로 관리하는 Colorset Red, Blue, Green, Black이 있다. 이 색들은 각각 지정된 칼라코드가 있다 그러나 때로는 그 컬러코드에 맞게 안쓰는 경우도 있다 그러나 때로는 저 네개를 다 안쓰고 1~3개만 쓰는 경우가 있다. Union types Union Type 어떤 라이브러리에서 받는 파라미터의 값을 number…

Read full post

Javascript - Promise

Posted on May 21, 2019

Promise 는 및 인수를 전달할 실행함수를 의미한다. 실행함수는 와 를 받아 즉시 실행된다. 실행함수는 보통 비동기 작업을 시작한 후, 모든 작업을 끝내면 를 호출해서 를 이행하고, 오류가 발생한 경우 를 호출해 거부된다. 는 다음 중 하나의 상태를 가진다. 대기(pending): 이행되거나 거부되지 않는 초기 상태 이행(fullfiled…

Read full post

Javascript - Destructuring Assignment

Posted on May 21, 2019

구조 분해 할당 구조 분해 할당은 배열이나 객체의 속성을 말그대로 분해하여, 분해 한 값을 개별변수에 담을 수 있게 도와주는 표현식이다. 객체 구조 분해 여기에서 //는 전역객체 일 것이다. 객체 리터럴 표기법과 JSON의 차이 JSON은 "key": value…

Read full post

React 공부하기 7 - 컴포넌트 라이프 사이클

Posted on May 20, 2019

React Component Life Cycle 라이프 사이클은 총 10가지다. 접두사는 어떤 작업을 작동하기전에 실행하는 메소드가, 는 어떤 작업을 한 후에 실해오디는 메서드다. 이 메서드들은 컴포넌트 클래스에서 덮어써서 선언하여 사용할 수 있다. 라이프사이클은 총 3가지 카테고리로 나눌 수 있는데, , , 다. Mount DOM…

Read full post

React 공부하기 8 - 함수형 컴포넌트

Posted on May 20, 2019

함수형 컴포넌트 함수형 컴포넌트는 컴포넌트에서 라이프사이클, state 등의 기능을 제거한 상태이므로 메모리 사용량이 다른 컴포넌트에 비해 적다. 따라서 성능을 최적화 하기 위해서는 위와 같이 함수형 컴포넌트를 많이 쓰는 것이 좋다.

Read full post

React 공부하기 6 - 컴포넌트 반복

Posted on May 20, 2019

컴포넌트 반복해서 쓰기 특별한 거는 없지만, 콘솔에서 가 없다는 에러가 발생한다. 가상 DOM을 비교한느 과정에서, Key값을 활용하여 변화가 일어나는지 확인하기 때문에, key값을 지정해줘야한다. 이제 에러가 나지 않는다. 보통은 이렇게 정적인 데이터를 쓰기보다는, 동적인 데이터를 더 렌더링할 기회가 더 많을 것이다.

Read full post

Javascript - Closure

Posted on May 09, 2019

클로저 자바스크립트는 어떻게 변수의 유효 범위를 정하는가? 여기에서 는 지역변수 과 함수 을 생성했다. 은 내부함수이므로, 에서만 사용이 가능하다. 은 별도의 지역변수가 없지만 내부함수는 외부함수에 접근할 권한을 가지고 있으므로, 이 정상적으로 출력될 것이다. 만약 name…

Read full post

React 공부하기 5 - Reference

Posted on May 09, 2019

Reference (Ref) 특정 DOM요소에 작업을 하기 위해서 id를 부여하는 것 처럼, React에서 DOM에 이름을 다는 방식이 있는데 이것이 바로 ref (Reference)다. 반드시, 컴퍼넌트 내부에서 사용 중요하게 봐야할 부분은 바로 여기 ref 속성을 추가할 때는 props를 설정하듯이 하면 된다. ref…

Read full post

React 공부하기 4 - Event

Posted on May 08, 2019

이벤트 리액트의 이벤트는 기본적으로 HTML의 이벤트와 비슷하지만, 주의사항이 몇가지 있습니다. 이벤트 명은 카멜 케이스로 작성해야 한다. → 이벤트에 실행할 자바스크립트 코드를 전달하는 것이 아니고, 함수형태의 값을 전달해야 한다. DOM요소에만 설정할 수 있다. Custom Component는 onClick…

Read full post

React 공부하기 3 - Component

Posted on May 08, 2019

컴포넌트 기본적인 컴포넌트를 만들어 보자. Props 컴포넌트의 속성을 줄때 사용하는 값이다. 아런식으로 부모에서 값을 넘겨 줄 수 있다. 또한 default값을 설정할 수도 있다. 유의할 점은 props에 아무값을 안넘겨줘도 () 값은 default 가 아닌 "" 가 나온다는 것이다. 왜냐하면 ""는 기본적으로 string…

Read full post

React 공부하기 2 - JSX

Posted on May 08, 2019

Create-react-app 라이브러리로 시작 app.js의 구조 코드 첫줄은 node.js의 기능, 즉 react를 불러와서 모듈화 시키는 것이다. 이를 번들링하는 작업은 webpack에서 처리해 준다. css-loader로 를, file-loader로 파일을 (), babel-loader로 es6를 es…

Read full post

React 공부하기 1 - background

Posted on May 08, 2019

리액트 요약 기존에 많은 자바스크립트 기반 플게임워크들이 있었는데, 대부분의 프레임워크들은 MVC (Model-View-Controller), MVVM(Model-View-View Model), MVW(Model-View-Whatever) 아키텍쳐를 사용하여 개발되었다. MVC…

Read full post

Computer Vision 01) - Image Representation

Posted on April 01, 2019

Image Representation & Classification Images as Grids of Pixels 먼저 이미지를 불러온다. waymo-gray RGB colorspace waymo waymo-rgb Color Threshold, Bluescreen 파란색 크로마키에 있는 사진을 합성하는 과정이다. image red mask mask…

Read full post

Deep Learning 03) - How do neural networks work/learn?

Posted on March 05, 2019

How do neural networks work/learn? 신경망은 어떻게 동작하는가? 다양한 정보를 바탕으로 부동산 가격을 예측하는 일을 해보도록 하자. 03 가장 일반적으로 할 수 있는 접근은, 각각의 데이터에 적절한 가중치를 적용한 값을 바탕으로 가격을 예측하는 것이다. 여기에는 여러가지 방식이 적용될 수 있다. Regression…

Read full post

Deep Learning 02) - Activation Function

Posted on March 05, 2019

Deep Learning 02) Activation Function Activation Function 활성화 함수 02 활성화 함수는 가중치가 더해진 input value를 어떻게 처리할 것인지 결정하는 함수다. 이러한 활성화 함수에는 몇가지 종류가 있다. 1. Threshold Function threshold-function $$ 1 f x \geq…

Read full post

Deep Learning 01) - Neuron

Posted on March 05, 2019

Deep Learning 01) Neuron Neron 뉴런은 딥러닝의 핵심이 되는 개념이다. 뉴론 하나 자체로는 별다른 기능을 할 수 없지만, 여러개의 뉴런이 모여야 진정하게 기능을 할 수 있다. 일단 뉴런의 구조를 살펴보자. neuron 뉴런은 보이는 것처럼 n개의 input signal을 받아서 output signal…

Read full post

Pytorch 09) - Transfer Learning

Posted on February 26, 2019

Pytorch - 09) Transfer Learning Transfer Learning 기존에 만들어진 모델을 이용하여, 새로운 모델이 조금더 빠르게 학습하고 예측을 더 높이는 방법이다. 실질적으로, CNN을 처음부터 학습시키는 일은 많지 않다. 이 모델은 고려해야할 사항이 많고, (Layer의 숫자, 활성화함수의 종류, 기타 hyper parameter…

Read full post

Pytorch 08) - CIFAR 10 학습

Posted on February 25, 2019

Pytorch - 08) CIFAR 10 CIFAR 10 는 열가지 단어별 이미지가 있는 데이터 셋이다. 기존에 손글씨를 분류하는 것 보다는 확실히 어려운 작업이 될 것이다. CIFAR10 전처리 작업 CIFAR10-1 Optimizer 와 Criterion training 1st try LeNet…

Read full post

Pytorch 07) - Convolutional Neural Network (2)

Posted on February 21, 2019

Pytorch - 07) Convolutional Neural Network (2) 이번에는 코드로 구현해보자. 먼저 첫번째 conv1애서는 1개의 필터, 20개의 특징을 추출 해 낼 것이다. 필터는 5x5 크기로, 이미지가 그리 크지 않으므로 stride는 1로 할것이다. 두번 conv2는 입력값이 20이고 (이전 conv의 ouput), 5…

Read full post

Pytorch 06) - Convolutional Neural Network (1)

Posted on February 21, 2019

Pytorch - 06) Convolutional Neural Network (1) Convolutional Neural Network (CNN) Fully Connected Layer의 문제점 Convolutional Neural Network (이하 CNN…

Read full post

Pytorch 05) - Image Recognition

Posted on February 21, 2019

Pytorch - 05) Image Recognition 마지막으루다가 손글씨 분류해보는 실습을 해보겠습니다. Dataset 텐서를 받아서 image로 보여주는 메소드를 만들자. 맛보기로 이미지를 한번 보자. image-recognition1 Model hidden layer2개에, linear와 활성화 함수로 relu를 사용했다. sigmoid…

Read full post

Pytorch 04) - Deep Nueral Network

Posted on February 20, 2019

Pytorch - 04) Deep Neural Network Deep Neural Network 이전 Perceptron에서 한개의 Perceptron으로는 XOR연산을 효과적으로 분류하지 못한다는 것을 이야기 했었다. perceptron-xor 그리고 이런 XOR 이 아니더라도, 선형이 아닌 형태의 데이터를 분류 할 수 없을 것이다. deep-neural…

Read full post

Pytorch 03) - Perceptron

Posted on February 19, 2019

Pytorch - 03) Perceptron Perceptron (마지막 정리가 되길 바라며) Perceptron은 우리 두뇌 (뉴런)의 인지능력을 모방하도록 만든 인위적인 네트워크다. perceptron 퍼셉트론은 다수의 신호를 받아서, 하나의 신호를 출력한다. 여기에서 x는 입력값이고 w는, 가중치라고 부르는 weight…

Read full post

Pytorch 02) - Linear Regression

Posted on February 19, 2019

Pytorch - 02) Linear Regression Linear Regression Linear Regression이 한국말로 뭐였더라? 데이터셋 만들기 대충 뭔가 있어보이는 데이터셋을 만들자. lr1 nn.Linear는 $$y = xA^{T} + b$$ 파라미터를 살펴보면 이렇게 weight와 bias…

Read full post

Pytorch 01) - Tensor

Posted on February 19, 2019

Pytorch - 01) Tensor Tensor 이제는 더 이상 기초를 다루지 않겠다. (마지막 기초 공부) exp sin n차원 배열 matmul 과 @ 은 서로 곱할 수 있는 크기의 매트릭스를 곱하는 식이다. 고등학교때 행렬 열심히 하기를 잘했다. autograd pytorch의 장점은 자동미분(autograd)을 지원한다는 점이다. $$x=…

Read full post

AI Programming with Python Nanodegree 끝

Posted on February 17, 2019

AI Programming with Python Nanodegree를 끝냈습니다. complete Pytorch를 본격적으로 배우기 위해서 큰 맘먹고 수강한 수업인데, pytorch가 정작 얼마 없어서 맥이 좀 빠졌네요. 그래도 더 공부하러 가보겠습니다. (총총)

Read full post

pytorch - Flower Classification

Posted on February 15, 2019

pytorch를 이용해서 꽃이미지를 구별해보도록 하자. 여기에서 활용할 데이터셋은 이거다. 총 102종류의 꽃이 있고, 각각 여러개의 이미지가 있다. 데이터셋을 다운로드 하면 train, valid, test로 나눠져 있고 이를 활용해서 꽃을 구별해보려고 한다.…

Read full post

업무 자동화 (1) - 구글 스프레드 시트 API 활용하기

Posted on February 14, 2019

구글 스프레드 시트를 파이썬에서 조작해보자. 내가 할일은 1. 스프레드시트를 읽고 2. 스프레드시트에 쓰는 두가지 작업이다. 구글 docs에 접근하는 방법은 두가지인데, 한가지는 oauth2기반 인증과, 다른 한가지는 apikey방식 인증이다. apikey 인증 방식은 요청시에 parameter로 api key…

Read full post

pytorch - fashion MNIST 분류 실습

Posted on February 13, 2019

pytorch를 활용해서 옷 이미지를 구별하는 예제를 해봤었는데, 다시 한번 복습하는 차원에서 기본적인 기능으로 해보려고 한다. 1. 데이터셋 준비 먼저 데이터를 받기전에, 해당 데이터를 torch tensor로 바꾸고, Normalize할 수 있ㅅ는 transform을 준비했다. 그리고 굳이 test set과 train set…

Read full post

Numpy 기본적인 기능 정리

Posted on February 11, 2019

귀찮아서 github gist로...

Read full post

Pandas 기본적인 기능 정리

Posted on February 11, 2019

이것도 귀찮아서 github gist로...

Read full post

Pytorch (3-1) - CNN: 곤충 이미지 분류하기

Posted on January 30, 2019

pytorch에서 주는 곤충 이미지를 분류하는 작업을 해보려고 한다. 벌과 개미 이미지가 있는데, 각각의 이미지를 잠깐 살펴보면 ant1 ant2 ant3 ant4 ant5 이미지를 분석한다. RGB…

Read full post

Pytorch (3-2) - CNN: Convolutional Neural Network

Posted on January 30, 2019

앞서 CNN네트워크를 진행하면서 모르는 부분이 좀 있어서, 이론적인 측면을 좀더 강조해서 글을 써보려고 한다. 구조 일단 중간층이 Convolutional Layer, Pooling Layer, Fully-connted Layer로 구성되어 있다. 그리고 마지막엔 Dropouut Layer를 넣는 경우도 있고, Softmax…

Read full post

Pytorch (3) - 합성곱신경망 (CNN - Convolutional Nerual Network)

Posted on January 29, 2019

합성곱신경망(CNN - Convolutaional Neural Network, 이하 CNN)은 말그대로, 합성곱 연산을 사용하는 인공신경망의 한 종류다. Convolution을 활용하면 3차원 데이터의 공간적 정보를 유지한 상태로 다음 레이어로 보내는 것이 가능하다. CN N…

Read full post

Pytorch (2-4) - 이상 날씨 탐지

Posted on January 28, 2019

다층 퍼셉트론 마지막 예제로 이상 날씨 탐지를 진행해보자. 2011년 1월 1일 부터 2016년 12월 31일까지 서울시의 일 평균 기온데이터를 활용해 본다. 여기에서 데이터를 받을 수 있다. seoul-temperature weather…

Read full post

Pytorch (2-3) - 뉴스 카테고리 분류하기

Posted on January 28, 2019

뉴스 말뭉치를 다운로드 받아서 분석해보자. 말뭉치는 여기에서 받을 수 있다. 과거 뉴스 데이터를 다운로드해서, 어떤 카테코리인지 분류하는 학습을 진행해보자. 먼저 구글드라이브에 해당 파일을 업로드해서 진행했다. 물론 아래와 같은 코드로 colab docker…

Read full post

Pytorch (2-2) - 손 글씨 분류하기

Posted on January 27, 2019

손글씨 분류하기 (MNIST) 머신러닝의 단골 주제다. 손글씨를 분류해보자. 이전 데이터와 다른 점이라고 한다면, 이전 데이터는 표 형식이었지만, 이제는 이미지 형식으로 구성되어 있다. 데이터를 가져오자. 근데 어찌된 일인지, 데이터를 가져오는데 계속해서 여룽밍 있어서 다른 방법을 사용하였다. 여기에는 다음과 같은 필드가 있다. COL_NAMES…

Read full post

Pytorch (2-1) - 다층 퍼셉트론

Posted on January 27, 2019

전에는 신경망에서 중간층을 하나로만 했지만, 이 중간층을 여러개로 늘린 것을 심층신경망 (deep neural network) 라고 한다. 벌써 부터 뭔가 있어보인다. 이는 딥러닝에서 주요 매커니즘이다. 신경망과 심층 신경망 모두 퍼셉트론을 여러개 조합해서 구성한 것으로, 다층 퍼셉트론 (multilayer perceptron, MLP…

Read full post

Pytorch (1) - 퍼셉트론 알고리즘과 신경망 알고리즘

Posted on January 27, 2019

퍼셉트론 알고리즘 퍼셉트론 알고리즘은 머신러닝 기법 중 지도학습 기법이자 분류 알고리즘에 속한다. neuron-and-perceptron 각각의 input에 입력값과 가중치를 곱한 값을 합한 다음, 바이어스 (=…

Read full post

Step by Step machine laerning - 05

Posted on December 17, 2018

Training Models 정규 방정식을 활용한 선형 회귀 테스트 용으로 데이터를 만들어 보겠습니다. training-models-1 위에서 $$y = 4+ 3x1 + Gaussian Noise$$ 로 생성해서 $$\theta0=4$$ 와 $$\theta1=3$$를 기대했지만, 실제로는 $$\theta0=4.325$$ 와 $$\theta_1=2.77…

Read full post

IBM과 maersk가 글로벌 운송용 블록체인 파트너를 찾는데 어려움을 겪고 있어

Posted on December 15, 2018

서로 경쟁하는 기업들이 한 팀으로 함께 일하도록 하는 것듀 어렵지만, 그 경쟁자들 중 한 구성원이 그 팀을 소유할 때는 특히 까다롭다. 거대 해운회사인 머스크와 기술 제공업체인 IBM은 공급망을 위한 DLT(Distributed Ledger Technology) 플랫폼인 TradeLens와 이 문제와 씨름하고 있다. 약 1…

Read full post

npm 'event-stream' 패키지, 비트코인 지갑을 노리는 악성코드에 감염

Posted on November 30, 2018

Malicious code in npm ‘event-stream’ package targets a bitcoin wallet and causes 8 million downloads in two months 원문 지난주 캘리포니아 주 CSUF 대학의 컴퓨터 사이언스 전공인 Ayrton Sparling는, 인기있는 npm 패키지인 event-stream…

Read full post

Step by Step machine laerning - 03

Posted on November 23, 2018

Classification 2 ROC 커브 ROC 커브는 Binary Classification에서 가장 잘 사용하는 검증기다. 왼쪽 위로 그래프가 상승해 있을 수록 (우하단 면적이 넓을 수록) 좋은 분류기라고 할 수 있다. ml-2-3.png 이런 그래프가 아니고, 점수를 보고 싶다면 이 ROC 커브를 활용하여 와 비교해보자. ml-2-4.png…

Read full post

탈중앙화된 AI: 블록체인의 미래

Posted on November 23, 2018

Decentralized AI: Blockchain’s bright future…

Read full post

결제 수단으로서 비트코인 사용이 지속적으로 감소 중

Posted on November 22, 2018

Bitcoin for payments a distant dream as usage dries up 원문 디지털 화폐가 지불 통화의 기본 기능 중 하나인 안정성을 충족했음에도 불구하고, 상업적 지불 수단으로서의 비트 코인의 사용양은 올해 급격히 감소했다. 블록체인 연구소인 Chainalysis…

Read full post

분산원장 기술은 사용하기 어렵다

Posted on November 21, 2018

TransferWise Chairman: Distributed Ledger Technology Is Very Hard To Use 원문 비트코인과 다른 디지털 자산을 지배하는 블록체인 기술은 서서히, 그러나 꾸준히 주류 금융으로 진출하고 있지만, 일부 금융 기관들은 잠재력에 대해 확신하지 못하고 있다. 런던에 본사를 둔 결제 플랫폼인 TransferWise…

Read full post

폴크루그먼: 왜 내가 암호화폐에 비관적인가?

Posted on November 20, 2018

Transaction Costs and Tethers: Why I’m a Crypto Skeptic…

Read full post

블록체인과 분산원장 기술은 어떻게 다른가?

Posted on November 19, 2018

Here’s the difference between blockchain and distributed ledger technology 원문 블록체인(Blockchain…

Read full post

블록체인이 아일랜드 국경 문제를 해결할 수 있는가?

Posted on November 17, 2018

Could Blockchain solve Irish border issue…

Read full post

Step by Step machine laerning - 02

Posted on November 16, 2018

Classification MNIST는 각 숫자를 손으로 쓴 이미지를 모아놓은 데이터 셋입니다. 이 데이터 셋을 학습시켜서, 이 손글씨가 과연 숫자 몇을 의미하는지 판별 할 수 있도록 학습시켜 보겠습니다. 1. 데이터 불러오기 원래대로 라면, sklearn…

Read full post

비트코인 캐쉬 하드 포크에 관한 논쟁

Posted on November 16, 2018

What you need to know about the controversial Bitcoin Cash hard fork 원문 현재 비트코인캐시는 원래 비트코인(BTC…

Read full post

산업 관점에서 본 블록체인 적용의 어려움

Posted on November 15, 2018

Major Challenges to Blockchain Mainstream Adoption: Industry View…

Read full post

블록체인 과연 써야할까?

Posted on November 14, 2018

To Blockchain Or Not To Blockchain 원문 blockchain-or-not 많은 사람들은 블록체인과 암호화에 대한 열정이 사라지고 있다고 주장하고 있다. 실제로, Gartner…

Read full post

암호화폐: 튤립 거품인가 다음세대를 위한 약속인가?

Posted on November 13, 2018

Cryptocurrency: Tulip mania or digital promise for the millennial generation…

Read full post

크립토 이코노미란 무엇인가?

Posted on November 12, 2018

What is a crypto economy…

Read full post

블록체인이 안전한 투표를 위한 답이 아닐 수도 있다.

Posted on November 11, 2018

Are Blockchains the Answer for Secure Elections? Probably Not…

Read full post

블록체인을 활용한 디지털 투표

Posted on November 10, 2018

Digital Voting with the use of Blockchain Technology 원문 1. Summary…

Read full post

블록체인과 합의 기반 암호화폐는 어떻게 규제할 수 있는가?

Posted on November 09, 2018

How Can Blockchain and Other Consensus Driven Cryptographic Technology be Regulated? 원문 기술은 시작점에 있다. 1988년 Tim May…

Read full post

Step by Step machine laerning - 01

Posted on November 08, 2018

California Housing 데이터를 바탕으로 scikt-learn을 활용한 머신러닝 예제. 1. 기본적인 데이터 로딩 프록시 환경이라, 프록시를 핸들러에 추가하였습니다. 는 텍스트로 정보가 들어가 있는 것 같다. 그래프로 보자 ml-1-1.png 2. 데이터 분석 이제 데이터를 test set과 train set으로 나눠 보자. testsize…

Read full post

왜 대부분의 스마트 컨트랙트 사례가 실현 불가능한가?

Posted on November 08, 2018

인기 있는 블록체인 플랫폼을 개발하면서, 나는 때때로 Ethereum과 같은 스마트 컨트랙트가 MultiChain…

Read full post

비트코인과 다른 암호화폐는 쓸모가 없다.

Posted on November 07, 2018

Bitcoin and other cryptocurrencies are useless 원문 옛말에 시장이 탐욕이나 두려움에 의해 지배된다고 이야기 한바 있었다. 한때는 욕망이 암호화폐를 지배한적잉 있었다. 가장 잘 알려진 비트코인의 가격은 2016년 12월 약 900달러에서 1년 후 1만…

Read full post

블록체인은 얼마나 안전한가?

Posted on November 05, 2018

How Safe Are Blockchains? It Depends…

Read full post

초보를 위한 웹크롤링: 네이버 영화 댓글 크롤링하기

Posted on November 05, 2018

e 파이썬과 파이썬 라이브러리 (beatifulSoup)를 활용하여 네이버 영화 댓글 크롤링 해보기 1. 크롤링하려는 웹페이지의 구조를 살펴보기 인크레더블 평점 댓글 페이지를 먼저 살펴보겠습니다. 여기 naver-crawling-1 우리가 할일은 저 페이징 (1, 2, 3,…

Read full post

분산된 데이터: 왜 블록체인은 의미가 없고, Trustless가 핵심인가?

Posted on November 04, 2018

Decentralized Data: “Why Blockchain is meaningless and Trustless is everything” 원문 왜 블록체인 기술은 의미가 없는가? 블록체인 기술과 분산화는 일반적인 대중들의 채택을 위한 준비가 되어 있지 않은 새로운 기술이지만, 동시에 다음 1…

Read full post

비트코인 10주년 기념: 비트코인의 역사

Posted on November 03, 2018

Bitcoin turns 10: An annotated timeline 원문 지난 수요일 (2018년 10월 31일) 은 비트코인 백서의 "Bitcoin: Peer-to-Peer Electronic Cash System"이 cryptography 메일링 리스트에 올라온지 1…

Read full post

비트코인 백서는 성경이 아니다.

Posted on November 02, 2018

Bitcoin's White Paper Is Not a Bible – Stop Worshipping It 원문 비트코인의 백서가 발표된 지 10년이 지났고, 세계는 비트코인의 깊은 영향을 이해하는데 10년이 걸렸다. 또한 가용성과 확장성을 개선하기 위해 1…

Read full post

스웨덴 e-krona 프로젝트 리포트1

Posted on November 01, 2018

E-krona project, report 1 원문 RiskBank는 이른바 e-krona가 현금에 대한 대체재가 될 수 있는지, 그리고 그러한 지불이 안전하고 효율적이도록 촉진하는 작업에서 Riksbank…

Read full post