packagist の読み方は「パッケ(ー)ジスト」 #phpstudy
PHP 勉強会に参加してきました。
久々でした。相変わらず @koriym さんの説明はわかりやすくて面白いなーと思いました。Engine Yard さん会場提供ありがとうございます。いいトコですね。SF のベンチャーみたいな雰囲気ですね。
Riak
id:riaf に名前が似ていることで有名な Riak に関しては、riak-php-client をとりあえずいじってみようかとおもいます。LT ってことであまり時間を取れなかったみたいな感じだったんですが、DEMO も見たかったです。
Packagist
で、LT で Composer と Packagist について発表があって、改めて最近 Composer だよなーとは思いつつ、様々な理由で、早く「ほぼオフィシャル」になってほしいなーと思う次第です。
それで、発表の中できしださんが "Packagist" を「パッカギスト」と読んでいることがあり、他の方もそう読んでいたので、PHPer の中では標準的な読み方なのか?と思いつつ、とはいえ本当はなんて読むんでしょうかね、と気になったので海外のプレゼンとかの動画を色々探してみたわけですが、結構ソース少ないんですね。で、見つけたのでシェアしておきます。(いくつか見ましたが、まぁだいたいこんなんでした)
あ、ちなみに揚げ足とりたくてやってるつもりはありませんよ。*1
4:23 地点あたりです。
The Wonderful World of Composer - YouTube
発音的には、普通に Package + ist ですね。
カタカナでいうと「パッケージスト」かなー。という感じがします。
より正確に書くと「パッケジスト」で「パ」にアクセントが来る感じ。まぁそもそも Pa が破裂音 st もほぼ母音ナシなので、カタカナ表記だと難しいんですが。
あと、英語に関して言うと、enable、disable について、「エナブル」「ディサブル」という発音もありましたが、カタカナ表記するなら「イネイブル」「ディセイブル」あたりでしょうか。
うちの会社にも英語の不得意な人がいるので、「ファルス(false)!」と言い出した日には、「フォルスね」と否したりするわけだけど、まぁとはいえ日本ですから、今更 Warning を「ワーニング」と言おうが日本の中では、伝われば良いと思っているのでわざわざ「ウォーニングだよ」などとツッコミを入れたりなどはしませんが、正しい発音わかりづらいよねみたいなことはよくあるとはいいつつ正しくはなんだったのかくらいは知っておくと良いのかもしれないかなと思います。
(まぁ、そういう自分も間違えていることよくあるので都度訂正していきたいですが)
ちなみに、今更感ありますが、PEAR は「ぺあー」です。
capistrano で WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED (Host key verification failed) を無視する
AWS で EIP とかつかってると、IP 同じでホストが変わることがまれによくあるのです。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX. Please contact your system administrator. Add correct host key in /home/xxx/.ssh/known_hosts to get rid of this message. Offending key in /home/xxx/.ssh/known_hosts:1 RSA host key for HOSTNAME has changed and you have requested strict checking. Host key verification failed.
設定で、
ssh_options[:paranoid] = false
とか書く。
あとまぁ known_hosts どうにかすればいいのだけど。
なんか前にも同じコト書いたっけ?
PHPカンファレンス2012 で Git と Pull Request をつかったチーム開発の話をしてきました #phpcon2012
先日 9/15 に行われた PHP カンファレンスで、Git と Pull Request をつかったチーム開発について、発表をしてきました。
資料と補足
まず、発表資料です。
あらためてメインの主張をすると、「Git に移行する」というのは、「svn のコマンドに対応する git のコマンドを覚えること」や、「GitHub Enterprise を導入したら完了」するものではなく、Git を利用した最も効率的な、開発フローや業務フローを考え、チーム開発・運用に適用すること、です。
- 9/19 時点で、また Speaker Deck の embed が使えなくなっているのでリンクもおいておきます (そのうち対応してくれ、ということで↑は放置)
あと補足っぽいものを
- gitflow のブランチ戦略について説明しましたが、ちょっと複雑だなーと思う方には、GitHub Flow も人気のようです
- https://gist.github.com/3705015
- ブランチ運用自体はシンプルで良いなーと思うのですが、いろいろ懸念点もあるので、両方の良いところを取り入れつつ今後もいろいろ改良を続けたいです!
- GitHub Flow で運用している人にはちょっと聞いてみたいこともあります。どこかでよろしくお願いします。
- 2つ前にあった、@halt さんによる、「最先端Web開発」の発表ですが、開発フローややり方は違うのに、同じ結論にたどり着いているのが面白いなーと思いました。Git / Pull Request (あるいは、ペアプロ・グループプログラミング) によるメリットは、やはり、チーム全体としてのコードの品質を高めていくことができるようになる、ということなんですよね。
- Twitter などでのフィードバックも見させていただいております。結構良い反応をいただけてうれしいです。
Git ツール選択チャートつくりました
GitHub有料版のほうがいいよねとか、GitLabっていのかしらとか、いやいやGitHub Enterpriseのほうが、いろいろ迷うと思いますが、よくある Y/N のチャートを作りました。(雑)
僕なりの視点ですが、何かの参考にしてください!緑がYes、赤がNoです。
一応解説すると、
- お金がたくさんあるなら、GHE使うのが一番よいです
- Git サーバのメンテナンスがしたくないなら、何人メンテナがいても GitHub の Private はprivate repository 10個で $25/月、20個で $50/月 ですし、年間でも5万くらいなので、よいです。
- 一応、リスクとして考えなければいけないのは以下のあたりです:
- 3ヶ月に1度くらい落ちたり、メンテナンスされたりします。その間 push できないとか、リリースできないとかは、我慢したとしても、自前でサーバをメンテナンスするよりはペイする、という判断もあると思います。
- push を我慢するとしてもデプロイが GitHub に依存するのは嫌だなーというのが僕の意見です。ただ、繰り返しになりますが、それも、たまになので、日々メンテすることのコストと比較してもペイするでしょ、という考え方も、あります。
- ソースコードは GitHub に預けることになります。
- 一応、リスクとして考えなければいけないのは以下のあたりです:
- GitLab のインストール時点ですんなりできなかった場合、今後の困難が予想されるので、やめた方が良いかもしれません
- GitLab にすることのデメリットは:
- GitHub と比較して機能的に劣る
- メンテナンスコストがかる (金銭的・時間的デメリット)
- 事例からいって、メンテコストとは、以下のものです
- Gitサーバを動かすサーバを借りる金銭的コスト (VPSなど)
- バックアップ処理が必要 (まぁ、一度つくれば、cron とかで回せば良い。うちは S3 にアップロードしています)
- 月に1回、バージョンのアップグレード作業をする (1時間程度)
- 動かしているGitサーバが壊れたりしたら、GitHubが落ちた時以上に面倒 (新規サーバ作成、バックアップから再構築)
- GitLab にすることのデメリットは:
といったところです。
それから、発表資料にもありますが、「多少バグっても許される程度の小規模なチーム」でおすすめでしています。たとえば、大きな会社になると、多少バグっただけでも、ヤンヤヤンヤと社シスへほかの開発者からクレームが来ます。そういう状況はつらいのでGitHub使った方が良いでしょう。
発表中、GHE or GitLab でしょ、といったのはまさにそこで、社シスへクレームが飛ぶような大きな会社なら、お金払って GHE 使った方が総合的に享受できる利点が大きいのではないでしょうか。
スポンサーもしていました
クロコス (Crocos, Inc) では、PHPカンファレンスのスポンサーもしていました。
で、クロコスはめちゃくちゃおもしろいので、エンジニア大募集してますし、声かけてください!
ちなみにこの場を借りて宣伝しておくと、
- PHP/JS を書いていただくことになります
- Git 使います
- 別にそれがすべてではないですが、お声がけいただく際には GitHub のアカウントも教えていただきたいです
- コードを見るのが一番話が早いです
よろしくお願いします!
スタッフもしていました
今年はなにかとバタバタしていてほとんどお手伝いできなかったのですが、一応スタッフとしてもお手伝いしていました。
たくさんの仕事をかかえこみながら運営してくれた安藤さんをはじめ、スタッフの皆様、お疲れ様でした。
PHP カンファレンスは、毎年、本当に、ゆるゆるとですが、ちゃんと有志ががんばって開催しています。今回、参加してよかった、来年もやってほしい、自分も手伝いたい、などという方は、是非来年実行委員に入ってください!
というわけで
今年も盛大に閉幕したPHPカンファレンスですが、スポンサーの皆様、参加された皆様、Ust参加の皆様、僕の発表を聞いてくれた皆様、ありがとうございました。
そして、WordCamp のスタッフと、PHPカンファレンスのスタッフの皆様、お疲れ様でした!
参加者アンケートあります:
PHPカンファレンスのFacebookページもあるのでいいね!してね!:
僕と nequal と Crocos
もう、少し経ってしまったのだけど、僕たちの作った 株式会社クロコス / Crocos, Inc. が、先月、ヤフー株式会社 / Yahoo! JAPAN に買収された。
クロコスは、PHP界隈で出会ったエンジニア5人と、元楽天のシリアルアントレプレナーの岡元淳さん・小澤隆生さんの7人で2011年2月に設立した会社で、従業員10人、企業向けに Facebook 関連のウェブサービスを提供している。
誰得かわからないけど、超ニッチなニーズと記憶と記録のために、僕と nequal と Crocos についてちょっと振り返ってみようと思う。少しばかり長くなるかもしれないけれど。
ちなみに、ちょっと仕事の方が爆速で動きすぎて、ブログを書くのが遅速になっていたら、けんすうに先を越された。なぜか当事者なのに二番煎じ感が出てきている。。
その上、iPhone 5 もそろそろ発売されるし。(関係ないけど)
まぁ、もうちょっと、ぐだぐだと、その周りのことについて書いてみる。思い出話みたいなものだと思ってほしい。
※書いてたら、当時のことを思い出してめちゃくちゃテンション上がってきて、めちゃくちゃな量書いてしまったので、ホント誰が読むんだみたいな感じになっているけど、それはそれとしてまぁ、いいか。そして、寝かしたりしてたら日が経ったりした。
nequal
そもそも、nequal (エヌイコール) というものについてちょっと書く。
"PHP界隈で出会ったエンジニア5人" と言ったけど、その5人は、以前から nequal という、なんだろう、よくわからない「エンジニア集団」とか名乗る、まぁ、要するにサークルみたいなものをやっていた。
nequal は、僕が同じくらいの年代のエンジニア同士、一緒にサービスを考えたり、ライブラリを公開したり、勉強会を開いたり、ぐだぐだチャットしたり、なにかしら楽しいことができればいいなーと思ってやっていたもので、PHP界隈を中心に活動してた。
riaf と nequal
きっかけは、僕が同世代のプログラマーと仲良くしたかったというのがあり、当時、僕もPHPでようやくサイトとか構築できるようになってきたくらいのレベルで (はずかしながら!)、PHPフレームワークのEthnaを勉強しはじめ、PHP勉強会に出はじめ、技術的なブログとかをよく読んだり書いたりするようになった時期だったのだけど、PHP について調べたり Ethna について調べたりするとよく検索にかかるブログがあった。その「WebProgを極めて居酒屋をつくる」というブログをやっていたのが riaf だった。
なんかいろんなコト知ってる人だなーと思っていたらある日「ハタチになりました。ハタチになる前に1個サービスリリースできたぞー」とかいうブログ記事を書いてて、え、この人そんな若いのかよ!と衝撃を受けた記憶がある。当時僕は22歳だったので、なんか色々悔しかったんですよね。基本的に嫉妬をするタイプなので。
で、ちょっとしたきっかけで、Twitter で DM をしたのが最初の出会いだった。
そこから、なんか一緒にやろうよ、という話をして、いいね楽しそうだね、ということになり、2日間くらい色々なんて名前にするかで悩み、大晦日前日の 2007年12月、 nequal.jp というドメインを取得して、nequal を立ち上げた。
そこからしばらくは、僕は自分の立ち上げた DEADLINETIMER のおもりをしながら *1、2人でなにかやろうという話をしながら、IRCのチャットルームに、僕と riaf と bot 2匹という、非常に寂しい状態で1年弱過ごした。
kensuu
けんすうとの出会いについても、何か書くべきなのだろうけど、そう、えーっとひとつ言えることがあれば、ミルフィール、ほんとすみませんでした。ありがとう。今思えば、これは後にクロコス立ち上げのきっかけとなる大事な出会いだった。
当時、riaf は北海道にいたので、nequal をつくって以来初めての上京で、せっかくだから会おうと、そしてけんすうんところに行ってみよう、となった。いつものチャットの口調から、ちっこいやつだとおもってたのにドデカくてイメージが崩れた覚えがある。どうでもいいけど。
当時のブログも残っている。どうやら、傘を忘れたらしい。なつかしい。
ちなみに、nequalは少なからずロケスタをイメージしていたところがあった。ネットで何か目立っていて、複数の、別の会社に所属する人たちがなにかゆるくつながりながらサークル的に存在しているのは何か楽しそうだった。そういう意味でちょっと自分の中では無意識に動きを追っていたところもあるし、まぁ、きっかけってのはどこからあるのかわからない。
ともかく、けんすうとはこの頃から、Skypeでたまに話したり、こんなWebサービス考えたんだ、とか、「nanapiっていうのリリースした!」とか、そういうやりとりをするような関係になった。
wozozo
そんなことをしてるうちに仲間になったのが wozozo という、何を考えてるのかわからないやつだ。突然、riaf が IRC の nequal チャンネルに連れてきた。riaf 曰く、なんか面白そうだから、だったのだけど、結果、たしかにおもしろかった。
08/09/20 01:17 <#nequal@ircnet:riaf> wozozoの人とかここに来ないかな 08/09/20 01:17 <#nequal@ircnet:riaf> めちゃんこ無理なこと言ってくるけどw ~~ 08/09/20 01:24 + wozozo (wozozo!~wozozo@www717.sakura.ne.jp) to #nequal@ircnet 08/09/20 01:24 <#nequal@ircnet:riaf> kita-w 08/09/20 01:24 >#nequal@ircnet:sotarok< ぱちぱちぱちぱち 08/09/20 01:24 Mode by riaf: #nequal@ircnet +o wozozo 08/09/20 01:24 >#nequal@ircnet:sotarok< おめでとうございます!!! 08/09/20 01:24 <#nequal@ircnet:wozozo> なんだここ 08/09/20 01:24 <#nequal@ircnet:riaf> やっとボットよりも人間の方が多くなったぞ! 08/09/20 01:24 >#nequal@ircnet:sotarok< あなたは今、nequalの一員になりました!!!
まぁそんな強引な話で、nequalに引き込んでなし崩し的に nequal に入ることになり (本人がどう思っていたのかは知らず)、ここから、またぐだぐだチャットをする日々が始まった。
ちなみに、wozozo と初めてチャットで話したとき、僕は、「バカっぽそー」という第一印象があり、wozozo は wozozo で僕のこと「高圧的なやつだ」という第一印象を持っていたらしいが、うん、両方とも、だいたいあってる。
でも、wozozo と僕は、wozozo のニート時代に 1ヶ月くらいふたりで毎日のようにカフェにこもり (僕は当時学生で春休み)、僕はなぜか C++ 本を読み、wozozo はひたすらサービス開発をする、という日々を過ごしたこともある。周りからはそうは見えないかもしれないが、個人的には、それなりに仲は良いと思っている。
yuchimiri と Fivestar
nequal はそれから、何人か増えたりなんだりしながら、なんだかんだ最終的には9人くらいになった。
Fivestarは、当時僕がバイトしてたアシアルで出会ったのだけど、同年代くらいというのは知っていたのだけどあまり絡んだことがなかった。いつぞやのPHPカンファレンスで、yudoufuが「なぜあいつを誘わないんだ」と言ってきたから誘ったら謎の快諾でnequalに入ることになった。
yuchimiri は nequal で主催したモダンPHP勉強会にきてて、ちょっと前にドラ叩いてたし、同年代くらいだったし、誘ってみて、nequalに入ることになった(ぉ
ちょっと描写が雑になってきたけど、みんな大事な仲間ですよ。
小澤さんと岡元さん
それから nequal で色々サービスを考えたり、勉強会をしたりしながらゆるゆると活動する日々は続いた。
最後まで学生だった僕と riaf が卒業してからは、お互いそれなりに仕事も忙しかったし、学生の頃のようには時間使えなかったけど、まぁそれでもみんなでいろんなことを考えてたし、ちまちまサービス作ってたりもしていた。
そんな中、wozozo が2年がかりくらいで作っていた、部屋写真を投稿する reroom [リルム] - 部屋じまんコミュニティ - というサービスをリリースした。このサービスは良くできていた。すぐに使ってくれるユーザも増えたし、雑誌や媒体で紹介されたりもしていた。そういえばカメラもってフランフランに行って特集やったりとか、やったてた。楽しかったな!
それまで、nequal は、各自自分で考えたサービスとかを nequal 名義で出していたけど、一緒に何か作るみたいなことはほぼしてこなかったのだけど、reroom にはいろんな可能性を感じていたし、wozozo以外のメンバーも、あれこれ口を出して、全体として、reroom育てたいね、という雰囲気もあった。
だいたい何かサービスを出したらけんすうに報告していたのだが、reroomもご多分に漏れず話してみた。けんすうは reroom をすごく気に入ってくれた。
その流れで、「小澤さんを紹介するよ」と、けんすうに紹介されて会ったのが、id:ozarn こと、「小澤隆生」だった。
古くからのネット業界・スタートアップ業界ではどうやら有名らしかった小澤さんだけど、ただのエンジニアの僕らは聞いたこともなかったし、はてダを見て、なにか怪しい人というか、面白そうな人であることくらいの認識しかなかった。あと、nanapiのパトロンやってるということも知っていたが、そもそもパトロンってなんだかよくわからなかった。
けんすうに紹介してもらって小澤総研に話を聞きに行ったのは、それこそ、人生の転機になる出来事だった。
なんとなく会いに行った
最初、nequalで起業したいという話をしていたわけでは全くなかった。reroomはたしかに育てたいと思っていたし、チャンスがあれば何か収益化する種を見つけたり、もっと面白いことをやりたいと思っていたけど、別に具体的なプランがなにかあるわけではなかった。
小澤さんは「個人投資家」で、どうやら投資や助言を求めて小澤さんの元には、日々、起業家や起業家の卵のような人たちが話をしにきているらしかった(後から知ったのだけど)
そういうわけで、ある意味、僕らも同じような存在だったのだろうけど、僕らは全く金を稼ぐ方法も知らず、単にエンジニア同士仲良くやってるよねという存在だったので、なんなんだという感じだったかもしれない。今思えば。でも、それが逆に良かったのかも?
小澤さんには最初、挨拶と、nequal や reroom の説明をした。僕らが、普段どんなことをしてるのか、reroom 今後どうしていったら楽しいと思っているのか、など。
それから聞いた話が、衝撃的だったのを覚えている。
その後、小澤さんは、自分の話をしてくれた。新卒で入った会社の仲間と日々起業ネタを考える会を開き、そのうちビズシークを立ち上げ、楽天に買収され、そしてその後の楽天での活動など。すごくワクワクしたし、ドラマみたいな話が現実にあるもんだなーと思った。*2
とにかく、面白かった。小澤さんは、話がやたらうまい人だった。しかし、同時に、とてつもなくうさんくさかった。ここだけの話だが。
その後、僕らは和民に入って色々話した。
テンションあがっていたし、たとえば、reroomをビジネスにするにはどうしたらいいんだろう、といった話を、的なところでした。そして、自分たちでビジネスをすることや、もっと素直に言うと、お金を稼ぐことに対して興味がわいていた。これまで、「起業すること」みたいな話を聞いたことはあったしそういう文献を読んだこともあったけど、「お金を稼ぐこと」を体験談を元に生々しく語ってくれた人はいなかった。
その後小澤さんに出したメールとか、テンションあがってて当時のことを思い出すなあw
その後小澤さんとは何度かメールでやりとりをして、「今度、エンジニア向けのビジネス講座でもやりましょうか?」とメールをくれたことをきっかけに、また会いに行くことになった。
このとき「reroomを本気で育てたい!」と意気投合したのが、nequalの中でも、僕含めて、先に紹介した riaf, wozozo, fivestar, yuchimiri の5人で、その5人で会いに行くことにした。このときは、少しでもこちらからも何か言えないかなーと思い、みんなで無い頭をひねって reroom をビジネスにするとしたらどうやるのか、みたいなアイデアをまとめ、プレゼン一応作って持って行った。このときの5人が、後にクロコスにジョインすることになるのだけど。
このとき一緒に会ってくれたのが、現クロコス社長の岡元さんだ。
小澤さんの昔のビジネス仲間であり、僕らにも紹介してくれた。お金を稼ぐということや、reroomの僕らの持っていったアイデアについて、色々と話をした。
相変わらず胡散臭さではあったが、小澤さんの抜群の説得力は、それらの話が、自分の体験であるということだろう。
もう一つ、小澤さんの言うことで僕が最も同意していて小澤さんを信頼するひとつのきっかけとなったのは、「会社なんて作らなくていい」という話だ。起業も、必要なときにすれば良い。たとえば、GREEの田中さんもそうだったように、何かを作りたければ、別に会社に勤めながらでもできる。エンジニアで、何か作れるのであれば、起業して会社という箱を最初に作る意味はほとんどないし、今までのように活動すれば良いんじゃないか、という話をしてもらった。
というか、そもそも、そういうことを聞いていたから、僕らはそれぞれの会社に勤めながら reroom を育てていく方向で話をしていたのだけどね。
僕らは、そんな話をした後、7人で汚い地下の中華屋に行った。*3
そこでもいろんな話をしたが、「Facebookをやっているか」というのは話題になった。当時は、mixiがまだ楽しかったし、mixiじゃないにしても、Twitterだろう、という感じだったので、僕らは全員「Facebookはいまいち使いづらいしよくわからん」という反応だったが、小澤さんは圧倒的にFacebookに惚れ込んでいた。
その後、そんなに言うなら、という気持ちと、たしかにみんなが使いづらいと言ってるからというだけの理由で食わず嫌いみたいな面があったので、とりあえず、1週間くらい本気で使ってみるか!みたいな感じになり、使い始めてみた。
そうしたら、僕らの中で、突然のFacebookブームである。
Facebookは超面白かった。圧倒的だった。すぐに僕らは虜になった。食わず嫌いはよくないなーと反省した。今思うと、すべてのことがフラグだらけだったのだけど、小澤さんと岡元さんとFacebookと僕らがつながった瞬間だった。
ちなみに、Wildfireのような、企業向けのFacebookアプリの存在も、このときに知ったし、小澤さんがそういったビジネスのアイデアを持っている、という話もしてもらった。これがクロコスの立ち上げの動機となった。
あ、それと多分、この時期ちょうど、「ソーシャルネットワーク」の映画やってたりもした。あれはあれでかなり現実からしたら脚色された話だろうけど、間違いなくテンション上がってた。
クロコス
クロコスはそんなこんなで立ち上がった。
ちなみに、僕は、クロコス立ち上げの時点では、完全にジョインすると決めていたわけではなかった。2月7日がクロコスの創立記念日だけど、僕がクロコスにジョインするという決断をするのは、2月末くらいまで要した。wozozo なんかは、すぐにBP辞めてすぐにジョインした。この勢いというか、何を考えているのか、何も考えていないのかわからないが、やっぱり wozozo のすごいところだとおもう。
他の3人もそれぞれ決断をしていたけど、僕は当時 GREE での仕事も好きだったし、性格上色々手を出しすぎることもあるせいでたくさんやるべきことがあったし。なにより、就職してからその時点では11ヶ月だったので、早すぎると思ったこともあり、本当に最後の最後まで迷った。エンジニアとしてもっと突き詰めていくのか、ビジネスの方面を学んでいくのかの分岐点になるとも思っていた。
だけどまぁ、こういう機会があったもんはしょうがないし、そうそう人生で何度もこういうことが起こることもないなーと考えて、クロコスにジョインすることを決めた。
結果として、楽しいことになってるし、このときの判断は、自分の人生の選択の1つとして、多分、よかったんじゃないかな。
まぁ、そう決めたとはいえ、自分の持っている仕事をある程度まとめてから、僕がジョインしたのは2011年6月だったのだけど。
クロコスはバランスの良いチームだった。
小澤さんは道筋を作り、岡元さんはエンジニア以外のすべての仕事をこなしていたし、僕らはモノを作る。オフィスは小澤邸の地下室、完全に居候。
僕らはエンジニアだけど、仕様も考えたし、CSもしたし、広報もしたし、インフラもやりつつコードも書いたし、時にはデザインもした。エンジニアはエンジニアで、個性的だったけど、みんな自分のこだわるポイントが違っていたから、補完しあえるチームだった。
クロコスでの活動と、ターニングポイント
クロコスは、そんなわけで、最初から、Facebookで、企業向けに何かしらアプリケーションを提供する、という大枠は決まっていたものの、そもそもFacebookアプリみんな作ったことないよね、というところで、とりあえず何かアプリ作ってみるか、で出してみたモノが「Crocosスケジューラ」や「Crocosスポット」だ。
このあたりは、収益につながるアプリではないけど、とりあえずFacebookとコネクトするとこんなことができるよね、というあたりを色々探りながらリリースしたアプリだ。スケジューラなんかは、ただの日程調整アプリなのだけど、既存のWebサービスをソーシャルとつなげるだけでもなかなか面白く、それなりの人に使ってもらえたし(今も使ってもらえている)、自分たちも、ソーシャルの面白さの端っこをつかめたような気がした。
その後、企業向けに、ヒアリングをしたりニーズを拾い、Crocosマーケティングの前身となるCrocosカタログ、Crocos懸賞をリリースし、マーケティングスイートとして、クーポン、くじなどのキャンペーンアプリ、あとはベーシックなTwitterやYouTubeアプリなどのラインナップをそろえていった。
クロコスは、一見、まっすぐ進んできたようにも見えるが、その途中では重要な判断がいくつかあった。
ひとつは、ECアプリを作ることをやめ、Crocosカタログを作ったこと。
これは重要な判断だった。2011年5月ごろといえば、Facebook広まり始めたころで、一番最初、クロコスとしては、Facebookページ上で展開できるECアプリを作ろうとしていた(というか、わりと、作り始めていた)。ソーシャルネット上でのECは絶対来るよね!みたいなものがあったのだけど、ここで改めて考え直し、徹底的にヒアリングをした結果、ECは時期尚早と判断して、単に、既存のECプラットフォームを利用する店舗さんが、Facebookページ上で、その店舗の商品を紹介できる、という単純なアプリにとどめた。とにかく簡単に導入できることに徹した結果、想定よりも多くの店舗さんに使っていただけた。
このとき、最初のユーザさんには、Facebookグループで色々フィードバックをいただけたのはすごくためになったし、こういうつながりを持てたからこそ、Crocosマーケティングの次につなげることができた。本当にありがとうございました(この場を借りて)。
もうひとつは、Crocosマーケティングを有料化しよう、という話があったときだ。
去年の年末頃から、そういう話もあり、有料化の機能の実装を進めていたが、これも、途中で、今じゃない、と考え直した。そこからクロコスは、短期的に儲けを出すことではなく、この分野で圧倒的シェアNo.1を獲得する、という目標に切り替え、そこにリソースを全力で向けることにした。
結果として、この判断も、良い方向に働いた。
僕は、その中で、サービスの本質を失わずサービスを育てるということを学んだ。機能追加にしても、サービスの方向性にしても、色々な意見が出る中で、なにをやってなにをやらないのかを色々考えた。
(あと、本質を見失わなければ、「迷ったら全部やる」という考え方も身につけた。)
突然の大ヒットとか奇跡的な成功とか
起業するとか、サービスをリリースしてヒットする、みたいな話は、Instagramみたいな、超サクセスストーリーというか、ドカーンとユーザ増えたね!やったね!みたいなものが目立つけど、そんなものはほとんど無いし、ほとんどの場合は、地味な作業をひたすら続けて、小さく、少しずつ、でも確実に成長させるしかないんだなーと、この1年半を振り返って思う。
少なくとも、僕たちは、いきなりの成功はしなかった。この1年半は、振り返ると短かったけど、とてつもなく濃密で長く感じた。日々本当にひたすら開発を繰り返して徐々に作り上げていく、という感覚だった。
僕らは、今、日本のFacebookページで開催されているキャンペーンでは、累計開催数、同時開催数、応募数、当選数、すべて国内1位になった。
だけど、その過程で、「俺たち突然ヒットしたすげー!」などという経験はほぼ、無かった。日々の小さな改善と小さな成長の積み重ねだった。
いや、外から見ていたらInstagramとか派手に見えるかもしれないけど、中ではそうではないかもしれないしね。たとえば、GREEとかだって、今はすごくヒットして成長した企業だけど、昔は多分小さな開発の積み重ねだったんだと思う。ほとんどの場合はそうなんじゃないかな、とか。当然なんだけど、外から見ると、結果しか見えてこないからね。
だけど、少しずつユーザが増えてきたのも感じたし、期待をかけてくれるお客さん、ひいきにしてくれる方が増えてくるのは嬉しかった。もっと満足してもらえるようなサービスを作りたいと思ったし、そのために色々考え、手を動かした。
2012年4月、企業ユーザに向けてシェアを獲得したことや、いくつか請けた受託の実績、そして開発力を評価していただいて、日本で初めてのFacebookの認定マーケティングデベロッパー(PMD)を取得することができた (このとき認定をうけたのは、日本からは4社)。
2012年6月には、リリースから約11ヶ月を経て、懸賞・くじの累計応募者数が100万人を突破した。(そして、それから3ヶ月たった今月、200万人を突破した)
買収
その後、がむしゃらにいろんなことをやって、2012年8月、Yahoo! JAPANに買収されることになった。
最初に話を聞いたときは、正直、早すぎると思った (また!)。だけど、まぁ、日本最大のインターネット企業に買収されるなんて機会は二度と来ないだろうし、えいやという気持ちだったが、そういうタイミングが来てしまったものはしょうが無い、と思った(また!)。
増資してクロコス単独でいく路線ももちろん考えていたのだけど、ヤフーと組むことで、クロコスはさらに成長できることを確信した部分もあった。そして、クロコスの持つ力を、ヤフーにとって価値のある形で提供できる可能性も、僕らをワクワクさせた。
僕は最初、自分たちクロコスが今後どうなってしまうのかとか、そうはいってもYahoo! JAPANは大企業だし、身軽に動けなくなるのではないか、など色々な不安を感じたが、現COO川邊さんと話す機会を作ってもらったときに、その不安の半分くらいは吹っ飛んでしまった。(残り半分は、ジョイン後、すぐ吹っ飛んだ)
Yahoo! JAPANの新経営陣は、圧倒的に面白い。買収前、外から見たときにも、面白いと思ったし、買収された後、中から見ても、やっぱり面白い。クロコスは、本当に良い会社に買われたことを確信した。
これから
色々言いたいことはあるのだけど、まぁ最終的には、結果で示すのが一番だと思っているのでそれはがんばるとして、スタートアップ企業としては「exit」と言われるけど、それは単に資本的な意味での exit であり、事業としては今が始まりに過ぎないと思っている。
exit が成功かどうか、と言われると、スタートアップとしては、成功なのだろう。岡元さん、小澤さんと一緒に仕事ができたこと、すばらしいエンジニアチームが一丸となってやってきた会社・サービスを評価してもらえたことは、素直に誇らしい。だけど、何度も言うが、クロコスとしては、まだまだここからが面白くなるところなのだ。
そして、ヤフーは急激に変化している。買収直前、外から感じたものは間違いなくて、中に入ってみて、さらにおもしろいことになっているというのを実感した。
ヤフーと一緒に仕事できることになったことは、クロコスにとっては、様々な面でプラスに働くと思っているし、ヤフーにとっても、クロコスがジョインしてよかったと思ってもらえるような価値を提供したいと思っている。
ちなみに、買収直前に、ここいちさんもクロコスにジョインしてくれたのだけど、クロコス超面白いので、エンジニアみんなうちに来たら良いよ。PHP書かせるけど。PHP書いても良い人は (なんだそれ!) 声かけてください。
まとめ
前置き通り、とてつもなく長くなったけど、そろそろまとめる。
僕らエンジニア5人は、小澤さん・岡元さんの2人と出会って、色々な面白い体験をすることになった。「起業」すると、細かいことから大きなことまで、色々仕事はあるのだけど、エンジニアとして事業の本質に当たる部分 (とはいえ、もちろん、「コード書くこと」だけではないよ) に注力することができたのは、間違いなく岡元さんが半端なく仕事を回す力をもっていたからであり、小澤さんがおおざっぱだけど大きな道筋をたてて僕らを導いてくれたからでもある。
と、いうわけで、ありきたりなシメになりそうなのでこの辺にしておこうと思いますが、俺たちの戦いは始まったばかりだから、今後もがんばっていきます。これからも、よろしくお願いします。
あと、お礼を言いたい人とか、いわなきゃな人とか、色々言いたい人とか、たくさんいるのだけど、それはまたの機会に。><
しばらくやることは絶えなそうだけど、そのうちまたなにかやるぞー!クロコスの未来と、次回作にもご期待ください! (何があるかわからないけどねー!)
PHP カンファレンス 2012 は 9/15。Git と Pull Request の話をします。 #phpcon2012
9/15 はぼくの誕生日です。お祝いお待ちしております。
と、それはともかく、
9/15 に PHP カンファレンスが開催されます。例年通り、ちょっと行きづらい PiO ですよ。
公式タグは #phpcon2012 ですよ。
詳細は公式サイトをご覧ください:
参加登録は ATND で受付中です。Ruby や Python と日程かぶってて笑いますが、PHP好きだぜって人は是非参加してくださいねー。
Git と Pull Request と開発フローの話をします
Pull Request ベースの開発の記事を今年の2月に書いたのですが、このときは、色々試しながら、きっとこれが間違いない、という風に思ってまとめてみたんですよね。
で、その後、クロコスでも GITLAB を導入して、開発フローを、「新機能開発や修正開発はすべて feature ブランチをつくって、メインのブランチに Pull Request」という風に変更し、必ずチーム内でレビューを通すようにしました。
この運用にして半年まだたたないくらいなのですが、非常に効果をあげています。
PHPカンファレンスでは、これを運用してきた経験をふまえて、
- Git x Pull Request ベースの開発フローの基本
- 現在、どういう運用にしているのか
- どういう風に効果をあげたのか
- どうするとうまくいくか
などのお話ができればと思います。みんなに聞いてもらいたい話です。
是非聞きに来てくださいね!
その他タイムテーブルはこちら:
第59回PHP勉強会のLTでGITLABの紹介してきました
資料あげておきます。LTだしほとんどデモだったし、資料自体にあまり意味ありません。。
- ※またはてダに SpeakerDeck 貼れなくなってるなぁ。そのうち対応されるでしょってことでそのままにしておく。
- 直リンク: GITLABの紹介 @ 第59回PHP勉強会東京 LT // Speaker Deck
喋ったこと
- うちの開発では修正・機能追加が基本的に Pull Request ベース
- review 後マージ
- Pull Request やばい。全員やるべき。
- そのために Pull Requestをサポートしたツールを使うべき
- GitHub
- GITLAB
- GITLAB 安定性やばい
- でも機能はどんどん追加される
- デモ中にぼかすの便利
クロコスでの、Pull Request ベースの開発フローとか、具体的な話はまた別の機会にさせてもらおうかなって思います。
前回ブログ書いたときは、こうしたほうがいいな、こうしようかな、と色々思ってた段階だったんだけど、最近だと、それを実践してから数ヶ月たった状態なので、またそのへんをネタにしてブログにでも書きますかーとおもってます。
その他
- 会場は弊社クロコスでした。
- ちょっと迷いやすいけど&ちょっと狭いけど、でも良い場所でしょ?
- お越しいただいた皆様、ありがとうございました
- 開催に関して: おしゃれな照明とおしゃれな音楽がかけられるといいな
- @synboo さんがつくっているというセキココ、楽しい イベント座席表サービス - セキココ
- ロゴかわいい。椅子すわるやつ。
- 勉強会を通じた人との出会いとか、あとからあの人だれだったんだっけというのにすごく良いと思う
- PHP勉強会のやつはこちら 第59回 PHP 勉強会@東京 #phpstudyの座席表 - セキココ
- 座席の設定をもっと柔軟にできたらいいかも
- 課題としては、
- 事前に席がわからないから事前に登録できない → 開催中に登録する or 開催おわってから登録することになる
- 開催中に登録の難しい点: 開催中に、このURLを周知すること、とか。モバイル対応とか。
- 開催終わってからやる場合の難しい点: このURLの周知、席わからなくなる、とか。
- クロコスのエンジニアブログもよろしく Crocos Engineering Blog
- LT中に議論が飛び交うとても楽しい勉強会だった。双方向性大事。こういう活発な勉強会もっとやりたい。
- そのために色々ネタが出てくるのはとても良い
- みんな簡単なものでもいいのでどんどん発表しよう
- 今回は gusagi さんが燃料投下大賞だった。
- 幹事 id:gusagi さんおつかれさまでした。ありがとうございました。