タグ

ブックマーク / unknownplace.org (13)

  • 独立しました - unknownplace.org

    2013年8月末で面白法人カヤックを退職し、新しく会社を設立しました。 カヤックには約9年間お世話になり、とても多くのことを学ばせてもらいました。 とくにクリエーターとしての自分の考え方は、ほぼカヤックで養われたと言っても過言ではないでしょう。 そういう意味でカヤックは僕の第二の親のような存在であり、鎌倉方面には足を向けて寝られません。 当にありがとうございました。 カヤックは面白法人とか名乗っていますが、実は非常にまじめな集団です。 たとえば、経営理念についても、とても真摯に向かいあっています。 経営理念とはただの飾りではなく、まさに会社の存在意義であり、社員全員がそれを意識して仕事をしなければ意味がない。 そんなことから半年に一度、全社員で経営理念について考えるための全員社長合宿、というものをやっていたりします。 そんな環境で、自分も個人としての理念を磨いてきました。 昔のカヤックス

    studio-m
    studio-m 2013/10/01
    おぉ
  • TwilioのRedisによる決済サービスの障害、2つの原因 - unknownplace.org

    Twilio というサービスで決済サービスの障害があったらしいが、恐しいことにこのサービス、 決済情報をRedisで管理していたらしい、というのをRedis作者、antirez氏のblogで知った。 Twilio incident and Redis - Antirez weblog この件に関しては、Twilio自体も 調査報告 を出している。簡単にまとめるとこういう感じだ: TwilioではRedisを single-master, multi-slave なレプリケーション環境で使用している ネットワーク障害で一時的に master-slave 間の接続が切れたことにより、master-slave間のデータの再同期が発生 この再同期がすべてのslaveに対して同時に発生したため、masterの負荷が高くなり、結果決済サービスの障害が発生 この負荷を解決するためmasterを再起動する

  • MacBook Air セットアップメモ - unknownplace.org

    11インチのやつ、買いましたよ。よくあるセットアップメモを残す。 SSDの容量が心許ないので、バックアップからの復元はしないで新規で設定した。 OS 再インストール まずやっぱ最初はこれ。目的は大文字小文字を区別するファイルシステムでパーティションを切りなおすということのみ。 デフォルトのファイルシステムではWindowsなどとおなじように大文字小文字を区別しない。そういう環境ではたとえば #include <STDIO.h> とか言うコードも通ってしまう。そういう気がつかないうちに仕込まれる各種トラブルの種は気持ち悪いよね。 注意点としてはAdobe製のソフトはそういうトラブルの種を抱えたコーディングをされているらしいものが多いようで、このファイルシステムにすると動作しないものが結構あるらしい。たとえばPhotoshopは最新版でもうごかないみたい。 (Lightroomは大丈夫) ソフ

    studio-m
    studio-m 2011/02/02
  • yokohama.pm tech talk #5 - unknownplace.org

    OpenSocial なモバイルアプリを書く場合、アプリ単体でテストできるようにしてくれる Moxy の OpenSocial プラグインの話と、外部 API 呼び出しを専用に行う非同期なプロクシサーバーの話をしました。 資料はこちら: OpenSocial mobile application development 前者に関しては、個人的には OpenSocial モバイルアプリ開発には必須なツールなので良い感じにしていきたいところ。 &してくれるひと募集。 後者のプロクシサーバーは「あんまり頭よくない」だけれども、現在のウェブアプリケーションの構成で、API呼び出しの待ち時間をうまく使おうとするときにはこうなるのかなぁと思った。同じようなことをしているところもあるらしい! 個人的にはそれ〜でできるよ!ってのがないかなーと思っていたのだけど、ないっぽいのかなー。 nginx でおしいと

  • unknownplace.org - 2009/06/17 - lighttpd だけで多言語サイトを作る方法

    lighttpd 1.4.21 以上では $HTTP["language"] という新しい変数(?)が設定の中で使えるようになり、これを使用するとクライアントの Accept-Language に応じて lighttpd の設定を変えることが可能になります。 これを利用して多言語化しているサイトとしては opensource.kayac.com が有名です。 このサイトは以下のような設定で動作しております。 $HTTP["url"] !~ "^/(?:(?:css|js|img|images?|static|tmp)/|[^/]+\.[^/]+$)" { $HTTP["url"] !~ "^/(en|ja)(?:$|/)" { $HTTP["language"] =~ "(en|ja)" { url.redirect = ( "^/(.*)" => "/%1/$1" ) } $HTTP["

  • 2009/06/25 - memo - unknownplace.org

    最近は Text::MicroTemplate (TMT) をよく利用するようになったのですが、使用するにつれ不満なところが出てきたのでそれを解決するために少し拡張してみました。 実際には拡張したのは Text::MicroTemplate ではなく、Text::MicroTemplate::File です。 http://github.com/typester/text-microtemplate-extended-perl/tree/master 現在二つの機能を追加してあるのでそれを以下にまとめておきます。 テンプレートの継承機能を追加 テンプレートを分割するような規模になってくると現状の TMT では <?=r $self->render_file('header.mt') ?> ここにコンテンツ <?=r $self->render_file('footer.mt') ?> など

  • 2009/04/20 - memo - unknownplace.org

    もう4回目か。。 qudo x skinny (id:nekokak) qudo はクドーと読む。キュードーだと思ってた!(& キュードーのが良いなぁ) Skinny は前回(?)も発表したORMSQL::Parser がしょぼい&遅いので捨て、ルールベースにしたとのこと。 それはいいんだけど、DSL まくっててちょっと個人的にはやだなぁ。DSL は覚えるのが大変。DSLは ::Declare とかで別途やって欲しい感じ。どちらでも使えるのがいいと思います! 現状は一部足りないところもあるけど、だいたいのところ(id:nekokakさんが普段使う領域)はうごくレベルらしい。 Qudo は TheSchwartz みたいなジョブキュー。TheSchwartz の不満なところを直して、欲しかった物をつけた感じの物。 ORM に依存しないDB 以外にも memcached とかキャッシュサーバ

  • 2008/11/29 - memo - unknownplace.org

    ライブコーディングをしてきました。シンプルなwikiです。 ソースコードはこちら。 http://github.com/typester/yiki 会場で書いたものに.gitignoreファイルを追加(coしたときにディレクトリがそろってないとうまく動かないので)しただけなものとなっています。 コード書くのに必死だったのであんまり解説ができなかったのですが、まず最初に Yiki.pm というところに wiki のページ編集の機能をモジュールとして作成し、それをあとから作った Yiki::Web という Catalyst アプリから使うというのがポイントでした。 単体モジュールとして wiki の機能を実装することでテストが書きやすいので安心だとか、ほかのアプリからも使えるだとかいろいろな利点が生まれます。 今回のコーディングの流れは 01_module.t に SYNOPSIS を書いてみ

    studio-m
    studio-m 2008/12/07
    Yokohama.pm#3の資料
  • 2008/02/29 - memo - unknownplace.org

    下記camr作った時点での僕のポリシーは アプリ名にかかわらず設定ファイルはconfig.yamlとconfig_local.yamlでも変更することがないほとんどの設定はyamlには書かない。yamlがごちゃっとするときもいForceUTF8系モジュールは使用しない。内部がきちんとutf8で統一されていれば必要ない。MyApp::UtilsとかいうのでいろいろBKなことをまとめてする。uri_forを気に入るように直したり、FillInFormの挙動変えたり なんか抜けてる気がするけどこんな感じ。

    studio-m
    studio-m 2008/02/29
    Catalyst始めたので参考にする。「ForceUTF8系モジュールは使用しない。内部がきちんとutf8で統一されていれば必要ない。」 そうなのか。
  • 2007/05/07 - memo - unknownplace.org

    書き忘れたけどさっきの update_schema.pl は ./script/myapp_update_schema.pl dbi:mysql:tablename username password 見たいな感じで DSN を渡す必要がある。めんどう。 ここら辺があれでまだヘルパーにはなってない。 mizzy.org : Re: DBICとDBIx::Class::Schema::Loader 僕のいろいろな勘違い 僕の中で流行ってる使い方があるのでかぶせて書いておいてみる。mizzy さんの二個目の例を自分ルール化させた感じ? 作業は一般的なCatalystアプリのディレクトリ構造上であるとして、そこに新しく schema というディレクトリを作成。 そんで、 schema/lib/Schema/{TableName}.pm に各テーブルのリレーション定義とかメソッドとかを自分で書く。

    studio-m
    studio-m 2008/02/26
    make_schema_atに手動設定をくっつけてスキーマ作成するスクリプト
  • 2008/02/07 - memo - unknownplace.org

    動かすのに必要だったもの sudo aptitude install ruby ruby1.8-dev rubygems sudo aptitude install libfreeimage-dev sudo gem install rails sudo gem install sqlite3-ruby sudo gem install feed-normalizer DBセットアップ rake db:migrate RAILS_ENV=development 起動 ./script/server -e development すばらしすぎるなぁ。

    studio-m
    studio-m 2008/02/07
  • 2008/01/23 - memo - unknownplace.org

    DBICで論理削除をしたくなったので調べていたのだが、うまく書く方法がイマイチなかった。 まず、削除フラグを常にチェックするようにするのは簡単で、テーブルクラスに __PACKAGE__->resultset_attributes({ where => { deleted => undef }}); とか書いてくだけでつねにWHERE句に deleted IS NOT NULL が入るようになる。これはマニュアルに書いてある通り。 問題は削除するときで、テーブルクラスで delete 定義してそこで update({ deleted => 1 }) とかやればいいかなと思いきや、そうすると cascade delete 効かなくなってしまっていやだ。 DBICのrowに対するdeleteチェーンは大まかに ユーザー定義テーブルクラスでのdelete (定義されてる場合)DBIx::Clas

    studio-m
    studio-m 2008/01/25
    DBICで論理削除
  • Schema::Loader with CatalystComments

    Catalyst::Model::DBIC::Schema を使う。 この Model は大きく3つの使いかたがある。 単純に既に存在する Schema クラスを使用するSchema::Loader で既存の DB から Schema クラスを生成し、それを使用するSchema::Loader で既存の DB から Schema::Loader クラスを生成し、それを利用する。 1 はまず Schema クラスをどこかに作ってあり(My::Schemaと仮定する)、それをそのまま Catalyst::Model として利用する。 ./script/myapp_create.pl model DBIC DBIC::Schema My::Schema で、MyApp::Model::DBIC が作成される。この My::Schema に connection なんかが定義されていてそれを使う場

    studio-m
    studio-m 2007/10/29
    Catalyst::Model::DBIC::Schemaの使い方3パターンまとめ
  • 1