タグ

ブックマーク / inforno.net (5)

  • inforno :: Ansibleのツボ

    ようやく自宅サーバや開発環境仮想マシンの構築手順を Ansible 化した。 この手のツールはハマりポイント+よく使うイディオムを抑えるのが大事。Pythonプロダクトらしく非常にドキュメントが充実しているのだけど、充実しすぎているのでポイントを自分のためにもまとめておくことにする。 例はおもに Ansible のドキュメントから引用させていただきました。 設定ファイルを書きかえる(一行) lineinfile モジュールを使う。使い方は以下のような形になる。 1name: enalbe sudo without password if user belongs to the wheel group 2lineinfile: "dest=/etc/sudoers state=present regexp='^%wheel' line='%wheel ALL=(ALL) NOPASSWD:

  • inforno :: rayphe - 軽量Python web framework

    ちょっと前にRubyでSinatraが取り上げられて、結構注目されたように思います。ということはRailsだと大げさすぎるなあ、と思うような場合に対する需要というのはやっぱりそれなりにあるんですよね。 Pythonで軽量、というとweb.pyが一番有名ですよね。他にはJuno、Bottleなんかがあります。 このブログで使っているのはweb.pyです。結構昔から使っています。が、不満もおおくweb.pyを拡張するようなライブラリを作っていて、それがそこそこの量あったりします。 そこで、これくらい量があるなら自分でフレームワーク作っても大してかわんなくね?と思い始めました。あれ、そういえば俺、テンプレートエンジンもつくっちゃってるじゃん、簡易O/Rマッパも自分用につくってあるじゃん、と次々に気づき始め、それらをまとめて作っちゃいました。軽量フレームワーク。 raphe 「raphe」はPyt

  • inforno :: 基礎を終えた人のScalaミニtips

    どう書く?orgでScalaを書いてくれる人もでてきたので、超一部の方向けにScalaのことでも書いてみようと思います。言うなれば、基礎を終えた人のScalaミニtips。知っている人は知っている、でもあまり知られていないことを並べていきます。 下に行くほどマニア度あがります、たぶん。FPよりの話が多いかもしれません。はやりのYコンビネータの話とか。たぶん。 ではいってみましょう。 Predefされているものは把握しておきましょう Scalaにはscala.Predefというオブジェクトがあります。この中で定義されているものは常にインポートされていて使える状態になっているので把握しておきましょう。 例: 1def exit(status: Int): Nothing = { 2 java.lang.System.exit(status) 3 throw new Throwable() 4}

  • inforno :: 日本語プログラミング言語Scala

    via 第20回 日語でおk Ruby もいいけど Smalltalk でも、おk。 Scalaはメソッド名に日語使えるよ。Scalaは日語プログラミング言語だよ(言いすぎ)。 1object JapaneseLanguage { 2 class Standard[A](self:A) { 3 def の[B](f:(A) => B) = f(self) 4 def を[B](f:(A) => B) = f(self) 5 def する() = () 6 } 7 8 class PseudoKansai[A](self:A) { 9 def のな[B](f:(A) => B) = f(self) 10 def をな[B](f:(A) => B) = f(self) 11 def すんねん() = () 12 } 13} 14 15 16def 平方根(v:int) = Math.sq

  • inforno :: 個人的Go雑感&メモ

    GoogleGoという新しいプログラミング言語 を出したようで。早速、インストールして軽くドキュメントを流し読みしてみました。 英語なんて読みたくないよ、という人もいるかもしれないし、誰かの役に立つかもしれないので自分用メモおいときます。完全に自分用なんである程度他の言語の知識がある人向けな上、ざっくり流し読みなんで間違ってるかも。 どんな言語? ネイティブコードを吐く、コンパイル型。 速度はCレベル。 GC搭載。ポインタはあるけど、ポインタ演算はできません。 各種アーキに最適化された、それぞれのコンパイラセットを持ちます。例: 6g, 6l : amd64 8g, 8l : i386 linux, mac, naclに対応。 動的型言語と静的型言語のおいしいとこどり。 concurrent処理が組み込まれてます。 個人的雑感 こんな言語設計思想かなあと感じたり とにかく、シンプルな言

  • 1