タグ

ブックマーク / coreblog.org (6)

  • Pythonのメタプログラミング (メタクラス) を理解したい人のための短いコード片と禅問答 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのメタプログラミング手法の一つ「メタクラス」は,初心者にとっては「なんか強そう/経験値たくさんもらえそう」なアイテムの最右翼だと思う。反面「どうすればいいか/なにができるか」ということがなかなか理解しづらい。 英語のブログを見ていたら,メタクラスの理解に役立ちそうなちょうどよいサンプルを見つけたので,紹介がてら独自の解説を付け加えたいと思います。 メタクラスを簡単に説明すると,「来コードを書かなければ実現できないような処理を黒魔術的な処理でなんとかしちゃう」ためのテクニックです。コード量を(時には劇的に)減らすことができたり,すっきりした見通しの良いクラス設計を実現できま

    s_taki
    s_taki 2014/01/11
  • ミニマリストのためのマイクロフレームワーク - DENIED(ただしネタ) | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー DjangoやPylons,Werkzeugのようなフレームワークはとても便利だ。でも,フルスタックを実現するために多くのモジュールを要求するのでインストールが大変だ。リクエストハンドラの書き方,テンプレート言語の文法,O/Rマッパーにもそれぞれ独自の流儀があったり,フレームワークを使い始めるための学習コストもバカにならない。 そんな「大艦巨砲主義」に逆行するような「マイクロフレームワーク」という分野がある。Pythonではweb.pyなどが有名だけど,この分野に新星があらわれた。 DENIED だ。 ファイルをたった一つダウンロードするだけですぐに使い始めることができる。easy_i

    s_taki
    s_taki 2011/09/12
  • モダンなPythonの開発環境の構築方法 — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー インストール Windows以外の多くのプラットフォームではすでにPythonが入っている。バージョンを調べて,使いたいバージョンより古いならインストーラやパッケージを使ってインストール。パッケージは「〜devel」をインストールしておく。 easy_installのインストール easy_installは標準ライブラリに含まれていないサードパーティモジュールをインストールする時に便利なので,入れとく。 ここからez_setup.pyをダウンロード,Pythonのスクリプトとして実行すると,自動的にコマンドがインストールされる。 $ easy_install pachage_name

    s_taki
    s_taki 2010/07/31
     ipython 使ってみたいと思ってたのに使ってないなぁ
  • 2.6に新搭載のmultiprocessingを見て俺のPythonがおっきした件 | TRIVIAL TECHNOLOGIES 4

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー いやー,multiprocessingモジュールイイよ。パねえよ。要はプロセス間通信を行うときに便利なパッケージで,threadingと似たようなAPIなのでGILが回避できてマルチプロセッサとかマルチコアの性能を有効に使えてウハウハとか,リモートマシンにあるプロセスと通信したりオブジェクトをやりとりしたりできてウハウハとか,まあそういうモノです。これでおっきしない奴は技術者として大切な資質を失っていると思うよ。べつにおっきしなくてもいいんだけど,そういう奴とは一緒に仕事したくないよ。 ドキュメントのイントロダクションを超訳してみたです。 はじめに multiprocessingはth

  • みんなが言及しないPython 3.0のステキ機能 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Python 3.0 (r30:67503, Dec 5 2008, 09:49:50) [GCC 4.0.1 (Apple Inc. build 5484)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> l=['にんとも', 'かんとも', 'ニンニン'] >>> l ['にんとも', 'かんとも', 'ニンニン'] 普通に見えます? じゃあ2.5とかでこれと同じことやってみれ。 Python 2.5.2 (r252:60911, Feb 22 2008, 0

    s_taki
    s_taki 2008/12/06
  • もっと知りたいPython3000 - 言語仕様,組み込み関数,クラスへの変更 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Python 3000の新機能についてお知らせする連載も3回目。今回は言語仕様,組み込み関数,クラスへの変更などについての変更点についてまとめています。 http://gihyo.jp/dev/feature/01/python3000/0003 Python 3000では,一貫性を増すための仕様変更だけでなく,言語をより便利にする変更も多く行われています。 Function Annotations(関数注記)はおもしろいですね。関数につけるドキュメント文字列のように,引数や返り値にドキュメンテーションを加えることができる機能です。引数の後にコロンをつけて,文字列を表記します。 def

    s_taki
    s_taki 2008/10/23
  • 1