はてなキーワード: CodeIgniterとは
身バレするかな…😟
ちょっと前までLaravelで自分用の蔵書管理するアプリ書いてた
ブラウザ側のJavaScriptでバーコード読んで、サーバー側からAmazonごにょごにょして、中古の価格とか取得できるようにして、
片っ端から本を読み込んでみて、十数年前に1万円した技術書が今は数百円だよwみたいなの眺めてた
他には、全国の医療機関、歯科、薬局の情報が厚労省から手に入るので、それをDBに入れて、
Leafletで地図を表示して、ここの病院はちょっと怪しいことやってそうだなぁ、とか眺められるようにした
あと、複数の自動車のタコメーターとかGPSのトラッキングデータが入手できたので、それで各自動車の挙動を観察できるようにしたりもした
別にすべてLaravelである必要ないんだけど、あまり考えないで自分が書けるのがLaravelだから使ってる
他のPHPフレームワークはもう死んでると思うし…、CodeIgniterとかCakePHPとかFuelPHP?だったか、色々あったね…、色々仕事でもあったね…😥
既婚、0歳の子持ち。
去年あたりからWEBサービスを開発しているベンチャーでWEBエンジニアをやっていいたんだけど、
サービスが思ったより上手くいかなくて普通に倒産。←ここは詳しく後で書くがAWSの転送料金が使い方間違えると以上に高いのが原因。
だからといってAWSから他のクラウドにも移行しようにもサービスが大きくなればなるほど難しく、工数もかかるからジリ貧状態だった。
ささっと何でも出来るインフラエンジニアでもいれば良いが、規模の小さいベンチャーにはそんな「良いエンジニア」は在籍していませんでした。
で、会社は潰れた。
社長に誘われて嫁に無理言って転職したから、嫁泣いてたわ。0歳の子供どうするのって。
幸いにも失業保険は倒産だったらから1ヶ月で支給されて、少しの間生活は凌げる事になった。
それでも出産費用やらベビーカーの費用やらで貯金も無いから家族三人の生活はかなり苦しくて、何かしないとなって。
もっと痛いのは年齢もそこそこいってて、文系の営業出身の俺には「スキル」も無いってところ。
前職では綺麗な事やろうとして失敗したから、アダルトサイトでもAWSで作ってみようかなって思った。
作るって決めてからは死に物狂いでインフラ周りとかも勉強して失業期間中に構築した。
AWSもCloudflareって言うCDNを組み合わせて作れば転送量で爆死するのは防げる(それでも高い方だか)。
フロントとシステムは前職でも使ってた、phpのCodeigniterを使って書いた。
自分なりに頑張って、完成させたサイトを見て欲しい(はてなの人はレベルが高いから見せるのが恥ずかしいが・・・)。
リリースした結果アクセスは1日7万PV程まで成長して、月に4万円前後程アドネットワークで入るようになった。
サーバー代さっぴいて3万円程の利益だが、当然嫁に全額渡してるwww
会社の業務以外でサイト作ったのは初めてだったんだが、このサイト作ってから、作った話を前の職場の同僚とかに話すと転職の話も貰えるようになった。
今別のベンチャーに勤めていて(同じベンチャーでも資本金が違うw)、社長から聞いたんだけど
サイトをエロサイトといえども個人で運用まで考えて完成させたところ。
そして給料が1.3倍程増えた。
最近の株価の暴落とかで、また大きな不況の予感がするが、何があっても諦めずに出来る事を頑張ろう。
俺みたいなクズエンジニアでも出来た事が一つでもあったから、みんなならもっと出来ると思う。
ノシ
Paizaはブログで散々SIerをDisってる事で知っていたが
求人レベルがSIerと大差無い上殆どが零細ベンチャーという点でそれを下回っている
その他諸々挙げればキリがない
具体的には
・「裁量労働制」というタグが付いてるくせに出勤退社休憩時間が明示されている
・写真からして座席の間隔が狭く前面との仕切りもない、SIerのタコ部屋の様な会社
・「開発言語」やら「フレームワーク」が書かれているのは良い事だがそこに「jQuery」とか「CodeIgniter」って頭おかしいんじゃないの
興味ある会社見つからなくてカジュアル面談応募した事はまだないんだけど
こいつ俺のプロフィール見て無いだろって感じの会社からメール飛んできてうざい
※マネージャを多少悪者気味に書いていますが、マネジメントの大変さはわかっているつもりです。
マネージャ「たぶん2週間ぐらいでできますよ!wordpressなら学生のころバイトとかでもよくインストールしてたから楽勝です!」
デザイナ「完全オリジナルのwordpressデザイン2週間か、なんとかなるかな?」
.... 略 ....
上司「あれから2週間だけど、こんなにバグ多すぎじゃリリース無理じゃない?」
マネージャ「違うんですよ!デザイナーが全然テンプレートの使い方覚えてくれないし、あのプログラマ人PHPわからないとか言って仕事中にPHPの本とか読んでるから遅れたんです!たぶん自分だけだったらこんなに時間かなりませんよ。」
デザイナ(「XHTMLになってない!」とか余計な所に口突っ込んできやがって!)
プログラマ(PHPなんて簡単だよとか言ってJavaプロジェクトからコンバートさせたのテメーだろうが!)
原因
マネージャ「このスケジュールなんだけど、テスト期間長過ぎじゃない?」
プログラマ「え、でも機能もこれだけありますし10日程度は妥当かと」
マネージャ「いやいや、画面たったこれだけじゃない、通しのテストなんてみんなでやれば1日ぐらいで終わるでしょ?」
マネージャ「俺がレビューしてるんだからそんなでかいバグ出るわけねえだろ。ナメてんのか」
.... 略 ....
プログラマ「セキュリティ周りのバグもあるので、修正には3日程かかると思いますが」
マネージャ「ふざけんな!テストは今日で終わるスケジュールだろ!」
原因
プログラマ「前のプロジェクトでgitを使って便利だったので、今回のプロジェクトでも使いたいのですが…」
マネージャ「バージョン管理とか使ってるの?あんなの効率悪くなるからやめたほうが良いよ」
マネージャ「前に俺がやってたプロジェクトではフォルダで日付ごとに管理してた。同じ風にすれば大丈夫だろ」
マネージャ「古いフォルダからファイルをコピーすればいいだけだろ。馬鹿か」
.... 略 ....
デザイナ(間違ってファイル上書きしたのは黙っておこう)
プログラマ(ローカルにgitリポジトリあるのは黙っておこう)
原因
マネージャ「何このCodeIgniterっていうの?」
プログラマ「あ、それ最近流行ってるPHPのフレームワークで、URLのルーティングが…」
マネージャ「はぁ!?フレームワークとか使わないと開発できないわけ?これだから最近のゆとりはダメなんだよ。」
プログラマ「でも、便利ですよ?」
マネージャ「俺のプロジェクトではそういう怪しいやつは使わないから。バグがあったらお前責任取れるの?」
.... 略 ....
マネージャ「どう、俺の書いたURLルーティングライブラリすごく便利じゃない?」
マネージャ「あー、それは仕様だからしょうがないよ。mod_rewrite使えば問題無いでしょ?」
プログラマ(他人が再発明した車輪のバグを修正するのって本当に不毛だな…)
原因
「らびっとブックマーク」
「管理をする」ことに重点を置いた(ノンソーシャル)ブックマークサービスです。
■作ったいきさつ
ブラウザのブックマークが貯まりに貯まってたので、ブラウザじゃなくてオンラインで管理しようと思ったところ
「じゃあ自分で作ってみるか」
ということで作りました。
・はてブは?
もちろんはてブでもブックマーク管理してたんですが「もっと一覧性が高かったらなぁ」とか、「ラベリングができたらいいなぁ」とか、
単純に管理するという点に注目したとき、もっと機能が欲しいと考えました。
■制作について
製作期間は2ヶ月くらい。
使った言語はPHPで、フレームワークは「CodeIgniter」というものを使いました。
実はプログラミングの勉強は1年半ぐらいやってて、Webサービス(のプロトタイプ)をいくつか作ったことがありますが、リリースまで出来たのは今回が初めてです。
最初は流行の「Ruby on Rails」から勉強しました。
本を買ったり、ネット上のチュートリアルを参考にしたりしました。
流行だったこともあって、情報収集にはそこまで困りませんでした。
そこで当時考えたToDoリストにゲーム性を加えたWebアプリを作ろうとしたんですけど、どうしても本番環境へのデプロイができなくて、そこで挫折…。
ならば別のフレームワークを!と思って次に手をつけたのがPythonのフレームワーク「Django」
Railsより動作が速く、もともとPythonを勉強してたこともあり、親しみを持てた一方で書籍やネットでの情報が少なくて苦労もしました。
簡単なアプリを作ってデプロイを試みたんですけど、結局こちらでも成功まで辿りつけませんでした…。
と焦り始めたところで、次に目をつけたのがPHPの「CakePHP」でした。
「PHPを使ったら負け」みたいな文言をネットでよく見かけていた
ので、あえて敬遠していたのですがここまでくると手を出さずにはいられませんでした。
結果から言うとこちらは先の2つでの苦労が嘘のようにいとも容易くデプロイができました。
このままCakePHPで制作を進める予定でしたが、何故かここら辺で別の事に手を出して、構想していたToDoリストアプリの制作を中断しました。
そして数ヶ月の空白期間を隔て、今回のオンラインブックマークサービスのネタを思いつきました。
その間に出会ったのが「CodeIgniter」というフレームワークで、CakePHP同様PHPベースですが、こちらは軽量フレームワークです。
動作が速く、学習コストも低いのが魅力的でした。(デプロイも簡単。)
ということでこちらを採用して制作し、今回リリースまでこぎつけました。
これから独力でWebサービスを作ろうと思ってる方は、使うフレームワークの仕組みだけでなく、本番環境にデプロイすることまで見越した勉強をしないと
自分みたいにフレームワークに左右されて余計な時間を取られてしまうので、その辺は注意した方がいいかもしれません。
(ただそれらを通して学んだことは無駄にはならないと思います。)
■感想
今回実質の製作期間は2ヶ月くらいでしたが、それに至るまでの勉強も含めるとかなりの時間と労力を費やしていて、Webサービスをちゃんとしたサービスとして
立ちはだかる壁としては
技術がなぁ…
↓
デザインがなぁ…
↓(ある程度の妥協)
デプロイがなぁ…
↓
宣伝がなぁ…
↓
運用がなぁ…
みたいな感じだと思います。
最近はてブでも「Webサービス作った」系のエントリが上位に昇っていますが、
【登場人物】
僕:大学4年生。デザイン・HTML css jsコーディング担当。最近彼女にフラれました。
T:大学4年生。サーバー・アルゴリズム担当。最近彼女にフラれました。
「女心と秋の空」とは言いますが、
つい最近まであんなに自分の事を好きだと言ってくれていた彼女に、
いともアッサリとふられてしまったのが11月のこと、そして、ことしもあの季節がやってきたわけで。
そう、クリスマス。
街ゆくカップルがうれしそうに身を寄せ合い、お互いの愛を確認するロマンチックな季節ですが、
あいにく僕と同じく彼女にあっさり去られたTのもとには、別れる前に予約してあった
12月24日~25日の箱根の温泉のペアチケット(8万円)と、部屋いっぱいの
ピーターラビットグッズしか残りませんでした。いったいどうしろっていうんだ。
もういっそ「イルミネーションに向けると
『この電飾に費やされている電気代でアフリカにワクチンを送れば、何人の子供が助かるのか』
を表示することで、カップル達の気分をゲンナリさせるアプリ」を作ろうかとも思っていたのですが、
よくよく考えれば、幸せな人の足を引っ張ったところで誰も幸せにはなりません。
悩んだあげく、僕はTに言いました。
「キリストはこう言っている。『つらい時こそ、他の人に幸せを与えなさい。さらば、救われる』と。
こんな今こそ、僕らがエロサンタとなり、人々に幸せを振りまこうじゃないか!」と。
Tは僕の話に痛く感動し、かくして、僕達はエロサイトを作ることになったのでした。
開発言語はPHP、フレームワークはCodeIgniter、エロ動画を集めてくるバッチはrubyで書いてます。
構想1週間。実作業は23日の午後から初めて25日の午前にはほぼ完成しました。
基本コンセプトは「ぶらぶら旅をするように楽しく、自分の好みに合ったエロ動画が集められること」。
結局、エロサイトの良し悪しは、いかに簡単に素早く「自分の好みに会ったエロ動画」に
出会えるかだと思うんですよね。で、そのための方法は大きく分けて2種類あって、
・データ解析とアルゴリズムを極めて、一発で最高のものをズバンと出すパターン
・一つひとつのレコメンドの精度はイマイチでも、そこそこのクオリティの動画をとにかくたくさん出して、
のどちらかだと思うんですが、今回は、集まるデータに限りがあることと、
エロ動画の好みの多様性を考慮して、後者を設計思想としてサイトを組むことにしました。
その結果できたのが、9個のサムネイル画像が並ぶ、この9マスUIです。
このデザイン、初めはちょっとわかりにくいのですが、9個のサムネイルのうち、
自分が好きなサムネイル画像をクリックすると、その画像が中心になるようにすべての画像が移動し、
(説明が難しいので、ぜひ実際に使ってみてください。)
このような挙動にすることで、これまで多くのサイトのように言語的に検索をかけたり、
縦に並んでいるのを順に見ていくという辞書的な探し方ではなく、
深く考えることなく非言語的になんとなく気に入ったものを選んでいく
2日間での開発と、かなり時間に余裕がなかったため、類似動画を持ってくるアルゴリズムは
若干簡素で精度がまだ低いのですが、これからどんどんアップデートしていく予定です。
のちのちは機械学習なんてのもやってみたいですね。
もし使ってみて、こういう機能が欲しいとか、こういう風に改善してほしいなどのご意見がございましたら
メール(buraero@gmail.com)か、twitter(@buraero)でご意見をくだされば、ぜひ参考にさせていただきたいと思います。
というわけで、長々と説明してきましたが、この「ぶらりエロ動画の旅」
【登場人物】
僕:大学4年生。デザイン・HTML css jsコーディング担当。最近彼女にフラれました。
T:大学4年生。サーバー・アルゴリズム担当。最近彼女にフラれました。
「女心と秋の空」とは言いますが、
つい最近まであんなに自分の事を好きだと言ってくれていた彼女に、
いともアッサリとふられてしまったのが11月のこと、そして、ことしもあの季節がやってきたわけで。
そう、クリスマス。
街ゆくカップルがうれしそうに身を寄せ合い、お互いの愛を確認するロマンチックな季節ですが、
あいにく僕と同じく彼女にあっさり去られたTのもとには、別れる前に予約してあった
12月24日~25日の箱根の温泉のペアチケット(8万円)と、部屋いっぱいの
ピーターラビットグッズしか残りませんでした。いったいどうしろっていうんだ。
もういっそ「イルミネーションに向けると
『この電飾に費やされている電気代でアフリカにワクチンを送れば、何人の子供が助かるのか』
を表示することで、カップル達の気分をゲンナリさせるアプリ」を作ろうかとも思っていたのですが、
よくよく考えれば、幸せな人の足を引っ張ったところで誰も幸せにはなりません。
悩んだあげく、僕はTに言いました。
「キリストはこう言っている。『つらい時こそ、他の人に幸せを与えなさい。さらば、救われる』と。
こんな今こそ、僕らがエロサンタとなり、人々に幸せを振りまこうじゃないか!」と。
Tは僕の話に痛く感動し、かくして、僕達はエロサイトを作ることになったのでした。
開発言語はPHP、フレームワークはCodeIgniter、エロ動画を集めてくるバッチはrubyで書いてます。
構想1週間。実作業は23日の午後から初めて25日の午前にはほぼ完成しました。
基本コンセプトは「ぶらぶら旅をするように楽しく、自分の好みに合ったエロ動画が集められること」。
結局、エロサイトの良し悪しは、いかに簡単に素早く「自分の好みに会ったエロ動画」に
出会えるかだと思うんですよね。で、そのための方法は大きく分けて2種類あって、
・データ解析とアルゴリズムを極めて、一発で最高のものをズバンと出すパターン
・一つひとつのレコメンドの精度はイマイチでも、そこそこのクオリティの動画をとにかくたくさん出して、
のどちらかだと思うんですが、今回は、集まるデータに限りがあることと、
エロ動画の好みの多様性を考慮して、後者を設計思想としてサイトを組むことにしました。
その結果できたのが、9個のサムネイル画像が並ぶ、この9マスUIです。
このデザイン、初めはちょっとわかりにくいのですが、9個のサムネイルのうち、
自分が好きなサムネイル画像をクリックすると、その画像が中心になるようにすべての画像が移動し、
(説明が難しいので、ぜひ実際に使ってみてください。)
このような挙動にすることで、これまで多くのサイトのように言語的に検索をかけたり、
縦に並んでいるのを順に見ていくという辞書的な探し方ではなく、
深く考えることなく非言語的になんとなく気に入ったものを選んでいく
「ぶらぶら旅をする」ような探し方ができるようになったのではないかと思っています。
2日間での開発と、かなり時間に余裕がなかったため、類似動画を持ってくるアルゴリズムは
若干簡素で精度がまだ低いのですが、これからどんどんアップデートしていく予定です。
のちのちは機械学習なんてのもやってみたいですね。
もし使ってみて、こういう機能が欲しいとか、こういう風に改善してほしいなどのご意見がございましたら
メール(buraero@gmail.com)か、twitter(@buraero)でご意見をくだされば、ぜひ参考にさせていただきたいと思います。
というわけで、長々と説明してきましたが、この「ぶらりエロ動画の旅」
目標としてはとりあえず新しそうなことをやってみるということで作りました。
作ったサイトは2つ。
「えっちなハイ!ムービー」(通常のアダルト動画サイト)
「えっちなハイ!ムービー in tumblr」(えっちなハイ!ムービーのtumblr bot)
えっちなハイ!ムービー in tumblrはbot作りに挑戦してみたのとtumblrでの動画の配信を試してみました。
といったところです。
自分が知らなかっただけかもしれませんが、
比較的目新しかったのはtwitterのbootstrapで、
これでcss周りがだいぶ楽になりました。
前にも使っていて割とすぐに実装できそうだったので作りました。
絞り込みで使っています。
フレームワークのcodeigniterは特に本を買ったりするわけでもなく
手順に何通りもバリエーションがあるというわけではないので
なんとかなりました。
今回は仕事などで得た知識や経験のまとめとして一人でどこまで作れそうかやってみました。
今後もまた思いついたものをちょくちょく作ってみたいと思います。
(記事が長すぎたので前編・中編・後編に分けました)
僕ももう、リストラされそうなとあるおっさんなんですが、先日Webサービスを公開しました。
きっかけになったのはこの記事です。
http://anond.hatelabo.jp/20101203150748
こんな事できたら良いなぁと思っていると、他にもやっている方たちがいました。
http://matome.naver.jp/odai/2131952812556433001
http://anond.hatelabo.jp/20120318122617
Rails3 と jQuery で、真面目にオシャレなエロサイトをつくってみました - h300
http://d.hatena.ne.jp/inouetakuya/20120331/1333192327
http://anond.hatelabo.jp/20120914214121
http://blog.ropross.net/archives/99
これらを読んで自分もやってみたくなり、
先日の家入さんの折れずに挑戦を続ける姿を見てモチベーションも高まり、
7月21日~8月19日の30日でWebサービスを作りました。
最後の一週間はお盆休みでしたが、それ以外は平日は仕事をしながら土日をフルに使っています。
と言っても、いきなり高度な事をするのは大変なので、
本当に自分が作りたいサイトをやる前に、一度シンプルなサイトを作ってみる、という所までです。
やってみて改めて分かったのは、「自分でWEBサービスを作りたいと思っている人へ」の中の人はかなりがんばったんだなぁ、と。
かなりの熱意とモチベーションをもって、効率良くやらないと、一から勉強してあの短期間であのサイトは作れません。
プロ顔負けの技術とおもしろいアイデア、情熱をもって短期間でそれをやってしまった中の人は凄いです。
だから、Webサービスに夢を見る人(僕)も、Web業界の人も、あとHな人もブクマするのでしょう。(賞賛)
それでは、一般人が一般的ながんばりで確実にやれるだろう手堅いラインをお届けします。
偏差値40の僕が最低限ここまで出来たので、きっとあなたならもっと出来るはず。
ステップ7まではサクサク進めて、分からなくてもどんどん次に行きましょう。
今回ぼくが作ったサイトはこちら
■ステップ0:準備
・パソコンを用意
・ブラウザはChrome,IE,Firefox,Safariあたりをインストールしておく。Chrome便利。
・作りたいサイトのアイデアとデザインのイメージ、ドメイン名(○○○.comとか)のイメージ。
・作る理由とやる気
・はてブ便利、Web業界の皆さんの空気感を知るため、なるべくPCかスマホでチェック。
ブラウザを右クリックして「ソースを表示」すると出てくるアレです。
Yahoo!とかのソースを見るとかなり長いけど、全部書くわけじゃないから大丈夫。
ネットで調べても良いけど、やっぱり基礎知識は本が良いと思います。
メモ帳で書いてブラウザで表示して、メモ帳で直してブラウザF5で更新して確認、
何となく分かってきたら、より具体的に理解するためにこの本を読みます。
PHPについて調べる。
初めはこの本が勉強になりました。
書いてある通りロカールサーバー(XAMPPかMAMP)を入れて、自分のマシンでPHPが動くようにします。
データベースの使い方も一緒に書いてあるので入門に最適です。
次はこれを読みます。
普通に読んでいくと中盤のフレームワークを作る所で挫折するはずなので、一旦そこまででOK。
パーフェクトPHP
PHPの他の選択肢としてRubyやPythonもあるみたいですが、学習コストがかかりそうなのと、そのままでは動かないサーバーがあったりで、
最先端のプログラマーになる必要はないので、レガシー&枯れたPHP一択です。
カッコつけずにモチベーションが持続するうちに勝負です。
VPS(専用サーバーを仮想的に分割して安くしたサーバー)が流行ってますが、
学習コストがかかるのと勉強する事が増えるので割りきって始めは普通のレンタルサーバーにします。
VPSを借りるとLinuxの知識やWebサーバー、メールサーバー、及びそれらの保守管理などの知識が必要になります。
レンタルサーバーならある程度マネージドで、作ったプログラムが動かない時の原因の切り分けもしやすいです。
おすすめは「さくらのレンタルサーバー」のスタンダードプランです。データベースの使えない「ライト」プランは止めましょう。
その他、ロリポップ、CORESERVERなどいろいろあるので最低限PHP,MySQLが使えるサーバーを選びます。
サーバーを契約したらアカウント情報を確認して、FTPでログインしてみましょう。
http://sourceforge.jp/projects/ffftp/
ログインできたら、ステップ1で練習したファイルをアップロードしてブラウザで表示してみたり、
ステップ2で作ったPHPファイルをアップロードしてブラウザで実行してみたりします。
慣れてきたらFileZilla FTP Clientが便利です。
Webサービスのしくみを理解するために、WordPressを借りたサーバーに入れてみます。
WordPressはPHPで出来たCMS(コンテンツ管理システム)で、ステップ1~3がどう組み合わさって動くのか理解できます。
ブログや会社案内のサイト程度は作れてしまうので触れておいて損はないです。
テーマをいじったり、プラグインで遊んでみると理解が深まります。
オススメはこの本。
プラグインのまとめはこの辺りが親切。
2011年版!絶対にインストールしたいWordPressプラグイン45個
http://vanilla-stone.com/blog/wordpress/2011-edition-45-wordpress-plugin-pieces-install-absolute/
TwitterやInstagramと連携するプラグイン入れたり、CRONで自動化したりすると楽しくなってきます。
ここまでで何となくWebサイトのしくみが理解できると思いますが、
自分の作りたいサイトを一から書いていくと思うと心が折れると思います。
そこで、CakePHP(ケーキピーエイチピー)というフレームワークを勉強します。
フレームワークというのはWebサイトの開発で必要になることが多い色んな機能をまとめてくれている枠組みソフトです。
PHPの文法で、フレームワークの書き方のルールに従うだけで、様々な便利機能を簡単に使用でき、
フレームワークは他にRubyのRuby on Rails、PHPだとSymfonyやYiiなどかなりの種類があります。
CakePHP 1.3によるWebアプリケーション開発―オープンソース徹底活用
あと、余裕があればこれも購入。
注意したいのは、現在CakePHPのバージョンは1.3系と2.0系がありますが、1.3を使うという事です。
2.0系は新しい機能が付いたりパフォーマンスが良くなったりしていますが、2012年9月現在、
バージョンアップが激しく、関連書籍は2~3冊程度、Webの検索でもヒットするのは1.3の情報が圧倒的に多いです。
MVCというデータ処理・表示処理・それらのコントロール処理を分離して記述するルールや、
ステップ2では踏み込んでいなかったクラスが出てきますので、慣れるまではかなりの心折設計です。
難しすぎて僕は理解できなかったので、ここで一旦CodeIgniterに浮気しました。
CodeIgniterはCakePHPと同じPHPで書かれたフレームワークで、インド方面で良く使われてるらしい。日本だとまだマイナー、かな。
ライセンス問題で下火になっていますが習得の容易さとパフォーマンスが良いのでフレームワークという概念の把握にはオススメです。
僕はこれを読んでCodeigniterだけじゃなくてCakePHPも理解できました。
CodeIgniter徹底入門
ただ、CodeIgniterは簡単・高速で習得しやすいけど、
その分シンプルで機能が少ないので、ちゃんとしたサイトを作ろうと思うほど自分で書く部分が増えていきます。
セキュリティやユーザー認証なども素人が自前で一から作るのは危険なので、やっぱりCakePHPお勧めです。
開発する時はgitHubに上がっているデバッグキットを入れると便利です。
cakephp / debug_kit
https://github.com/cakephp/debug_kit/tree/1.3
http://codezine.jp/article/detail/5105
NetBeansを使う時のCakePHP用の追加モジュールはここ
https://github.com/evilbloodydemon/cakephp-netbeans/tree/autocomplete
中編はこちら
はてな記法とか無視で読みにくいですがゴメンナサイ。
かいたひと→http://twitter.com/chobi_e
follow/unfollowはご自由にどうぞ。
うん、次なんか書くまでにはブログ用意しておこう。
===============
会社としてもOpenSocialに関わってるし、個人でもちょいちょい
勉強がてらに手を出しているので参加させていただきました。
会場を提供してくださったコンテンツワンさんありがとうございました。
http://www.contents-one.co.jp/
ほいではメモの公開。
聞き逃しや誤記もあるかと思うので参照はほどほどに。
=============================
mixi機能の紹介とOpenSocialAPIリファレンス的な説明。
あとは公開するのは微妙なので割愛。
PHPでWEB開発を行うようにしてオープンソーシャルアプリを作る(@KuniTsuji)
=======================================================================
CodeIgniterを使ってのmixiアプリ構築についてのお話。
OpenSocial開発しているので全て既知の情報だったので
メモがありません。ゴメンナサイ。
要約するとPCはつくるのめんどいけどモバイルだとぺらいちで済むし、
運用した気になるモバイルオープンソーシャル (@cocoitiban)
=========================================================
ウノウさんは社員募集中、@cocoitibanは彼女募集中!
@cocoitibanのお仕事
映画生活(ピアに売却)、フォト増、clipp、まちつく
・まちつくについて
位置ゲー、もともとふつうのモバイルアプリとして提供していた。(ユーザー数非公開)
・リリース前
・社長がやりたい→同僚がすごい勢いで作成。@cocoitibanは横で傍観
(モバイルOpenSocialって元のサービスがあれば結構勢いですぐ作れるんですよね。)
・ロードアベレージ1000でも登録できるんだー
そして、当然のように他社を含め登録ができなくなるw
・初日から1週間は1日10万のペースで増えた
・mixiに登録しているユーザーだからまちつくに登録という意識は低いっぽいですが
・ウノウには3時間で画像生成をキュー処理に書き換えたやつがいる
・ボトルネックになりそうなものを全部退治
・ハードウェア確実に足りないので購入進める
・二日目、三日目と同じように+10万人ってトラフィックをさばかなきゃいけない
・リリースから今まで
・初期(パフォーマンスアップ)
・回線が足りなくなりつつあることに気がつく100Mなのに・・・
・決めてから1週間くらいでリリース
・Memcached適用範囲を増やす
・一部機能を企画レベルで見直しふかがひくなるかつ、よりよい動作へ。
・初期パフォーマンスアップ
・L7ロードバランサふやす
・DBマスタ分割
クエリはチューニングされていてCPUやDisk ioのreadはすかすかだけどWriteが痛い事に
・ORMの機能をつかって分割
・トランザクション上影響ないものを分割
・サーバー台数的にはそんなにない。
・中期
・ちょっとだけいいサーバーに置き換え
→あっさり解決
・本格的な機能改善
ユーザーに不便かけてる機能とかを大幅見直し
・社員数増員
・8Fに追加して4Fに事務所を移すことに
・引っ越し大変でした
・可能な限り早くしたかったがユーザーに不便をかけている段階ではリリースできなかった。
・中期
・一部処理をQ4Mに置き換え
・EC2とはおわかれできた
・EC2は悪くないがサーバーがある現状ではコスト間と運用の体制のにゃー(メモ終わる前に次のページへ)
・まとめると
・数ヶ月、数人のエンジニアでおこなわれたので長短納期
・力業だが安定志向を目指す方がいい
・変わったことやると大体トラブって死ぬ
・しかし新しい事やらないと間に合わない
[そのほかメモ]
・Q4M
・Gearman
・ActiveMQ
・自前で実装
・そのほかいいのがあれば
・キュー処理っているの?
・実装クイズ
・Friends1000人いて全員取りに行く場合どうする?
・キャッシュとして定期的に削除しなきゃだめ
・いや1000人とってきちゃおうよ
・トラフィックの波が激しい
・流入云々でかなり違う
・分散のネックはやはりデータベース
・ORMは使うべき
・流行るか流行らないか分からないサービスをつくる場合には必要
・はやった場合にすぐ分割できるか
・トランザクションがネックになる
・XAトランザクション
・トランザクションを正しく処理できるか
・KVSとの透過性
・逆をいえば上記はコードを綺麗にかけるかどうかなので使わなくてもいいと思う
・エンジニアとして思ったこと
・EC2はありだけど運用がイントラで運用するのとは違う形になるので経験が必要だと感じた。
・AmazoRDSが別の地域で使えるようになるといいなぁ。
・どきどきするのが課金。コストをいやいやでもエンジニアが意識せざるを得なくなる
・かなりはやい
・半年1年後、国内レベルのトラフィックであれば大半のWEBサービスは1台でおk
・ip_conntrack/iptable
・ulimit
・Symfony使ったけどそんなボトルネックにならなかった的な話。
・バッチ処理とかforkで悩むことが多い
# 総評
最近はめっきり大きなトラフィックを扱うことがなかったからちょっと刺激もらえました。
前の会社ではサーバー200台くらい管理してたけど今の会社では数十台程度だし、
そこまでトラフィックもこないのでサーバーエンジニアとしては体たらく気味。
まぁ、業務的には様々な方面でやっているので仕方のない事ですが。
とりあえず現状で出しておいて流行したら確実に死ぬ&寝れなくなるので事前に
震える子鹿のようにただビールをひたすら飲むのでありました。
そんな私に声かけてくださった皆様、ありがとうございます。
お名前/ID出していいのか微妙なので割愛させていただきますが、感謝感動雨あられでございます。
そうそう、個人的には今の流行がTwigなので@cocoitibanともうちょっと
お話したかったですが懇親会LTもありーの、飲み過ぎて気持ちわりーので実現せず。
Twigすごく良いとは思うんだけどいまいちドキュメントが少ないので
本当にこれでいいんか?て思うことが結構あるのよねー。
Node周りの実装がぱっと見分かりづらいので難儀。
そいじゃ会社いってきまー
自分はテレビをもう1年半以上まともに見ていない。なぜ、テレビを見ないか?
細かく言えば「見れないし見ない」というのが正しいところ。
最初はリモコンでの操作が不可能になり、そのうち、画面が全体的に緑色になり、
最終的には主電源もいかれて、完全にお亡くなりになった。
壊れはじめから、テレビをつける機会がどんどん減っていき、主電源がおかしくなる
末期の頃にはテレビの正面に座ることがほとんどなくなった。
それから、買い換えもしなかったため、ほぼ1年、ほとんどテレビを見ていない。
ごくたまに携帯のワンセグで日曜日の夜にブラックバラエティとガキ使を見る程度。
良純の絶好調ぶりを見て、まだ、日本が平和だという事を再確認するためだ。
「なんだよぉ~」「おまえらなぁ!」「だからさぁ~~」
この3つの言葉が聞ければ満足だ。
で、本題のテレビを見なくなって1年で、変わったことをまとめてみようと思う。
メリットもデメリットも大したことないじゃんって思われるかもしれないが、
テレビのない生活って、今までの生活変えると思う。オススメはしないけどw
しばらくは、このままでいいって思ってるけど、いずれはテレビ買うつもり。