タグ

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

  • 第二次CTOブームから技術顧問ブームへの流れについての考察 - @kyanny's blog

    エンジニア組織のトップには最も技術力が高い人が立つべき」という価値観にもとづいて、多くのWeb事業会社においてエース格のスターエンジニアがCTOないし類似の肩書と地位と権力を持つポジションに就いたゼロ年代のムーブメントを第一次CTOブームと呼ぶことにしよう それを踏まえてテン年代に入り、「スタートアップのような小さな組織ではそれで問題なかったけど、組織が大きくなり成熟していく過程では、経営者の視点からエンジニア組織をマネジメントできる人がいないと組織力を発揮しきれないのでダメだよね」という価値観を後ろ盾に、そこそこ年齢を重ねて気力体力的に現場の第一線がつらくなったりライフステージの変化によって以前に比べパフォーマンスを発揮できなくなった元エースや、技能ではエースに及ばないがそれ以外の格(社歴など)で勝るシニアな人材などの思惑が重なり、「次のキャリア」としてCTOという役職に再びスポットが

    第二次CTOブームから技術顧問ブームへの流れについての考察 - @kyanny's blog
    kazeburo
    kazeburo 2015/10/02
  • New Relic のグラフを毎時チャットに貼り付ける - @kyanny's blog

    New Relic をこまめにチェックすべきだが怠惰かつ忘れっぽいせいでチェックできないので、グラフ画像が毎時チャットにつぶやかれるようにしてみた。 やり方はけっこう込み入っている。 New Relic の Embedded Charts 機能を使って埋め込み用のグラフを作る。 Amazon S3 にバケットポリシーでデフォルト公開設定にしたバケットを作る。 適当なサーバーに Jenkins と phantomjs と s3cmd をインストールし、 s3cmd は 2. で用意したバケットに書き込める Access Key Secret Key で --configure しておく。 capture_put.sh というスクリプトを使い、 phantomjs で embedded chart のスクリーンショットを撮って s3 に put し、画像の URL を HipChat に投稿す

    New Relic のグラフを毎時チャットに貼り付ける - @kyanny's blog
    kazeburo
    kazeburo 2014/11/19
  • livedoor Reader 終了に寄せて: Fastladder オープンソース版は GitHub で開発継続中です - @kyanny's blog

    【重要】 livedoor Reader サービス終了のお知らせ|livedoor Reader 開発日誌 livedoor Reader が 2014年12月25日(木) をもってサービスを終了します。自分でも永らく使っていたし、個人的に縁も思い入れもあるサービスなのでとても残念です。 Twitter で fastladder を検索 して眺めていると、やはりというか LDR 終了で移行先を探している方が多数いるようです。候補としてオープンソース版の Fastladder のセルフホストを検討している方もそれなりにいるようですが、 http://fastladder.org/ja/ のほうをみて「ずいぶん古そうだし、メンテナンスされてる気配もないからダメかな...」と諦めているつぶやきをみかけたので、ちょっとアナウンスを。 http://fastladder.org/ja/ のソースコー

    livedoor Reader 終了に寄せて: Fastladder オープンソース版は GitHub で開発継続中です - @kyanny's blog
    kazeburo
    kazeburo 2014/10/03
  • 「Webエンジニアのための データベース技術[実践]入門」を読んだ - @kyanny's blog

    モバゲーではてブやツイッターがひとしきり盛り上がった日ですが空気を読まずに元モバゲーの人が書いた書評を書きます。 著者の松信さんはたぶん説明不要ですが MySQL のスペシャリストで先日 Facebook に転職された凄腕エンジニアです。その人が書いたデータベースのなのでたいへん充実した内容、ではあったけど、率直に言って僕はLinux-DB システム構築/運用入門のほうが「濃い」と感じました。 「Webエンジニアのための〜」はデータベースを中心とした大規模ウェブアプリケーション運用の話が中心で、一方「Linux-DB システム構築/運用入門」はデータベースの話題に特化しているから、というのが一つ。それから、「Webエンジニアのための〜」は同じような話が繰り返されている箇所がけっこう目について、「もう読んだのに・・・」と若干内容の薄さを感じてしまったのが一つ。雑誌連載記事がもとにな

    「Webエンジニアのための データベース技術[実践]入門」を読んだ - @kyanny's blog
    kazeburo
    kazeburo 2012/06/14
  • MySQL の MEMORY(HEAP) ストレージエンジンを使うときは index_type に気をつけろ - @kyanny's blog

    結論: MEMORY ストレージエンジンの index_type はデフォルトで HASH なので = or <=>演算子を使用する等価比較にのみ使用される。 >, >=, <, <=, BTWEEN を使うクエリでインデックスを使いたいときは USING BTREE をつけてインデックスを作ること。 MySQL 5.0.75 (やや古めかしい?)を使っていて、 MEMORY ストレージエンジンのテーブルに対して、 SELECT * FROM tbl WHERE col1 = 'val1' AND col2 <= 'val2';なんてクエリを実行したら妙に遅かった。 col1, col2 の順番で複合インデックスをはっているにもかかわらず。マニュアル読んだらちゃんと書いてありました。あんまり使う機会もないだろうけど(だからこそ?)メモ。 その名前からもわかるように、MEMORY テーブルは

    MySQL の MEMORY(HEAP) ストレージエンジンを使うときは index_type に気をつけろ - @kyanny's blog
  • Log::Minimal インスパイアなロガーのラッパー - @kyanny's blog

    弊社は椅子の飛ばない穏やかな社風ですが、ログは重要ですね。しかし logger.info とか何度もタイプするのはめんどいし、時刻とか(超大事!)どこで呼ばれたとか(大事!)を真面目に入れるとロガ―呼び出しが長くなって嫌ですね。なので Log::Minimal っぽく infof とか書けるようにした。 https://gist.github.com/1109108 module Log module Minimal [:fatal, :error, :warn, :info, :debug].each do |method| define_method "#{method}f" do |message| time = Time.now.iso8601 level = method.to_s.upcase caller = "%s#%s:%s" % [self.class, action_

    Log::Minimal インスパイアなロガーのラッパー - @kyanny's blog
    kazeburo
    kazeburo 2011/07/29
  • 結婚しました - @kyanny's blog

    日、入籍しました。付き合い始めて丸四年、一緒に暮らし始めてなんだかんだで三年以上経っているので生活は変わりないけど、一つの区切りということで。姓が変わったので今後は「長永(ながえ)」と名乗りますが、今までどおり「刺身」と呼んでください。 FAQ Q. 婿養子? A. (いまのところ)違います そんなわけで、これからもよろしくお願いします。

    結婚しました - @kyanny's blog
    kazeburo
    kazeburo 2011/01/28
    おめでとうー
  • 非同期ジョブキューのアーキテクチャ設計、どうしてますか? - @kyanny's blog

    Gearman のメーリングリストに興味深いポストがあった。僕も色々な意見を聞いてみたいと思ったので、多くの人の目に触れることを期待して紹介する。 Google グループ ウェブサイトに画像をアップロードすると、異なるバックエンドサーバが画像を処理する。まずリサイズし、それから顔認識をする。 一つ目の要求として、処理結果が期待通りかどうかユーザーに確認させたい。顔認識が不要であればリサイズした画像を、顔認識が必要ならばその処理が施された画像を、確認画面に表示したい。つまり、アップロード操作の完了には一つまたは二つのステップを踏む必要がある。 この要求を満たすために同期処理も検討したが、バックエンドサーバがダウンするとウェブアプリケーションサーバも巻き添えをうため採用したくない。 ウェブアプリケーションのプロセスは Gearman にリサイズ処理を非同期ジョブとして送信し、リサイズ処理のワ

    非同期ジョブキューのアーキテクチャ設計、どうしてますか? - @kyanny's blog
    kazeburo
    kazeburo 2010/10/28
    同期+timeoutでいいじゃないかと
  • 「MySQLによるタフなサイトの作り方」を読んだ (Ameba の MySQL 本) - @kyanny's blog

    Ameba の中のひとが書いた MySQL 。出るって噂は聞いてて、気になるなーと思っていたらかぜぶろさんのところでレビューされてたので買ってみた。 某 4G よりお薦め(俺にとって某 4G の内容はさほど目新しくないので、目新しい内容ののほうを薦めたくなるのは当然ではある)。仕事MySQL をいじることがあるウェブアプリケーションプログラマやデータベースエンジニアの人は一読して損はないと思う。知れてよかった!と思えるノウハウがたくさん書いてある。 某 4G と同じソフトバンククリエイティブだし、なんとなく会社紹介的というか、技術カタログ・品評会的な構成になるのかなぁ・・・と、あまり期待せずに読み始めたんだけど、予想に反してかなり泥臭いというか、現場の人のキーボードのキートップが手垢でテカテカしてるのまで見えてきそうな詰め詰めな内容だったので、なんと届いたその日に一日かけて読

    「MySQLによるタフなサイトの作り方」を読んだ (Ameba の MySQL 本) - @kyanny's blog
    kazeburo
    kazeburo 2009/10/26
  • MT形式のエクスポート用に出力をエスケープする - @kyanny's blog

    MT 形式はブログデータのエクスポート/バックアップにおける業界標準といっていいが、フィールドの区切り文字(デリミタ)に "-----\n" と "--------\n" を使っている(五つまたは八つのハイフンの連続に改行文字がついたもの)。これは正規表現で表すと qr/^(-{8})(\n)$/ と qr/^(-{5})(\n)$/ にマッチする。 ブログの文とかコメントの文とか、なんでもいいけど MT 形式でエクスポートしたときにデータが複数行になり得るフィールドでは、データ内にデリミタと全く同じパターンが現れる可能性がある(複数行を許可していないフィールド、例えば TITLE: などは、行頭にハイフンが現れないので上記の正規表現にはマッチしない)。 デリミタと同じパターンがデータの途中で出現してしまうと、パーサにそこがデータの終端だと誤認識されてしまい、データが欠損する。これを防

    MT形式のエクスポート用に出力をエスケープする - @kyanny's blog
  • curl で Cookie - @kyanny's blog

    Cookie ちゃんとできてるかどうか調べたいときに LiveHTTPHeaders 開いたりするのは面倒なのでもっと楽にできないかなーと思って https://addons.mozilla.org/ja/firefox/addon/6683 ってのを見つけたけど、それ curl でもできるんじゃね?と思って調べたらできたのでメモ。 http://www.big.or.jp/~crane/cocoa/0800_internet/curl/index.html がわかりやすかった。 -b (--cookie) file -c (--cookie-jar) file [kyanny@kyanny-laptop2 ~/daily/2009-10-19] # Set-Cookie ヘッダがはかれる $ curl -I http://www.livedoor.com/ HTTP/1.1 200 OK

    curl で Cookie - @kyanny's blog
  • Mac のバックスラッシュが円マークに化けたとき、バックスラッシュに戻す手軽な方法 - @kyanny's blog

    自分でも何を言っているのかよくわかってないが・・・ Macのバックスラッシュと円マークの違いの洗礼を受けた - 刺身☆ブーメランのはてなダイアリー で少し書いたけど、 $ echo '\u30A4\u30C1\u30ED\u30FC' | pbcopy # ← Emacs とか Firefox にペーストすると \u30A4\u30C1\u30ED\u30FC に化け(?)るこれを戻したくなったとき、はてなダイアリーに貼り付けて「確認」すると円マークがバックスラッシュに戻る。はてダに限らず EUC-JP な文字コードの CMS とかならだいたいいけるみたい。 しかし、 Firefox で表示してコピーしてクリップボードに入れたときと、 pbcopy を使ったときと、 Emacs で yank してクリップボードに入れたときとで、いつどのタイミングでどう変わってしまうのかが把握できない・・・

    Mac のバックスラッシュが円マークに化けたとき、バックスラッシュに戻す手軽な方法 - @kyanny's blog
    kazeburo
    kazeburo 2009/09/29
  • Perl 技術者の雇用って多いのだろうか - @kyanny's blog

    http://mt.endeworks.jp/d-6/2008/10/tpfj-premeeting-1.html を読んで、 やっぱりPerl技術者はなかなか雇えない というところにおやっと思った。「〜雇えない」だから雇う側の感覚なのかな。雇われる側(要するに Perl仕事を探す側)からすると、 Perl 技術者の雇用って少ないなぁというのが実感だ。「Perl 経験者歓迎!だけど業務では PHP を使います」みたいなのばっかり。そんなに PHP が嫌かと言われればそうでもないけど、「Perl 技術者の需要」とはちょっと違うよなー、と思う。 自分のアンテナが、高度も精度も低いってだけで、世の中には結構需要があるんだろうか。それとも、市場が小さいから雇う側と雇われる側のマッチングがうまくいってないだけなのかな。

    Perl 技術者の雇用って多いのだろうか - @kyanny's blog
  • mixi のエコー - @kyanny's blog

    昨日の晩、「mixi のエコーって、期間限定でやる意味あるのかな?ミニブログやるならもっと早いタイミングで出してないとまずいと思うんだけど。開発に時間をかけすぎじゃない?」という質問をされて、「たぶんあれは、単にミニブログを作ってみたかった、というのが目的じゃなくて、 mixi の研究開発をやってるエンジニアたちが作ってる新しいストレージとかキャッシュのシステムの実験をしたいんじゃないかな。日記で番投入する前に、ある程度のデータをとっておきたいというか。当はベータ版サービスとしてリリースしたいところだけど、 mixi じたいがベータだから、アルファを名乗るわけにもいかず、期間限定という扱いにしたんじゃないだろうか。データ計測が終わった段階で、改めてリリースされるんだと思うよ」と適当に答えておいたら、だいたい読みが当たっていたようで、おやっと思った。 mixi engineer blo

    mixi のエコー - @kyanny's blog
  • cgiapp=非モテ?な件 - @kyanny's blog

    結論を先に書くと、`専用のコミュニティがあったらcgiappもモテになるかも!?'みたいな感じ。ならなくてもいいと思うけど・・・w 3. あまりモテない はてなブックマークのブックマーク件数があきらかに Class::DBI > Catalyst >>超えられない壁 >> CGI::Application という現実 あれ?と思ったので自分のブックマークを見直してみた。刺身☆ブーメラン(金子健介)のブックマーク / catalystが2件。え?そんだけ?検索してタグなしのも探しても5件くらいしかない。刺身☆ブーメラン(金子健介)のブックマーク / CGI-Applicationが15件くらい?Dispatch他のタグも混ぜたらもうちょっとありそう。Class::DBIは・・・なんとcdbiというタグをつけてない。検索してもやっぱり数件、perldoc.jpの和訳とかそんなのくらい。 なんか

    cgiapp=非モテ?な件 - @kyanny's blog
  • CGI::Application::Dispatch::BuildURI モジュールをリリースしました - @kyanny's blog

    21:16 追記 0.01には重大なバグがありました。move_uriを使うと無限ループに陥ります。「リクエストが多すぎて処理できません」のようなエラーになって画面が表示されません。fixedな0.02をアップしなおしましたので、そちらをどうぞ。明日にはインデックスされるはず。。。いやはやひどい凡ミスだ。。。 CGI::Application::Dispatchを使っているときに、テンプレートの相対パスがずれる問題を解決するための CGI::Application::Dispatch::BuildURI というモジュールをリリースしました。関係ありそうな以前のエントリはこちら。 詳細はドキュメントなりソースなりtarballに付属のテストなりをご覧ください。 下手な英語よりも日語でモジュールの解説をしなおしたほうがいいかと思っていろいろ書いたのですが、どうも下手なのは英語だけではなかった

    CGI::Application::Dispatch::BuildURI モジュールをリリースしました - @kyanny's blog
  • エキサイト翻訳を笑ってはいけないと思った出来事 - @kyanny's blog

    エキサイト翻訳といえば、日語的にそれどーなのよといいたくなるような失笑モノの翻訳をかましてくれることで有名ですが、今日ちょっと英文を書いたので彼に読ませてみたところ、こんなんでてきました。 英文(オリジナル) Hello, everyone! I made a module named CGI::Application::Dispatch::BuildURI. This module resolve a relative URI path's problem when writing template files. When I use CGI::Application::Dispatch, I often confused by relative URI path difference. For example, following two URI call same module a

    エキサイト翻訳を笑ってはいけないと思った出来事 - @kyanny's blog
  • 今日のCPAN - @kyanny's blog

    CGI::Application::Plugin::Forwardが1.05にバージョンアップ。 Changesを読んでみると、Redirectとの差を説明するドキュメントを追加したとのこと。 1.05 October 03, 2005 - fixed to work with old versions of CGI::Application that don't support callbacks - now explicitly 'use CGI::Application' to make the registration of hooks it possible to register hooks at class load time. - added docs describing the difference between this module and CGI::Applic

    今日のCPAN - @kyanny's blog
    kazeburo
    kazeburo 2005/10/04
    redirectとforward
  • CGI::Application::Plugin::Redirectのredirect()メソッドを改造してみた - @kyanny's blog

    おまえのログ/CGI::Application::Dispatch勉強中その2をうけたblog.nomadscafe.jp/PATH_INFOと相対パス(リンク)でのredirect_dispatch()に対して、「CGI::Appliction::Plugin::Dispatchというモジュールが出たからそれを利用できないだろうか」というエントリを起こそうとおもっていた。おもっていたらかぜぶろさんが先にDispatchモジュールに言及されていたのだが、せっかくなのでかぜぶろさんが先のエントリで実装したredirect_dispatch()メソッドとCGI::Application::Plugin::Redirectモジュールのredirect()メソッドのいいとこどりをしてあわせ技一を狙ってみた。 以下のディレクトリ構成で、http://hogehoge/app.cgiにアクセスすると

    CGI::Application::Plugin::Redirectのredirect()メソッドを改造してみた - @kyanny's blog
  • 1