SlideShare a Scribd company logo
フロントエンド制作向けビルド
ツールGruntがバックエンド
開発でも意外と使える!
@M_̲Ishikawa
〜~PerlとGruntが恋をした〜~
2013/9/24 (火)
本⽇日の⽬目標
•Gruntがなにかを知る
•Perl開発でGruntの使い道を知る
•Gruntプラグインを⾃自分で開発できる
ようにする
⼊入⾨門者向けの内容です
2013/9/24 (火)
Perlの話は…
ほんの少し…
だけど
2013/9/24 (火)
•⾃自⼰己紹介
•Gruntとは
•Gruntの動作環境
•Gruntプラグイン
•Gruntの使い所
•導⼊入までの流流れ
•デモ
•プラグインを作ってみよう
•Grunt利利⽤用のコツ
本⽇日のメニュー
2013/9/24 (火)
⾃自⼰己紹介
2013/9/24 (火)
•Masayuki  Ishikawa
•@M_̲Ishikawa
•id:ishikawam
•GREEでブラウザソーシャルゲームの開発エンジニア
•去年年のYAPCでLTデビュー
•「おせっかい駆動開発のススメ」
•「ドヤリング型開発」を提唱
2013/9/24 (火)
•スタバなどのカフェでMacbook開いて
ドヤ顔でコーディングする近代の開発
⼿手法
•検索索ワード:ドヤラー、ドヤリング
ドヤリング型開発とは
https://www.google.co.jp/search?q=ドヤリング&tbm=isch
おさらい
2013/9/24 (火)
Gruntとは
2013/9/24 (火)
http://gruntjs.com/
2013/9/24 (火)
2013/9/24 (火)
id:naoya  公認
2013/9/24 (火)
•最近のHTMLとかCSSのイベント・カンファレンスで
使っているのをよく⾒見見かける
•講演内容がGruntではなくても、講演者はGrunt使⽤用
が前提でセッションを進めてたり
•フロントエンド開発では結構当たり前に使っている
•デザイナーが「⿊黒い画⾯面」といいだしたのはGruntを
触るのがきっかけ?(実際はcompassとかsassとか
gitとかだけど)
でも我々Perlerにはほとんど縁がない!
2013/9/24 (火)
この機会に名前だけでも
覚えていって下さい
2013/9/24 (火)
• node.js製のフロントエンド開発⽀支援ツール
• フロントエンド関連ファイルのビルドを⾏行行う
• 開発⽤用、公開⽤用ディレクトリを分けて管理理し、公開⽤用に画像を圧
縮したりJSを難読化したりCSSプリプロセッサ変換(Sass等)
をしたりテストしたり  etc...
• プラグインによりツールを拡張できる
• プラグインの開発が簡単(node=JS)
• Gruntプラグイン=nodeモジュールなのでnpmで管理理されてます
Gruntとは
2013/9/24 (火)
•依存管理理といったら例例えばこんなの
•CPANとかPEARとかGemは?>パッケージ管理理。
•※npmはパッケージ管理理、依存管理理の両⽅方できる
•git  submoduleではなく機能として利利⽤用できる
npm  のおさらい
ライブラリの依存管理理
2013/9/24 (火)
Gruntの動作環境
•開発環境で使う
•nodeが動けば動く。Macでも、
Windowsでも、Linuxでも
•今回はクライアントMacでデモ
•サーバ上での開発で使⽤用しても
まったく問題なし
2013/9/24 (火)
•デザイナーがMacで制作、Sublime  Text
を使⽤用して⿊黒い画⾯面でGruntを利利⽤用
•エンジニアがターミナルから接続した開発
⽤用サーバ上でプログラミング、そこで
Gruntを利利⽤用
例例えばこんなシチュエーション
2013/9/24 (火)
•Gruntは枠組みだけ、実態はプラグイ
ンで、これをどう使うか。
•http://gruntjs.com/plugins
•公式 25
•全体 1390
※npm  search  gruntplugin  |  wc  -‐‑‒l  調べ  2013/9/12現在
Gruntプラグイン
2013/9/24 (火)
• grunt-‐‑‒contrib(公式プラグイン:25個)でどんなことができるか https://github.com/gruntjs/grunt-‐‑‒contrib
• grunt-‐‑‒contrib-‐‑‒clean Clean  files  and  folders.
• grunt-‐‑‒contrib-‐‑‒coffee Compile  CoffeeScript  files  to  JavaScript.
• grunt-‐‑‒contrib-‐‑‒compass Compile  Compass  to  CSS
• grunt-‐‑‒contrib-‐‑‒compress Compress  files  and  folders.
• grunt-‐‑‒contrib-‐‑‒concat Concatenate  files.
• grunt-‐‑‒contrib-‐‑‒connect Start  a  connect  web  server.
• grunt-‐‑‒contrib-‐‑‒copy Copy  files  and  folders.
• grunt-‐‑‒contrib-‐‑‒cssmin Compress  CSS  files.
• grunt-‐‑‒contrib-‐‑‒csslint Lint  CSS  files.
• grunt-‐‑‒contrib-‐‑‒handlebars Precompile  Handlebars  templates  to  JST  file.
• grunt-‐‑‒contrib-‐‑‒htmlmin Minify  HTML
• grunt-‐‑‒contrib-‐‑‒imagemin Minify  PNG  and  JPEG  images
• grunt-‐‑‒contrib-‐‑‒jade Compile  Jade  files  to  HTML.
• grunt-‐‑‒contrib-‐‑‒jasmine Run  jasmine  specs  headlessly  through  PhantomJS.
• grunt-‐‑‒contrib-‐‑‒jshint Validate  files  with  JSHint.
• grunt-‐‑‒contrib-‐‑‒jst Precompile  Underscore  templates  to  JST  file.
• grunt-‐‑‒contrib-‐‑‒less Compile  LESS  files  to  CSS.
• grunt-‐‑‒contrib-‐‑‒nodeunit Run  Nodeunit  unit  tests.
• grunt-‐‑‒contrib-‐‑‒qunit Run  QUnit  unit  tests  in  a  headless  PhantomJS  instance.
• grunt-‐‑‒contrib-‐‑‒requirejs Optimize  RequireJS  projects  using  r.js.
• grunt-‐‑‒contrib-‐‑‒sass Compile  Sass  to  CSS
• grunt-‐‑‒contrib-‐‑‒stylus Compile  Stylus  files  to  CSS.
• grunt-‐‑‒contrib-‐‑‒uglify Minify  files  with  UglifyJS.
• grunt-‐‑‒contrib-‐‑‒watch Run  predefined  tasks  whenever  watched  file  patterns  are  added,  changed  or  deleted.
• grunt-‐‑‒contrib-‐‑‒yuidoc Compile  YUIDoc  Documentation.
2013/9/24 (火)
様々なコンバート処理理
nodeunit
uglifyjs
2013/9/24 (火)
• 開発、運⽤用において、「コードを書く以外」でやっている⼿手間ありま
せんか?
• コンパイル、ビルドのコマンド実⾏行行
• Sass(SCSS,less)を変換、CoffeeScriptを変換
• 本番配布⽤用に画像の圧縮、JSの難読化、CSSのミニファイ
• 規則正しく予想できるファイル名(card1.png,card2.png,...)
へ直接アクセスされないように隠蔽するのにハッシュのリネーム
• CDNのキャッシュをクリアするために⾛走らせているコマンド
• srcにパラメータ付与、ファイル名変更更、等
• テストの実⾏行行
• Lint,  シンタックスチェック,  UNITテスト,等
• その他、無限の可能性が...!!!
Gruntの使いどころ
2013/9/24 (火)
•1.開発環境へnode、Gruntを導⼊入
•ちなみに本番運⽤用サーバへnodeを⼊入れる必要は
ありません!あくまで開発⽀支援で使うのみです。
•2.プロジェクトリポジトリへGruntfile.jsと
package.jsonを⼊入れて、node_̲modules
を.gitignoreに⼊入れる
•3.各開発環境では  npm  install  を実⾏行行して
node_̲modules以下にGruntプラグインを構築
Grunt導⼊入までの流流れ
2013/9/24 (火)
# nodeが入っている前提
% npm -g install grunt-cli
% mkdir ~/hoge
% cd ~/hoge
% npm install grunt --save
1.開発環境へGruntを導⼊入
npmのお作法により、プロジェクトごとにインストールする
2013/9/24 (火)
•Gruntfile.js
•Gruntの設定ファイル
•package.json
•Gruntで使⽤用するプラグインのパッ
ケージ管理理&依存管理理
2.プロジェクトへ  Gruntfile.js  
と  package.json  を設置
2013/9/24 (火)
% npm install
3.node_̲modules以下に
Gruntプラグインを構築
package.json  正しく書かれていれば  node_̲modules  ディレクトリ
以下にプラグインがインストールされます。
2013/9/24 (火)
Gruntデモ
ソース公開してます
https://github.com/ishikawam/grunt-‐‑‒sample-‐‑‒yapc
2013/9/24 (火)
Gruntのデモ
• Catalistに載せたBootswatch(Bootstrap)で作ったサンプル試
します
• 今回使⽤用するプラグイン
• Gruntで構⽂文チェック
• grunt-‐‑‒contrib-‐‑‒csslint
• grunt-‐‑‒contrib-‐‑‒jshint
• Gruntでミニファイ
• grunt-‐‑‒contrib-‐‑‒cssmin
• grunt-‐‑‒contrib-‐‑‒uglify
• grunt-‐‑‒contrib-‐‑‒imagemin
• GruntでPerl!
• grunt-‐‑‒perllint
2013/9/24 (火)
Gruntで構⽂文チェック
•本⽇日の例例
•grunt-‐‑‒contrib-‐‑‒csslint
•cssの構⽂文チェック
•grunt-‐‑‒contrib-‐‑‒jshint
•JSの構⽂文チェック
※チェッカの設定はGruntfile.js内
Optionsで細かく指定できます。
2013/9/24 (火)
Gruntでミニファイ
• プラグイン例例
• grunt-‐‑‒contrib-‐‑‒cssmin cssのミニファイ
• grunt-‐‑‒contrib-‐‑‒uglify JSのミニファイ
• grunt-‐‑‒contrib-‐‑‒imagemin png,jpgのミニファイ
• ファイル構成例例
• htdocs/{css,js,img}/ DocmentRoot
• assets/{css,js,img}/ オリジナルファイル
※開発⽤用と本番⽤用でDocumentRootまたは
staticディレクトリを切切り替えるようにすると捗ります。
2013/9/24 (火)
※開発⽤用と本番⽤用でDocumentRoot
またはstaticディレクトリを
切切り替えるようにすると捗ります。
2013/9/24 (火)
開発確認⽤用
・読みやすいJS
・読みやすいCSS
デプロイ⽤用
・難読化したJS
・圧縮化したCSS
Write  Code
・CoffeeScript
・Sass(SCSS)
参照先とかDocumentRootを切り替え
/**
* Grunt Sample SCSS
*/
$text_color: #121c00;
#sample {
h1 {
margin: 10px;
}
p {
color: $text_color;
}
}
/**
* Grunt Sample SCSS
*/
#sample h1 {
margin: 10px;
}
#sample p {
color: h1 {#121c00;
}
#sample h1{margin:10px}#sample p{color:#121c00}
2013/9/24 (火)
GruntでPerl!
•本⽇日の例例
•grunt-‐‑‒perllint
YAPCのために作ってみた
•Perlの構⽂文チェック
2013/9/24 (火)
例例:Perlのソースを監視して
構⽂文チェックを⾛走らせる
2013/9/24 (火)
例例:Perlのソースを監視して
構⽂文チェックを⾛走らせる
grunt-‐‑‒watch  でソースの変更更を監視して
perl  -‐‑‒wc  を  grunt-‐‑‒perllint  を介して実⾏行行する
=
2013/9/24 (火)
その他のPerlプラグインは?
•Gruntで
•ユニットテストしたい
•コーディング規約のチェックしたい
•perldoc出したい
•etc...
2013/9/24 (火)
2013/9/24 (火)
Gruntプラグインを
作ってみよう
2013/9/24 (火)
•例例:grunt-‐‑‒watchでソースの変更更を監
視してTest::Moreをgrunt-‐‑‒perlunit
を介して実⾏行行する
•「こんなのあるかな?」と思ったプラ
グインは存在するけどなければ作れば
いい
Gruntプラグインを
作ってみよう
2013/9/24 (火)
• まずgruntプラグインを漁った
• grunt-‐‑‒hash
• grunt-‐‑‒md5
• grunt-‐‑‒hashmap
• grunt-‐‑‒rev
• grunt-‐‑‒rev-‐‑‒md5
• ちょっと違った
• 作って公開した
• そしたら…
grunt-‐‑‒md5filename
開発の経緯
https://github.com/ishikawam/grunt-md5filename
2013/9/24 (火)
https://github.com/gruntjs/grunt-contrib/issues/164
2013/9/24 (火)
Gruntプラグインのファイル構成例例
• Gruntfile.js
• package.json
• README.*
• LICENSE-‐‑‒*
• tasks/
• node_̲modules/
• .git
• .gitignore
• .npmignore
• .travis.yml
• test/
• tmp/
2013/9/24 (火)
Gruntプラグインの開発にも
Gruntを使います
2013/9/24 (火)
% npm init #package.jsonを生成
% npm publish #公開!
% npm info hoge #npmに登録されたのを確認
⾃自作gruntプラグインをnpmに\公開/
たったこれだけ!
2013/9/24 (火)
2013/9/24 (火)
Grunt利利⽤用のコツ
•watchに頼らない
•あくまで簡易易で即チェック
•manualを定義しておいて、コミット
前に実⾏行行する
2013/9/24 (火)
grunt-‐‑‒contrib-‐‑‒watch
•ファイルの変更更を監視して、Gruntタ
スクを開始します。
•  Live  Reload  もできます。
•  連携すればGrowlで通知もでき
ます。(grunt-‐‑‒notify)
ただしデプロイ前はgrunt  manualで
2013/9/24 (火)
Gruntで楽しい
コーディングライフを!!
2013/9/24 (火)
本⽇日のサンプルはGithubで
資料料はslideshareで
公開してます。
http://www.slideshare.net/mishikawa55/2013-‐‑‒yapc
https://github.com/ishikawam/grunt-‐‑‒sample-‐‑‒yapc
2013/9/24 (火)
以上、ご清聴
ありがとうございました!
@M_̲Ishikawa
2013/9/24 (火)
以上、ご清聴
ありがとうございました!
@M_̲Ishikawa
2013/9/24 (火)

More Related Content

What's hot (20)

サーバサイドNodeの使い道
サーバサイドNodeの使い道サーバサイドNodeの使い道
サーバサイドNodeの使い道
pospome
 
AngularJS2でつまづいたこと
AngularJS2でつまづいたことAngularJS2でつまづいたこと
AngularJS2でつまづいたこと
Takehiro Takahashi
 
React VR ことはじめ
React VR ことはじめReact VR ことはじめ
React VR ことはじめ
Kazuhiro Hara
 
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Shunsuke Watanabe
 
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Kohei Asai
 
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築
kamiyam .
 
Hello, Node.js
Hello, Node.jsHello, Node.js
Hello, Node.js
Shin Sekaryo
 
Node.js Hands-On
Node.js Hands-OnNode.js Hands-On
Node.js Hands-On
Akinari Tsugo
 
Node js 入門
Node js 入門Node js 入門
Node js 入門
Satoshi Takami
 
レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用
レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用
レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用
kimukou_26 Kimukou
 
Node.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaNode.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
Yoshihiro Iwanaga
 
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみるづや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
zuya
 
Source treeの紹介
Source treeの紹介Source treeの紹介
Source treeの紹介
ko ty
 
TypeScriptへの入口
TypeScriptへの入口TypeScriptへの入口
TypeScriptへの入口
Sunao Tomita
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
DQNEO
 
Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計
Horiguchi Seito
 
今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選
Horiguchi Seito
 
Android,Brillo,ChromeOS
Android,Brillo,ChromeOSAndroid,Brillo,ChromeOS
Android,Brillo,ChromeOS
l_b__
 
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティーヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
Yoshiki Hayama
 
ちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜ
Shinobu Okano
 
サーバサイドNodeの使い道
サーバサイドNodeの使い道サーバサイドNodeの使い道
サーバサイドNodeの使い道
pospome
 
AngularJS2でつまづいたこと
AngularJS2でつまづいたことAngularJS2でつまづいたこと
AngularJS2でつまづいたこと
Takehiro Takahashi
 
React VR ことはじめ
React VR ことはじめReact VR ことはじめ
React VR ことはじめ
Kazuhiro Hara
 
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Shunsuke Watanabe
 
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Kohei Asai
 
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築
kamiyam .
 
レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用
レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用
レガシー環境で個人ベースでなんとか頑張るDVCS(Git)運用
kimukou_26 Kimukou
 
Node.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaNode.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
Yoshihiro Iwanaga
 
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみるづや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
zuya
 
Source treeの紹介
Source treeの紹介Source treeの紹介
Source treeの紹介
ko ty
 
TypeScriptへの入口
TypeScriptへの入口TypeScriptへの入口
TypeScriptへの入口
Sunao Tomita
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
DQNEO
 
Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計Css Architecture for the future 未来を見据えるCSS設計
Css Architecture for the future 未来を見据えるCSS設計
Horiguchi Seito
 
今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選今日から使える! HTML/CSS/JSの シンプルテクニック15選
今日から使える! HTML/CSS/JSの シンプルテクニック15選
Horiguchi Seito
 
Android,Brillo,ChromeOS
Android,Brillo,ChromeOSAndroid,Brillo,ChromeOS
Android,Brillo,ChromeOS
l_b__
 
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティーヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
Yoshiki Hayama
 
ちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜちょっとGoogle Analyticsの話しようぜ
ちょっとGoogle Analyticsの話しようぜ
Shinobu Okano
 

Similar to フロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasia (20)

dm-writeboost-kernelvm
dm-writeboost-kernelvmdm-writeboost-kernelvm
dm-writeboost-kernelvm
Akira Hayakawa
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
 
大規模なJavaScript開発の話
大規模なJavaScript開発の話大規模なJavaScript開発の話
大規模なJavaScript開発の話
terurou
 
Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!
Tanaka Yuichi
 
OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島
Tomohiko Himura
 
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころPython におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
 
社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しよう社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しよう
Shinya Nakajima
 
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
Developers Summit
 
GoでMinecraftっぽいの作る
GoでMinecraftっぽいの作るGoでMinecraftっぽいの作る
GoでMinecraftっぽいの作る
京大 マイコンクラブ
 
プロ用CMSフレームワークテーマ「echo」のご紹介
プロ用CMSフレームワークテーマ「echo」のご紹介プロ用CMSフレームワークテーマ「echo」のご紹介
プロ用CMSフレームワークテーマ「echo」のご紹介
Seiko Kuchida
 
明日から使えるgradle
明日から使えるgradle明日から使えるgradle
明日から使えるgradle
kimukou_26 Kimukou
 
Hyper → Highspeed → Development
Hyper → Highspeed → DevelopmentHyper → Highspeed → Development
Hyper → Highspeed → Development
aktsk
 
Aiming における scrum 20130118
Aiming における scrum 20130118Aiming における scrum 20130118
Aiming における scrum 20130118
俊仁 小林
 
自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx
hkharu0803
 
Capistrano紹介 at kawasaki.rb #002 #kwskrb
Capistrano紹介 at kawasaki.rb #002 #kwskrbCapistrano紹介 at kawasaki.rb #002 #kwskrb
Capistrano紹介 at kawasaki.rb #002 #kwskrb
Tsubasa Yumura
 
アカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsugアカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsug
aktsk
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
MinGeun Park
 
dm-writeboost-kernelvm
dm-writeboost-kernelvmdm-writeboost-kernelvm
dm-writeboost-kernelvm
Akira Hayakawa
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
 
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤とEmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
Toru Takahashi
 
大規模なJavaScript開発の話
大規模なJavaScript開発の話大規模なJavaScript開発の話
大規模なJavaScript開発の話
terurou
 
Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!Gruntでjava script前作業の自動化!
Gruntでjava script前作業の自動化!
Tanaka Yuichi
 
OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島OSC2013 HIROSHIMA ライトニングトーク すごい広島
OSC2013 HIROSHIMA ライトニングトーク すごい広島
Tomohiko Himura
 
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころPython におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
 
社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しよう社内の遊休PCをAzurePipelinesでCICDに活用しよう
社内の遊休PCをAzurePipelinesでCICDに活用しよう
Shinya Nakajima
 
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
夏サミ2013 Hadoopを使わない独自の分散処理環境の構築とその運用
Developers Summit
 
プロ用CMSフレームワークテーマ「echo」のご紹介
プロ用CMSフレームワークテーマ「echo」のご紹介プロ用CMSフレームワークテーマ「echo」のご紹介
プロ用CMSフレームワークテーマ「echo」のご紹介
Seiko Kuchida
 
明日から使えるgradle
明日から使えるgradle明日から使えるgradle
明日から使えるgradle
kimukou_26 Kimukou
 
Hyper → Highspeed → Development
Hyper → Highspeed → DevelopmentHyper → Highspeed → Development
Hyper → Highspeed → Development
aktsk
 
Aiming における scrum 20130118
Aiming における scrum 20130118Aiming における scrum 20130118
Aiming における scrum 20130118
俊仁 小林
 
自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx
hkharu0803
 
Capistrano紹介 at kawasaki.rb #002 #kwskrb
Capistrano紹介 at kawasaki.rb #002 #kwskrbCapistrano紹介 at kawasaki.rb #002 #kwskrb
Capistrano紹介 at kawasaki.rb #002 #kwskrb
Tsubasa Yumura
 
アカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsugアカツキはどのようにAWSを活用しているか #jawsug
アカツキはどのようにAWSを活用しているか #jawsug
aktsk
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
MinGeun Park
 

Recently uploaded (11)

実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
 
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
 
NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025
NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025
NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025
Matsushita Laboratory
 
測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案
測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案
測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案
sugiuralab
 
空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化
空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化
空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化
sugiuralab
 
【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究
【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究
【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
 
第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)
第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)
第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)
Matsushita Laboratory
 
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
 
HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025
HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025
HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025
Matsushita Laboratory
 
【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究
【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究
【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究
harmonylab
 
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
 
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
 
NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025
NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025
NodaItsuki_反省観点の分類に基づく試合の振り返り支援システムに関する有用性検証_DEIM2025
Matsushita Laboratory
 
測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案
測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案
測距センサとIMUセンサを用いた指輪型デバイスにおける顔認証システムの提案
sugiuralab
 
空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化
空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化
空間オーディオを用いたヘッドパスワードの提案と音源提示手法の最適化
sugiuralab
 
【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究
【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究
【卒業論文】深層学習によるログ異常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
 
第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)
第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)
第1回日本理学療法推論学会学術大会での発表資料(2025年3月2日 高橋可奈恵)
Matsushita Laboratory
 
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
 
HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025
HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025
HarukiShinkawa_LLMを利用した果樹農家の経験知の対話的蓄積支援_deim2025
Matsushita Laboratory
 
【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究
【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究
【卒業論文】LLMを用いたMulti-Agent-Debateにおける反論の効果に関する研究
harmonylab
 

フロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasia