タグ

ブックマーク / blog.kyanny.me (16)

  • Re: 【翻訳版】Web3についての私の第一印象 - @kyanny's blog

    【翻訳版】Web3についての私の第一印象 - 石ころのニュースレター! NFT 胡散臭いなぁ、、と感じてたので、読んでスッキリした。これで自信を持って無視できる。 ブロックチェーンは分散型なのに、事実上 API を提供するプラットフォーマーの中央集権になってるので実質 Web 2.0 を不便な基盤の上でやり直してるだけ、というのは実に皮肉だ。 NFT の実態は URL を格納してるだけで、その URL が指し示すリソースの実体があとですげ変わっても感知しない、というのは驚いた。しかも実際にそういう NFT を作ってマーケットプレイスで販売し、プラットフォーマーのペナルティをらって「ブロックチェーン上には取引の記録もトークンも存在するが、プラットフォーマーの API 経由でしかブロックチェーンにアクセスできないクライアント側のウォレットからは消えてしまったように見える」というオチまで検証し

    Re: 【翻訳版】Web3についての私の第一印象 - @kyanny's blog
  • 例えば OSFA な API をやめる - @kyanny's blog

    OSFA == one-size-fits-all 単一の API で全てをカバーするのをやめたらどうか、ということ。 APIのバージョニングは限局分岐でやるのが良い - Hidden in Plain Sight @kenn 最近はRESTfulなエンドポイントは完全に後方互換なまま、クライアントごとにオーケストレーション層(radical versionin)を設けるという方向にシフトしようとしている。詳しくは http://t.co/zODm7mFr5B— Tatsuhiko Miyagawa (@miyagawa) February 28, 2014 この話のポイントとはちょっとずれてる && Podcast 聴いてないのですが。 Quipper プラットフォームで内部的に利用されている API も、 /v1 というパスの下にはえててごく一部のエンドポイントだけ /v2 がある、み

    例えば OSFA な API をやめる - @kyanny's blog
  • Jenkins に bundle update した上で Pull Request させる - @kyanny's blog

    皆さん bundle update してますか?ぼくは忙しさにかまけてついサボりがちなのですが先日何ヶ月ぶりかにやってみたらけっこういろんな gem がアップデートしててヒヤリとしました。 bundle update 忘れは今後もまたやってしまいそうだと思い、なにかこれを解決する方法がないか考えたところ、 マメにやるのは無理。余裕があればやるけど忙しくなったら忘れる。自分の意識が低くなっても破綻しない仕組みを作るべき 差分が小さくても Pull Request を出すのは悪くない。というか Pull Request は毎日全員が見るし放置されにくい bundle outdated の結果をメールするのもお手軽そうだけど、メールなんてどうせ見ない (pendaxes がいい例で、毎朝メールがきても痛くも痒くもない) ということで「Jenkins に毎週 bundle update したブラン

    Jenkins に bundle update した上で Pull Request させる - @kyanny's blog
  • はじめての JSTAPd with jQuery - @kyanny's blog

    JSTAPd を試してみた。 GitHub - yappo/JSTAPd: JSTAPd is Ajax application friendly Javascript Unit Test Server. CPAN or github github の master のほうが CPAN にあがってるものよりも新しいので、 git clone してくる。 perl Makefile.PL && make && make test && make install で。 inc/.author があるので Module::Install::AuthorTests が必要。なければ cpan -i Module::Install::AuthorTests で。 チュートリアル まず動画見る。 YappoLogs: Ajax アプリ等の為の JavaScript コードのテストツール JSTAPd

    はじめての JSTAPd with jQuery - @kyanny's blog
  • YAPC::Asia Tokyo 2009 に行ってきた (9/10, day1) - @kyanny's blog

    http://conferences.yapcasia.org/ya2009/ に行ってきた。今回は自分のなかで「初心に帰る」をテーマに臨んだので、紙のノートにボールペンでメモをとった。以下、メモした内容のまとめ(まとまってないけど)と、それを踏まえて感想というかコメントを。かなり長いです。 Welcome / Daisuke Maki (lestrrat) JPA 代表理事の牧さんによる、オープニング。 朝少し寝坊して、駅からダッシュしてなんとか九時ぎりぎりに滑り込んだ・・・と思ったら少し開始が遅れていて、息を整えてから開会の挨拶?を聞けた。「三つのC」で「王様のレストラン」を思い出した。 基調講演 / Richard Dice TPF の代表を務めていた、リチャード・ダイス氏による基調講演。 FLOSS 進化的モデル 安定した状態になる (**** is Dead) 誰も必要に迫られな

    YAPC::Asia Tokyo 2009 に行ってきた (9/10, day1) - @kyanny's blog
    dealforest
    dealforest 2009/09/13
    [YAPC::Asia2009]
  • StartServers と MinSpareServers - @kyanny's blog

    今日、livedoorしたらば掲示板の管理画面がリニューアルしました。少し手伝いました。 で、先週の金曜日の夜に apache の設定を見直しててふと気づいたことがあったのでメモ。 apache には StartServers というディレクティブがあり、これは apache を起動した直後のプロセス数を指定する (prefork の場合)。デフォルトだと 5 とか。だから apachectl restart した直後に ps auwwx | grep httpd とかすると、 apache のプロセス数がすごく少なかったりする。しばらくたつとプロセス数がもっと増えていて 100 を超えてたりする。 apache には MinSpareServers というディレクティブもあり、これは「アイドルなプロセスの数の最小値」を指定する。アイドルなプロセスとは、クライアントからのリクエストを処理し

    StartServers と MinSpareServers - @kyanny's blog
    dealforest
    dealforest 2009/08/17
    MinSpareServers よりもアイドルなプロセスの数が少ない場合、 apache はアイドルなプロセスが MinSpareServers より大きくなるまで自動的にプロセスを増やすのだけど、これがマニュアルによると「最大で一秒につき一プロセス」と
  • HTTPx::Dispatcher の練習 - @kyanny's blog

    HTTPx::Dispatcher の使い方を勉強した。ごちゃごちゃ試行錯誤して、使い方がわかったので、動かすための最小限のコードを整理して github にあげた。 GitHub - kyanny/httpx-dispatcher-practice: HTTPx::Dispatcher practice 参考になったソース mobirc どう書くとどう動くのか例 connect '' => { controller => 'Root', action => 'index' }; これは、 $req->uri->path eq '/' の場合にマッチするルール(HTTPx::Dispatcher が内部で '/' を '' に変換している)。 $rule は、 $rule = MyApp::Dispatcher->match($req); $rule = { controller => '

    HTTPx::Dispatcher の練習 - @kyanny's blog
    dealforest
    dealforest 2009/05/29
    [HTTPx::Dispatcher]
  • HTTP::Engine 入門 - @kyanny's blog

    HTTP-Engine-0.03005 - Web Server Gateway Interface and HTTP Server Engine Drivers - metacpan.org local::lib で $HOME/perl5 以下をいろいろセットアップしてからインストール。一発で依存含めて全部入った。 HTTP::Engine, HTTP::Engine::Interface::ServerSimple の POD を読む SYNOPSIS 通りに書いてみる→エラー→タイプミスしてた→書き直し→動いた! HTTP::Engine::Request の POD も読む→ $req->param('key') とかできる HTTP::Engine::Middleware もインストールする HTTP::Engine::Middleware の POD も読む→なんとなく役割が

    HTTP::Engine 入門 - @kyanny's blog
    dealforest
    dealforest 2009/05/23
    [HTTP::Engine]
  • "Wakame" は三年後、「あれはイノベーションだった」と言われても不思議じゃないソフトウェアだ - @kyanny's blog

    先週、株式会社あくしゅさんの新しいオフィスに遊びに行ったとき、 "Wakame" という不思議な名前のソフトウェアのプレゼンテーションがあった。それは衝撃的なソフトウェアで、三年後「あれはイノベーションだった」と言われても不思議ではないと、気で思った。すごく興奮していたが、「来週水曜にリリースするからそれまで黙っててね!」と言われていて、今日やっと "Wakame" についてブログに書くことができるので、僕が見たこと、感じたことを包み隠さず、いまからここで書きます。 "Wakame" は、 Amazon EC2 上で自律的に動作する、サーバマネージングソフトウェアだ。 Amazon EC2 を知っている人向けにごくごく簡単に説明すると、コマンド一発でインスタンスの増減やアプリケーションの複製を管理できる。 Amazon EC2 を知らない人(まぁ僕のブログの読者にそういう人はあまり多くな

    "Wakame" は三年後、「あれはイノベーションだった」と言われても不思議じゃないソフトウェアだ - @kyanny's blog
    dealforest
    dealforest 2009/04/28
    ホスティングサーバがアメリカだから体感速度に影響がでるのがネック。国内でどっかがやれば wakame 相当あつい
  • カヤックxクックパッド技術者交流会に行ってきた - @kyanny's blog

    カヤック×クックパッド主催 技術者交流会のお知らせ?おいしいソースのつくり方? - KAYAC engineers' blogに行ってきたので感想を書くよ。 bowls カフェがオシャレ 初 bowls カフェだったけど、すごいオシャレでびっくりした。オフィスの下にあんなお店があるなんてかっこいいなぁ。プロジェクターがすごいでかかった。 アジェンダもオシャレ アジェンダが配られたんだけど、それもオシャレだった。参加申し込み時に「参加者の皆さんへ一言お願いします」って欄があって、何に使うんだろと思いつつ自己紹介を書いたのだけど、それが見開きで全員分載っていたので驚いた。これいいなぁと思うと同時に、今日は普段俺が参加している勉強会とかとは別種の会なのかもなと思った。 参加者もみんなオシャレ・・・な気がする 場所がオシャレ、小道具もオシャレだからすっかり何見てもオシャレに見えるようになってしまっ

    カヤックxクックパッド技術者交流会に行ってきた - @kyanny's blog
  • 公開私のコードポケット - @kyanny's blog

    コードポケット、いいですね。コードポケットとはちょっと違う用途かもな、とは思いますが、僕のやり方を書いてみる。 僕もよく、数行ていどの書き捨てプログラムを書きます。何か新しいモジュールを試したいときとか、 SYNOPSIS をコピペして動かしてみるので一つ、ちょっと書き換えてみてもう一つ、アプリケーションの中でこんな風に使えるといいなーというイメージにそってさらにもう一つ、とか。 ここで困るのは、僕のネーミングセンス(いやボキャブラリーか?)が貧しいからなのか、 a.pl とか hoge.pl とか re.pl とか lwp.pl とか、いかにもありふれた名前で書き始めてしまう。書き捨てプログラムのファイル名なんていちいち考えてられないし、マトモそうな名前を思いつく間に書き終わってしまうくらい短いものだし、かといってワンライナーとか perlsh みたいなのは当に一回書いたらそれっきり、

    公開私のコードポケット - @kyanny's blog
    dealforest
    dealforest 2009/04/24
    today(){ _WORK=$HOME/daily _DATE=`date +%Y-%m-%d` _TODAY=$_WORK/$_DATE mkdir -p $_TODAY cd $_TODAY }
  • mod_rewrite の R フラグと L フラグについてメモ(R を省略できる場合) - @kyanny's blog

    自分自身が http://example.com/ だとして RewriteRule ^/foo http://example.jp/ [L]これは 302 Found でリダイレクトする。何気なく書いて、実際ちゃんと動いてて 302 Found なのも意図した通りで、でも「あれ? R つけてないけどいいんだっけ?」と疑問に思ってしまったので Apache module mod_rewrite を読み直した。 Substitution 部分が http:// スキームで始まり、かつそのホスト名/ポート番号が自分自身のものと一致しない場合は 302 でリダイレクトするものらしい。具体的に、そうである、という説明が書いてあったわけではないけど、 RewriteRule ディレクティブの解説の下のほうにある例の中に ^/somepath(.*) http://otherhost/otherpat

    mod_rewrite の R フラグと L フラグについてメモ(R を省略できる場合) - @kyanny's blog
  • Test::Base でこういうのどう書けば良いのだろう - @kyanny's blog

    追記 http://d.hatena.ne.jp/a666666/20090406/1238986138#c1238990265 でご指摘いただいたように、 yaml フィルターを使って - ~ で undef を表現してやれば良いそうです。 #!/usr/bin/perl use strict; use warnings; use Test::Base; plan tests => 1 * blocks; sub match { my $input = shift; my $re = qr/^(\w+)\s(\w+)\s(\w+)\s?(\w+)?$/; my @matched = $input =~ $re; return \@matched; } filters { expected => [qw(lines chomp array)], }; run_is_deeply input

    Test::Base でこういうのどう書けば良いのだろう - @kyanny's blog
    dealforest
    dealforest 2009/04/16
    [Test::Base][YAML]Test::Base の yaml フィルターで undef は ~ で表現する
  • DateTime::Set と DateTime::Span の使い方がやっとわかった - 刺身☆ブーメランのはてなダイアリー

    DateTime::Set を普通に from_datetimes() で作って iterator でまわしたり as_list でリストを受け取っても、 start と end のふたつの日時しかなくて範囲の日付全部を作ることができず残念だった。 perldoc を熟読して、 from_recurrence() を使えば良いことがわかった。 こんな風にすると、 @dt には $start から $end までの範囲の日時を表す DateTime オブジェクトが入る。 ->add(days => 1) はおまじない的というか、 recurrence で指定する無名サブルーチンは DateTime オブジェクトを一つ受け取り、 The recurrence must return the next event after that object. ということらしい。 my $span = D

    DateTime::Set と DateTime::Span の使い方がやっとわかった - 刺身☆ブーメランのはてなダイアリー
  • 「モダンPerl入門」が届いたので読み始めた - @kyanny's blog

    自分が追いつけていない最近の(といってもここ二年くらいの)話題が読めるほとんど唯一の書籍だと思うので、かなり期待している。 第一章 Moose 結局年末 Moose について勉強しなかったので、これがほとんど初めて触れる状態。あんまり細かいところまで追わずに、わかんなくてもいいからとりあえず読み進めた。「素の Perl でオブジェクトを作る例」はちょっと回りくどく書きすぎかな、と思った。ふつうは my $self = bless { @_ }, $class; くらいになると思う。でも、コンストラクタに渡す引数のチェックとかを真面目にしだすと辛くなってきて、でも Moose なら型チェックとかいろいろ便利にできるよ!ということを(こんな例のあとで)言いたいわけなので、あえてそういう例になっているんだろう、ということは理解できた。 Role は、何故継承ではダメなのか?という例と、 Role

    「モダンPerl入門」が届いたので読み始めた - @kyanny's blog
  • ssh でリモートコマンドを実行するとき、ローカルでリモートのコマンド終了を待ちたくないときは -f オプションをつける - @kyanny's blog

    最後の追記 コメント欄 http://d.hatena.ne.jp/a666666/20090121/1232531071#c で kdaiba さんに超わかりやすい解説をしていただきました。そしてその解説をふまえて yappo さんのツッコミを読み直すと、 192.0.2.0 はやっぱり適切な例ではなかった。ありがとうございました。とても勉強になりました。マエストロの説明も自分がわざわざおかしな風に解釈してしまったんだな・・・。 $ ssh 192.0.2.1 'sleep 3; echo done.' # 3 秒待って done. と出力してからシェルに戻り入力待ちになる $ ssh -f 192.0.2.1 'sleep 3; echo done.' # すぐにシェルに戻って入力待ちになり 3 秒後に done. と出力する例として使える IPv4 アドレスは RFC3330 に載っ

    ssh でリモートコマンドを実行するとき、ローカルでリモートのコマンド終了を待ちたくないときは -f オプションをつける - @kyanny's blog
    dealforest
    dealforest 2009/01/22
    -f でリモートのコマンドを実行し終了を待たなくていい
  • 1