• Like
  • Save
「Webサービスのつくり方」 のつくり方
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

「Webサービスのつくり方」 のつくり方

  • 19,473 views
Published

2013/02/23 Kansai.pm 第15回ミーティング / Yusuke Wada a.k.a. yusukebe

2013/02/23 Kansai.pm 第15回ミーティング / Yusuke Wada a.k.a. yusukebe

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Please dear can you contact me on my email id jessicaduale@yahoo.com, i have something private to discuss with you. Thank, i will be happy to meet you in my email. Jessica
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
19,473
On SlideShare
0
From Embeds
0
Number of Embeds
9

Actions

Shares
Downloads
0
Comments
1
Likes
61

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 「Webサービスのつくり方」 のつくり方 2013/02/23 Kansai.pm 第15回ミーティング Yusuke Wada a.k.a. yusukebe
  • 2. 自己紹介• 和田裕介 1981年生=31歳• ゆーすけべー / yusukebe• 神奈川県出身 / 在住• (株) ワディット代表取締役社長• (株) オモロキ最高技術責任者
  • 3. 最近のお仕事• オモロキ業務 • ボケて 開発 運用 • 7割程度• ワディット業務 http://bokete.jp/ • メルマガ、執筆、講演 • 3割程度
  • 4. ボケて• 写真で一言ボケるWebサービス• PC 2000万PV / month• スマホWeb 250万PV / month• iPhone / Android アプリ 計100万DL• 総 PV 1億PV弱 / month• Webサイド、バックエンドを一人で開発 / 運用• コラボ企画、モバイル更新、PC新UI
  • 5. そういえば...
  • 6. 本を出しました• Webサービスのつくり方• 技術評論社さんから2012/11/20発売
  • 7. ということで...
  • 8. 今回のアジェンダ• 書籍を書いて出版した裏側や経緯• 本を書くのに使えるツール等の紹介• チームで開発していくことの留意点• よりツッコんだ Perl の話など• エンジニアが本を書くことへの考え
  • 9. 念願の書籍出版
  • 10. 実は 2009年 から...• 技評の細谷さんに声をかけてもらい... • 小飼弾のアルファギークに逢いたい❤ 出演 • WEB+DB Press Vol. 54 特集
  • 11. 「書籍を書かないか?」と言われて2010年頭には Perl本 の提案 をした
  • 12. ちょw 本出したの2012年末だぜwww
  • 13. 3年越しの目的達成細谷さんありがとうございます
  • 14. 本はとにかく出したかった• 昔から本が好きだった• 自分でも何かしら書いてみたかった• 収入的なモノは求めてない• 本を出版する仕組みが知りたかった• ハクをつけるため
  • 15. 3年かけてよく書けたね?• Perl 本 からの方向転換• 一番興味のある Webサービス に焦点• 網羅的につくり方を紹介する• まぐまぐ!で 2012年2月からメルマガ開始• メルマガ内の連載を書籍にする戦略 • 結局これが功を奏した
  • 16. 33のエッセイという 切り口
  • 17. はじめに エッセイ風にWebサービスのつくり方を語る●第1章 心構えと下準備 ●第4章 開発「ぐだぐだ言ってないでコードを書けよ、ハゲ」 30分、JavaScriptでつくるWebサービスの動くモックMac一つあれば… 月額980円のさくらVPSを個人用に使い倒すエディタという道具 Web APIで巨人の肩の上に立つなければつくる いかにして大量のおっぱい画像をダウンロードするか言語習得にまつわるエピソード 全裸で学ぶMVC事始めデータ表現について分かった瞬間 MVCのMについて僕がPerlを使うことから見る言語の選択 WAFあれこれブログの効用 テストを書こう勉強会に飛び込む イカ娘でTwitter OAuth認証ライブラリという文化 CSS Frameworkを持つ●第2章 企画 ●第5章 プロモーションと運用実装までにつくる「企画」の全て Webサービス、最初の宣伝アイデアの発想法 「普通の」サーバ構成そこに潜むリスク 運用してこそWebサービス Webアプリのパフォーマンスアップ作戦●第3章 設計 キャッシュ、キャッシュ、キャッシュユースケースを書こう サービスをスケールさせる時データベース設計クールなURI? おわりに ── やり方は一つじゃないWebサービスを動かすための要素
  • 18. 本書の意図と企み• メルマガ連載とエッセイ形式は相性がいい • 個人的にエッセイが好きだったり... • どこから読んでもいい。技術書には珍しい• Webサービスの制作について俯瞰できるよう • 個別のツッコんだテクはググってもらう• 何かつくりたい!と思ってもらうように!
  • 19. 出してみての評判と感想• Amazonレビュー ★5 x 4 / ★3 x 3• Blogでの評判もまずまず• やる気が出たという意見 • 狙い通りで嬉しい!• 読みやすいという意見 • 想定してなかったけど嬉しい!
  • 20. 出版の行程
  • 21. • 2012年2月から8月 原稿執筆• 9月上旬 脱稿• 9月〜10月 編集、ゲラ上がり、修正• 10月 装丁デザイン作成• 11月上旬 印刷所入稿• 11月13日 見本誌完成• 11月20日 一般発売• 11月30日 販促イベント
  • 22. こだわり
  • 23. コード例は PerlでPerlはほどよく冗長に書けば 読みやすいから
  • 24. 技術書として異質に• 装丁に対してツッコんで要望 • 編集会社さんの打ち合わせにも同席• イラスト書いてもらった!
  • 25. 個人的に愛せる 本ができた! 読んでくれた方細谷さん、出版会社さんありがとうございます
  • 26. 原稿を書く時の武器
  • 27. Markdown+Byword
  • 28. Dropboxで共有
  • 29. プレビューもしたいよねー ってことで...
  • 30. 自作アプリ「Dropdown」
  • 31. Dropdown• 自分のDropboxファイルをブラウザか らプレビュー出来るWebアプリ• Markdownっぽい拡張子のファイルは Text::Markdownを使って整形表示• Dropbox APIの開発モードだと1アプリ につき5アカウントまでが自由に使える
  • 32. use WebService::Dropboxsub login { my $self = shift; my $dropbox = $self->app->dropbox; my $url = $dropbox->login( $self->req->url->base . /callback ); $self->session( request_token => $dropbox->request_token, request_secret => $dropbox->request_secret ); $self->redirect_to($url);}sub callback { my $self = shift; my $dropbox = $self->app->dropbox; $dropbox->request_token( $self->session(request_token) ); $dropbox->request_secret( $self->session(request_secret) ); $dropbox->auth; $self->session( access_token => $dropbox->access_token, access_secret => $dropbox->access_secret, ); $self->redirect_to(/);}
  • 33. use Text::Markdownuse Text::Markdown qw/markdown/;...;if ( $name =~ m!.(?:md|mkdn|markdown|mkd|mark|mdown)$! ) { $content = decode_utf8($content); $self->stash->{markdown_html} = markdown($content); return $self->render( template => dropbox/markdown, format => html );}
  • 34. 結果的に便利だったhttp://github.com/yusukebe/Dropdown
  • 35. デモ
  • 36. もっと書きたかった今だから言いたい事
  • 37. チームでのWebサービス企画 • 一人で小さい規模から始めること 以外のWebサービス企画 • チームビルディング • 打ち合わせ、ブレインストーミング • リーダーシップ • 戦略とマネタイズ
  • 38. ざっくりと答えを言うと
  • 39. 楽しくやろう!
  • 40. オモロキの例• 自然と気の合う仲間が集まって来た...• 話し合いのルールを暗黙の了解で • みんながリーダーシップを発揮する • 打ち合わせはダラダラしない • 最初は意見を否定しない • マネタイズは後から
  • 41. Perlのツッコんだ話 もしたかった!
  • 42. Mojolicious 推し!
  • 43. Mojolicious• 薄い Web Application Framework• no O/R Mapper, not full-stack, but components are full-stack.• つまり Mojolicious だけ追えばいい• Router, Controller, Template が主力• ModelはPerlオブジェクトで作りつなぐ
  • 44. 実はKindle出版を目指してMojoilcious本を書いてる...
  • 45. MVCのモデルについて• Modelにビジネスロジックをまとめる とお得なのが分かるケース• PC用Webとスマホ用Webをつくる時• Command Line Interface からの利用• ある程度大きくなると「Controllerと 分けててよかった」感
  • 46. ボケてでの事例Bokete::Web::Controller::Boke Bokete::Model::Boke Controllerからの呼び出し my $b = $self->model(‘Boke’); my $bokes = $b->recent_entries({}, Bokete::DBx { page => $page, limit => 20 }); $self->stash->{bokes} = $bokes; SQL::Abstract::Limit + DBI MySQL or Memcached
  • 47. Validationも工夫• form -> FormValidator::Lite• data on Model -> Data::Validator # controller if($self->form(Boke)->has_error) { return $self->render_fill(/boke/post); }
  • 48. 開発しつつ運用• VPSを使ってもいいのは2台まで!?• ボケてをAWSへ移行した! • さくらVPSで10数台を使ってた...• 運用は自動化 / 委譲をして楽をする• Cinnamon かわいいよ
  • 49. Cinnamon$ cinnamon web deploy:update$ cinnamon web server:restart naoyaさんのレシピほぼまんま使ってるよ! Perlだからconfig.plで条件分岐もすぐ書けちゃう!とにかくシンプルだから「何やってるか分かる感」!
  • 50. そろそろ締める...
  • 51. エンジニアが本を書くこと
  • 52. ぐだぐだ文章書いてないで コード書いてた方が いいんじゃね?
  • 53. 確かにでも書きたかった...
  • 54. Why?
  • 55. 気づかせてくれた紹介文 Sendai.pmの後藤さんによる
  • 56. そうか!モノをつくる楽しさを 伝えたいんだった!
  • 57. 俺はPerl他を通じて楽しんでWebをつくってるしその楽しさを多くの人に知ってもらいたいし仲間 を増やしたい!
  • 58. まとめ
  • 59. 本を出した件• つくる行程自体はじめてで楽しかった• 評判やレビュー等勉強になります• もっとツッコんだ話もしたい• とにかく本を出せて成長出来た• エンジニアリングの楽しさを伝えていく
  • 60. Webサービスのつくり方「新しい」を生み出すための33のエッセイAmazonやおっきめの書店で好評発売中!