Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kuroi Gamenって何で使うの?
Search
HIRAKI Satoru
January 06, 2014
Programming
7
3.9k
Kuroi Gamenって何で使うの?
2013/12/7に開催されたSaCSS SP4 Frontrend in Sapporoのセッションの資料です。
http://sacss.net/special04/#section04
HIRAKI Satoru
January 06, 2014
Tweet
Share
More Decks by HIRAKI Satoru
See All by HIRAKI Satoru
About tc39/ecma262
layzie
2
1.4k
GitHub Enterprise for CyberAgent
layzie
0
190
情報化社会を この先生きのこるためには / Layzie@Frontrend in Kanazawa
layzie
9
7.2k
VimとTシャツと私 / Why I love vim so much?
layzie
1
320
TalkNote Vol.8「TalkNote × Frontrend」 - JavaScript開発の効率アップ -
layzie
8
490
JavaScript Development Tools
layzie
9
1.4k
Git & GitHub社内勉強会
layzie
3
910
GitとGithub初めの1歩
layzie
0
180
Other Decks in Programming
See All in Programming
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
11
11k
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
120
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
250
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
110
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
9
1.2k
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
640
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.4k
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
160
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
420
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
38
26k
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
470
エディターってAIで操作できるんだぜ
kis9a
0
730
Featured
See All Featured
Scaling GitHub
holman
464
140k
A better future with KSS
kneath
240
18k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Why Our Code Smells
bkeepers
PRO
340
57k
BBQ
matthewcrist
89
9.9k
Site-Speed That Sticks
csswizardry
13
1k
Fireside Chat
paigeccino
41
3.7k
Transcript
Kuroi Gamenって 何で使うの? 平木 聡 / Layzie CyberAgent, Inc. SaCSS
Special 4 Frontrend in Sapporo
About Me ‣ HIRAKI Satoru ‣ Layzie ‣ Frontend Engineer
‣ CyberAgent,Inc.
Life goes on
HTML5j English
enja-oss
JavaScript Garden
HTML5 ROCKS
Agenda ‣ “黒い画面”はなぜ苦手に思えるの? ‣ “黒い画面”はどのように使うの? ‣ “黒い画面”を使うとどんな事が便利になるの? ‣ “黒い画面”に興味が出てきたら次はどうする?
“黒い画面”はなぜ苦手に思えるの?
What’s about “CUI” ‣ 黒い画面の正体はキャラクタユーザーインター フェース(CUI) ‣ 普段良く使うのはグラフィカルユーザーインター フェース(GUI)
CUI vs GUI ‣ CUIはテキストでコンピュータに命令を送る ‣ GUIはグラフィックとポインティングデバイスでコ ンピュータに命令を送る
“CUI” is similar to programming!
Programmer vs Designer Programming Character No Adobe Designing Graphic Adobe
vs
CUI isn’t programming ‣ 見た目はプログラミングしてるみたいに見えて怖い かもしれないですが実際はそんなことないです ‣ 基本的なことが理解できれば使えます ‣ できるところから始めていきましょう
“黒い画面”はどのように使うの?
Unmask ‘Kuroi Gamen’ ‣ 黒い画面と一口に言ってますが、実はこの正体はお おまかに、2つに分けられています。 ‣ ターミナルエミュレータとシェルの2つです。
Terminal Emulator ‣ 歴史的な経緯があり、Macなどで使用できる「ター ミナル」などはこのターミナルエミュレータになり ます。 ‣ Macだと他に有名なもので「iTerm2」などがありま す。 ‣
なんで、「エミュレータ」とついてるかというと VT100という「端末」をエミュレートしてるからで す。
Shell ‣ ユーザーの入力をOSに橋渡しをする機能。 ‣ 中心的な機能としては「他のプログラムの呼び出 し」がある。 ‣ CUIとしては、bash/tcsh/zshなどが有名。 ‣ GUIとしては、Windows
Exploreや、Mac OSの Finder。
Compare CUI with GUI Shell OS Terminal Emulator Computer
Use ‘Kuroi Gamen’ ‣ Spotlightに「ter」と打ちこんでEnterが一番速く 起動できます。
Use ‘Kuroi Gamen’ ‣ 人によっては画面がちょっと違うかもしれません が、こんな感じのターミナルが出てきます。
Use ‘Kuroi Gamen’ ‣ 自分はこんな感じです。
How to learn commands ‣ 黒い画面といえば、「コマンド」ですがどうやって 覚えれば良いのか? ‣ 基本コマンドは大体は「英単語の省略」とかが多い です。
‣ 他には「人の名前」とか「英単語そのまま」とかも あったりしますが…。
How to learn commands ‣ ls…ディレクトリの内容を表示 ‣ listの省略 ‣ pwd…自分の今いるディレクトリを表示
‣ print working directoryの省略 ‣ cd…ディレクトリを移動 ‣ change directoryの省略
How to learn commands ‣ mv…ファイル・ディレクトリの移動 ‣ moveの省略 ‣ cp…ファイル・ディレクトリのコピー
‣ copyの省略 ‣ cat…ファイルを連結させたり表示する ‣ concatenateの省略
That’s easy!
How to learn filesystem ‣ 相対パス ‣ ../→1つ上のディレクトリ ‣ ./→同階層のディレクトリ
‣ 絶対パス ‣ /Users/NAME/→ユーザーのホームディレクトリ ‣ /usr/local→usr内のlocalディレクトリ
How to learn filesystem ‣ 特殊なシンボル ‣ /→一番上位のディレクトリ ‣ ~→ユーザーのホームディレクトリ
That’s easy!
How to use command ‣ mv hoge.txt fuga.txt ‣ hoge.txtをfuga.txtに名前変更
‣ cp hoge.txt ../hogera/ ‣ hoge.txtを1つ上のディレクトリのhogeraにコ ピー
How to use command ‣ 実はコマンドは「TAB」キーを使うと補完してくれ ます。 ‣ コマンドだけじゃなく、ディレクトリやファイルの 名前も「TAB」キーで補完されます。
‣ この補完は、設定などの環境によって挙動が挙動が 違ってきますが上記の補完は大体の環境で使えま す。
How to use command ‣ 例えば、mv hoge.txt ../fuga.txtというコマンド を入力する場合… ‣
mvを入力してから、hogくらいまで入力して「TAB」 を押すと候補を上げてくれて、hogまでのファイル 名がhoge.txtだけなら1発で入力までされます。 ‣ 同じように../fugまで入力して「TAB」を押すと補 完されます。 ‣ コマンドもディレクトリも大体3文字くらい入力す ると目的のものを補完しやすくなります。
That’s easy!
When in trouble… ‣ 何か動作おかしいなどがあったら… ‣ Ctrl-CやCtrl-Dを押すと何とかなります。 ‣ 画面が切り変わらないとかずーっと文字が流れてる というときに使いましょう。
That’s easy!
“黒い画面”を使うと どんな事が便利になるの?
Why use ‘Kuroi Gamen’ ‣ なぜ苦労してまで「黒い画面」を使うのか? ‣ もちろんメリットがないとやってられません。
‘CUI’is faster than ‘GUI’
‘CUI’is faster than ‘GUI’ ‣ GUIでの処理するよりもCUIの方が速く操作できるこ とがほとんどです ‣ cp hoge.txt
fuga.txtで同階層にコピーできますが ‣ GUIではマウスでhoge.txt選択→Option押しながら ドラッグ→名前を変更となります
‘CUI’is faster than ‘GUI’ ‣ 先程「TAB」キーでコマンドやディレクトリの補完 ができると、ご紹介しましたが他にも速く操作する ための機能がCUIにはあります。 ‣ ↑キーかControlとPを同時に押すと1つ前に入力し
たコマンドが使えます。↑で前の履歴、↓で新しい 履歴を辿れます。 ‣ historyコマンドを打つと履歴が見れたり操作でき ます。
Your works can be recorded
Your works can be recorded ‣ 自分の作業記録が残ってます ‣ そのままログとして残しておくと次に同じような作 業が発生したときに参考にできます
No more simple works
No more simple works ‣ パターン化した作業が一発でできるようになります ‣ 今いるディレクトリにある2000個のjpgファイルを 消す場合…$ find
. -name test*.jpg | xargs rm
Automatic
Automatic ‣ ShellScriptなど使えるようになると、毎日の定型 作業なんかが(ほぼ)自動化できます ‣ GNU MakeやGrunt.jsなどもCUIです ‣ この部分がCUIを使う最大の利点だと思います
“黒い画面”に興味が出てきたら次はどうする?
Package Manager ‣ CUIに慣れてきたら、「こんなことできればなー」 という要望が出てきます ‣ 標準のコマンドとは別に色々なコマンドをさくっと 入れることを可能にする「パッケージマネージャ」 というものがあります ‣
Macで入れられる代表的なものを紹介します
Homebrew
npm
RubyGems
PyPI
Useful Commands
Useful Commands ‣ パッケージマネージャを入れるとそれぞれで便利な コマンドがインストールして使えるようになります ‣ 独断と偏見でちょっとピックアップしてみます
Grunt.js
Bower
Yeoman
Mimosa
CSSLint
Styledocco
Element Finder
Glue
jekyll
ack
Conclusion
Conclusion ‣ 分かってみるとCUIだからといっても基本はそんな に難しくないです ‣ 定型処理とか履歴が残るとかは本当に便利 ‣ 最近のWeb開発にはCUIパワーが欠かせなくなってき てます
Thank you!
Credit ‣http://www.flickr.com/photos/riff-o-matic/8400640564 ‣http://www.flickr.com/photos/69184488@N06/8091028991 ‣http://www.flickr.com/photos/steveluscher/394265766 ‣http://www.flickr.com/photos/96829830@N04/9041353491/ ‣http://www.flickr.com/photos/spackletoe/90811910 ‣http://www.flickr.com/photos/martin_heigan/4544138976 ‣http://www.flickr.com/photos/angeljohnson/6179338994 ‣http://www.flickr.com/photos/104178037@N08/10069702514 ‣http://www.flickr.com/photos/melitron/4923829202
‣http://www.flickr.com/photos/crystalflickr/2317183342 ‣http://www.flickr.com/photos/waynetd/2247247679 ‣http://www.flickr.com/photos/louisephotography/5796499806 ‣http://www.flickr.com/photos/nicopierce/5964560488
Credit ‣http://icons8.com ‣https://www.iconfinder.com/trysoda ‣http://dribbble.com/shots/1118732-Sevenesque-An-iOS7- inspired-Mac-icon-set ‣https://www.iconfinder.com/icons/173821/ terminal_icon#size=128