우리가 힘들게 프로그램을 만드는 이유는 많은 데이터를 빨리 처리할 수 있기 때문입니다. 단, 많은 양의 데이터를 메모리에 저장하는 방법이 필요한데 이때 배열을 사용합니다. 8장에서는 배열을 만들고 사용하는 방법, 또 배열이 문자열을 어떻게 저장하는지 살펴봅니다. --- 동일한 자료형을 저장할 저장 공간이 많이 필요한 경우 일일이 변수를 선언하는 일은 만만치 않습니다. 이때 '배열'을 사용하는데, 배열을 사용하면..
16. Java와 R 연동 16.1 Java에서 R을 호출하는 방법 rJava JRI Rserve - 설치 방법이 간단하고 웹서버에서도 사용가능 16.2 Rserve 설치 방법 16.2.1 RGui(R console)를 실행한 후 Rserve 패키지 설치(RStudio에서도 실행 가능) install.packages('Rserve',,'http://www.rforge.net/') 16.2.2 RGui에서 아래 코드를 먼저 실행한 후 자바 코드에서 호출 가능함 library(Rserve) Rserve(FALSE, port = 6311, args = '--RS-encodi..
작년 4월 쯤, 서브버전(Subversion)을 통해 VCS 개념을 처음 알게 되었습니다. 이후 확장된 개념으로 볼 수 있는 분산 버전 관리 시스템(DVCS) 중 가장 쿨(cool)한 Git을 사용하기 시작했습니다. 저는 IDE마다 플러그인으로도 제공을 하지만, 환경에 영향을 적게 받는 CLI(Command Line Interface)가 마음에 들어 GUI와 겸해서 사용하고 있습니다. 아래의 예시는 실제 윈도우즈 환경의 개인 컴퓨터에서 원격 저장소 역할을 하..
오라클 설치, 그 다음은? 지난 포스팅 오라클 설치, 이대로만 하자! (Oracle 11g Installation) 을 잘 따라오신 분들이라면 이제 오라클을 Windows 환경에서 사용할 수 있게 되었습니다. 하지만 실제로 우리가 데이터베이스를 사용하는 경우는 방대하고 복잡한 쿼리문이 대부분입니다. 이걸 명령 프롬포트 창에서 일일이 확인하기란 쉽지 않습니다. 물론 일부 기업에서는 SQL*Plus 를 사용하기도 합니다. 하지만 보통 Toad나 SQ..
13. SVM(Support Vector Machines) 13.1 개요 13.1.1 예측 기법 Boser, Guyon 및 Vapnik에 의해 1992년 제안된 이후, 1990년대 후반부터 현재까지 학계와 업계(주로 미국 및 유럽 선진국)에서 활발하게 활용되고 있는 예측 기법 13.1.2 기계학습의 분야 기계학습의 분야 중 하나로 패턴 인식, 자료 분석을 위한 지도학습 모델 13.1.3 용도 주로 분류와 회귀 분석을 위해 사용됨 13.1.4 알고리즘 두 카테고리 중 어느 하나에 속한..
컬렉션과 생성기 (Collections and Generators) Iterable vs Iterator Iterable과 Iterator 모두 ES5에서 추가된 새로운 규약(protocol)이다. Iterable 반복 가능한 객체들을 말한다. 프로퍼티로 Symbol.iterator를 반드시 가져야 Iterable한 객체로 정의될 수 있다. Array나 Map 같은 컬렉션들은 기본적으로 Iterable한 객체로 설정되어 있으며 일반 Object는 가지고 있지 않다. String 같은 빌트인 객체도 Iterable한 객체..
Sailing Rod Stewart I am sailing, I am sailing 나는 항해를 해요, 나는 항해합니다 Home again, cross the sea 바다건너 고향으로 I am sailing stormy water 거친 바다를 가르며 항해합니다 To be near you, to be free 그대 곁을 향해서, 자유를 향해서 I am flying, I am flying 나는 날아갑니다. 하늘 높이 날아갑니다 Like a bird, cross the sky 창공을 가르는 새처럼 I am flying passing high clouds 높은 구름을 스..
Fallin' All in You Shawn Mendes Sunrise with you on my chest 내 가슴에는 햇빛과 함께 네가 있어 No blinds in the place where I live 내가 사는곳엔 블라인드가 없어서 Daybreak open your eyes 새벽에 너의 눈을 뜨게 해줄거야 'Cause this was only ever meant to be for one night 왜냐하면 이건 오직 단 하루밤을 위한 것이지 때문이지 Still, we're changing our minds here 여전히 우린 여기서 서로의 마음을 바꾸..
친구로 지내자면서 황인욱 친구로 지내자면서, 2018 요즘 잘 지낸다면서 친구로 지내냐면서 요즘 잘 지낸다면서 많이 밝아졌다며 내가 더 잘할걸 많이 후회했어 나는 매일 똑같지 뭐 가끔 네 생각에 취해 노랠 부르곤 해 잊어야 하는데 그 밤 잠이 들 때쯤 걸려온 네 전화에 밤새 뒤척이곤 해 친구로 지내자면서 우리는 아니라면서 너의 연락 한번에도 마음이 흔들려 내일 또 만날 것처럼 아무 일 없던 것처럼 스치듯 말하면 다..
청소 BLUE PAPRIKA 같은 시간, 다른 밤 먼지가 더 쌓여가기전에 어서빨리 털어내야해 내 맘이 먼저 움직이기전에 내 몸을 먼저 움직여야해 커튼넘어 가로등불 다시 고개를 내밀면 너와 함께 걷던 그 길이 또 생각나 창문뒤로 숨은달빛 다시 내방을 비추면 너와 함께했던 그 밤이 또 찾아와 너는 마치 먼지처럼 털어내도 다시 쌓이네 넌 마치 얼룩처럼 지워내도 다시 보이네 얼룩이 더 번져가기전에 흔적없이 지워내야해 너의모..
been nafla [SoundCloud 2016년 미발표곡] [Verse 1] maybe I'm right maybe maybe I'm wrong maybe 밤에 날씨 즐겨 lately 걸으며 생각해 my baby 난 그녀 생각을 매일 해 I just imagine u naked I just wanna see you everday 걸으며 생각해 my baby 마시는 한잔 두잔 후 눈감은 채 후회들 잊으려 해 한순간인데 잊었다 밤에 생각난 중간단계 바쁘려고 하지 도움 구할 대신 I just suck it up, 술과 함께 몇 신지 몰라 취한..
8 Letters Why Don't We [8 Letters, 2018] [Verse 1: Jonah Marais] You know me the best 넌 나를 잘 알고 있고 You know my worst, see me hurt, but you don't judge 내 최악의 모습도 상처도 알지만 함부로 평가하지 않았어 That, right there, is the scariest feeling 바로 거기서 두려운 느낌이 들어 Opening and closing up again 마음을 열었다 다시 닫게 해 I've been hurt so I don't trust 그동안 아팠고 그래서..
나무 카더가든(Car, the garden) [나무, 2019] 인사 하네요 근심없게 나 아름다운 방식으로 무딘 목소리와 어설픈 자국들 날 화려하게 장식해줘요 그대 춤을 추는 나무 같아요 그 안에 투박한 음악은 나에요 네 곁에만 움츠린 두려움들도 애틋한 그림이 되겠죠 그럼 돼요 웃어 줄래요 사진처럼 수줍은 맘이 다 녹아내리게 무력한 걸음과 혼잡한 TV 속 세상없이 또 울기도 해요 그대 춤을 추는 나무 같아요 그 안에 투박한..
메아리 와이키키 브라더스 밴드 [메아리, 2012] 내 맘이 지우지 못한 사랑 떠나가도 떠난 줄 몰라 더 이상 꺼낼 추억도 없고 빈 가슴이 더 허전해져 또다시 사랑하게 될까 아픈 추억들만 남기는 술 한잔 내 맘 비워내면 다시 사랑이 찾아온다 이게 사랑이었구나 떠나지 마 가지 마 가슴에 메아리쳐 눈물 속에 사는 것을 다시 부를 수 있도록 조금만 더 다가와 오우워 내 사랑 앞에 아련한 기억의 길 지나서 다시 돌아갈 수 있다..
사이트맵 생성 후 그 다음은 지난 글에서 간단하게 사이트맵을 만들 수 있었습니다. 여기서 그치는 것이 아니라 검색 엔진이 알 수 있도록 사용자들이 자주 사용하는 대표적인 검색 포털 사이트에 우리의 사이트맵을 등록해주어야 합니다. 첫 번째 대상으로 전 세계 사용자들이 가장 많이 사용하는 구글(Google)에 등록해보도록 하겠습니다. 통상적으로 이런 서비스를 웹마스터도구라고 하며, 구글에서 제공하는 서비스의 정확한..
사이트맵(Sitemap)이란? 사이트맵을 한마디로 정의하면 특정 웹 사이트의 페이지 목록입니다. 블로그를 예로 든다면, 다수의 글을 마치 도서 목록처럼 집약 및 집대성할 수 있고, 사이트맵 생성 프로그램 등을 통해 파일을 만들어 Google 같은 검색 포털 사이트에 등록할 수 있습니다. 당연히 등록하지 않은 것보다 사용자가 원하는 정보를 검색할 때 블로그가 노출될 확률이 높겠죠? 어렵지 않으니 사이트맵을 등록해보도록 하..
요즘 티스토리뿐만 아니라 어떤 웹 사이트를 방문하더라도 비어 있는 공간을 활용하여 각종 광고들로 채워져 있습니다. 과거에 오프라인에서 여기저기 보이던 광고가 정보화 시대에 접어들면서 이제는 웹 사이트에서 볼 수 있는 현상인데요. 저 역시 이 블로그를 운영하면서 광고를 게재할 수 있는 구글 광고 게재 플랫폼, 애드센스를 여러 군데 부착해놓았습니다(찾아보니 작년 여름에 구글 애드센스 계정 승인을 받았었네요)...
34. Java와 Python 연동 34.1 Java에서 Python 명령어를 실행하는 방법 34.1.1 Jython Python 2.7 기준의 문법이 적용됨 numpy, pandas 등의 외부 라이브러리 사용이 어려운 단점이 있음 34.1.2 JEP 34.1.3 pyro4 34.1.4 Java에 내장된 Process 명령어를 사용하는 방법 34.2 Jython 설치 Jython 2.7.2 Installer 버전 다운로드 및 설치 다운로드받은 python-installer-2.7.2.jar 파일을 더블 클릭하여 기본 옵션으로 설치함(설치..
프로젝트 중에는 경우에 따라 빈 폴더가 있어야 하는 경우가 있습니다. 예를 들어 파일 업로드/다운로드 기능 개발 시 uploads/ 등의 비어 있는 공간을 만들고 이곳에 경로를 잡아 자원을 관리하기도 합니다. 소스 코드를 GitHub로 관리하고 있다면 원격 저장소에 이 정적 디렉터리 안의 샘플 파일까지 커밋할 필요는 없습니다. 하지만 안의 내용을 다 지우고 아무리 Push를 진행하더라도 Git은 빈 디렉터리를 인식 대상에서 제..
32. SVM(Support Vector Machines) 32.1 개요 32.1.1 예측 기법 Boser, Guyon 및 Vapnik에 의해 1992년 제안된 이후, 1990년대 후반부터 현재까지 학계와 업계(주로 미국 및 유럽 선진국)에서 활발하게 활용되고 있는 예측 기법 32.1.2 기계학습의 분야 기계학습의 분야 중 하나로 패턴 인식, 자료 분석을 위한 지도학습 모델 32.1.3 용도 주로 분류와 회귀 분석을 위해 사용됨 32.1.4 알고리즘 두 카테고리 중 어느 하나에 속한..
Github를 자주 이용한다면 저장소(Repository)를 보다 완성도 있게 만들고 싶은 욕구가 생깁니다(?). 실제 유명한 오픈소스 프로젝트 역시 두리번거리다 보면 하나같이 공통점이 있는데요. 바로 라이선스를 명시하고 있다는 것입니다. 사실 많은 분이 간과하고 있는 점 중 하나가 라이선스 명시를 지키지 않는 부분인데요. 오픈소스 생태계에서 이 부분은 되게 중요합니다. 저도 경각심을 가지고 이번 포스팅을 작성하게 되었습..
38. 인공신경망 실습(keras) 38.1 실습예제1(기초적인 인공신경망) # 케라스 패키지 임포트 from keras.models import Sequential from keras.layers import Dense import numpy as np # 입출력 데이터 # 딥러닝 모델에 입력할 값 x = np.array([0, 1, 2, 3, 4]) # 출력값: x * 가중치 + 편향 y = x * 2 + 1 print("x: ", x) print("y: ", y) # 인공신경망 모델링 # 케라스 인공신경망 생성 model = Sequential() # 입력노드 1개..
29. 회귀분석 29.1 회귀분석(Regression)이란? 29.1.1 독립변수(X)와 종속변수(Y)의 관계식을 구하는 기법 독립변수가 한단위 증가할 때 종속변수가 얼마나 영향을 받는지 분석하는 방법 29.1.2 추정: 회귀식, 회귀계수 29.1.3 검정: 독립변수의 영향력, 모형의 적합성(R2) 등 29.2 회귀분석의 종류 29.2.1 단순회귀분석: 독립변수가 1개인 회귀모형 (예) 기업의 광고집행액(X)을 이용하여 그 기업의 매출액(Y)을 예측하는 모형..
31. 의사결정나무(Decision Tree) 31.1 의사결정나무 모형 31.1.1 일련의 독립변수들을 활용하여 분류를 하거나 예측을 수행하는 기법 31.1.2 최종 결과물이 "일련의 규칙들"로 표현됨 31.1.3 Decision Trees 또는 Trees라고 불림 31.2 의사결정나무의 2가지 기본 아이디어 31.2.1 반복적 분할(Recursive partitioning) 31.2.1.1 레코드들을 두 부분으로 반복해서 잘라 세분된 영역 내의 동질성이 최대가 되도록 함 31.2.1.2 계..
39. DNN(keras) 39.1 실습예제(mnist) # 필기체를 분류하는 DNN 구현 # 심층신경망(Deep Neural Network, DNN) 은닉층을 많이 쌓아서 만든 인공신경망 # 학습데이터가 적거나 복잡한 이미지에 더 우수한 성능을 보이는 기법 %matplotlib inline import numpy as np import pandas as pd import os from keras.utils import up_utils from keras import layers, models, datasets # seaborn import seaborn as sns sns.set(style..
37. 회귀분석(keras) 37.1 케라스(keras) 37.1.1 케라스의 개요 파이썬으로 구현된 쉽고 간결한 딥러닝(deep learning) 라이브러리 구글의 엔지니어인 프랑소와 숄레(Francois Chollet)가 2015년 3월에 발표 최근 버전: 2019년 10월 현재 2.3.0 내부적으로는 텐서플로우(tensorflow) 엔진이 구동되지만 직관적인 API로 쉽게 딥러닝 실험을 할 수 있도록 지원함 37.1.2 케라스의 주요 특징 모듈화(Modularity): 독립적인 모듈들을..
43. keras를 활용한 뉴스분류 실습 41.1 실습예제 # 케라스 로딩 import keras keras.__version__ # 뉴스 기사 분류: 다중 분류 문제 # 로이터 뉴스를 46개의 토픽으로 분류하는 신경망(다중분류) ## 로이터 데이터셋 # 1986년에 로이터에서 공개한 짦은 뉴스 기사와 토픽의 집합인 데이터셋(케라스 내장 데이터셋) # 텍스트 분류를 위해 널리 사용되는 간단한 데이터셋 # 46개의 토픽 # 각 토픽은 최소 10개의 샘플이 있음 # 데..
11.1 자바스크립트 엔진이란 정의 JS 코드를 실행하는 프로그램 또는 개발자가 별도의 컴파일 작업을 수행하지 않는 인터프리터 언어(Interpreter Language)를 말합니다. 조금 더 자세하게 말해 자바스크립트 코드를 마이크로프로세서가 이해할 수 있는 더 낮은 수준의 언어(기계어)로 변환해주는 역할을 담당합니다. 종류 SpiderMonkey: 최초의 자바스크립트 엔진으로 JS의 창시자인 브랜던 아이크가 넷스케이프 브라우저를 위..
41. 오토인코더(keras) 41.1 오토인코더(autoencoder) 41.1.1 주성분분석으로 처리하는 일차원 데이터 처리 방식을 딥러닝 방식으로 확장하는 방식으로 비지도학습 방법 41.1.2 다차원 입력 데이터를 저차원 부호로 바꾸고 다시 저차원 부호를 처음 입력한 다차원 데이터로 바꾸면서 특징점들을 찾아내는 방식 41.1.3 핵심적인 정보만을 남기고 사람이 잘 느끼지 못하거나 둔감한 정보는 손실시키는 압축 방식, 출력값은 입력값..