タグ

ブックマーク / yatt.hatenablog.jp (12)

  • python pipでインストール用ファイルをローカルに保存しておく - yattのブログ

    アプリケーションを別のサーバーに載せ替えたい等の理由で、インストールされているpythonパッケージを、別のマシンへ展開したいことがあります。 こういう時pipなら、pip freezeでパッケージ名とバージョンの一覧を出力して、他マシンでその一覧を元にinstallすると簡単です。 [HOST A]$ pip freeze > /nas/pip/requirements.txt [HOST A]$ cat /nas/pip/requirements.txt BeautifulSoup==3.2.1 Flask==0.10.1 Jinja2==2.7.3 ... terminado==0.5 toolz==0.7.1 tornado==4.1 wheel==0.24.0 [HOST B]$ pip install -r /nas/pip/requirements.txt しかし、これだとf

    python pipでインストール用ファイルをローカルに保存しておく - yattのブログ
    sucrose
    sucrose 2015/05/23
  • pythonのrequestsライブラリの更新に追従 - yattのブログ

    http://d.hatena.ne.jp/yatt/20121017/1350480131 requestsについて書いた記事ですが、既にAPIが変わってしまっていたので、 同じ動作をするコードを書きました。 対象はrequests 2.6.0です。 はてなダイアリーにログイン 変わりません。 #! /usr/bin/python2.7 import requests s = requests.session() params = { 'name': 'your account name', 'password': 'your password', } r = s.post('https://www.hatena.ne.jp/login', params=params) print r.text OAuth認証 OAuthの処理が、requests_oauthlibという別ライブラリに切

    pythonのrequestsライブラリの更新に追従 - yattのブログ
    sucrose
    sucrose 2015/04/19
  • 2週間で取得できたLPIC-1の振り返りと対策法 - yattのブログ

    2012/12にLPIC-1を取得したので、その時の目的と感想、それから試験対策について記録しておきます。 経緯と目的 趣味Linuxを使っているけど、普段の仕事ではLinuxを使っていない・・・(Cygwinとかは使うけど) webアプリの開発時とか、あと運用のためのシェルスクリプトを組んだりはするけど・・・ 一方で、それ以外って・・・ cronの書き方とか毎回ググる X Windowの設定とか基ググりながら試す BINDの設定とか基ググりながら(ry Apacheの設定とか(ry パーティションの詳細なカスタマイズとかどうやるんだろ?マルチブート? yum, apt-getのオプションとかどっちがどっちだっけ 実際のところ、自分のLinuxに対する理解ってどうなの?という疑問 ⇒ LPICの学習で自分に足りない知識の穴埋めができるはず ということで受験する事にしました。 受験勉強

    2週間で取得できたLPIC-1の振り返りと対策法 - yattのブログ
    sucrose
    sucrose 2013/02/19
  • 平方数の判定を高速にやりたい - yattのブログ

    ある数が平方数かどうか(整数を2乗した整数かどうか)判定して、平方数ならその平方根を得たい。 しかも、大きな数(例えば、3^256)でも正しく判定できることが条件。 という観点で試行錯誤したのでメモ。 考えた後で思ったけどPARI/GPとかになら組み込みで超高速な判定が実装されてそう・・・ 方法1. 素朴な実装 nの平方根の整数部分を浮動小数点数で求めて、2乗したらnになるかどうか調べる。 ○簡単 ○速い ×大きな数には使えない(doubleの精度の問題)。例えば17003146110244618067556674657992186608423729 ( 4123487129874982169223^2 ) の判定には失敗する #! /usr/bin/python2.7 def try_square_root_naive(n): m = int(n**.5) return m if abs

    平方数の判定を高速にやりたい - yattのブログ
    sucrose
    sucrose 2013/01/28
  • project eulerの日本語訳へのリンクを張るuser script - yattのブログ

    project eulerの日語訳へのリンクを張るuser scriptをかきました。問題番号がhttp://odz.sakura.ne.jp/projecteuler/ の問題文日語訳へのリンクになります。 scripteuler.user.jsという名前で保存して、chrome拡張機能画面にドロップするとインストールされます。 // ==UserScript== // @name ScriptEuler // @namespace http://d.hatena.ne.jp/yatt/ // @description link to project euler pukiwiki // @include http://projecteuler.net/problems* // ==/UserScript== (function(){ var lst = document.getEl

    project eulerの日本語訳へのリンクを張るuser script - yattのブログ
    sucrose
    sucrose 2012/11/06
  • python向けHTTP関連モジュールのrequestsが便利すぎる - yattのブログ

    (追記 2015/04/19) コードは既に互換性が無くなっているので、以下を参考に読み替えて下さい。 pythonrequestsライブラリの更新に追従 大幅に改善強化されたurllib2ことrequestsモジュールを使ってみたら便利すぎて驚いたので報告。 urllib2で面倒だった処理がどれだけ簡単になるのか。 クッキーの処理 セッションを維持したままHTTPアクセスをする場合、urllib2だと cookielib.HTTPCookieJarのインスタンス作成し、 urllib2.HTTPCookieProcessorのコンストラクタに渡して、 urlib2.build_openerでOpenerDirectorインスタンスを作成し、 そのインスタンスのadd_handler()の呼び出しで2.で作成したurllib2.HTTPCookieProcessorのインスタンスを渡す。

    python向けHTTP関連モジュールのrequestsが便利すぎる - yattのブログ
    sucrose
    sucrose 2012/10/18
  • pythonで使うための木構造のビジュアライザ書いた - yattのブログ

    木構造のトラバースに使うためのクラスを定義して各種メソッドを定義するだけで、各種フォーマットでの画像出力ができるモジュールを作りました。pydot便利ですね. 適当に作った木構造 (define (fn x y) (+ x y))の構文木 関係無いけど積ん読。最近読む時間が.... 日本語入力を支える技術 ?変わり続けるコンピュータと言葉の世界 (WEB+DB PRESS plus) 作者: 徳永拓之出版社/メーカー: 技術評論社発売日: 2012/02/08メディア: 単行(ソフトカバー)購入: 14人 クリック: 322回この商品を含むブログ (36件) を見るオンラインゲームを支える技術  ??壮大なプレイ空間の舞台裏 (WEB+DB PRESS plus) 作者: 中嶋謙互出版社/メーカー: 技術評論社発売日: 2011/03/24メディア: 単行(ソフトカバー)購入: 33人

    pythonで使うための木構造のビジュアライザ書いた - yattのブログ
    sucrose
    sucrose 2012/05/26
  • pythonのdictでいちいちブラケット[]を書きたくないでござるの巻 - yattのブログ

    特殊メソッドのオーバーライドで実現します。 class edict(dict): def __getattr__(self, name): return self.get(name, None) def __setattr__(self, key, val): self[key] = val d = edict() d.hello = 'foo' d.world = 'bar' print d # {'world': 'bar', 'hello': 'foo'} このクラスを使えば、dictと同じインタフェースで、かつブラケットが無くても要素にアクセスできます。 ただし、キーワード(if, inなど)や、識別子として不適当な文字列(!など)をキーとした場合シンタックスエラーになります。

    pythonのdictでいちいちブラケット[]を書きたくないでござるの巻 - yattのブログ
    sucrose
    sucrose 2012/05/25
  • appengine pythonで数時間でtwitterのbotを作る - yattのブログ

    一日につぶやいた数を毎日23:55に自動でつぶやくbot, nekofierをappengine上で作りました。 以下、その時のメモです。簡単な仕組みなのでbotを作成する際の参考になれば。 nekofierってなに? 一日につぶやいた数を毎日23:55に自動でつぶやきます。この時、つぶやきにweb上のどこかにあるネコ画像へのリンクも一緒につぶやきます。 こんな感じです↓ ソースはgithubに置いてあります。 https://github.com/yatt/nekofier 構成 こんな感じの構成です。 毎日23:50に画像更新 毎日23:55に、その日つぶやいた回数と画像リンクをつぶやく 作るのに要求される知識 pythonの基的な構文 oauthの認証プロセス twitterのRESTful API appengineの基的な開発の進め方 取得・発行が必要なデータ twitter

    sucrose
    sucrose 2012/05/11
  • AOJ向けPythonライブラリ&コマンドラインツールセットaojtoolsを公開しました - yattのブログ

    PyPIにaojtoolsというパッケージを登録しました。 aojtoolsはAizu Online Judge Systemが提供するAPIのラッパーとsubmit用モジュール、それからコマンドラインプログラムからなります。 aojtoolsを使うとAPIに透過的にアクセスできたり、プログラムを素早く提出できます。 インストール easy_installを使うのが手軽です。 $ easy_install aojtools PyPIのページからソースを落としてソースからインストール $ git clone git@github.com:yatt/aojtools.git でソースを落としてソースからインストール モジュールの使い方 API ReferenceにあるAPIを使いたい aojtools.api以下がAPIのラッパーです。現時点の全てのAPIに対応しています。 それぞれのAPI

    AOJ向けPythonライブラリ&コマンドラインツールセットaojtoolsを公開しました - yattのブログ
    sucrose
    sucrose 2011/12/29
  • twitterlibをアクティビティに対応させた - yattのブログ

    twitter webのUIが変更されて、「アクティビティ」というタブが追加されました。フォロワーのfavoriteやretweetなどのイベントを通知してくれます。 chromeのコンソールなどでアクセスしているURLを調べてみると、 /i/activity/about_me.json /i/activitt/by_friends.json がアクティビティに関するAPIのようです。おそらく、about_meが自分自身のアクティビティ、by_friendsがフォロワーのアクティビティでしょう。 そこまでわかったので、twitterlibをプロキシに対応させるついでに、アクティビティのAPIをサポートしました。 こんなサンプルでアクティビティを取得できます。 # coding: utf-8 # ref: https://dev.twitter.com/discussions/3606 im

    twitterlibをアクティビティに対応させた - yattのブログ
    sucrose
    sucrose 2011/11/28
  • Euler Project problem 204 が短く書けてうれしい - yattのブログ

    ヴァァァー。 ひっそりたまにやってるProject Euler。problem 204が4行で書けたのでうれしい。 以下はhttp://odz.sakura.ne.jp/projecteuler/index.php?Problem%20204より。 ハミング数とは, どの素因数も5以下であるような正整数のことである. 最初から順に並べると, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15となる. 10^8以下のハミング数は1105個ある. 素因数がn未満の正整数を, type nの一般化ハミング数と呼ぶことにする. するとハミング数はtype 5の一般化ハミング数である. 10^9以下のtype 100の一般化ハミング数の個数を答えよ. バックトラックを使ったプログラムで、実行にかかる時間は手元のinspiron mini9で50秒ぐらい。 最後に、ハミング数に1も含

    Euler Project problem 204 が短く書けてうれしい - yattのブログ
    sucrose
    sucrose 2011/06/28
  • 1