본문 바로가기

Programming

집단지성 프로그래밍 2(Recommendations) 이 글은 토비 세가란 저, 윤종완 역의 집단지성 프로그래밍 책을 읽으며 개인적으로 공부하며 정리한 내용이다. 이전 글에서는 Machine Learning과 Euclidean Distance, Pearson Correlation Coefficient 를 이용해 두 사람의 상관도, 유사도를 구하는 것에 대해서 정리했다.(링크) 평론가 순위 이전 글을 통해 두 사람을 비교하는 함수를 만들었었다. 이제는 주어진 사람을 기준으로 다른 모든 사..
집단지성 프로그래밍 1(Machine Learning, Euclidean Distance, Pearson Correlation Coefficient) Machine Learning에 대해서 공부가 하고 싶어 책을 찾아보다가 토비 세가란 저, 윤종완 역의 '집단지성 프로그래밍' 책을 알게 되었고 이 책을 읽으며 개인적으로 공부를 하고 정리하며 블로그에 올리려고 한다. 아래 내용과 추후 업로드 될 몇몇 글들은 위의 책에 나오는 글들을 나름의 해석으로 요약한 내용이며, 안의 예제 코드들은 책에 나오는 코드들이다. Machine Learning 기계학습(machine learning)는 ..
꼬리재귀, Tail Recursion Tail Recursion 일반적인 재귀함수는 특정 횟수 이상 호출 할 경우 Segment Fault를 출력하며 에러를 일으킨다. 하지만 꼬리재귀(Tail Recursion)은 이러한 문제점이 없다 프로그램을 실행하여 프로세스가 메모리에 올라갈 때에 메모리엔 여러 가지 공간들이 생성된다. 코드 데이터가 들어가는 코드 영역, 동적할당된 변수들이 저장되는 힙Heap) 영역, 지역변수들 혹은 함수의 매개변수들이 올라가는 스택 영역, 전역 변..
[Python] Flask & Nginx & Gunicorn 연결하기 [Python] Flask & Nginx & Gunciorn 연결하기 Flask Gunicorn Nginx 이번에 동아리의 친구와 함께 간단한 웹 개발을 했었다. 둘 다 웹 프로그래밍에 익숙치 않아 공부 혹은 개인적으로 사용할 용도로 Flask 자체에 있는 웹 서버로 구동하고 있었는데, 의외로 동아리 사람들이 많이 사용을 하게 되어 동접자 10명만 넘어도 CSS, JS, HTML 파일들을 제대로 불러오지 못하고 렉이 걸리..
[Python] Flask & Socket IO 웹 소켓을 이용한 채팅 Edit [Python] Flask & Socket IO 웹 소켓을 이용한 채팅 Socket IO Flask socketio 예전에 가가라이브인가? 웹에서 채팅을 할 수 있게 만들어주는 모듈이 있었는데, 이와 같은 웹 채팅을 한번 만들어보고 싶었다. 근데 가가라이브는 웹 기술이라기 보다 Flash 기반이더라… 그래서 다른 정보를 찾다..
[Python] gevent & monkey pathcing  처음엔 gevent를 이용해 spawn과 join만 이용하면 모든 task들이 Non-Blocking 형태로 진행되고, spawn & join을 쓰지 않고 monkey patching만 하면 raw_socket들이 모두 비동기 형식으로 진행되는줄 알았다.(gevent에 대해 안지 얼마 되지 않아서 개념에 대한 이해도가 부족했다) gevnet와 monkey patching을 이때까지 잘 사용해 왔는데 그럼 spawn..
[Python] gevent & mechanize, asynchronous Scraping  간단하게 웹에서 데이터를 긁어올 일이 있어 mechanize를 이용해 로그인을 하고 데이터를 수집하려고 했으나 일반적인 방법으로는 속도가 너무 느려 gevent를 활용하여 개발하였다.(python에서 thread를 쓰는 것은 좋지 않은 방법이다)1. Mechanize mechanize는 urllib, urllib2 혹은 requests 모듈과 같이 python에서 웹 요청을 보낼 수 있는 모듈이다. 다른 모듈과 다른 점은 가상으로..
node.js로 블로그 만들기 <<1>>  이때까지 C, C++, Python을 이용해 많은 코딩을 해 왔지만 웹 코딩은 안해봤습니다. 웹 특성상 코드 수정을 안해도 환경에 따라 결과가 다르게 나오는것과 같은 제 머리속 논리와는 다르게 나오는 문제 때문에 이때까지 정을 못 붙이고 있었지요... 근데 개발을 하다보니 역시 사람들에게 보여줄 수 있는건 웹이고 최근에는 웹을 통해 많은 것들을 할 수 있기 때문에 웹 공부를 하기로 했습니다. 그리고 JS도 공부해..