タグ

ブックマーク / voluntas.hatenablog.com (22)

  • 会社比較表を公開してみて思ったこと - Twisted Mind

    追記 あまり好ましくない作業が行われていたと判断したので、消しました。自分も見れません。 共同編集者の皆様、とても楽しい情報をありがとうございました。 原文 元ネタは @sifue さんの転職ブログ。 株式会社インクスを退職して株式会社ドワンゴに入社しました - しふーのブログ http://d.hatena.ne.jp/sifue/20121003/1349279980 ここで、比較表が出ていて、内容が完全に技術者よりでぐっときたので Google Docs で公開してみた。 項目は @sifue さんの完全にパクリ。 https://docs.google.com/spreadsheet/ccc?key=0AgsKtP8AY5SzdGVCbWJ5d2FJbmdWaV9yR1liSGFrU0E&pli=1#gid=0 公開したのが夜中の 2:00 だったにも関わらず張り付いている人の多い

    会社比較表を公開してみて思ったこと - Twisted Mind
  • Sphinx で商用のウェブサイトを立てて 4 ヶ月が過ぎた - Twisted Mind

    Sphinx で会社の製品サイトを作って 4 ヶ月以上過ぎました、実際に運用してみた感想などを。 前提 デザイナー @kinofumi に依頼して、Sphinx の専用テーマを作って貰いました。@kinofumi は Jinja2 も使いこなしてしまったりとデザイナー?なのか怪しいですが、とてもステキなサイトが出来ました。 商用製品サイトなので、とにかく見やすいこと、知りたい情報が見つかることが第一に作って貰いました。 リリース環境 S3 にデプロイしてパーミッションを Public にしています。URL は DNS 指定しているだけです。 それ以上は特にやっていません。 費用 アクセスが 1 日 100 人未満です。そもそも 1000 人も見に来るようになったら問題です。 で、実際いくらかかったのよ、という話しです。 今のところ三ヶ月連続で $ 0.03 で、今月も今のところ $ 0.0

    Sphinx で商用のウェブサイトを立てて 4 ヶ月が過ぎた - Twisted Mind
  • Clojure + Heroku を試してみる - Twisted Mind

  • ring + compojure + clj-json を使ってみる - Twisted Mind

  • Clojure でウェブアプリ開発する際のライブラリメモ - Twisted Mind

    どれを使うのが王道なのか良くわかりませんが、調べてみたらこの辺かなというのをメモ leiningen さえあれば Clojure すらインストールする必要はありません。あとは project.clj に書くだけ。 leiningen https://github.com/technomancy/leiningen clojure https://github.com/clojure/clojure ring https://github.com/mmcgrana/ring compojure https://github.com/weavejester/compojure clj-json https://github.com/mmcgrana/clj-json lein-ring https://github.com/weavejester/lein-ring ring-mock htt

    Clojure でウェブアプリ開発する際のライブラリメモ - Twisted Mind
  • Heroku 上で Django を動かす - Twisted Mind

    Heroku | Cloud Application Platform Heroku と言えば Ruby/Clojure/Node ですが、 Django アプリ(というか Python アプリ)がデプロイできるようになったらしいので試してみました。 変更履歴 2011-09-21 gunicorn 対応しました github https://github.com/voluntas/heroku-template-django 環境 Mac OS X Lion でやっているので、LinuxWindows だとまた別だと思います。 必須 Git Python 2.7 Ruby (gem install heroku するためにいる) heroku にアカウントを作る というかそもそも Heroku のアカウントすら持っていなかったので、アカウント作るところから。 https://api

    Heroku 上で Django を動かす - Twisted Mind
  • Amazon S3 ウェブホスティング機能をつかって Sphinx をデプロイする - Twisted Mind

    Sphinx のデプロイ先、趣味や一時的なら困る事がありませんよね。 たとえば、Google App Engine や Dropbox などが多いと思います。 ただ、仕事でアカウント管理やドメインについて考えると ... 。 なんか面倒だからレンタルサーバ借りてーとかになりますよね。 そんなことをつぶやいていたら、 @_2F_1 から Amazon S3 で静的ファイルウェブホスティングが出来るということを教えて貰いました。 ということで、試してみました。 Amazon S3 は説明する必要も無いと思います、Tokyo リージョンでさくさく。 設定は簡単で、バケットのプロパティから Website に Enabled チェックをいれて Index Document を設定すれば良いです。 とりあえずサンプルとして sphinx-users-jp のサイトを公開してみますね。 http://

    Amazon S3 ウェブホスティング機能をつかって Sphinx をデプロイする - Twisted Mind
  • 継続開発のススメ - Twisted Mind

    概要 開発をすればリリースがあり、リリースが終われば開発があります。継続開発をする以上はリリースと開発の繰り返しです。 開発手法やリリース手段は沢山あるのですが、あまりしっくりくるものが無かったので自分でまとめてみました。 これで完璧というものは残念ながらこの世にないと思うので、これからも臨機応変に良い流れを作って行ければと思います。 この文章は以下のような構成になってます。書き殴りですみません。 バージョンの付け方 ソースコード管理とリリース タスク駆動 環境方針 定義 いくつか事前に定義しておかないと話しが訳わからなくなりそうなので。 バージョン管理には git を採用しています。 開発というのはコードを書く事だけを指してはいません。 ここでいうフレームワークは「自身で開発している」として扱います。そうしないとちょっと難しいので。 ライブラリは自身の開発とそれ以外があると思いますので、

    継続開発のススメ - Twisted Mind
  • Erlang に興味を持った人へ - Twisted Mind

    随時加筆してます 追記 2011-06-18 rebar.config の erl_opts から fail_on_warning から warnings_as_errors へ変更した rebar.config の xref に fail_on_warning を追加した インストールする Erlang を R14B03 へ変更した ライブラリ紹介に webmachine 、folsom 、ibrowse 、Emysql 、 statebox を追加した 2011-04-02 rebar.config の erl_opts から debug_info を消した rebar.config の実際に使っているベースを公開 Makefile に make edoc を追加した configure の例を hipe を使わないようにしているので native-lib を外した EUnit につい

    Erlang に興味を持った人へ - Twisted Mind
  • コードを書かない - Twisted Mind

    @ymotongpoo 主催の新卒準備カレンダー 2011春 に参加させて頂くことにしました。 おまえ誰よ? ベンダー企業でコンサル/プログラマ/マネージャをやっています。Python 温泉というゆるふわ系お泊まりイベントを主催しています。 一応専門はネットワークサーバですが、難しいことはよくわかりません。プログラミングは Erlang/Python あたりが得意かもしれません。 どんな話するの? ベンダー企業の一員として新製品開発をしたり、継続して製品をアップデートしたりする仕事に従事していますので、どんなことを考えて仕事をしているのかをお話ししたいと思います。 いかにしてコードを書かないか タイトルがいきなりプログラマ全否定で期待している話と違うかも知れませんが、こんな考え方もあるんだと思って頂けると嬉しいです。 趣味でプログラムを書いてきた人は「お金をもらって」コードを書くという作業

    コードを書かない - Twisted Mind
  • Undefined の定義 - Twisted Mind

    id:mopemope に Twitter 上で色々教わりながら解決したネタ。jinja2 には Undefined というのがありまして、簡単に言えばテンプレート上で定義されていない場合、どう定義するのかというものだと思っているのですが(勘違いしてたらつっこみお願いします)。 これがまた、ややこしくて。Django の場合、テンプレートにおける未定義変数はスルー(エラーを無視)するのですが jinja2 は冷静に UndefinedError が帰ってきます。例えば... {{ spam.eggs }} という書き方で spam が未定義の場合は Django では無視、jinja2 では見事に UndefinedError が返ってきます。これだと色々困るので、なんとかならないかなぁと思って調べいたら解決策がありました。 jinja2 は Environment を生成してそこでテンプ

    Undefined の定義 - Twisted Mind
  • Google App Engine 一人勉強会 第二回 jinja デビューとデバッグ - Twisted Mind

    目標とサンプルとソース置き場 目標は Google App Engine 上で動くアプリを作り上げることです。 サンプル http://twisted-pool.appspot.com/ ソース http://bitbucket.org/voluntas/twisted-pool/src/ バージョン Google App Engine 1.1.9 Python 2.6.1 (GAE 推奨は 2.5.2) Werkzeug 0.4.1 (hg tips) Jinja2 2.2.1 (hg tips) フォルダ構成 tutorial/ werkzeug/ ... ln -s ../../src/werkzeug-main/werkzeug . jinja2/ ... ln -s ../../src/jinja2-main/jinja2 . debug/ templates/ hello.ht

  • redis 使ってますか? - Twisted Mind

    redis という KVS 知っていますか? 自分は名前は知ってはいるけど ... 程度の認識だったのですが、新しいサーバを買った際、んーやっぱり社内で簡単に VM 上げたり下げたり出来る環境が欲しいなぁと思っていたところ @shibukawa から OpenStack いいよという話を聞いてドキュメントを呼んでいたら Redis を使っていると書いてあったので、へーと興味津々になって調べてみたら ... メイン開発者2名は VMware がスポンサーになってフルタイムで redis の開発をしているというわけです。こらなんとまぁと。 そして色々ドキュメントを呼んでいたらなかなか素敵な KVS で、自分が欲しい KVS にたどり着いた感じです。 redis - Project Hosting on Google Code 魅力 日語訳 redisドキュメント日語訳 redis v2.0

    redis 使ってますか? - Twisted Mind
  • Mercurial + Dropbox - Twisted Mind

    Dropbox が 50 GB プラント 100 GB プランが出てきましたね。愛用どころか Dropbox (S3) に依存しまくりです。 さて、普段開発してるときのリポジトリは mercurial なのですが、Dropbox の上にリポジトリを置いて開発すると保存するたびに履歴が発生するので嬉しくないなぁと思っていたのですが、ローカルで push すればいいという事に気付きました。 spam_main_local のようなリポジトリがローカルにあって、そこで普段を開発して、あるていど落ち着いたら push します。push 先は Dropbox です。spam_main_dropbox というリポジトリを Dropbox 上に作っておいてそこに push します。Dropbox から bitbucket 等の外のリポジトリに定期的に push するといった具合です。こうすることで Dr

    Mercurial + Dropbox - Twisted Mind
  • BASIC 認証 - Twisted Mind

    ソースはこちらで公開しています。 $ hg clone http://labs.monospace.jp/hg/google monologista-google API を作るときBASIC 認証を使っていたのですが、httpauth.py だと Django の認証に依存していたので、書き換えました。 絶対もっとスマートに書けるんだろうなぁと思いつつ ... 。 MiddleWare にするべきか ... 。 あとは api_key は CLEARTEXT で保存されているので Digest 認証にしちゃってもいいかもですね。 これで無事 monologista API を作ることが出来ます:-P GAE 版 monologista でも API が使えますよー(多分 import base64 from django.http import HttpResponseNotAllowe

    BASIC 認証 - Twisted Mind
  • プロジェクトとアプリの構成 - Twisted Mind

    何がスマートなのかは人それぞれ、プロジェクト事に違うと思いますが。 最近色々触ってみて、気付いた点。WSGI の話しです。 Werkzeug の Routing System はシンプルながら強力です。 Django で不満だった正規表現や階層の問題をシンプルに解決してくれています。 さらに WSGI で、アプリケーション事にキレイに URI を分けられるため、 何がスマートな解決方法なのかを模索しています。 色々省略してますが二つパターンを考えてみました。 パターン A ここのアプリケーションに urls.py を持たせて main.py でそれぞれの app.py を纏める方法 tests.py が独立できます werkzeug のテストは application を渡せば client.get('/') とか簡単に GAE 上でもテストできます。 - /project - main.

    プロジェクトとアプリの構成 - Twisted Mind
  • pytyrant - Twisted Mind

    TokyoTyrant の pure python 実装、simplejson の中の人が作ってるみたいです。 早速使ってみましたが pytc のように Python の Dictionary のように使えるようにします。 pytyrant - Google Code 簡単なサンプル >>> import pytyrant >>> client = pytyrant.PyTyrant.open() >>> client['spam'] = 'eggs' >>> client.get('spam') 'eggs' >>> del client['spam'] >>> client.get('spam') >>> 使いやすいです。 Ian と Bob がいい話してた。 Twitter / Bob Ippolito: @IanMLewis pytyrant is fas ...

    pytyrant - Twisted Mind
  • Web 以外で SQL 使うにはこれかな。 - Twisted Mind

    SQLAlchemy 0.5rc4 + Python 2.6 で ManyToMany のお勉強。 OneToMany は id:perezvon のをぱくれば OK DjangoORM と比べると鬼のように柔軟という印象は前と変わってない。declarative_base が投入されたことでいっそう使いやすくなった感じがする。 # vim: fileencoding=utf8 from sqlalchemy import * from sqlalchemy.orm import * from sqlalchemy.ext.declarative import declarative_base engine = create_engine('sqlite:///:memory:', echo=True) Base = declarative_base(engine) metadata

    Web 以外で SQL 使うにはこれかな。 - Twisted Mind
  • Erlang + Python という素敵な素敵な世界 - Twisted Mind

    Humanist → Scalable Web Apps: Erlang + Python 結論としては面倒なことは辞めて Python と Erlang の通信にはシンプルに http + json を使おうよというものです。Pythonsimplejson と urllib、Erlang は mochiweb と mochijson2 を使えば情報をやりとりが一応出来ます。 単純なところは Python で書いて simplejson で dump して urllib で erlang に渡して分散処理なり並列処理なりをして貰って結果を返して貰う。という事でしょうか。 Python 旅館で試してみよう。でもなんか使い道が未だによくわからない ... 。

    Erlang + Python という素敵な素敵な世界 - Twisted Mind
  • 一人 PyOpenSSL 勉強会 - Twisted Mind

    目標はCA証明書の作成だけ。 CA 証明書は作成できました。 PyOpenSSL は CRL が作れない予感。 まとめたら、ソース丸ごと載せます。 patch とか Index of /darwinsource/10.5/pyOpenSSL-2 http://www.opensource.apple.com/darwinsource/10.5/pyOpenSSL-2/ Mac OS X 10.5 にはデフォルトで pyOpenSSL が入っているのですが、これは素敵な Patch が当たっていません。 http://arnaud.desmons.free.fr/pyOpenSSL-0.6-pkcs12_cafile.patch http://arnaud.desmons.free.fr/pyOpenSSL-0.6-crl.patch http://arnaud.desmons.free.f

    一人 PyOpenSSL 勉強会 - Twisted Mind