読者です 読者をやめる 読者になる 読者になる

肉とビールとパンケーキ by @sotarok

少し大人になった「肉とご飯と甘いもの」

たくさんLTやる前提のPHP周辺の勉強会やります #phpblt

同僚が potatotips という Android/iOS の Tips を共有する勉強会、というのやってて楽しそうだったのがあり、そういやPHP懇親会、という最初から飲んで全員が発表するスタイルの勉強会大昔にやったな、というのを思い出してもう一度なにかやってみよう、と…

CTOとはいったいなんだったのか

こんにちは。元クロコスCTOの sotarok です。 元というのは、「クロコス」という会社が吸収合併にされてなくなったからですね。 「CTOとはどういう人だ」という話は、ここ1−2年ホットで、定期的に話題になります。自分の元上司であるグリーふじもとさんやnao…

喧嘩をしない技術、あるいはずっと仲良くやっていくために大切な10のこと

妻と約10年喧嘩ゼロを継続中の sotarok です。 この記事は Advent Calendar「家庭を支える技術」に参加しています。 12/22 の予定でしたが遅くなってしまいました、すみませんすみません。。。 21日は mshkさんによる 家庭を支える技術21日目: 平日の夕食作…

Speaker Deck で変な URL 付けられるのを抑制する

発表スライドをアップロードするのに使っている Speaker Deck というサービスがあるんですが、こいつなかなかのクセモノで、発表資料のタイトルをURLに組み込もう としやがります。 つけたタイトルが The 3 Good Habits for Shell Beginners の場合、URLは s…

Perfume による究極のユーザー参加型エンターテイメント #prfm

(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(docume…

PHPカンファレンス2013 で「PHPerのためのデータサイエンス入門」という話をしてきました #phpcon2013

PHPカンファレンス2013 先日 9/14 に行われた PHP カンファレンス2013 で「PHPerのためのデータサイエンス入門」という話をしてきました。データサイエンスというと、おそらく、キモになるところは「モデリングと効果測定のところ」ではないかと僕は思ってい…

「王様達のヴァイキング」と漫画の監修

久しぶりのブログです。こんばんは。 タイトルの通りなんですが、「王様達のヴァイキング」という、週刊ビッグコミックスピリッツ(小学館)で連載中の漫画の監修のお手伝いをさせていただいてます。この度、無事、単行本第1巻が発売されました! ハッカーとエ…

ログ分析のためのデザインパターン(メモ)

ただのメモ アクセスログ トランザクション イベント ビーコン つか超久々にはてダ書いて、ただのメモとは。はてな記法完全に忘れたなあ。

packagist の読み方は「パッケ(ー)ジスト」 #phpstudy

PHP

PHP 勉強会に参加してきました。 久々でした。相変わらず @koriym さんの説明はわかりやすくて面白いなーと思いました。Engine Yard さん会場提供ありがとうございます。いいトコですね。SF のベンチャーみたいな雰囲気ですね。 第65回 PHP勉強会@東京 : ATN…

capistrano で WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED (Host key verification failed) を無視する

AWS で EIP とかつかってると、IP 同じでホストが変わることがまれによくあるのです。 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@…

PHPカンファレンス2012 で Git と Pull Request をつかったチーム開発の話をしてきました #phpcon2012

PHP

PHPカンファレンス2012 | 日本最大のPHPの祭典 先日 9/15 に行われた PHP カンファレンスで、Git と Pull Request をつかったチーム開発について、発表をしてきました。 資料と補足 まず、発表資料です。あらためてメインの主張をすると、「Git に移行する」…

僕と nequal と Crocos

もう、少し経ってしまったのだけど、僕たちの作った 株式会社クロコス / Crocos, Inc. が、先月、ヤフー株式会社 / Yahoo! JAPAN に買収された。 クロコスは、PHP界隈で出会ったエンジニア5人と、元楽天のシリアルアントレプレナーの岡元淳さん・小澤隆生さ…

PHP カンファレンス 2012 は 9/15。Git と Pull Request の話をします。 #phpcon2012

PHP

9/15 はぼくの誕生日です。お祝いお待ちしております。 http://www.amazon.co.jp/registry/wishlist/17WX35XQMAKVJ/?sort=priority と、それはともかく、9/15 に PHP カンファレンスが開催されます。例年通り、ちょっと行きづらい PiO ですよ。 公式タグは #…

第59回PHP勉強会のLTでGITLABの紹介してきました

Git

第59回PHP勉強会@東京 : ATND 資料あげておきます。LTだしほとんどデモだったし、資料自体にあまり意味ありません。。 ※またはてダに SpeakerDeck 貼れなくなってるなぁ。そのうち対応されるでしょってことでそのままにしておく。 直リンク: GITLABの紹介 @ …

全てのサイトをぼかす UserStyle つくりました

CSS

fluentd casual talks で一番感動したのはやっぱこれだとおもうんですよ デモのぼかしについてぼかしたいところに、ブラウザのユーザCSSで以下のルールを適用しています。 .bokasitai { color: transparent; text-shadow: 0 0 10px #333; } [fluentd] #Fluen…

phpenv + php-build を使って 5.3 と 5.4 を共存させつつ php-fpm を使う

PHP

っていう話なんですが、前提として、 phpenv + php-build は他にも多くの方が語ってるので、そちらを参考に。いやむしろ僕も参考にさせていただきました、ありがとうございます、いくら安いとはいえこれで PHP 5.4 のためにVPS1台借りるとかってことがなくな…

今更Perfumeに興味が出てきた人がとりあえず聞いておくべき5曲

あくまで俺の中で、なので、他の人の視点だともっと色々あるかもしれない。ま、それはそれぞれの人の視点ってことで! 好きな曲がありすぎて5曲とか選びづらいけど... 1. エレクトロ・ワールド エレクトロ三部作(エレクトロ・ワールド、コンピューターシティ…

Capistrano の on_no_matching_servers で no servers matched でもタスクを継続する

Capistrano で role を指定してtaskつくったり、role を指定して run したときに、その対象の role がサーバリストにないと、 $ cap apache2:afterdeploy * 17:54:40 == Currently executing `apache2:afterdeploy' * executing "sudo -p 'sudo password: ' …

dh-make-pecl (dh-make-php) を使って5分でPECLパッケージをオレオレ.debにする

PEAR だったらデプロイするアプリ内に配置すれば良いのだけど、PECLとかこまりますよね。 あと、どうしても、サーバ複数セットアップとかしてたらいちいち pecl コマンド叩くわけにもいかないので、パッケージ管理をしておきたい感じになります。とはいって…

PHP勉強会@東京 #58 で「入門PHP5.4」の話をしました

PHP

久しぶりのPHP勉強会でしたね!僕も通常のPHP勉強会での発表は久々だった気がします。 というわけで、入門PHP5.4という題で発表してきました。 第58回PHP勉強会@東京 - events.php.gr.jp 発表資料&リンク集 Speaker Deck にあげました。が、Speaker Deck だ…

Travis CI で、Organization のリポジトリの設定をする

GitHub と連携した CI 環境の Travis CI で、通常、自分の保持するリポジトリは OAuth でログインすると一覧に現れるのですが、Organization のリポジトリの設定は手動で設定しなければいけません。あと、そのリポジトリの admin 権限が必要です。 Admin の …

Behat でメソッド定義して正規表現にもマッチしているはずなのに「未定義」と言われてハマった件

原因が分かったときに死ぬほど悲しかったが、ひとまず記録しておく。 ... When I run "git daily init" ...とか書いてて、メソッドも

「Pull Request」 はオープンソースに限らず使える優れた開発フローだ

チーム開発において、「チケット/Issue」「TDD」「コードレビュー」など、ソースコードの変更に対する効果的な開発フローについてよく考えるのだけど、なんにしてもこのあたりは非常に課題が多く、各社各コミュニティで色々なやり方が模索されているポイント…

いつも忘れて頑張って検索して名前を思い出すのでメモしておくスティーブン・キング原作のホラー「ランゴリアーズ」

「ランゴリアーズ」 See in Amazon NHK で深夜にやっていたのを姉だか母だかといっしょに見ていたんだけど、飛行機に乗っていた人たちが何人かを残して消えてしまい、謎の世界?へいってしまう。そこで迫り来る危機と、飛行機で人が消えた理由(というか自分…

pecl install hoge でインストールしたとき、インストール先が extension_dir じゃないディレクトリになってしまう場合

PHP

Debain での話。 手元で色々 PHP いじってて環境が微妙なことになってしまったとき まぁ、こういうことになる人ってあんまいないと思うけど $ sudo pecl install hogeでインストールすると、 ... checking for PHP includes... -I/usr/include/php -I/usr/in…

KnpPaginatorBundle で Twitter Bootstrap でうまいこといくやつを出す

小ネタ。Symfony2 つかってるとページング処理どうしようかってのに KnpLabs が公開してる KnpPaginatorBundle を使うことが多い。KnpPaginatorBundle は 2.0 系から Zend_Paginator に依存しなくなって使いやすくなりましたね。 *1そして、最近特に管理画面…

node.js で Redmine の REST API を扱う node-redmine つくりました

Redmine の API をごにょごにょしたいことが多いんだけど、毎回 PHP ってのも芸が無いので年始の休みのときに遊びはじめてみた node.js / JavaScript のモジュールにしてみた。 sotarok/node-redmine · GitHub 何でもある npm になかったので、node.js の練…

いち早く70%〜80%程度の完成度で人に見せられるものを作ることがいかに重要か、という話

去年の年末、Facebookで以下の様な画像が流れてきて自分もついついシェアしたんだけど、久々に、というか、自分にとってのここ最近の課題をドンピシャで突かれたような気がして、しばらく頭から離れなかった。 出展: 中村 修治 - 中村 修治さんの写真アルバ…

2011年、今年変わったもの sotarok 版

毎年この時期に、今年のまとめ記事とか書こうと思ってだいたい面倒になって書かないで終わるので、今年はなんとなくちゃんと書いてみようかと思います。テーマは、今年変わったもの、です。僕にとって変わってものもあれば、世の中的に変わったものもあるか…

PHP Apocalypse で発表してきました #phpapoc

PHP

PHP - Be Happy with PHP というタイトルで発表してきました。PHPというか、なんとなく、PHP全般とか、チーム開発とか、開発全般とかの話です。 PHP - Be Happy with PHP // Speaker Deck PHP Apocalypse : ATND ※スライドだけ見ても全然伝わらない風の発表…

git add -p のときの e(手動編集)

Git

自分ではあまり add -p の e ってつかったことなかったんだけど友達がよくわからんってことだったので調べてみた。以下のような diff を add -p して、 e してみます。 $ git add -p diff --git a/fuga b/fuga index 1a39df0..5bc676d 100644 --- a/fuga +++…

Redmine で Wiki 内に画像っぽいリンクが含まれていたら画像に展開する

世間ではアドベントカレンダーが大流行の昨今ですがちまちまRedmineネタとかなんですけど皆様いかがおすごしでしょうか。なんでこれてブログ書こうと思ったのかわからないほどの小ネタだけど、こういうネタを適当にブログに書いていくということは大切だと思…

はじめてのはてなブログ

はてなブログはじめました 先週からダイエットもはじめています。 いまのところ順調です!

Ethna 2.6.0 beta3 リリース

以前のリリースからまた少し空いてしまったのですが、PHPカンファレンスでの宣言を実現すべく、2.6の開発を進めています。 で、2.6 beta3 リリースしました。 http://ethna.jp/doc/ Ethna 、ついこないだ GitHub に移行したんですけど、その直後から Pull Re…

#pyfes で git-daily について話してきました

git-daily について #pyfes で話してきました。 git-daily: git-daily #pyfes: Python Developers Festa 2011.10 を開催します - Twisted Mind Webアプリケーション開発におけるGitのブランチ運用戦略についての話です。 パッケージものの開発などと大きく異…

最近お気に入りのPHPライブラリ開発手法

PHP

PEAR2/Pyrus ってどうなったんだっけ? という話はとりあえず一旦置いておいて、最近わりかしカジュアルにPHPライブラリを開発して配布する方法がなんとなく自分の中で定着してきたので超ざっくりまとめておく。 ソースコードはGitHub、開発にはgitflow、配…

Capistrano + rsync で省エネデプロイ

こんにちは。タイトルの通りなんですが、Capistrano みんなつかってるよねー。 ってことで独自のデプロイシステムをもってなくてさすがにFTPでUPはしてませんって人は結構使ってるもんだと思ってるんですけど、Capistrano ってなんかデフォルト各サーバで vc…

Git関連ツール開発中に手元で remote 関連の動作テスト

Git

いやまあこんなことは、どうでもいいといえばいいのですが、意外と知らない人もいるかも意知れないと思ってメモ。git-daily の開発とかでよく remote とのやりとりの動作確認とかが必要になるんだけど、そのテスト方法について。いちいち gitosis やら githu…

パーフェクトPHPが増刷されました (第3刷!)

こんにちは、もう夏のような毎日ですが皆様いかがお過ごしでしょうか。さて、タイトルのとおりですが、昨年11月に発売された、パーフェクトPHPが増刷され、この7月に第3刷となりました!みなさまのおかげです。本当にありがとうございます。 第3刷での更新 …

今すぐ Follow すべき PHP 界のスーパーエンジニア

流行に乗りました。反省してます...順不同。PHP界隈の人で、PHP のこと結構つぶやく人中心に。そしてわりかし適当です。 @moriyoshit , PHP @shin1x1 , CakePHP @yando , CakePHP Lithium @tokushima , rhaco @hidenorigoto , Symfony2 @fivestr , Symfony2 …

Time Capsule から任意のファイルを任意の場所に復元する

Mac

どうも、love++ の件で密かに話題になっているそうたろうです。Mac を買うたびに Mac ネタかって話ですが、タイトルのとおり、Time Capsule から任意の場所にバックアップされているファイルを復元する方法です。今回、自分のマシンで問題になったのは、復元…

退職のお知らせ&〜

今週の 5/18 日をもって、グリー株式会社を退職しました。 昨年院を卒業し、新卒で入社して1年と1ヶ月、短い間でしたが、これまでの人生の中で最も濃密な1年間だったと思います。グリーでは、色々端折りますが、PHP 5化、APC 化、Git 化、コーディング規約の…

DotCloud で PHP アプリを設置してみたときの色々

beta の invite もらったので DotCloud で遊んでみました。 dotCloud - One home for all your apps アプリ1つくらい設置してみないとなんだかよくわからないよねってことで、とりあえずどこで公開するかなーと思っていた、paste アプリ を設置してみた。 Pa…

Tiarra に設定を再読込させるための方法

Tiarra といえば、IRC Proxy としてはもはや定番といってもいいとおもうんだけど、それの設定を再読込させたい話。 Tiarra : Archive 多分いくつか方法はある。と思う。で、設定を変更するたびに再起動とかやってると、所属してる全チャネルから抜けたり入っ…

PEAR で Unable to find the wrapper "channel" - did you forget to enable it when you configured PHP?

なんか出るよね最近。環境はDebian SqueezeのPHP 5.3.x。いや Lenny + dotdeb でも出る。(てか後述のとおり xdebug の設定だから環境依存じゃないかも。ちなみに PEAR は version 1.9.1) 検証してないけど channel:// を register してないのに使ってる気が…

Git で過去にさかのぼってタグ付けする (git tag)

Git

もうだいぶ歴史を進めて開発進めてたんだけど、そういやあのプロトタイプが動いたときタグうっときゃよかったなーなどと思ったんだけど、意外と情報がなかったからメモ。 git-flow 使って、develop で開発進めてたりして、リモート/ローカルで push/pull も…

2011 年もよろしくお願いします

結局例年通り、2010年まとめエントリは間に合いませんでしたが(w)、一応、まとめつつ、今年の目標など。 2010年のまとめ もう面倒だから箇条書きでまとめますか。思いでエントリー。 1月 修論がんばってた 2月 修論終了、卒業決定 3月 大学院卒業。6年間…

名前空間とautoload、標準的なClassLoaderの実装 (#phpadvent2010)

PHP

PHP Advent Calendar jp 2010 : ATND ってことで、アドベントカレンダーが回ってきたので書きます。なに書こうか迷いましたが、とりあえず、最近自分でも真面目に使い始めたPHP 5.3向けのClassLoaderと名前空間についての話です。 世の中的にずいぶん「これ…

モダンPHP勉強会 #2 やります!

PHP

モダンPHP勉強会 #2 : ATND 今回のテーマは、モダンなテンプレートエンジン Twig です!パーフェクトPHPの発売&増刷記念トークとサイン会、プレゼントもあるよ!(多分) みんな参加してね! パーフェクトPHP (PERFECT SERIES 3)作者: 小川雄大,柄沢聡太郎,…

ゲキカワXdebugでモテモテPHP開発

今や PHP で開発するときに Xdebug は誰もが当然つかってるよね!! まあ、「俺はそのままのエラーが好きなんだ」って人は置いておくとして。。。 大体の人は、stack traceがあると嬉しいとか、var_dump() 見やすいとか、そういうことで Xdebug ってのは愛用…