Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
ビルド職人の朝は早い
Report
Masashi MATSUI
Follow
Apr. 23, 2016
•
0 likes
2 likes
×
Be the first to like this
Show More
•
3,737 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Check these out next
Node.js基礎の基礎 - Miyazaki.js vol.2
Nobuhiro Nakashima
Node.jsに縁のない職場でnode.jsを使い始める戦術
Isamu Suzuki
Node.js を選ぶとき 選ばないとき
Ryunosuke SATO
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Shunsuke Watanabe
Sails.jsのメリット・デメリット
Ito Kohta
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Kohei Asai
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
Hiroyuki Kusu
Nodeについて
Natsuki Yamanaka
1
of
47
Top clipped slide
ビルド職人の朝は早い
Apr. 23, 2016
•
0 likes
2 likes
×
Be the first to like this
Show More
•
3,737 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
Niigata.js #1の発表内容です。
Masashi MATSUI
Follow
Advertisement
Advertisement
Advertisement
Recommended
Node.jsでサーバプログラマ デビューしよう
Yuusuke Takeuchi
5K views
•
13 slides
Node js 入門
Satoshi Takami
82.6K views
•
27 slides
TypeScriptへの入口
Sunao Tomita
22.2K views
•
36 slides
Node.js で Web アプリ開発
Tatsumi Naganuma
2.3K views
•
25 slides
Hello, Node.js
Shin Sekaryo
1.4K views
•
39 slides
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
zuya
7.8K views
•
17 slides
More Related Content
Slideshows for you
(20)
Node.js基礎の基礎 - Miyazaki.js vol.2
Nobuhiro Nakashima
•
14.5K views
Node.jsに縁のない職場でnode.jsを使い始める戦術
Isamu Suzuki
•
5.7K views
Node.js を選ぶとき 選ばないとき
Ryunosuke SATO
•
83.1K views
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Shunsuke Watanabe
•
5.4K views
Sails.jsのメリット・デメリット
Ito Kohta
•
2.6K views
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Kohei Asai
•
16.3K views
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
Hiroyuki Kusu
•
7.2K views
Nodeについて
Natsuki Yamanaka
•
15.9K views
MVCフレームワーク Sails.jsについて機能紹介
kamiyam .
•
5.6K views
Babelで先取り次世代javascript
Tsuyoshi Maeda
•
2.4K views
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
•
4.1K views
AngularJS2でつまづいたこと
Takehiro Takahashi
•
4.5K views
20131012 nodejs
Amuro Nishizawa
•
1K views
サーバサイドNodeの使い道
pospome
•
10.7K views
Node.js入門
俊夫 森
•
30.7K views
Zabbix による監視のあれこれ
Cosign930
•
1.7K views
ご注文は構成管理ですか??
Cosign930
•
2.7K views
Javascript を使ってみよう!!
誠 小林
•
475 views
Node
Michiel huntingfield
•
112 views
Node.jsで始める Modern JavaScript Framework
kamiyam .
•
2.7K views
Viewers also liked
(20)
オリジナル社内ツールの末路
Kiyotaka Kunihira
•
2.2K views
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
Nobukazu Hanada
•
11K views
イマドキのコーダー環境構築2016
Sou Lab
•
30.2K views
いい感じのフロントエンド開発環境を作ってみた
Hayashi Yuichi
•
41.3K views
はじめての CircleCI
Yosuke Mizutani
•
53.5K views
地雷職人の朝は早い
yoku0825
•
3K views
PHP選んで良かったこと
Wataru Terada
•
1.4K views
フロントエンド開発環境
Masaki Kawaguchi
•
1.7K views
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
Monaca
•
15.6K views
最近のフロントエンドツールの紹介
Ryo Iinuma
•
11.8K views
クラウド時代だからこそ見直したい PHPアプリケーションのパフォーマンスチューニング
Terui Masashi
•
15.4K views
SVGの基本&活用法。SVGのメリットと事例を基礎から学ぶ。
Daisuke Koshimizu
•
42.3K views
DMMで新規サービス作ったらフロントエンドエンジニアの重要性が浮き彫りになった話 - DMM Study night
石橋 啓太
•
23K views
Effective ES6
Teppei Sato
•
52.1K views
『例えば、PHPを避ける』以降PHPはどれだけ安全になったか
Hiroshi Tokumaru
•
73.7K views
2016年版 フロントエンド開発フォーマット
Kenya Kodaira
•
38.6K views
ゆるく学ぼう!現在のフロントエンドまとめ
将一 深見
•
7.5K views
サーバサイドエンジニアが 1年間まじめにSPAやってみた
Itaru Kitagawa
•
17.1K views
Gulp入門 - コーディングを10倍速くする
Hayashi Yuichi
•
244.3K views
JavaScript難読化読経
Yosuke HASEGAWA
•
49.8K views
Advertisement
Similar to ビルド職人の朝は早い
(20)
JavaScriptトレンド総括(2014)
VOYAGE GROUP
•
1.5K views
JavaScriptトレンド総括(2014)
Tetsuharu OHZEKI
•
23.5K views
Shimane2008
Yasuko Ohba
•
944 views
作る人から作りながら運用する人になっていく
Ryo Mitoma
•
971 views
Gruntの罪と罰
kamiyam .
•
2.4K views
JavaScriptと共に歩いて行く決意をした君へ
Muyuu Fujita
•
10.1K views
worker_threadsを使った実装の勘所
yo_waka
•
893 views
OSvのご紹介 in Java 8 HotSpot meeting
Takuya ASADA
•
3.3K views
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
•
12.3K views
大規模なJavaScript開発の話
terurou
•
12K views
Nodejs
和樹 川端
•
1.5K views
node.js 開発のためのお手軽サーバ構築について(仮)
Toru Tamura
•
388 views
Concurrent Programm in JavaScript
yjono Seino
•
117 views
Concurrent Programming in JavaScript
yjono Seino
•
137 views
Windows azureって何
Kana SUZUKI
•
1.4K views
後期第二回ネットワークチーム講座資料
densan_teacher
•
280 views
Web制作勉強会 #2
Moto Yan
•
613 views
初心者向け負荷軽減のはなし
Oonishi Takaaki
•
11.5K views
The seminar of asp.net at 201908 sakurug
SAKURUG co.
•
109 views
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネット株式会社
•
3.7K views
Recently uploaded
(20)
UAV写真・レーザー測量test.pptx
ssuserb48d2b1
•
14 views
☀️【中央兰开夏大学毕业证成绩单留学生首选】
25mjhd12
•
4 views
Kubernetes超入門
Takashi Suzuki
•
5 views
SoftwareControl.pdf
ssusercd9928
•
15 views
☀️【杜兰大学毕业证成绩单留学生首选】
2125nuh
•
2 views
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
オラクルエンジニア通信
•
29 views
【DL輪読会】Flow Matching for Generative Modeling
Deep Learning JP
•
729 views
ChatGPT + LlamaIndex 0 .6 による チャットボット の実装
Takanari Tokuwa
•
38 views
Windows ChatGPT Bing AI.pptx
Atomu Hidaka
•
2 views
MC-800DMT intrusion detector manual
Vedard Security Alarm System Store
•
2 views
ヘッドレス化したbaserCMS5とその機能
Ryuji Egashira
•
10 views
Üslup ve tercüme.pdf
1Hmmtks
•
2 views
留信网认证可查【皇家霍洛威学院文凭证书毕业证购买】
32lkhng
•
2 views
20230516 @Mix Leap Hirohiko_Suwa
Masashi Nakagawa
•
83 views
☀️【卡尔顿大学毕业证成绩单留学生首选】
15sad
•
2 views
モバイル・クラウド・コンピューティング-データを如何に格納し、組み合わせ、情報として引き出すか
Masahiko Funaki
•
2 views
TestSIP (1).pdf
DeependraSingh712859
•
2 views
PCベース制御による集中制御.pdf
ssusercd9928
•
19 views
JSONEncoderで詰まった話
とん とんぼ
•
22 views
HTTPの仕組みについて
iPride Co., Ltd.
•
0 views
Advertisement
ビルド職人の朝は早い
ビルド職人の朝は早い Matsui Masashi niigata.js #1
• 松井 正志
(Matsui Masashi) • twitter: @circled9, @ma_2_i • 仕事は8割方JavaScriptを書いてます 自己紹介 2
みなさんJSで 消耗してませんか? 3
激流のような トレンドの移り変わり 4
矢継ぎ早に襲いかかる バージョンアップ 5
特にビルド 6
各ツールの依存関係で 動かなくなってつらい 7
Babelを5から6にしたら あれこれ動かなくなったとか 8
登場人物の紹介 9
node.js • サーバーサイドJavaScriptの実行環境 • ブラウザで動作するJavaScriptを開発する時もビル ドツールの動作環境としてよく使われる 10
npm • node.jsのモジュールを管理するツール • Node
Package Manager • node.jsに標準でついてくる 11
タスクランナー • ビルドやテストなどのタスクを定義し、実行するツ ール • grunt、gulp、flyなどのツールが有る •
具体的な処理は、それぞれプラグインを使って処理 をする 12
モジュール管理 • モジュールの依存関係を解決する • 主にブラウザ上で動作するJavaScript対象 •
browserify、webpack、rollupなど • このカテゴリーのツールもプラグインがたくさんあ る 13
ビルド職人の朝は早い 14
ビルド職人の朝は早い • 今日は僕の現時点でのJavaScriptのビルドに関する 知見を話したいと思います • 来年くらいには言っていること変わっているかもし れません •
内容に異論は認める 15
目次 • npm install
-gはやめよう • run-script経由で呼びだそう • preとpostを使おう • 依存は減らそう 16
npm install -g はやめよう 17
これ 18
npm install --global
gulp-cli or npm install -g gulp-cli 19
npm install -g •
-g オプションをつけるとグローバルインストール される • パスが通った場所にインストールされ、どこでもそ のコマンドが呼べる 20
悲しい例 今年のワイ「よっしゃwebpack使おう」 npm install -g
webpack (1年後…) 来年のワイ「よっしゃ時代はwebpack2や」 npm update -g webpack 上司「去年のプロジェクトに機能追加してくれ」 来年のワイ「・・・」 21
-g のデメリット • グローバルにインストールするので、プロジェクト ごとにバージョンが変えられない •
nodebrewなどでnodeのバージョンを切り替えると 、再度インストールし直しになる 22
代案 • インストールするときは -D
(--save-dev) オプショ ンを使う • 使うときは run script(後述)経由で呼び出す 23
run-scriptを使おう 24
Example • Bad!! $ npm
install gulp -g $ npm install $ gulp • Good!! $ npm install $ npm start 25
run-script • package.jsonのscripts内に書いたタスクをnpm run XXXで呼び出すことができる •
このときnode_modules/.binにはパスが通っている 26
メリット • 何を使っているのか気にしなくていい • npm
start が node なのか grunt なのか gulp なの か使う側は気にしなくてよい • トラブルになる要素が少ない • 基本シェルで直接叩いているのと同じ 27
デメリット • 長くなるとメンテしづらい • シェくスクリプトを書いて実行するという技で逃 げられなくもない •
うっかりシェル芸に走ると地獄の始まり 28
TIPS: 引数を渡す • 引数を渡したい場合は--で渡す •
例: npm run test -- --grep="pattern" 29
preとpostを使おう 30
preとpostを使おう • preとpostで前処理・後処理が書ける • preXXXでXXXの前に実行される •
postXXXでXXXの後に実行される • それでもダメならgulp使う感じで 31
preとpostのいいところ • 特筆するほどいいところは、ぶっちゃけないです • 強いて言うなら、新しく何かをインストールしなく ていい •
例えばgulpを使うとgulp-XXXが必要になる 32
依存はほどほどに 33
やりたいことはいっぱいある • 画像などのファイルの読み込みをしたい • モジュール管理したい •
altJSで書いてトランスパイルしたい • コードを難読化・圧縮したい 34
そうだツールを使おう • 画像をコピー!よし、Gulpを使おう! • モジュール管理はWebpackを使おう! •
XXXはGulpのプラグインがある! • YYYはWebpackのプラグインで! • (以下繰り返し)
ツール沼へようこそ 36
プラグインの依存関係地獄 • webpack • babelify •
babel • power-assert • karma
プラグインの依存関係地獄 • webpack • babelify •
babel ←Babelを5=>6に上げたい • power-assert • karma • etc, etc…
YOU DIED…
プラグインの功罪 • プラグインを使うと簡単に目的の機能が実現できる • しかし、依存関係が増えるため、バージョンアップ したいときに大変になったりする •
XXXが更新されたのに、XXXを呼び出すプラグイ ンが更新されないとか…
入れるのは簡単 メンテするのは大変
ビルド職人が この先生きのこるには 43
トレンドの変化と バージョンアップ
それらの闇に 飲み込まれないこと
ビルドの闇に 飲まれてはならない
おわり 47
Advertisement