http://d.hatena.ne.jp/w_o/20081205#p3 ←のエントリは、タイトルと本文とTB先に情報が分散していて引用しにくいので、このエントリで書きたい話題をまとめると、 Rubyはmix-inができるので、クラスの継承が必要無いので(親クラスのコンストラクタ呼び出しの書き方が)あまり関係無い。 Pythonでmix-inをするには多重継承をしないといけないので、 super を使った方式で親クラスのコンストラクタを呼び出さないといけない。 まず、 mix-in をぶっちゃけると、「メソッドの固まりを取り込む」ことで良いよね?メソッドの固まりは、混ぜる先にある既存のメソッドに依存していいし、混ぜる先は混ぜるのに必要な前提条件を満たさなければならない。 class CmpMixin(object): """__lt__ と __eq__ を利用して、 __le__, _
Pythonをよく使う人にはよく知ってる人も多いのですが、docoptという便利ライブラリがあります。 docoptはargparseやoptparseのようなコマンドライン引数をパースするライブラリなのですが、その発想がコロンブスの卵なのです。 例えばPython標準のargparseだと、argparseのAPIを組み合わせてパーサを組み立てるわけです。するとパーサと一緒にヘルプも作ってくれて、"program --help"などとすると自動生成されたヘルプを表示してくれるようになります。 しかし、そのAPIを覚えるのが大変で、毎回ドキュメントを読まないと忘れちゃうわけです。 import argparse parser = argparse.ArgumentParser(description='Process some integers.') parser.add_argument
はじめに スマートフォンアプリ開発でAPIを介しWeb/APIサーバーとやりとりをする場合、「httpsを使っていれば通信はユーザーにバレない」なんてことはなく、Webアプリでツールを使ってできるのと同じようにユーザーには通信内容の確認や改竄などができます。 そのため、そのことを前提にアプリやサーバーAPIの設計と実装を行わない場合、アプリ利用者によるゲームスコア結果送信の改竄や、ソーシャルゲームにおけるレイドボスなどへのダメージ操作、ECサイトアプリでの購入操作なども可能になってしまいます。 また、最近自分は「無料で音楽聴き放題!! - ネットラジオ」というアプリをリリースしたのですが、このアプリに導入するスタティックリンクライブラリが不明な外部サーバーへ通信していないか、SSLを使用しているつもりがそうでない通信をしてしまっていないかのチェックをするため、自分はmitmproxyという
Twistar: Twisted Active Record Twistar is a Python implementation of the active record pattern (also known as an object-relational mapper or ORM) that uses the Twisted framework’s RDBMS support to provide a non-blocking interface to relational databases. Twistar currently features: * A thoroughly asynchronous API * Object validations (and support for the easy creation of new validation methods) *
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー いやー,multiprocessingモジュールイイよ。パねえよ。要はプロセス間通信を行うときに便利なパッケージで,threadingと似たようなAPIなのでGILが回避できてマルチプロセッサとかマルチコアの性能を有効に使えてウハウハとか,リモートマシンにあるプロセスと通信したりオブジェクトをやりとりしたりできてウハウハとか,まあそういうモノです。これでおっきしない奴は技術者として大切な資質を失っていると思うよ。べつにおっきしなくてもいいんだけど,そういう奴とは一緒に仕事したくないよ。 ドキュメントのイントロダクションを超訳してみたです。 はじめに multiprocessingはth
どうも、ご無沙汰してます有末です。 Pythonistaならpyenvだよねーってことで当初からバリバリ使わせていただいているのですが、最近djangoのプロジェクトを書く際に困ったのでまとめておきます。 具体的にはpyenvでPytho 3をインストールし、pyenv-virtualenvを用いて仮想環境を構築し、その仮想環境に django をインストールしただけでは jedi-vim の補完が効かないという問題です。 いくつかの要因が複合して複雑に成っていたので、ひとつずつメモしていきます。 忙しい人のための簡易書 普段からpyenvとpyenv-virtualenvを使用していてjedi-vimでdjangoの補完が効かなくて困っている。 とにかく補完を効かせたい。 戯言なんてどうでもいいという人は下記を~/.vimrcに記載してください。 " ~/.pyenv/shimsを$PA
特徴 conftest.pyを使って、セットアップコードを書くことができる(ディレクトリ毎に作成可能) hook機能が豊富 DIっぽい機能を使って、テスト関数にデータを渡すことができる テスト対象オブジェクトの生成と取得に使ったり デコレーターを使って、テスト関数に値を渡すことが可能 事前設定値を渡したり、テストの期待値などを渡す unittestのように、テストコードを書くためのクラスを作らなくてもよい 結果出力が見やすい アプリリリース時に機能を削ったり、見送ったりした時にテストをスキップするのが簡単。 ディレクトリごとにconftest.pyを書くとは、こういうことです。 tests ├── __init__.py ├── event │ ├── __init__.py | |── conftest.py # 共通のセットアップコード │ ├── battle_event_1
yhatでpythonを使って簡単な画像分類をするエントリがあったので紹介します。 画像分類のステップ 画像分類を実現するステップは以下の通りです。 学習画像を集める 画像を特徴量に変換する 識別器を学習, モデルを評価する 1. 学習画像を集める 分類器を学習するための画像を取得します。Bingの画像検索結果のHTMLを解析して、学習画像を保存します。上記のエントリでは、check(小切手)か運転免許証かを分類する例になってましたが、ここではarchitecture(建物)かfood(食べ物)を分類するようにしてみます。(SNS向けに撮った写真は建物か食べ物が多いので) スクリプトは大体同じですが、queryをハードコードせずに引数として与えるようにしました。 #-*- encoding: utf-8 -*- """ Usage: query_bing_images.py <query>
OK OK, I couldn't resist that title but it probably goes a bit far. Let me try for a little more nuance: PyPy.js: Now faster than CPython, on a single carefully-tuned benchmark, after JIT warmup. It has been the better part of a year since I first started hacking on PyPy.js, an experiment in bringing a fast and compliant python interpreter to the web. I've been pretty quiet during that time but ha
ベトナムにおけるBacklog活用のリアル ベトナムにおけるBacklog活用のリアル backlog Backlog の Amazon EKS クラスターを Blue-Green アップデートするためにやっていること Backlog の Amazon EKS クラスターを Blue-Green アップデートするためにやっていること backlog 2023年最も素晴らしいプロジェクトを表彰!Good Project Awardを開催しました 2023年最も素晴らしいプロジェクトを表彰!Good Project Awardを開催しました backlog Backlog開発者が夫婦の不和をなくす家庭管理アプリを作ってみた話 Backlog開発者が夫婦の不和をなくす家庭管理アプリを作ってみた話 backlog 創業からもうすぐ80年の老舗企業!ミートボールでおなじみの石井食品様で、プロジェクト
python製の実行ツールなのです。 javaとbashしか書けない私ですが、とうとうFabricの実践投入を進め始めたので、記事を書いてみようと思います。目標は「デプロイスクリプトに一切bashを使わない」です。 Fabricとは? FabricをCentOSにインストール 依存ライブラリのインストール python2.7のインストール python2.7のバイナリのパスを通す easy_install-2.7のインストール fabricのインストール fabricのバージョンを確認 fabricを実行してみる test.py test.pyを実行 Fabricの基本的な使い方を学ぶ 対象ホスト・ID・PASSの指定方法 fabコマンドの引数で指定する *.pyでenvで指定する sshする sudoでsshする SFTPする(ファイルを送る) SFTPする(ファイルを取得する) コマン
目次 環境 既存 Python 環境の確認 Python easy_install pip インストール Homebrew で pyenv をインストール Homebrew で pyenv-virtualenv をインストール pyenv を使って複数の Python をインストール インストール可能な Python のリスト pyenv で Python 2.7.6 をインストール pyenv で Python 3.3.5 をインストール pyenv でインストールされた Python を確認 pyenv コマンド一覧 ローカルバージョン 特定のディレクトリー配下のみで有効な「ローカルバージョン」をセット ローカルバージョンの解除 pyenv-virtualenv pyenv-virtualenv を用いた仮想環境の構築 pyenv-virtualenv 仮想環境の削除 Amazon L
Pythonの固有環境を作成するvirtualenvの機能を簡単に使えるようにするVirtualenvwrapperの紹介と, Mac OS Xでの基本的な使い方について。 Virtualenvwrapperのインストールと設定 Virtualenvwrapperのメリット Virtualenvだけでも十分に簡単に使用できますが, wrapperを導入することで 各環境の管理, 切り替えが簡単になる 各環境に切り替えた時など特定のポイントで実行したい処理をフックとして記述できる といったメリットがあるので, 入れる価値があると思います。Python3.x系にも対応。 インストール pipから落とせる。各環境を管理するツールなので, wrapperそのものはグローバルにインストールする。
この記事は Vim Advent Calendar 2013 53日目の記事になります。 neocomplete.vim利用者がjedi-vimも使う場合、下記の id:heavenshell さんご指摘の点を不満に思われるのではないかと思います。 jedi.vim の popup_select_first が効かない これをアドホックな対応ですませないためにはどう設定するとよいかをvim-users.jp – Lingrで質問したところ Shougoさんから下記の設定を教えていただきました。 autocmd FileType python setlocal omnifunc=jedi#completions "let g:jedi#popup_select_first=0 let g:jedi#completions_enabled = 0 let g:jedi#auto_vim_con
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く