48
モモモモモモモ react モモモモ モモモモモモモモモモモ モモモモモモモ

モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

  • Upload
    -

  • View
    167

  • Download
    8

Embed Size (px)

Citation preview

Page 1: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

モダンでもなくreact でもなくフロントエンドでもなく開発でもない話

Page 2: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

who am I• t.amano / @sheercat• 職業 : 名ばかり所長• 言語 :

perl go C C++ java clojure

• 会社 : livedoor → LINE → mixi(Diverse inc.)

Page 3: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

Diverse は何をやってる会社か?

Page 4: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

YYC

Page 5: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

youbride

Page 8: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

AM

http://am-our.com/sex/436/13708/

Page 9: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• 3 行で

Page 10: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• セックスするときの脳波をしらべたら• コンドームによって• 気持ちよさがちがった

Page 11: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• !?

Page 12: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

今時のコーポレートサイト

Page 13: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

とある募集

Page 14: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

     ___ _   /     \  /  ─    ─ \ この予算感、、、やる人いるのか?/    (●)  (● ) \|        ( __ 人 __ )  |./      ∩ノ ⊃   /(   \ / _ノ  |   |. \ “  /__ |   |  \ /___ /

Page 15: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

あ、いいとこにいたね                                                           / ̄ ̄\                                                          _, ノ ヽ、 _   \                                                          (●)(● )    |                                           …………       ( __ 人 ___ )     |                                                               ' 、        |                                                           |       |                                                           |   ,     / _.{                                                          `ァニニ<//〉、_ _   __                                                          ,./ / \  / : : : : : : > : : \                                                        _ / /| イ :::::/∨. : : :l: : : : : : : : : : :. 丶                                                     / . : : : :| ./ ` Y / : : : 」 : : : /: : : : : : : : }                                                     ,´ : :/: : : :| i ::::::|/ : : / : : : / : : : : : : : : :|                                                     { : :/. : : : :|/:::::/ : : : : : : : | : : : : : : : : : ,'                                                    / : :,' : : : : : |::::/ : : : : : r--- く ´ ニ\ : ヽ : ノ                                                  、 ' ー r,_| : : : : : :|:/ : : : : :_/ 二ヽ  V: : : : ` :´                                                 / :. / ̄>< :./ : : : : :/ 二 ヽ _ 」┘ : : : ∨}                                                / : : : ム  / : : : :  ̄ ̄ ̄ ̄ ~ ゙ ''- ゝ . 」 : : : : : ∨ :}                                                { : : : : : : \、 : : : : : : : : : : : : : : : : \ . : : :∨ : :l                                               ヽ : : : : : : : :  ̄ " \ : : : : : : : : : : : : : : : / : : :{

Page 16: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

うちのコーポレートサイトリニューアルしてくんない?                                                           / ̄ ̄\                                                          _, ノ ヽ、 _   \                                                          (●)(● )    |                                           …………       ( __ 人 ___ )     |                                                               ' 、        |                                                           |       |                                                           |   ,     / _.{                                                          `ァニニ<//〉、_ _   __                                                          ,./ / \  / : : : : : : > : : \                                                        _ / /| イ :::::/∨. : : :l: : : : : : : : : : :. 丶                                                     / . : : : :| ./ ` Y / : : : 」 : : : /: : : : : : : : }                                                     ,´ : :/: : : :| i ::::::|/ : : / : : : / : : : : : : : : :|                                                     { : :/. : : : :|/:::::/ : : : : : : : | : : : : : : : : : ,'                                                    / : :,' : : : : : |::::/ : : : : : r--- く ´ ニ\ : ヽ : ノ                                                  、 ' ー r,_| : : : : : :|:/ : : : : :_/ 二ヽ  V: : : : ` :´                                                 / :. / ̄>< :./ : : : : :/ 二 ヽ _ 」┘ : : : ∨}                                                / : : : ム  / : : : :  ̄ ̄ ̄ ̄ ~ ゙ ''- ゝ . 」 : : : : : ∨ :}                                                { : : : : : : \、 : : : : : : : : : : : : : : : : \ . : : :∨ : :l                                               ヽ : : : : : : : :  ̄ " \ : : : : : : : : : : : : : : : / : : :{

Page 17: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

     ___ _   /     \  /  ─    ─ \   「ふむ。。。」/    (●)  (● ) \|        ( __ 人 __ )  |./      ∩ノ ⊃   /(   \ / _ノ  |   |. \ “  /__ |   |  \ /___ /

Page 18: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• アクセス全然ないけど必要• オフィス移転したりするたびに更新• 新たなサービスだしたら更新• 採用情報を載せて、更新• なにかあったら更新

コーポレートサイト、だいたいこんなイメージ

Page 19: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• SEO がんばりたい ( まじで ?

• 今風にしたい全幅つかってパララックスするアレまたアレかよ• なにしろリニューアルしたい(リソースかけずに ←まじか

でも定期的にリニューアルしたがる

Page 20: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• html がポトッと置いてあるだけで、 web アプリ的なものは無し• ニュースリリースも、ニュースリリースの履歴もなしそういうのは公式 blog でやってる

現在のコーポレート

Page 21: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• ニュースリリースをコーポレートサイトにもだしたい ( SEO 目的 ?• 全部、プレスリリース、普通のニュースでわける( why

• ページャー

今回の要望まとめ

Page 22: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• web アプリを今から置きたくない一番最初のころ amon2 置いてたけど、 xslate でヘッダ・フッタ include するくらいしかすることなかったので撤去した• すぐ CMS って言うのでなだめる• CMS がいいなら wordpress つかえば

wordpress is too much

my 方針検討

Page 23: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• cdn から Vue.js 食って、クライアントサイドレンダリング

最初の方針

Page 24: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• そのときたまたまはてブの テクノロジーのとこにスライドがあった • 調べてみたら案外軽そうだった• react 系 使ったことあるって言い張りたかった ( どうしても言い張りたかった

why Vue.js

Page 25: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• ndenv • npm install vue などなど• browserify とか• vue-cli いれてベースつくったり• npm run dev で http-server 起動\ (^o^) /便利だな

Vue.js

Page 26: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• クライアントサイドレンダリングだと、SEO どうするか

• SEO オワコンっていえるほど知見ない• 社内で Vue.js なんてだれも使ってない• どころか、フロント系の知見が無い• オッサンの自己満プロジェクトになる

そういえば

Page 27: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• テンプレートエンジンでヘッダー・フッター共有するだけでも楽になる• サーバサイドレンダリングなので SEOで文句言われない• ogp とか description, keyword とかも差し替えれる

そうだ mustache だ

Page 28: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• {{ }} 記法へのあこがれ[% %] 記法はコンプレックスになる

• 他には Handlebars とかも調べたけどヒゲだし• Vue.js も併用するが、 {{ }} バッティング問題は Vue.js 側で逃げれる

why mustache

Page 29: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• npm install mustache• mustache vars.json tmpl.mustache

\ (^o^) /かんたん

mustache

Page 30: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• {{> header }} とかで外部テンプレ読めるはず。。。がよくわからない• ソースみる• -p で全部渡す必要があった (^^;;;;;;;;;• grunt ? gulp ? 社内であまり使ってない• npm script ?• よし、 shell だ

mustache partial は

Page 31: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• みんな読める

why shell

Page 32: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• $MUSTACHEBIN null.json $MFILE \`ls partial/*.html | xargs | sed -e 's/partial/-p partial/g’`\ >| ${MFILE%.*}.html

let’s shell

Page 33: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• (^o^) これで行きましょう

shell 読める

Page 34: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• (^o^) !?

要件見直す

Page 35: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

要件見直す• ニュースリリースをコーポレートサイトにもだしたい ( SEO 目的 ?• 全部、プレスリリース、普通のニュースでわける• ページャー

Page 36: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• (^o^) !?

要件見直す

Page 37: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• 特定ディレクトリの下に置かれてるファイル数をカウントしてそれをテンプレに渡してやって、 10 ページずつリストをつくってやればよい。表示の制御は Vue.js つかおう header footer の埋め込みは mustache だ。 build は gulp だ deploy は rsync だ。そうだそうしよう

shell 最強のはず

Page 38: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• 常識的に考えてそんな unk project 爆誕させちゃダメだった

冷静な感情

Page 39: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• これは サイトジェネレーターでは?

そういえば

Page 40: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• jekyll や middleman や hugo だhugo だ

hugo

Page 41: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• 速い• install 超楽• go 案件は社内にいくつかある

why hugo

Page 42: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• 要件はすべてみたすtag, category 、ページャー機能

• 意識高すぎる markdown での記事更新はべつにしなくていい。生 html でいい• 生成した public ばらまけばいいので

deploy は rsync でいい

let’s hugo

Page 43: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• brew install hugo• rbenv 入れて gem install compass• hugo server -v -w• compass watch

• あとは html 更新したり scss 更新したりすれば勝手に反映される

デザイナに環境つくってもらった

Page 44: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• ということで、コーポレートサイトは hugo で静的に生成することになりました。

• go の template がちょっと特殊だが、慣れhappy end.

finally answer is hugo

Page 45: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• コンドームは薄いほうが気持ちいいというわけじゃない(重要)

まとめ

Page 46: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• セックス時の脳波を計測すると気持ちいい(計測しなくても)

まとめ

Page 47: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

• オッサンの興味だけで unk プロジェクトつくっちゃだめ

まとめ

Page 48: モダンでもなく reactでもなく フロントエンドでもなく 開発でもない話

ご清聴ありがとうございました