금융 데이터 이해와 분석 PyCon 2014


Buy me a coffeeBuy me a coffee

출처: Python-Patterns  https://github.com/faif/python-patterns


python-patterns

A collection of design patterns and idioms in Python.

Current Patterns:

Pattern Description
3-tier data<->business logic<->presentation separation (strict relationships)
abstract_factory use a generic function with specific factories
adapter adapt one interface to another using a whitelist
borg a singleton with shared-state among instances
bridge a client-provider middleman to soften interface changes
builder call many little discrete methods rather than having a huge number of constructor parameters
catalog general methods will call different specialized methods based on construction parameter
chain apply a chain of successive handlers to try and process the data
command bundle a command and arguments to call later
composite encapsulate and provide access to a number of different objects
decorator wrap functionality with other functionality in order to affect outputs
facade use one class as an API to a number of others
factory_method delegate a specialized function/method to create instances
flyweight transparently reuse existing instances of objects with similar/identical state
graph_search (graphing algorithms, not design patterns)
iterator structure repeated, identical calls as a generator
mediator an object that knows how to connect other objects and act as a proxy
memento generate an opaque token that can be used to go back to a previous state
mvc model<->view<->controller (non-strict relationships)
observer provide a callback for notification of events/changes to data
pool preinstantiate and maintain a group of instances of the same type
prototype use a factory and clones of a prototype for new instances (if instantiation is expensive)
proxy an object funnels operations to something else
publish_subscribe a source syndicates events/data to 0+ registered listeners
state logic is org'd into a discrete number of potential states and the next state that can be transitioned to
strategy selectable operations over the same data
template an object imposes a structure but takes pluggable components
visitor invoke a callback for all items of a collection

ps. 조만간 디자인 패턴(Design Pattern)내용을 한글로 번역해서 정리해볼 예정

Buy me a coffeeBuy me a coffee



빠르게 활용하는 파이썬 3.2 프로그래밍

저자
신호철, 우상정, 최동진 지음
출판사
위키북스 | 2012-04-12 출간
카테고리
컴퓨터/IT
책소개
[빠르게 활용하는 파이썬 3.2 프로그래밍]은 강력하고 쉬운 언...
가격비교

위키북스에서 "빠르게 활용하는 파이썬 3.2 프로그래밍"에 대한 동영상 강좌를 Youtube에 올려놓고 무료로 공개하였습니다.


이제 파이썬(Python) 공부 열심히 해볼까요? ㅎㅎ


출처: 위키북스 트위터


Buy me a coffeeBuy me a coffee

Python기반의 Flask Link정리

Summary Link Python-based Flask 


Flask 공식 문서 - http://flask.pocoo.org/docs/

Flask 공식 문서 한국어 번역 - http://kswa.codingstar.net:14705/html/index.html


Flask 테스트 해보기

Testing Flask Applications http://flask.pocoo.org/docs/testing/

Flask 어플리케이션 테스트하기(한국어번역)- http://kswa.codingstar.net:14705/html/testing.html

Flask는 아니지만 Flask에서 단위 테스트(Unit test)를 하기 위해서 Python의 unittest 모듈을 사용함.

The Python Standard Library: unittest — Unit testing framework http://docs.python.org/2/library/unittest.html


Flask-Testing 모듈

http://pythonhosted.org/Flask-Testing/


Flask tutorial for RESTful API

http://scriptogr.am/myevan/post/flask-tutorial-for-restful-api


Flask Pattern 심화

Advanced Flask Patterns https://speakerdeck.com/mitsuhiko/advanced-flask-patterns-1


Buy me a coffeeBuy me a coffee




GTK+ 3.2가 2011년 9월 25일(일)에 출시되었습니다.



GTK+ 3.2.0에서는 2가지 중요한 실험적인 기능이 포함되었습니다.

  1. HTML5을 사용하는 웹 브라우저 안에서 GTK+어플리케이션을 실행할수 있는 기능 (First, the ability to run Gtk+ applications inside a browser using HTML5.)
  2. Wayland display server를 지원(Second, initial support for the Wayland display server.)


GTK+ 3.2는 사용자가 바로 혜택을 누릴수 있는 수많은 소소한 기능을 소개합니다.

  • CSS Themeing 기능의 향상(CSS themeing support has been improved)
  • GtkFileChooser는 사용 할수 있도록 돌리었음. (GtkFileChooser has been overhauled)
  • GtkFontSelection 은 GtkFontChooser 위젯의 새로운 세트로 대체 되었음(GtkFontSelection has been replaced by a new set of GtkFontChooser widgets)
  • 여러 새로운 위젯들이 소개되었음(several new widgets have been introduced as well.)

GTK+3.2에서 HTML5의 지원은 여전히 실험적입니다. 이 것은 HTML5에 적합한 브라우저 안에서 계산기나 노트패드 어플리케이션류의 GTK+ 어플리케이션을 작동할수 있도록 허락을 해준다. 

아래는 Firefox 4.0안에서 GIMP를 실행하는 데모비디오입니다.


아래 동영상은 HTML5을 지원하는 Firefox4안에서 계산기와 Evince를 실행하는 동영상입니다.

Gtk+ broadway demo from Alexander Larsson on Vimeo.



또 다른 큰 새로운 것도 실험적인 것입니다. 알다시피 Wayland 자체는 매우 실험적인데, GTK+ 3.2 에서는 Wayland display server를 지원한다. 현재 많이 알려져 있는 X.org를 대신하여 미래에 많이 사용할 Wayland에 대해 GTK+가 미래를 위해 준비를 확실히 하고 있다.

QT또는 Wayland를 지원을 하는 중이기 때문에 두가지 오픈 소스 툴킷(GTK+, QT은 미래를 위한 준비를 하고 있다고 볼수 있습니다.



※ GTK+란? (What is GTK+)

GTK+는 그래픽 유저 인터페이스(GUI)를 만들기 위한 멀티 플랫폼 툴킷입니다. (아래서 부턴 알아서 번역을 바랍니다.)

GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off tools to complete application suites.

GTK+ has been designed from the ground up to support a range of languages, not only C/C++. Using GTK+ from languages such as Perl and Python (especially in combination with the Glade GUI builder) provides an effective method of rapid application development.

GTK+ is free software and part of the GNU Project. However, the licensing terms for GTK+, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties. GTK+ is the only 100% free-of-cost open source industrial-strength GUI toolkit available today.

Since its origins as the toolkit for the GNU Image Manipulation Program (GIMP), GTK+ has been used in a wide range of software. Notably, GTK+ is the foundation of the GNOME desktop.


Buy me a coffeeBuy me a coffee

저의 지인이며 비밀 스터디의 주도권을 가지고 계신 ganadist님께서 안드로이드 빌드 툴을 GTK와 Python기반으로 개발하셨다고 합니다.

아래는 저의 컴퓨터에서 실행한 화면으로 아직 Android Source kit을 받지 않았기 때문에 설정화면이 이상하게 되었군요.


(제대로 동작하는 화면의 경우는 그분의 동의를 받지 못해서 올리지 못하고, 주말 쯤 제가직접 프로그램 돌리는 스크린샷을 올리겠습니다.)


소스는 https://github.com/ganadist/abuild 에서 받을 수 있습니다.

안드로이드(Android)를 처음 접하는 초보자들도 쉽게 빌드 할수 있도록 GTK기반으로 UI를 구성한 후, 작성하였다고 합니다.


이 프로그램의 요구사항은 GNOME 3.0 개발환경에 맞게 만들어졌기 때문에 GTK+-3.0 이상이 설치되어야 한다고 나와 있군요. (GTK+-2.0과 GTK+-3.0간 호환성이 없다보니..)


* Requirements
	- python 2.6 or higher
	- pygobject 2.90 or higher
	- gtk 3.0 or higher with gobject-introspection
	- vte 2.90 or higher with gobject-introspection


실행방법

git으로 소스트리(참고 - https://github.com/ganadist/abuild  )를 받은 후 ./abuild를 실행하면 됩니다. 단 안드로이드 커널 소스를 미리 받으셔야 합니다.


* How to run?
	- change directory to source
	- run ./abuild
	 . need to fix for deployment
	- click "Source Top" button and select android source directory
	- if source directory has valid contents, "Build", "Product",
	  "Variant" button will be enabled
	  . TIP: If you set TOP shell environment and that is android
	    source directory, it will be set as "Source Top" directory
	- select check buttons and press "Build" button


ps. 제대로 빌드하는 모습을 다음 일요일에 제대로 된 실행화면을 블로그로 업로드할 예정입니다.

Buy me a coffeeBuy me a coffee

2011년 9월 5일~9월 8일간 미국에서 열린 DjangoCon US 2011 행사에서 사용한 슬라이드를 아래 링크에서 받을 수 있습니다.



Django는 Python기반의 웹 프레임워크로, 현재 저와 같이 스터디를 하고 있는분들끼리 열심히 작업하는 프로젝트에서 잘 쓰고 있습니다.



Buy me a coffeeBuy me a coffee


개발자들이 말하는 오픈소스 애플리케이션의 구조에 관한 내용이 인터넷으로 공개가 되었습니다. 아래는 책 링크입니다.

http://www.aosabook.org/en/index.html

구체적으로 25개 주요 오픈소스 개발자들이 직접 밝히는 각 소프트웨어들의 구조와 설계에 대한 내용을 책으로 만들었고, 오픈소스 사상에 맞게 Creative Common 라이센스로도 웹으로 공개가 되어있습니다. 

Open Source라고 자유롭게 공개를 하는 좋은 책이 있군요.

25개의 주요 오픈소스 애플리케이션 프로젝트의 이름은 다음과 같습니다.

  1. Asterisk
  2. Audacity
  3. The Bourne-Again Shell(그 유명한 bash shell의 원래 이름입니다.)
  4. Berkeley DB
  5. CMake
  6. Eclipse
  7. Graphite
  8. The Hadoop Distributed File System
  9. Continuous Integration
  10. Jitsi
  11. LLVM
  12. Mercurial
  13. The NoSQL Ecosystem
  14. Python Packaging 
  15. Riak and Erlang/OTP 
  16. Selenium WebDriver 
  17. Sendmail 
  18. SnowFlock 
  19. SocialCalc 
  20. Telepathy 
  21. Thousand Parsec 
  22. Violet 
  23. VisTrails 
  24. VTK 
  25. Battle For Wesnoth 

제가 사용해봤거나 자주 사용하는 건 bourne-agine shell (bash shell)과, CMake, 자바 개발툴인 Eclipse, Mercurial(분산 버전 관리 시스템), Python Packaging(Pypi), 예전 서버관리자일때 설치해봤던 Sendmail 이렇게 6개만 사용해봤군요. 
그리고 어떤 구조인지도 모르고 그냥 사용했었다만, 이번 계기로 어떤 구조로 되어 있으며, 어떻게 설계되었는지에 대해서 책보고 알아봐야겠습니다. ~_~ 

이 내용들을 PDF로 변환하여 제 안드로이드폰에 넣고 다니긴 하지만 화면 크기가 작아서 뭔가 불만족스럽습니다. 이 책 내용을 아이패드로 꼭 보고 싶군요. 


ps. 개인이 책 내용을 전자책 형태의 안드로이드용 어플로 만들면 법적 문제 생길려나?

Buy me a coffeeBuy me a coffee



구글에서 컴퓨터 Geek, Nerd에게 명령어로 구글 서비스에 명령 주는 것을 시작하였습니다.

이름은 GoogleCL입니다.

Google CL은 Command line(명령어)를 통해서 Google Data API을 이용한 Python 애플리케이션입니다.

웹에 접속하기 보다 Command Line(명령어)로 쉽게 작성할수 있는 점에서 Geek, Nerd한 사람들이 많이 사용할듯 합니다.

Google CL은 Google 서비스 중에 Blogger, Calendar, Google Contacts, Google Docs, Google Picasa, Youtube서비스를 지원합니다.

Google CL은 Python을 사용한 애플리케이션이라 Python이 이미 설치되어야 합니다.

그래서 Ubuntu, Debian같은 Linux또는 Mac에선 쉽게 설치 가능합니다만, Windows에선 Python을 설치해야하고 설정하는 것이 복잡합니다.

System Requirements 에서 Linux, Mac의 설치 방법이 나옵니다.

Windows에서 설치하는 방법은 아래 링크를 클릭하시기 바랍니다.

Setup GoogleCL on WinXP

사용법은 아래와 같습니다.

  • Blogger
  • $ google blogger post --title "foo" "command line posting"

  • Calendar
  • $ google calendar add "Lunch with Jim at noon tomorrow"
  • Contacts
  • $ google contacts list name,email > contacts.csv
  • Docs
  • $ google docs edit --title "Shopping list"
  • Picasa
  • $ google picasa create --album "Cat Photos" ~/photos/cats/*.jpg
  • Youtube
  • $ google youtube post --category Education killer_robots.avi

'컴퓨터 > Web' 카테고리의 다른 글

Firefox 3.6.4 출시  (0) 2010.06.23
오픈마루 스튜디오의 사라짐  (0) 2010.06.21
Google Voice 초대장 도착.  (0) 2010.06.12
Daum의 새로운 Favicon?  (0) 2010.06.02
Twitter 시계봇과 동급인건가?  (0) 2010.05.30
Buy me a coffeeBuy me a coffee



python으로 webkit을 사용한 프로그램을 제작을 하다 webkit api를 잘 몰라서 검색을 해보았습니다.

me2day account auth

검색을 해보다 보니 흥미로운 링크를 보았습니다.

HOWTO Create Python GUIs using HTML

Python과 HTML을 이용해서 GUI를 구성한다?

여기 링크에서 소개하고 있는 것은 Ubuntu와 같은 리눅스에서 python이라는 언어를 가지고 GNOME기반의 gtk와 웹브라우저 엔진인 webkit과 HTML을 이용해서 GUI을 만들어보자는 것입니다.


이 문서를 읽고 따라 해보았습니다. python도 thread와 conditional variable등의 개념이 들어가니 OS책을 보고 실습하는 듯한 느낌도?


Buy me a coffeeBuy me a coffee

+ Recent posts