25
1 2015.06.25 紳士なおじさん Yeomanに学ぶ異性を 落とす3つのテクニック 石塚

Yeoman ELT

Embed Size (px)

Citation preview

1

2015.06.25

紳士なおじさん

Yeomanに学ぶ異性を

落とす3つのテクニック

!石塚 淳

突然ですが、、、

2

皆さん恋人いますか?

3

本日の目的

• What – イケてるベンチャー企業の社員の皆さんに、恋人を作ってもらう

• How – 紳士なおじさんYeomanさんから

– 異性(開発者)を落とすテクニックを学ぶ

4

みんなに彼女ができる

テクニックその1

異性が弱っている瞬間を狙え

5

出社当日

• mongoDB • Express • AngularJS • Nodejs

6

MEANで作って!

僕「MEANとは…?」

Expressによるひな形作成

とりあえず使ってみよう!

7

Expressのディレクトリ構成

8

・メインスクリプト

・サーバー起動スクリプト

・モジュール

・モジュール管理ファイル

・静的ファイル

・コントローラー

・テンプレート(ejs, jade)

Expressに途方に暮れる開発者

9

• 軽量とは聞いていたけどここまで自由度高いのか

• 個人開発だけどNode初めてだし、オラオラ実装になったら嫌だな

• モデルは…?

Yeoman

Yeoman !

!

!

!

!

このおじさんが解決します10

Yeomanの構成

• Yo scaffoldingツール

豊富なGenerator

がWeb上に存在

自作もできる

11

• Grunt ビルドツール

テスト

assetsの圧縮

• bower フロントエンド用パッケージマネージャー

npmのフロントバージョン

テクニックその2

!

!

!

数撃ちゃ当たる

12

大量生産を可能にするひな形作成

• npm install -g yo grunt-cli bower • npm install -g generator-angular-fullstack • yo angular-fullstack • grunt serve !! たったこれだけでサーバー起動までできる!

その他コントローラーやモデルの

ひな形を作成するコマンドも存在

13

豊富なGenerator

• angular • angular-fullstack • jhipster – Spring + AngularJS for Java developers

• gulp-angular – gulp not grunt

• express • angular-express-sequelize • flux – react

14

テクニックその3

!

!

!

終わり良ければ全て良し

15

ビルドツールGrunt

• ビルド時のタスクをコードで自動化できる

– assetsの圧縮

– テスト実行

– 構文チェック(JSLint)

• 気持よく開発を終えられる

– また使おうという気持ちになる

16

Yeomanまとめ

• Yo アプリケーションのひな形作成

• Grunt テスト/ビルドツール

• bower フロントエンド用パッケージマネージャー

17

Yeomanさんからのテクニックまとめ

• 異性が弱っている瞬間を狙え

– だれしもそんな時があるはずです。

• 数撃ちゃ当たる

– ストライクゾーンを広げましょう。

• 終わり良ければ全て良し

– 初デートは終わりが肝心です。

– また会いたいと思わせましょう。

18

最後に、、、

19

彼女いません!!

20

さんざん偉そうなこと

言ってきた僕ですが、

21

合コン・女の子の紹介

絶賛受付中です!

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

Enjoy Yeoman!

22

Node.jsとは

• 背景

– C10K問題

• 基本設計

– シングルスレッド

• メモリ消費量が少ない

– ノンブロッキングI/O

– イベントループ

• ApacheとNginx

• クライントのリクエストごとにスレッドを作成23

Node.jsまとめ

• コールバックでネストが深くなる

→ asyncモジュール

• 動的型付け

• クラスの概念が特殊(Object, prototype)

→ altJS Alternative JavaScriptの略

ソースをJavaScriptにコンパイルして使う

最近だとMS製のTypeScriptが流行24

Yeomanを使う利点

• 基本はExpressなので軽量

• npm, bowerでパッケージが管理されているので複数人開発がしやすい

• デフォルトである程度のパッケージが追加済み

– 認証系, ORマッパー, jQuery, bootstrap

• ジェネレータが選べる and 自作できる

• テスト, ビルドも自動化

– assetsの圧縮, コンパイル(Coffeeとか)

• なにより開発スピード25