• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
「Webサービスのつくり方」 のつくり方
 

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

on

  • 19,682 views

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

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

Statistics

Views

Total Views
19,682
Views on SlideShare
16,024
Embed Views
3,658

Actions

Likes
61
Downloads
0
Comments
1

18 Embeds 3,658

http://bikkuri.me 2124
http://yusukebe.com 1301
https://twitter.com 162
http://s.deeeki.com 34
http://www.hanrss.com 9
http://nuevospowerpoints.blogspot.com.es 7
http://nuevospowerpoints.blogspot.com 7
http://localhost 3
http://webcache.googleusercontent.com 2
http://ab-sn5.tumblr.com 1
http://bazqux.com 1
http://twicli.neocat.jp 1
http://safe.txmblr.com 1
http://127.0.0.1 1
http://tweetedtimes.com 1
http://nuevospowerpoints.blogspot.com.ar 1
https://abs.twimg.com 1
https://www.google.co.jp 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • 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
    Processing…
Post Comment
Edit your comment

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

    • 「Webサービスのつくり方」 のつくり方 2013/02/23 Kansai.pm 第15回ミーティング Yusuke Wada a.k.a. yusukebe
    • 自己紹介• 和田裕介 1981年生=31歳• ゆーすけべー / yusukebe• 神奈川県出身 / 在住• (株) ワディット代表取締役社長• (株) オモロキ最高技術責任者
    • 最近のお仕事• オモロキ業務 • ボケて 開発 運用 • 7割程度• ワディット業務 http://bokete.jp/ • メルマガ、執筆、講演 • 3割程度
    • ボケて• 写真で一言ボケるWebサービス• PC 2000万PV / month• スマホWeb 250万PV / month• iPhone / Android アプリ 計100万DL• 総 PV 1億PV弱 / month• Webサイド、バックエンドを一人で開発 / 運用• コラボ企画、モバイル更新、PC新UI
    • そういえば...
    • 本を出しました• Webサービスのつくり方• 技術評論社さんから2012/11/20発売
    • ということで...
    • 今回のアジェンダ• 書籍を書いて出版した裏側や経緯• 本を書くのに使えるツール等の紹介• チームで開発していくことの留意点• よりツッコんだ Perl の話など• エンジニアが本を書くことへの考え
    • 念願の書籍出版
    • 実は 2009年 から...• 技評の細谷さんに声をかけてもらい... • 小飼弾のアルファギークに逢いたい❤ 出演 • WEB+DB Press Vol. 54 特集
    • 「書籍を書かないか?」と言われて2010年頭には Perl本 の提案 をした
    • ちょw 本出したの2012年末だぜwww
    • 3年越しの目的達成細谷さんありがとうございます
    • 本はとにかく出したかった• 昔から本が好きだった• 自分でも何かしら書いてみたかった• 収入的なモノは求めてない• 本を出版する仕組みが知りたかった• ハクをつけるため
    • 3年かけてよく書けたね?• Perl 本 からの方向転換• 一番興味のある Webサービス に焦点• 網羅的につくり方を紹介する• まぐまぐ!で 2012年2月からメルマガ開始• メルマガ内の連載を書籍にする戦略 • 結局これが功を奏した
    • 33のエッセイという 切り口
    • はじめに エッセイ風に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サービスを動かすための要素
    • 本書の意図と企み• メルマガ連載とエッセイ形式は相性がいい • 個人的にエッセイが好きだったり... • どこから読んでもいい。技術書には珍しい• Webサービスの制作について俯瞰できるよう • 個別のツッコんだテクはググってもらう• 何かつくりたい!と思ってもらうように!
    • 出してみての評判と感想• Amazonレビュー ★5 x 4 / ★3 x 3• Blogでの評判もまずまず• やる気が出たという意見 • 狙い通りで嬉しい!• 読みやすいという意見 • 想定してなかったけど嬉しい!
    • 出版の行程
    • • 2012年2月から8月 原稿執筆• 9月上旬 脱稿• 9月〜10月 編集、ゲラ上がり、修正• 10月 装丁デザイン作成• 11月上旬 印刷所入稿• 11月13日 見本誌完成• 11月20日 一般発売• 11月30日 販促イベント
    • こだわり
    • コード例は PerlでPerlはほどよく冗長に書けば 読みやすいから
    • 技術書として異質に• 装丁に対してツッコんで要望 • 編集会社さんの打ち合わせにも同席• イラスト書いてもらった!
    • 個人的に愛せる 本ができた! 読んでくれた方細谷さん、出版会社さんありがとうございます
    • 原稿を書く時の武器
    • Markdown+Byword
    • Dropboxで共有
    • プレビューもしたいよねー ってことで...
    • 自作アプリ「Dropdown」
    • Dropdown• 自分のDropboxファイルをブラウザか らプレビュー出来るWebアプリ• Markdownっぽい拡張子のファイルは Text::Markdownを使って整形表示• Dropbox APIの開発モードだと1アプリ につき5アカウントまでが自由に使える
    • 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(/);}
    • 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 );}
    • 結果的に便利だったhttp://github.com/yusukebe/Dropdown
    • デモ
    • もっと書きたかった今だから言いたい事
    • チームでのWebサービス企画 • 一人で小さい規模から始めること 以外のWebサービス企画 • チームビルディング • 打ち合わせ、ブレインストーミング • リーダーシップ • 戦略とマネタイズ
    • ざっくりと答えを言うと
    • 楽しくやろう!
    • オモロキの例• 自然と気の合う仲間が集まって来た...• 話し合いのルールを暗黙の了解で • みんながリーダーシップを発揮する • 打ち合わせはダラダラしない • 最初は意見を否定しない • マネタイズは後から
    • Perlのツッコんだ話 もしたかった!
    • Mojolicious 推し!
    • Mojolicious• 薄い Web Application Framework• no O/R Mapper, not full-stack, but components are full-stack.• つまり Mojolicious だけ追えばいい• Router, Controller, Template が主力• ModelはPerlオブジェクトで作りつなぐ
    • 実はKindle出版を目指してMojoilcious本を書いてる...
    • MVCのモデルについて• Modelにビジネスロジックをまとめる とお得なのが分かるケース• PC用Webとスマホ用Webをつくる時• Command Line Interface からの利用• ある程度大きくなると「Controllerと 分けててよかった」感
    • ボケてでの事例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
    • Validationも工夫• form -> FormValidator::Lite• data on Model -> Data::Validator # controller if($self->form(Boke)->has_error) { return $self->render_fill(/boke/post); }
    • 開発しつつ運用• VPSを使ってもいいのは2台まで!?• ボケてをAWSへ移行した! • さくらVPSで10数台を使ってた...• 運用は自動化 / 委譲をして楽をする• Cinnamon かわいいよ
    • Cinnamon$ cinnamon web deploy:update$ cinnamon web server:restart naoyaさんのレシピほぼまんま使ってるよ! Perlだからconfig.plで条件分岐もすぐ書けちゃう!とにかくシンプルだから「何やってるか分かる感」!
    • そろそろ締める...
    • エンジニアが本を書くこと
    • ぐだぐだ文章書いてないで コード書いてた方が いいんじゃね?
    • 確かにでも書きたかった...
    • Why?
    • 気づかせてくれた紹介文 Sendai.pmの後藤さんによる
    • そうか!モノをつくる楽しさを 伝えたいんだった!
    • 俺はPerl他を通じて楽しんでWebをつくってるしその楽しさを多くの人に知ってもらいたいし仲間 を増やしたい!
    • まとめ
    • 本を出した件• つくる行程自体はじめてで楽しかった• 評判やレビュー等勉強になります• もっとツッコんだ話もしたい• とにかく本を出せて成長出来た• エンジニアリングの楽しさを伝えていく
    • Webサービスのつくり方「新しい」を生み出すための33のエッセイAmazonやおっきめの書店で好評発売中!