일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- online
- mariadb
- Judge
- ubuntu
- 이클립스
- OrientDB
- 연동
- Framework
- 자바스크립트
- 자료형
- 알고리즘
- 연결
- 설치
- BAEKJOON
- spring
- MongoDB
- 저지
- r script
- API
- AWS
- 백준
- 배열
- Python
- 파이썬
- 오픈한글
- 토네이도
- Java
- r
- Tornado
- 프레임워크
- Today
- Total
목록분류 전체보기 (227)
맛동산
본 글은 tornado 학습 목적으로 의역으로 작성한 글이며, 오역이 있을 수 있음을 알려드리고 사실과 다른 내용이 발견될 때 마다 수정 작업을 수행할 예정입니다. 기술적인 부분은 기본적인 사항 파악 후에 작성하도록 하겠습니다. 원문 - http://www.tornadoweb.org/en/stable/guide/coroutines.html CoroutinesCoroutines are the recommended way to write asynchronous code in Tornado. Coroutines use the Python yield keyword to suspend and resume execution instead of a chain of callbacks (cooperative lightw..
파이썬 *args **kwargs는 무엇인가? 파이썬 함수를 보면 종종 *args나 **kwargs가 인자로 사용되는 것을 볼 수 있습니다. C를 배우신 분들은 *을 보면 포인터를 먼저 떠올리시겠지만 사실 이것은 포인터가 아니라 가변인수라고 합니다. 가변인수란 어떤 함수를 호출할 때 입력받을 인자가 일정하지 않을 때 사용됩니다.우선 핵심부터 말씀드리면 *args는 인자들을 tuple형태로 받고, **kwargs는 인자들을 dict(key : value) 형태로 받아옵니다. def args1(*args): print('args :',args) def args2(**kwargs): print('kwargs :',kwargs) args1(1,2,3) # args : (1,2,3) args2(name='dase..
본 글은 tornado 학습 목적으로 의역으로 작성한 글이며, 오역이 있을 수 있음을 알려드리고 사실과 다른 내용이 발견될 때 마다 수정 작업을 수행할 예정입니다. 기술적인 부분은 기본적인 사항 파악 후에 작성하도록 하겠습니다. 원문 - http://www.tornadoweb.org/en/stable/guide/async.html Asynchronous and non-Blocking I/OReal-time web features require a long-lived mostly-idle connection per user. In a traditional synchronous web server, this implies devoting one thread to each user, which can be v..
본 글은 tornado 학습 목적으로 의역으로 작성한 글이며, 오역이 있을 수 있음을 알려드리고 사실과 다른 내용이 발견될 때 마다 수정 작업을 수행할 예정입니다.기술적인 부분은 기본적인 사항 파악 후에 작성하도록 하겠습니다. 원문 - http://www.tornadoweb.org/en/stable/guide/intro.html IntroductionTornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections,..
저는 java기반 웹 개발을 하다가 현 회사에서 python web을 처음 만져봤는데, Django 기반의 웹 어플리케이션을 운영하던 중 병목현상에 대한 이슈가 생겨서 해결책을 알아본 결과, 대다수가 celery라는 것을 사용하여 비동기 통신을 통한 분산처리로 리소스 관리를 한다는 것을 알게 됐습니다. 하지만! 제 눈에 띄었던 것은 바로! 비동기 통신을 염두하여 설계된, tornado framework였습니다. django에 celery를 붙이는 것으로 문제를 해결할 수 있을 것 같은데, 어차피 구조의 변화는 불가피하고, celery를 적용하는 것보다 tornado framework의 구조를 공부하는 것이 더 매력적일 것 같아서 tornado를 적용해보기로 계획했습니다.(제가 받아들이기에 celery는 ..
1. 이번 글의 목표 지난글(OrientDB with Python - pyorient 사용하기)에서 pyorient 라이브러리를 사용하여 OrientDB와 통신하는 법을 다뤄봤습니다. 이번에는 pyorient를 사용하여, CRUD를 수행할 수 있는 간단한 class를 구현하여 지난번엔 다루지 않았던 update와 delete를 포함한 동작들을 자세히 다뤄보고, query_async 메소드를 사용하여 read 과정을 비동기로 처리하는 내용을 구현하겠습니다. 삽입, 조회, 수정, 삭제에 사용되는 각 함수들의 query를 읽어보시면 독자님들의 어플리케이션에서도 OrientDB를 문제없이 적용하실 수 있을거라 생각합니다. 2. query_async, 어디에 쓸 수 있을까? 저의 CorpusTest라는 데이터베이..
위키피디아 데이터 Json({title : text}) 꼴로 변환 후 저장 로드가 오래걸려서 테스트 필요 시 터미널에서 입력하는게 나음 참고 https://stackoverflow.com/questions/12309269/how-do-i-write-json-data-to-a-file # since 171206 # wiki parse from xml.etree.ElementTree import parse import json, codecs tree = parse("/Users/darr/Documents/gitproject/Tensorflow/r&d/data/kowiki-20171201.xml") root = tree.getroot() pages = root.findall("page")[1:] dic = d..
지난글(OrientDB with Python - OrientDB studio 사용)에서 간단한 studio 사용법을 다뤄봤습니다. 이번엔 pyorient를 통해서 파이썬에서 OrientDB에 연결하고 쿼리를 실행하는 내용을 작성하겠습니다. pyorient를 사용하기위해 터미널(명령 프롬프트)에서 pip install pyorient를 입력하여 pyorient를 설치합니다. 참고로 저는 관리자 권한으로 설치했습니다. import pyorient id = "your id" pw = "your pw" def showResult(results): for r in results: print(r) # 클라이언트 초기화 client = pyorient.OrientDB("localhost", 2424) session_..
지난글(OrientDB with Python - OrientDB 설치)에서 OrientDB설치와 studio 접속법을 다뤄봤습니다. 이번엔 studio의 간단한 사용법을 작성하겠습니다. localhost:2480에 접속하면 로그인 페이지에서 New DB라는 주황색 버튼을 볼 수 있습니다.버튼을 누르면 위와 같은 modal이 뜨는데 database의 이름, user, password를 입력하고 create database를 실행합니다. 부가적으로 설명하자면 Storage Type의 plocal은 'data를 disk에 적재하겠다', memory는 'data를 memory에 적재하겠다' 정도로 설명할 수 있고, Database type의 graph는 bidirectional edge를 갖기 때문에 관계 변화..
토네이도 프레임워크와 OrientDB를 사용하여 니마시니 NLP(Mnemosyne Natural Language Processing) 연구 성과를 공유할 수 있는 웹 페이지를 제작하기로 했는데, 그 첫단계로 OrientDB의 설치법을 작성하겠습니다. 우선 OrientDB의 다운로드 페이지인 http://orientdb.com/download-2/에 접속해서 운영체제를 선택하면 압축 파일이 다운로드 되는 것을 볼 수 있습니다. 다운로드가 완료되면 압축 해제 후 폴더명을 변경하여 사용이 용이한 장소에 옮깁니다.또한 환경변수(windows - path, linux/osx - .bash_profile)에 OrientDB/bin 경로를 등록하는 것도 좋을 것 같습니다.저는 사용자 home에 위치시켰습니다. win..