タグ

ブックマーク / a2c.hatenablog.com (23)

  • pythonの引数にある*hogeとか**mapとか - When it’s ready.

    よく見かけるPythonの書き方で*hogeとか**mapとか有るのがイマイチ理解できてなかった。ので、ググったけどお目当ての情報にありつけづ全然分からないので、Vの字に聞いた。thx V *の場合 def asta_func(*hoge): print hoge for i in hoge: print i こういう風に使ってあげる。そんで、呼ぶ時には適当に引数を付けて呼べる。 >>>asta_func(1,2,3) (1, 2, 3) 1 2 3リスト(というかタプル)になって渡されることになる。 とりあえづ作ったファンクションに引数がいくつになるか分からない的な時にコレやっていればとりあえづ、 TypeError: __init__() takes exactly 1 argument (2 given) みたいなよく見るエラーはだいぶ無くせそう **の場合 def asta_ast

    pythonの引数にある*hogeとか**mapとか - When it’s ready.
  • AngularJS ハッカソ#1 参加しました。 - When it’s ready.

    あけましておめでとうございます。 今年から、Bloggerに引っ越そうと思っているa2cです。 日、Googleさんで開催されたAngularJSハッカソン#1に参加しました。 久しぶりのガッツリハッカソン系のイベントで、チーム分けしたり、デモ出来るレベルまで実装したり 全チーム発表を行ったりして、充実したイベントでした。チュータ役で参加だったので、どのチームにも 所属していませんでしたが、発表直前に@can_i_do_webさんといっしょにペアプログラミングでAngularの とっても便利な機能の1つng-classのデモを作成したので紹介します。 はてな記法を忘れてしまったので、Qiitaで書きました Qiita上でhtml編集したので、動かないかもしれないです。おかしかったら教えて下さい。 デモページ AngularJSについて AngularJSを触ったことない人はちょっと触って

    AngularJS ハッカソ#1 参加しました。 - When it’s ready.
  • 俺とお前とPython温泉 - When it’s ready.

    PySpa Advent Calendar Day16 Python界の無職、こんにちはa2cです。タイトルに意味はありません。 はじめに PySpaに参加するとどうなるのか?自分なり視点で綴りたい。 PySpaは、全日ではDay1~3(2泊3日)のイベントでIT系のユーザーレベルイベントではかなり長めなイベントとなっている。さらに、PC部屋(ネット、電源、テーブル、イスが完備)と寝室は、24時間いつでも自分のタイミングで利用することが出来る。(例外:事と温泉は行かなければならない) 参加する殆どの人は、到着すると直ぐにUnPackingして席につきPCを開く。大抵の場合、そこから晩御飯を経由して眠くなるまでPCをいじり続ける、Day2も朝から晩(時には朝)までいじり続ける。もしコレが業務や、やらされていることだったらブラック以外の何物でもない状態と言える。自分も寝室に戻らずにPC部屋で

    俺とお前とPython温泉 - When it’s ready.
    rokujyouhitoma
    rokujyouhitoma 2012/12/16
    みんなの笑顔が本当にいいな。改めて見た。
  • PySpa集合写真 笑顔100% - When it’s ready.

    Flickrに半分のサイズでアップしてたので、集合写真をDropboxに上げてみた。 http://dl.dropbox.com/u/71789/pyspa/IMG_4063.JPG みんなメチャ笑顔、太陽向きで眩しいというのがあるかも知れないけど 自然とみんな笑顔になってるのは素晴らしいと思った。 例えば何か仕事があって2泊して最後解散する直前に写真撮ったとしたら こんな顔になるんだろうか?にしても、いい笑顔

    PySpa集合写真 笑顔100% - When it’s ready.
    rokujyouhitoma
    rokujyouhitoma 2011/11/22
    いま余韻に浸ってる。
  • 超シンプルな、pushState + Ajax = PJAXのサンプル Flask編 - When it’s ready.

    HTML5熱いですね。いろんな意味で BigPipeやら、HTMLでテンプレートエンジンとかいろいろ出ていますがユーザービリティ下げちゃいけないよねって事は、どの技術でも大切な共通項ですね。pjax = pushState + ajax使えば、リッチな人にはサクサクなUIを、そうじゃない人にもそれなりに提供できる。その上、戻るボタンもサーチエンジンにも優しいとくれば、これは試さないわけには行かないですね。 動作サンプル: http://pjax.atu.si/ Pjaxするとどうなるのか? 非同期動作時 http://pjax.atu.si にアクセスをして、リンクをクリックすると要素が非同期に変更される。 非同期に更新されているがURLは、シンプルなものに変更される。 同期動作時 http://pjax.atu.si/parts/x や http://pjax.atu.si/parts/

    超シンプルな、pushState + Ajax = PJAXのサンプル Flask編 - When it’s ready.
    rokujyouhitoma
    rokujyouhitoma 2011/08/22
    昨日からちょうどpjaxを調べていた。記事を書いてくれたid:a2cさんに感謝!
  • SNBinderに目からウロコ 小さなMVCが今現実に - When it’s ready.

    タイトルはちょっと大げさすぎですね。もうブカブカです。 WebアプリのMVCネタで、毎度同意しまくりのsatoshiさんが、JSのライブラリSNBinderを公開されています。 Life is beautiful: JavaScript HTMLテンプレートエンジン SNBinder 公開 BODYタグオンリー大好きっ子なので、これは使わずには居られないと思い早速やってみました。 ついでに、恐れ多くもgithubでForkしてreadmeの和訳などしています。 コードサンプルを元に動かしてみたんですが色々と動かない・・・ 私の理解ミスな気がするのですが、ツッコミもらおうとコード晒します。オリジナルのまま動いてる人いたらどこが違うか教えてくださいませ。 SNBinderの使い方として、READMEに書かれているやり方は、4種類あります。 変数一つをテンプレートに埋め込む SNBinder.b

    SNBinderに目からウロコ 小さなMVCが今現実に - When it’s ready.
  • まずはじめにGoogle+について語っておこう - When it’s ready.

    Google+出ましたね、7月1日からだったのかな?まだ3日くらいしか経ってないですね。すでに3桁のメンバーを抱えてデビューの勢いを感じます。学習コストも高くないので、そこそこPostの流量もあって、Twitterの初期とかFBの何次かの爆発の時に似てなくもない。観測範囲のメンツはほとんど一緒だけどwww でね、使ってみて思ったこと。Google+についてじゃなくてそれを取り巻く環境について、そっちに今のうちに言っておきたいとか言っておきたくないとかで久しぶりにBlog書いてみる 既存のSNSと比べてもしょうがない Twitterデビューした頃に、たくさんのクローンが出た時期があったよね。その時を懐かしんでるのか、やたらTwitterとかFBとかと比較したがる人が多い。ってか、全然違うじゃん。そんな人達は、Twitter2chとか、Niftyとかと比べてたのかと小一時間チクチク聞きたい。

    まずはじめにGoogle+について語っておこう - When it’s ready.
  • GoogleAppsScript ステージ2  超触りだけ - When it’s ready.

    GoogleIOに来ています。 いくつかセッションに参加していますが、GASがめっちゃ進化していたので取り急ぎそこだけアップ。 GDataのJSラッパーで各種データを扱えたり、Cron的に時限で発動して自動処理が出来ているGASですが、UIを作るのが大変でした。特にポジションを指定してUIを組むのは至難の業だったかと思います。 IOでUI Builderが発表になりました。既に利用可能な状態です。 こんな感じにコンポーネントをLayoutにポトペタしていくだけで、サクサクUIが作成できます。各種コンポーネントには、クリックダウンやらKeyUPなどひと通りTriggerが用意されているので、適当なメソッドにBindしてあげれば後は煮るなり焼くなり自由自在。 また、作成したUIは、サービス公開することが出来ます。パーマリンクが生成されるのでそのURLにアクセスするだけで素敵なアプリがいきなり使

    GoogleAppsScript ステージ2  超触りだけ - When it’s ready.
  • MacBook Air のDiskが速いだって?こちトラ IntelSSD自腹じゃ! しかし、ベンチマークでボロ負け - When it’s ready.

    巷じゃMBAのSSDが速いから、CPUしょぼくてもモーマンタイとか言っていますが、i7でランダムリードが激速なIntelSSD買った自分としてはそんなもん取るに足らないと思ってました。 で、手元のMBP15 with IntelSSDでベンチマークしてみたわけですよ。 いやー、さすがインテルですね。ランダムリード速いっすよ。160MBとか出てますよ。スコアとしては、178.95ポイント!これは、全然AIRには勝てないでしょと思って、AIRのベンチマークを見たわけですよ。 (リンク先で見てください) http://japanese.engadget.com/2010/10/22/macbook-air-11-ssd/ ( ゚д゚) ・・・ (つд⊂)ゴシゴシ (;゚д゚) ・・・ (つд⊂)ゴシゴシゴシ _, ._ (;゚ Д゚) …!? Randomのスコア520とかですよ!!全

    MacBook Air のDiskが速いだって?こちトラ IntelSSD自腹じゃ! しかし、ベンチマークでボロ負け - When it’s ready.
  • PythonHotel 参加した - When it’s ready.

    夜中になると一部合宿などで無限ループになるsayコマンドですが、osxに標準で付いてくるあの便利そうで全く意味のないコマンドです。 osxのターミナルなどで say this is a pen とやると、流暢な英語でしゃべってくれます(音注意) で、これなんですがいつもは全く意味のないコマンドなんですが意外と便利な使い方を思いつきました。 .vimrcにコマンドを追加します。 " Say Visuial mode vmap ss :!sayu これで、ビジュアルモードで選択した状態でssとショートカット入力すると選択部分を話してくれます。 どんなところで使うかというと、ハッカソンなどで動かないコードがあった場合など、IRCやLingrにソースを 貼りつけたり、ノートPCを手持ちして先生のところに行ったりするわけですが意外とめんどくさいわけですよ。 そこで、コードをピッと選択して、ssってや

    PythonHotel 参加した - When it’s ready.
    rokujyouhitoma
    rokujyouhitoma 2010/10/19
    MacのSayコマンドすげー。びびった。
  • Pythonで簡単に設定ファイルを使う。書き換え可能で、配列も辞書型も使う方法 - When it’s ready.

    Flaskがいい。やりたいことに最小手で辿り着ける。JS書いてる時間の方が長いくらい。 ちょいちょいいじってると不便だなぁって思うところは、標準の設定ファイルが無い Djangoはsettings.pyが用意されてて適当に弄るだけで色々便利だった。Flaskに 限った話じゃないけどとりあえづ適当に、設定だけを記述して、利用する際には そこだけ変更すればある程度対応できる用にしたい。という事が多々ある。 設定ファイルあれこれ 設定をファイルに書き出すにはどんなのがあるかと思いつく限りでは 読み込み専用だったらconf.pyとかにして、importすればいい Python書式に従う必要がある 書き換えが出来ない(やり方が判らない) オレオレ設定ファイルフォーマットを作ってファイルの読み込めば出来る パーサーとか毎回書くのめんどい 汎用性がない(再発明とかしたくない) 読み書き出来て便利そうなC

    Pythonで簡単に設定ファイルを使う。書き換え可能で、配列も辞書型も使う方法 - When it’s ready.
  • こんにちわFlaskさん Pythonのお手軽WAF - When it’s ready.

    Djangoはとてもいい。とてもいいが小さなサービスを作るときにはちょっとメンドクサイ。urls.pyみたいなのは別ファイルに別れていなくていいし、settings.pyも毎回同じこと書いてる気がする。大きなサイトや仕事でやるならいいのかも知れないけど小さな物をサックリ何かを作るときにはちょっと大変だと感じる時がある。 その点Flaskはいい、シンプルだしShellを書いてる気分でwebAppを書ける。テンプレートも使えるし、urlsを別に書かなくてもいい!デコレータで書いていくので脳負荷が少ない。 Flaskのインストール sudo easy_install flask 基的なやりとり チュートリアルを適当にまとめてみた。今後の自分用にメモ flask_basic.py #!/usr/bin/env python # coding:utf-8 from flask import Fla

    こんにちわFlaskさん Pythonのお手軽WAF - When it’s ready.
  • KayでシンプルにTaskQueueを使いこなす - When it’s ready.

    AppEngineには、どんな処理も30秒以内に終わらせないとダメって言う通称30秒ルールという神の掟があってこれを破るとプロセスをKillれてしまいます。ほとんどの処理は30秒もかからないので問題ないですが、クロールとか形態素解析とかやりだすと30秒なんて一瞬です。特にネットワーク経由で複数のものを取りに行ったりすると2秒かかるのを10個もやれば、DataStoreのIOとかも含めると余裕で30秒を使いきってしまいます。 そこで、TaskQueueの登場です。適当につんどくと無料Versionだと1秒間あたり5個ずつ処理してくれます。先程の例だと、10個やるのに30秒だったのが1個処理するのに30秒使えるようになります。苦も無く10倍ゆっくりやれるわけです。 TaskQueueは、内部でキューに送れずに特定のURLに対するPOSTで積みます。引数はペイロードに入れてあげればイイらしい。今

    KayでシンプルにTaskQueueを使いこなす - When it’s ready.
  • GoogleAppEngineからLingrにポストする。BotとかLoggerとか - When it’s ready.

    Lingrが熱い。http://lingr.com/ 半年間位には復活してたけど、なかなか利用者が増えるほどにはなっていなかったけどこの数日でDjango-jaもJava-jaも出来た。 id:yoshiori氏が、PythonでLingrを使えるライブラリを作ってくれたのでそれをGAEで使えるように改造してみた。 Lingrのライブラリ達 Ruby版 http://github.com/psychs/lingr-irc Python版 http://github.com/yoshiori/pyLingr GoogleAppEngine版 http://bitbucket.org/a2c/gaelingr 使い方 適当なメソッドを用意する from yourApp.gaeLingr import Lingr def sendLingr(room, say): _lingrID = 'you

    GoogleAppEngineからLingrにポストする。BotとかLoggerとか - When it’s ready.
  • GoogleAppEngineのサーバサイドの処理時間をProfileで表示させる為にcProfile使う - When it’s ready.

    Python旅館ネタ。これまた、tmatsuo氏に教えてもらた。 googleAppEngine内で、何の処理にドンだけ時間が掛かってるとか、どの処理が何回呼ばれてるとかそういうのが知りたい時にprofileを使うとある程度分かります。 やり方は凄い簡単で、デフォで使ってるmainメソッドを、real_mainメソッドに改名してprofile_main()から呼ぶだけ、profile_main()内では、<pre>タグ使ってhtmlを追加する処理が書いてあるのでみたい要素をprintするだけです。この方法の他にLoggingに回す方法もあるらしいです。 def main(): logging.getLogger().setLevel(logging.DEBUG) logging.info('-'*80) urls = [('/ngram/api/post', UpDate), ('/ngr

    GoogleAppEngineのサーバサイドの処理時間をProfileで表示させる為にcProfile使う - When it’s ready.
  • Pythonでの、Pitの使い方 世界一わかりやすいムービー付き - When it’s ready.

    詳しい事のいきさつは知らないが、ここ(http://subtech.g.hatena.ne.jp/cho45/20080102/1199257680)で初お目見えして、その後にここ(http://d.hatena.ne.jp/jYoshiori/searchdiary?word=*[Pypi])でPython版が作られたPitという大変便利なアカウント管理の使い方をわかりやすく説明してみる。(わかりにくかったらゴメンナサイ) Pit使うと何が嬉しいか? 例えばWebAPI使う時に、DevelopperIDだったり、自分のIDやPasswordをスクリプトに直接書いたりする事ありますよね? # coding:utf-8 from pyhatebu import PyHatebu usrID = nameHoge passwd = hirakegoma h = PyHatebu(userID,

    Pythonでの、Pitの使い方 世界一わかりやすいムービー付き - When it’s ready.
  • Pythonで自動化、GoogleDocsのSpreadSheetを使ったディスク使用量モニタースクリプト - When it’s ready.

    気づいたらDiskの残量がメチャ減ってるときってありますよね。Nagiosとか監視ツール使って閾値超えたら警告出すとかやってる人も居るかと思います。監視ツールはエラーの発生はログ取りするけど、日々の使用料を記録して見やすくなってないのが大気がします。大きめのファイルサーバ使っていると、今後の容量計画を行う場合は現状把握が大切です。各ドライブごとにどれくらいの容量増加傾向があるのかを知るためには、監視ツールのみだとやや物足りない感じがします。 ログる内容は、dfコマンドで表示出来る分で十分なのでコレを毎日ダンプし続けると良いかもしれないですが、やっぱり結果はグラフで見たいし、いつも最新の状態が見たいですよね。さらにグラフは、画像ファイルとかでサクっとウェブで見えたりしたらさらに便利 ということで、こんなの作ってみました。 dfで見えるようにドライブをマウントしておいて、dfコマンで出る各パラ

    Pythonで自動化、GoogleDocsのSpreadSheetを使ったディスク使用量モニタースクリプト - When it’s ready.
    rokujyouhitoma
    rokujyouhitoma 2010/01/22
    Pitを使うところだたので参考にする。
  • CS5のPatchmatchがヤバいとか言われてる件について - When it’s ready.

    CS5のPatchmatchの機能が凄いとか一部言われてる。 動作ムービー見ると、07のシーグラフで見たシームカービングを発展させた物に見える。 (http://www.faculty.idc.ac.il/arik/site/subject-seam-carve.asp) 全然真新しい技術じゃないけど、入手可能なソフトに実装されたというのは感慨深い。arikさんは、adobeに入ったのかな? んで、この機能について 確かに手でやるより若干早いけど、どんな素材にも適用できる訳では無いしそもそも、そのフィルターをどこに適用するか、適用して何を作るかが問題。CS5さえ有れば、処理が何でも出来ます的な雰囲気になっているのが面白い。 例えば、MSのエクスプレッション(これも機能的には相当多機能)があればなんでも出来ます!見たいなのって、デザイナーが思いそうだなぁと(http://www.micros

    CS5のPatchmatchがヤバいとか言われてる件について - When it’s ready.
    rokujyouhitoma
    rokujyouhitoma 2009/10/05
    僕の好みじゃないから使う事はなさそう。emacs使う立場なので。
  • Django Projectを開発サーバーの使い心地のままにApacheでデプロイする - When it’s ready.

    ずーっと、デプロイが苦手だった。 自分でやると全然動いた事が無い。 でも気づけば、いつの間にか出来る様になってた。 今後忘れてしまわないようにメモ。 昨日作った環境でデプロイを行う。 機能的なところ 作成したプロジェクトがきちんと動く事 自動作成されたAdminサイトのデザインもきちんと動く事 静的ファイルはApacheより配信する事 ソースを変更した際には、自動でapacheを再起動する事 下準備 作成したDjangoプロジェクトは「djangoProject」 /var/www内に、プロジェクトと.wsgiファイルを公開するディレクトリ(django)を作成する。 プロジェクトのソースを展開する(実際はローカルリポからのリンク) /var/www/django/djangoProject アプリケーション名は以下の通り djangoProject.core wsgiの自動再起動用のス

    Django Projectを開発サーバーの使い心地のままにApacheでデプロイする - When it’s ready.
    rokujyouhitoma
    rokujyouhitoma 2009/08/26
    Djangoをデプロイする。
  • GDD Ajax API セッションに参加中 - When it’s ready.

    リッチでダイナミックなウェブページをhtmlで簡単に MapsAPI o マーカ、リージョン o 時尾コーディング、逆ジオコーディング o ドライブダイレクション、ストリートビュー o イベント処理、コントロール処理 o 有償版もあります + 処理可能リクエスト数が10倍くらい(10000/日) + サポート + 暗号化 * EarthAPI o GoogleEarthをWebページに埋め込んで利用可能 + 地形への画像の貼り合わせ(KML) + 3Dモデルの表示 * AJAX Search API o google検索 o ニュース検索 o ブログ検索 o カスタムサーチ検索 o ニュースバー検索 o ブログバー検索 * ローカル検索 o MapsAPI用のローカル検索コントロール o 地図検索に用いる事が可能 * マルチメディア検索 o 画像検索 o 動画検索 o Book検索 o 米

    GDD Ajax API セッションに参加中 - When it’s ready.