タグ

ブックマーク / blog.64p.org (14)

  • mprofile-python がパワーアップしていた - tokuhirom's blog

    setup.py が設定されてちゃんとした python のパッケージになりました。pip でインストールできるようになって便利。 mpdump を直接いじって使ってね、という怠惰な実装だったのが、ちゃんと外部からコマンドライン引数で処理できるように変更されました。 という変更が @t2y さんから p-r されてきたのでマージしました。 オープンソースってすばらしい。

  • LL から Java に移行した人がはまりがちなこと - tokuhirom's blog

    こんにちは。Java 初心者です。 Java 初心者、得に LL から Java に来た人にありがちな問題について社内向けに書いたものをオープンアンドシェアさせていただきます。 前提として、我々は Java 8 でガンガン攻めているということをご承知おきください。 また、自分がこの数ヶ月で「うわー。こうしとくべきだったのかー」と気づいたやつをドヤ顔で語っているということにもご注意ください。 【追記】 対象は中規模 B2C の場合です(中規模というのは facebook より小さいという程度の意味です) 例外を握りつぶさないようにしよう Eclipse が生成する以下のようなコードをそのまま残しているケース。 これは言うまでもなく良くないですね。デバッグが困難になります。 try { } catch (IOException e) { e.printStackTrace(); } Perl

  • Split Amon2::Plugin::Web::CSRFDefender from core distribution. - tokuhirom's blog

    1. Amon2::Plugin::Web::CSRFDefender was removed from Amon2 core distribution. Amon2::Plugin::Web::CSRFDefender is no longer default CSRF defender module in Amon2. I suggest to use HTTP::Session2. If you still use Amon2::Plugin::Web::CSRFDefender, you need to write dependency explicitly in your cpanfile. 2. Latest Amon2::Plugin::Web::CSRFDefender is bit secure. @mala says Amon2::Util::random_string

  • tokuhirom blog

    Amon2のアーキテクチャまずはこちらの図をごらんください。 Amon2 の構造は非常に単純であることをご理解いただけたかとおもいます。基的な構造はこれがすべてなのです。なにしろ、できるだけおぼえることがすくなくなるように意図して設計されておりますから、こういうシンプルな構造になるのもあたりまえといえましょう。 ここで特徴的なところが二点あります。Web Context Object が Context Object を継承しているところ、レスポンスオブジェクトが has-a 関係ではないところです。 Web Context Object が Context Object を継承しているのは、CLI でもなんとなくつかえるようにするためです。この工夫により CLI での開発が異常に楽になっています。このあたりについてはおって解説したいとおもっています。 レスポンスオブジェクトが has-

    tokuhirom blog
  • Amon2::Setup::Flavor::Large + Teng をもちいた簡単な掲示板の作成 〜 軽量フレームワークAmon2入門 (7) 〜 - tokuhirom's blog

    前回から大分時間が経ってしまいましたが、唐突に Amon2+Teng で大きめのアプリをつくるチュートリアルでもはじめましょう。Teng というのは、O/R Mapper とよばれる種類のライブラリで、DB へのアクセスを簡単にしてくれるものです。 さて、とにかくも準備からはじめましょう。 % cpanm Amon2 Amon2::Setup::Flavor::Teng Tengで Amon2 をインストールします。 % amon2-setup.pl --flavor=Large,Teng MyBBSとするとスケルトンができあがりますので % cd MyBBSとして、プロジェクト用のディレクトリにはいります。 %cpanm --installdeps .とすると、依存モジュールがインストールされます。 % plackup app.psgi -R libとうつと、サーバープロセスが起動します

  • 最近の Perl6 の動向についてまとめてみた - tokuhirom's blog

    Perl6 まわりが最近だいぶかわってきているという雰囲気をみなさん感じていらっしゃるかとおもいます。そのあたりについておさらいしてみましょう(時系列はちょっとまちがってるかもしれませんが、たぶんだいたいあってる)。 去年ぐらいまで去年ぐらいまでは、あまりパフォーマンスは重視されていなかったかんじがします。 「まだパフォーマンスを気にするタイミングじゃない」的な。ただ去年の途中ぐらいで一気に rakudo がはやくなったりしたような気はしました。 nqp の JVM port(4月ぐらい)https://github.com/perl6/nqp http://6guts.wordpress.com/2013/04/18/nqp-on-jvm-bootstrapped-soon-will-land-in-nqp-master/ nqp というのは Not Quite Perl(6) の略で、

    rokujyouhitoma
    rokujyouhitoma 2013/06/11
    ほほう。これはすばらしい。PyPyのチームがPython, PHP, RubyにつづきPerl6のVMに着手するんだろうな...。
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    rokujyouhitoma
    rokujyouhitoma 2012/09/18
    生tokuhiromさんと会えて僕は感動!運営や、コミュニティで考えさせられるところは沢山あるはある。
  • llvmの基本となるツールたち 〜llvm 入門 その1〜 - tokuhirom's blog

    3つのツールをためすhelloworld.c はこちら。 #include <stdio.h> int main( ) { printf("Hello World!\n"); }llvmアセンブリを生成! $ llvm-gcc -S -emit-llvm helloworld.c helloworld.s ができてた。 ; ModuleID = 'helloworld.c' target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" target triple = "x86_64-apple-darwin11.4" @.str

  • 読了『はじめてのフレームワークとしての FuelPHP』 - tokuhirom's blog

    http://tatsu-zine.com/books/fuelphp1st FuelPHP は codeigniter に関わっていた人らもかかわっているということで、CodeIgniter 的なうすいかんじでいいものにしあがってる感じをうけた。 そういえば htmLawed とかあったなあ、とおもいだした。 http://www.bioinformatics.org/phplabware/internal_utilities/htmLawed/FuelPHP は*ふつう*のフレームワークになってていいなあとおもった。form パーツの generation はちょっと微妙かなあとおもった。テンプレートでの自動エスケープがちょっとおもしろい。Xslate とかの方がぬけることがなさそうではあるけれど。 class Controller_Example extends Controller

  • なんで Perl をつかいつづけるのか - tokuhirom's blog

    互換性を大事にしているからバージョンアップしてもそのままうごくっていうのはすごくいいですね。バージョンアップするための作業に自分の時間をとられたくないですね。 そういった意味では Python はのりかえの選択肢になりますね。 正規表現リテラルがあるから正規表現リテラルがない言語はいかんせんワンライナーとかでつかえないので、ワンライナー用の言語をもう一個おぼえておく必要がありますね。正規表現つかえるとやっぱり便利ですね。 やりたいことをやれるモジュールがたいがいあるからさっき node.js で SMTPTLS でメールをおくるスクリプトをつくろうとおもったら、SMTP TLS できるライブラリがみあたりませんでした。 ちょっとしたスクリプトをかこうとしたときに、すぐにライブラリがみつかるというのはやはり Perl は便利ですね。Perl だったら Email::Send::SMTP::T

    rokujyouhitoma
    rokujyouhitoma 2011/02/03
    省略多すぎ記事。これがPerl...
  • Python のいいところ/わるいところ - tokuhirom's blog

    PyJUG のイベントのパネルによばれたので話してきた。事前にかんがえておいたメモを以下にコピペしておきますね。 いけてるところ - indent acme - pep - method の export - class の定義のやりかたがきまってる - interpreter のコードがよみやすい - 標準添付ライブラリがおおい - IDE が意外とつかえる - import とか - generator とか - デコレータとか - perl6はでないけどpython3はでたよね いけてないところ - インデント - ワンライナーとかかきづらい - ソースコードフィルタ - 正規表現リテラルがない - へびがきもい?最後のやつ逆になってたのでなおした。

  • 帰ってきた Python Workshop 2010/12 に参加します。 - tokuhirom's blog

    http://www.python.jp/Zope/workshop/201012 Python 系のイベントにでるのは久々ですね。昔は Python のイベントで登壇してたりもしていた私ですが、最近はすっかり「Perl のスパイだ!」と後ろ指をさされがちですね。 今回は Perl を普段利用しているユーザーとしての視点から、『Python のイケてるところ/イケてないところ』についてかたるそうです。 僕がつかっていたころの Python についてすぐにおもいつく Python のイケてないところといえば、Win32 版のアイコンが微妙にかわいくないというところだったのですが、最近は改善されているのでしょうか。

  • モダンな Perl の開発環境の構築方法 - tokuhirom's blog

    一般的な OSX 環境および Linux 環境における、モダンな Perl 開発環境の構築方法についてまとめてみたよ。 perlbrew のインストールperlbrew をつかうことにより、簡単に最新版の Perl5 を利用することができるようになる。 perlbrew をいれる。% curl -L http://xrl.us/perlbrew | perl - install % ~/perl5/perlbrew/bin/perlbrew init ~/.bashrc (または ~/.zshrc)に source ~/perl5/perlbrew/etc/bashrc を追記。あたらしいシェルをたちあげる。最新版の perl をインストールする。% perlbrew install perl-5.12.1 % perlbrew switch perl-5.12.1 ここまできたら、she

  • TokuLog 改め最適なフレームワークで快適なくらしを創造する会 - あっというまにゼロからWSGI

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    rokujyouhitoma
    rokujyouhitoma 2010/06/18
    wsgiの基礎。
  • 1