분류 전체보기 264

[D3.js] chart 그리기

데이터를 이용해서 차트를 만들어보자. 먼저 예시 코드를 보며 이해해보자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 div.bar{ display: inline-block; width: 20px; height: 75px; margin-right: 4px; background-color: teal; } div.bar2{ display: inline-block; width:15px; height:75px; margin-right:2px; backgro..

D3_js 2019.07.17

[D3.js] DOM 문서요소 선택하기

이전 시간에 D3__Data Driven Document에 대해 알아보고 간단한 코드를 사용하여 데이터를 가져와 보았다. 이번에도 이와 비슷한 코드를 가지고 실습을 해보며 익숙해져보고 데이터가 어떻게 동작하는지 알아보자. 아래 코드를 보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 var arr = [5, 4, 78, 98, 2.3, "ABC"]; var arr2 = [1,2,3,2.1534,"BCD"]; d3.select("body").selectAll("p").data(arr).enter().append("p").text(function (d) { return "real Data is "+d ..

D3_js 2019.07.15

[D3.js] Data_driven_Document

자바스크립트 라이브러리 중 하나인 D3.js는 데이터 시각화에 사용되는 라이브러리이다. 웹브라우저상에서 동적이고 Interactive한 정보 시각화를 구현하기 위한 자바스크립트 라이브러리이며, 자바스크립트 문법을 취하고, 웹 표준인 HTML, SVG, CSS와 결합하여 강력한 접근성을 제공한다. 자세한 내용은 공식 사이트 https://d3js.org 와 https://github.com/d3/d3/wiki 이곳에서 자세한 래퍼런스와 내용을 공부할 수 있다. 그렇다면 D3를 시작해보자. CSS, HTML, Javascript에 대해 어느정도 알고 있는 상황에서 시작한다. 실습을 할때, 로컬 웹 서버를 통해 페이지에 접근해야 좋다. 필자는 node.js 의 npm을 사용하였다. d3는 체인 문법을 사용한다..

D3_js 2019.07.10

[자연언어처리] 다층 퍼셉트론

자연언어처리를 공부하면서 머신러닝/딥러닝 실습환경으로 Tensorflow, Anaconda, 파이썬을 사용하였다. 이곳에 공부한 내용을 간단하게 정리하고자 한다. 자세한 내용과 공부는 이곳을 참고하자. https://hunkim.github.io/ml/ 퍼셉트론 이와 같은 구조로 이루어지며, W는 입력 X에 대해 곱해지는 가중치이다. 이 입력 X와 가중치 W의 값을 곱한 값들을 모두 더하여 하나의 값으로 만든 후. 특정 임계값과 비교를 하여 임계값 보다 크면 1, 아니면 -1로 출력하는 함수를 정의할 것이다. 이 함수를 활성 함수(Activation function) 라고 한다. 그럼 다층 퍼셉트론이란, 이 중간층, 즉 뉴런이 다수로 구성되어 있는 구조를 다층 퍼셉트론이라 한다. 퍼셉트론에서 결과값을 만..

백준[3190] 뱀

문제의 출처는 이곳이다. 출처 : https://www.acmicpc.net/problem/3190 필자는 문제를 보고 우선 어떤 자료구조를 사용하여 해결할까? 고민을 조금 하면서, 다음 칸으로 이동할 때, 그 위치를 가지고 있어야한다. 이 후, 이동한 위치에 사과가 없으면 가장 처음에 있던 위치를 제거해야 하기 때문에, 'Queue' 자료구조를 사용하였다. 'Deck'을 사용하거나 다른 방법도 존재한다. 자료구조를 택하였으면, 문제에 있는 조건대로 구현하면 된다. 구현은, 방향을 저장하고 있는 배열만 관리하여 x,y 위치값들을 각 방향에 따라 이동시킨 후, 사과가 없다면 큐의 원소를 제거하는 방식으로 코드를 작성하였다. 아래 코드를 보면 이해할 수 있다. *방향을 선택할때, 필자의 스타일대로 작성하였으..

[Compiler]NFA -> DFA : Subset Construction Algorithm

본 내용은 아래의 출처에서 본것이고 허락을 맡고 포스트한다. 출처 : https://talkingaboutme.tistory.com/category/About%20Study/Compiler 지난 시간, 정규 표현식을 NFA로 바꾸는 TCA(Thompson's Construction Algorithm) 에 대해 살펴보았다. NFA는 정답을 찾기 위한 모든 경우의 수를 표현한 것이라면, 여기서 확실한 정답을 찾기 위해 DFA로 바꿀 필요가 있다. 그렇다면, NFA를 DFA로 어떻게 바꿀 수 있을까?? 그것을 살펴보자. 그 전에 이때까지 우리의 과정을 나열하면 아래와 같다. NFA는 나올 수 있는 모든 Finite input set 인 '시그마' 에서 적절한 조합을 뽑아낸 것이고, DFA는 그것을 하나의 정답..

[Compiler]TCA(Thompson's Construction Algorithm)

본 내용은 아래의 출처에서 본것이고 허락을 맡고 포스트한다. 출처 : https://talkingaboutme.tistory.com/category/About%20Study/Compiler 이전에 경로를 찾는데 모든 가능성을 주목한 방식이 NFA이고 진짜 정답을 찾는 것이 DFA였다. 우리는 Lexical Analysis를 통해 정규 표현식을 NFA로 거쳐 DFA를 거치는 것이다. 그렇다면 정규 표현식을 NFA 형식으로 바꾸는 방식이 있을텐데 이것이 TCA(Thompson's Construction Algorithm)이다. 정규 표현식을 가장 기본적인 단위로 쪼개어 NFA에서 정의한 방식대로 합치는 것이다. 여기서 가장 본적인 단위는 ϵ 와 'a 의 시그마' 이다. 처음 상태에서 포함된 요소를 선택하면 ..

[Compiler] NFA/DFA

본 내용은 아래의 출처에서 본것이고 허락을 맡고 포스트한다. 출처 : https://talkingaboutme.tistory.com/category/About%20Study/Compiler FA는 특정 문구를 뽑아내기 위한 Regular Expression이 나오면 이를 Finite State 형태로 구현하는 것 자체가 Finite Automata 라고 한다. 어떤 수식을 하나의 state Digram으로 변환해주는 과정 자체가 Finite Autoata를 구현하는 단계라고 생각하면 된다. EX) a∗b -> {b , ab, aab, aaab ...} 등이라는 것을 확인할 수 있다. 이 Finite Automata를 구성하는 요소는 처음 state와 나올 수 있는 state들도 있어야 표현가능, 각 st..

[Compiler] FA : Finite Automata 와 ambiguity

본 내용은 아래의 출처에서 본것이고 허락을 맡고 포스트한다. 출처 : https://talkingaboutme.tistory.com/category/About%20Study/Compiler Lexical Analyis에 대해 알아보고 정규 표현을 통해 코드상의 string을 뽑는 것을 알아보았다. 코드상에는 string뿐만 아니라, alphabet, keword 등 많은 요소들로 구성되어 있다. 이를 정규 표현식 방법으로 적용해 코드상에서 뽑아낼 수 있는 단어는 위의 요소들 중 하나이고 각각 정규 표현의 Union에는 포함되어 있을 것. Regulat Expression L(R) = L(keyword) | L(number) | L(identifier) | L(operator) | .... 예를 들어, e..

[Compiler]Regular_Expression(정규 표현식)

본 내용은 아래의 출처에서 본것이고 허락을 맡고 포스트한다. 출처 : https://talkingaboutme.tistory.com/category/About%20Study/Compiler Lexical Analysis(구문을 Token별로 잘라주는 방법)를 위한 특정 pattern이 필요 -> 정규식 방식을 사용해서 처리 구문이나 단어라고 하는 String을 나누는 예를 들어보자 ex) 'compiler' 접두사(prefix) : c로 시작하는 모든 String, -- {ε,c, co, com, ...} 접미사(suffix) : 마지막 단어를 포함하는 모든 부분 문자열, -- {ε,r, ler, compiler, ....} substring : {ε, com, omp, ...} subsequence :..