Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

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

  • さくらインターネットに入社しました - tokuhirom's blog

    昨年の 10月ごろに X こと twitter で @tagomoris から DM が来て誘われたので、2025年1月からさくらインターネットに入社しました。 転職エントリーってあんま書く気なかったんだけど、sugyan が書けって圧をかけてくるので。。 長らくプライベートクラウドの環境で働いていたので Public cloud を使う会社で働くのは大変そうなので、Public cloud を作ることにしました。 という冗談はともかくとして、なんか普通のウェブシステム作るのまぁまぁ飽きたなーというのがあってですね。。 13年も前職に勤めてたので飽きてきてはいたのでちょこちょこと他社の話を聞いたりはしてたんですよね。他社の B2B サービスとかを中心に見てたんだけども日国内でいうと 前職を超える魅力とか規模感を持ってるサービスってあんまなくて、転職にいたらかったんですねえ(お時間取ってい

    mickn
    mickn 2025/01/08
  • 最近またLinux用の日本語IMEを作っている - tokuhirom's blog

    最近またLinux用の日語IMEを作っている 件は mozc の ut がどうこうとかは関係なくて、ふと linux desktop を使おうと昨年末に思いまして、昨年末からちまちまやってます https://github.com/tokuhirom/akaza かな漢字変換って作るの難しいのかなぁ、と思ったので作ってみている。これはまさに Just for Fun でやっている。 わりと普通に自分で常用してる分には困らないかな、というところまできている。 以下は、思ってることの垂れ流しという感じで、まとまってないですが。 「日本語入力を支える技術」というが 2018年に出ていて、このの内容を読めば、だいたいエンジン部分は実装できる。Amazon のレビューではこのよんでも実装できないって書いてあるけど、変換エンジン自体は実装できます。 UI が辛い。けど。 エンジンは、ビタビア

    mickn
    mickn 2023/01/17
  • Perl6 の開発先端を味わう方法 - tokuhirom's blog

    過去にも掲載したと思いますが、こんなシェルスクリプトで一発でインストールできます。 #!/bin/sh set -x set -e WORK=$HOME/.rakudo-build/ PREFIX=$HOME/perl6 mkdir -p $PREFIX mkdir -p $WORK rm -rf $WORK/rakudo git clone https://github.com/rakudo/rakudo.git $WORK/rakudo cd $WORK/rakudo perl Configure.pl --prefix=$PREFIX --backends=moar --gen-moar --gen-nqp make && make install んで、 $ ~/perl6/bin/perl6 > ([+] 1..1000).say 500500 とかで試せる。 昔はやたら起動が遅

    mickn
    mickn 2015/02/03
  • AngularJS 嫌いな人が多い昨今について - tokuhirom's blog

    最近 AngularJS 嫌いという言説が多いですが、そういうことを仰る方々は主に先鋭的な JSer のように思います。 ただ、僕なんかの場合には、ユーザー向けの画面の構築などには AngularJS を使って書くことは最近はほとんどなく、JS を書くといえばもっぱら管理画面です。 管理画面の JS を書くにあたっては AngularJS way にのっかってやると非常に楽ですよね。管理画面を書いたりする上では vue-js とかで頑張って書くと見通しが悪くなったりしますし、こった動きなどは必要ないというところで angular.js ワリといいなと思っています。 もっといいものがあれば移りたいですが、コストをかけずに作りやすい管理画面を作るという意味ではやはり AngularJS にまだメリットがあるなあ、と思っています。 2.0 が出た時にこまるというのもありますが、実際は angul

    mickn
    mickn 2014/11/21
  • Future Perl - YAPC::NA 2013 に参加して - tokuhirom's blog

    Future Perl - YAPC::NA 2013 に参加して YAPC::NA 2013 に参加してきました。その中でも印象にのこったことを取り急 ぎアップしておきます。 今回は日からは @yusukebe と @xaicron と TPF の President である Karen が参加していたようです。 僕は今回がはじめての US だったので、いろいろと困惑することもありました が、旅行記などには興味がないという人も多いでしょうし、書くのがめんどく さいですし、たぶん xaicron が書くと、ほとんど内容がかぶるので割愛させ ていただきます。 デニーズのシェイクに興奮する yusukebe と xaicron エントリーでは YAPC::NA で僕が感じたこと、技術的に Perl Community が どこに向いているか、といったあたりのことについて述べていきたいとおも

    mickn
    mickn 2014/01/17
  • HTTP::Session2 has been released. - blog.64p.org

    English document is available on metacpan! Following document is written for non-english speakers. HTTP::Session2 を作成した。主に Amon2 で使用することを想定しているが、広く一般につかえるものと思う。 特徴 必要なときに必要なだけ Set-Cookie ヘッダを発行する 必要なときだけストレージにアクセスする クライアントサイドストレージとサーバーサイドストレージの両方をサポート XSRF トークンの管理をセッションライブラリ側に内蔵 AngularJS フレンドリー 上記が、重要なことである。 弊社のようなハイトラフィックなサービスを運営している場合には、できるだけリソースをケチりたいので、そういう思想なものが必要となった。通常の用途では Plack::Session

    mickn
    mickn 2013/10/28
  • JSON::XS とそれにまつわる歴史的な過去の話、まとめ。 - tokuhirom's blog

    今日リリースされた common::sense-3.7 が壊れていた影響で、日の皆さんが混乱しているようなので、丁寧な JSON::XS の歴史解説エントリをここに記す。 perl-5.18 の hash randomization に関するゴタゴタ 5.17 で JSON::XS のテストがこける hash randomization の影響。これにたいし、mlehmann 氏は、hash randomization ではセキュリティが強化されないし、意味がないと主張。 修正版をリリースしない。 reini 氏、Cpanel::JSON::XS をリリース(2013-03-01) https://metacpan.org/module/RURBAN/Cpanel-JSON-XS-2.33_03/XS.pm JSON::XS の修正がなされないので、ついに forkの術。 reini 氏

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

    最近の Perl6 の動向についてまとめてみた 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 とい

    mickn
    mickn 2013/06/11
  • Perl 5.18 時代における Core module についての捉え方について - tokuhirom's blog

    Perl 5.18 時代における Core module についての捉え方について Perl 5.20 で、CPANPLUS とその依存モジュールたちが core distribution から分離されます。 また、5.22 では CGI.pm と Module::Build が分離されそうです。 ここにいたり、Perl 5 の core distribution にはいっている、ということの意味が徐々にかわってきつつあります。 では、現在の状況はなぜおきているのかを考えてみましょう。 configure_requires の普及 Perl 5.8.5 あたりの時代では、Module::Build などは core distribution にはいっていないと、つらかったわけですが、configure_requires が普及したことにより、インストーラを CPAN shell で自動的に

    mickn
    mickn 2013/05/30
    Perl 5.18 時代における Core module についての捉え方について - tokuhirom's blog.
  • サーバーのセットアップは perlbrew とかじゃなくてよくね? という時のライフハック - tokuhirom's blog

    https://metacpan.org/module/TOKUHIROM/Perl-Build-0.06/bin/perl-build perl-build というコマンドをつかうと便利。 perl-build 5.16.2 /opt/perl-5.16/ とかで管理するとよい。 perl-build 5.16.3 /opt/perl-5.16/でのアップグレードもうごいている様子。 おためしあれー。 FAQ./configure -d -Dprefix=$path でよくね?それでもいいのですが、PatchPerl によるパッチがあたるので、古いバージョンも確実にはいるのが嬉しいところです。 あと、tar ball のフェッチとかまで自動的にやってくれるのも便利。

    mickn
    mickn 2013/03/26
  • 安定的な Perl アプリケーション運用のための perlbrew 運用テクニック - tokuhirom's blog

    前提知識Perl5 は minor version 間ではバイナリ互換性が保証されているPerl5 の minor update では、bug fix しか基的に行われないPerl5 Porters の保守的さ度合いは信用できるperlbrew でセットアップするときに気をつけることインストール名をデフォルトの perl-5.16.3 などとせず、perl-5.16 と minor version を含めないようにする。 例: perlbrew install perl-5.16.2 --as perl-5.16セキュリティフィックスがでた場合の処理chromaticの記事で知ったのだが、perlbrew には upgrade-perl というコマンドがあり、最新のバージョン(マイナーアップデートのみ)にアップグレードすることが簡単にできる。 perlbrew upgrade-perl

    mickn
    mickn 2013/03/13
  • Hasegawa方式の CSRF対策を試してみた - tokuhirom's blog

    Hasegawa方式の CSRF対策を試してみた Amon2 での実装例です。 使用感としては、 実装はそれほどむずかしくない トークンの保存をサーバー側でやらなくていいので楽 といったかんじ。 管理画面とかでつかってみたらよいかもしれぬ。 use strict; use warnings; use utf8; use File::Spec; use File::Basename; use lib File::Spec->catdir(dirname(__FILE__), 'extlib', 'lib', 'perl5'); use lib File::Spec->catdir(dirname(__FILE__), 'lib'); use Amon2::Lite; { package Amon2::Plugin::Web::Hsegawa; use constant { REDIRECT

    mickn
    mickn 2013/03/04
  • Amon2とJSONとセキュリティ - tokuhirom's blog

    [1]http://d.hatena.ne.jp/ockeghem/20110907/p1[2]http://www.atmarkit.co.jp/fcoding/articles/webapp/05/webapp05a.html[3] http://msdn.microsoft.com/ja-jp/asp.net/ff713315[4] http://labs.cybozu.co.jp/blog/kazuho/archives/2007/01/cross-site_including.phpあたりをよんで、JSON とセキュリティについてかんがえてみた。 ここで、有効とされている対策のうち while(1); を先頭に付与するPOST ですべて処理するといったあたりは、RESTful でないし、BK 感がひどいというか質的ではないのでできるだけやりたくない。 また、Amon2 では互換

  • carton + 開発版の cpanm で、特定のバージョンのモジュールをつかいこなす! - tokuhirom's blog

    carton + 開発版の cpanm で、特定のバージョンのモジュールをつかいこなす! 開発版の cpanm で、META file の version range がサポートされるようになりました。 CPAN の META spec v2.0 では、version range がサポートされていて、以下のような柔軟な指定が可能となっています。 Some fields (prereq, optional_features) indicate the particular version(s) of some other module that may be required as a prerequisite. This section details the Version Range type used to provide this information. The simples

    mickn
    mickn 2013/02/03
  • 2013年 のPerl5 の OOP について考える - tokuhirom's blog

    2013年 のPerl5 の OOP について考える Moo 今年の命? 新しくつくるならこれが無難な気がします。速度的にも Mouse とあまりかわらない。 若干依存がおおい気もするけど、インストールベースがふえれば気にならなくなるかな、ともおもいます。 Class::XSAccessor とかつかってるんで、速度的にもホットスポットは速いのがよい。 なお発音はムーだとおもう。 (http://www.forvo.com/word/moo/) Mouse 完成している感じがする。得にわるい点もないが、あえていうと xs 部分がおおいので、gfx 以外がメンテできないかんじがするのが欠点か。 Xslate をつかっている場合は自動的に xslate が mouse つかってるので、自然と Mouse がロードされるので、そういった意味では Mouse つかってもいいかなとおもっている。

    mickn
    mickn 2013/01/15
  • Perl テスティングハンドブックという電子書籍をだしてみた - tokuhirom's blog

    Perl テスティングハンドブックという電子書籍をだしてみた 主に KDP をためしてみたいという理由ですが、だしてみました。 Perl で Test を書くときのポイントを押さえてちいさくまとめています。ボリューム的にはちょっとした小冊子程度です。当に自分で実践につかったことがあるものしかのせてないのがひとつの特徴です。 今回は pandoc でつくってみました。 gumroad からも買えるようにしてみました なお目次は以下のとおり - 前書き - 対象読者 - なにはのっていないか - 想定環境 - カイゼン - Test::More をもちいた基的なテスト - 便利なユーティリティ関数 - is 関数 - cmp\_ok 関数 - is\_deeply($a, $b[, $msg]); - like($got, $regexp[, $msg]); - subtest 関数でテス

    mickn
    mickn 2012/11/12
  • Amon2 をつかったウェブアプリケーションを GUI アプリにはやがわりさせる!! - tokuhirom's blog

    Amon2 をつかったウェブアプリケーションを GUI アプリにはやがわりさせる!! GUI アプリをつくりたいけど、どうもめんどくさくて、ウェブアプリケーションですませてしまうウェブエンジニアは多いとききます。 とはいえブラウザでいちいちひらくのも面倒だし、daemontools つかうのもちと面倒。。というわけで、GUI アプリケーションにしてしまいましょう。 以下のような、キモいが回転する PSGI アプリがあったとします。これを GUI アプリケーションにはやがわりさせるにはどうしたらいいでしょうか。 use strict; use warnings; use utf8; use Amon2::Lite; get '/' => sub { my $c = shift; return $c->render('index.tt'); }; # code was taken from:

    mickn
    mickn 2012/08/13
  • sprintf の引数の挙動 - tokuhirom's blog

    sprintf の引数の挙動 sprintf に配列で引数をわたそうとするとはまる。 use strict; use warnings; use utf8; use 5.10.0; sub fmt { sprintf(@_) } sub fmt2 { my $format = shift; sprintf($format, @_); } say(fmt("Hello, %s", "John")); say(fmt2("Hello, %s", "John")); 2 Hello, John えてしてこういう罠があるので perl5 は常に驚きをもって接っすることが可能となっている。

    mickn
    mickn 2012/04/21
    perldoc -f sprintf すると書いてあるな。こういう仕様だと安全な気がする
  • Testing Web Application 2011秋 - tokuhirom's blog

    Testing Web Application 2011秋 最近の僕のテスティングな日々についてまとめておきますよ。 【前提】 Perl でかかれたウェブアプリケーション自社開発のウェブアプリケーション一日に何度も deploy されるレベルフルテストを全員がうごかしているとはかぎらない

    mickn
    mickn 2011/09/28
  • Catalyst が Plack に依存した - tokuhirom's blog

    Catalyst が Plack に依存した Catalyst 5.90001 がでまして、こちらのバージョンは Plack に依存しております。これは非常に PSGI プロジェクトにおいてはひとつの節目となるリリースといえましょう。HTTP::Engine が最初にリリースされてから3年、みんなよくがんばった!感動した!(3年前(たぶん)のジョーク(10年前のテキストサイト風)) そういうわけですが、私としてはぜんぜん Catalyst の使用はおすすめしませんで、Amon2 つかうのがオススメですね!

    mickn
    mickn 2011/08/16