rabbit-slide-Piro-sysadgirl-backyard 2017.05.31
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rabbit +1 -0
- data/README.md +18 -0
- data/Rakefile +17 -0
- data/config.yaml +22 -0
- data/img/ad.png +0 -0
- data/img/amazon.jpg +0 -0
- data/img/bg-blur.jpg +0 -0
- data/img/bg.jpg +0 -0
- data/img/chat.jpg +0 -0
- data/img/cover-1.png +0 -0
- data/img/mint-fashion.jpg +0 -0
- data/img/mint.jpg +0 -0
- data/img/name-case1.jpg +0 -0
- data/img/name-case2.jpg +0 -0
- data/img/name-case3-1.jpg +0 -0
- data/img/name-case3-2.jpg +0 -0
- data/img/name-case4-1.jpg +0 -0
- data/img/name-case4-2.jpg +0 -0
- data/img/name-case4-3.jpg +0 -0
- data/img/name-draw.jpg +0 -0
- data/img/name-text.png +0 -0
- data/img/ohno-fashion.jpg +0 -0
- data/img/overview0.png +0 -0
- data/img/overview1.png +0 -0
- data/img/overview2.png +0 -0
- data/img/overview3.png +0 -0
- data/img/season.jpg +0 -0
- data/img/title.jpg +0 -0
- data/img/twitter.jpg +0 -0
- data/img/world.jpg +0 -0
- data/pdf/sysadgirl-backyard-sysadgirl-backyard.pdf +0 -0
- data/sysadgirl-backyard.md +588 -0
- data/theme.rb +18 -0
- metadata +91 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 4511eccf473d5824de5e51c5498208e60ff6100b
|
4
|
+
data.tar.gz: 9095eb3fe059b972341d550e005e38c58890b121
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 72c5185c404f4d6c1c85f897497ecc547c0445054627e52832d400692b11bfb90644e5d35929cd83727c318576a436689e341c104786bc06aee04636a5988087
|
7
|
+
data.tar.gz: a27c3d710c027de7fadfac63cb327e76ceb3a25d2defb7cc94fba3800c37c9d113a8a7328d30786eeae6cdf7d02ade9aa483e3b5868e8173ef25b438a78d095d
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
sysadgirl-backyard.md
|
data/README.md
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require "rabbit/task/slide"
|
2
|
+
|
3
|
+
# Edit ./config.yaml to customize meta data
|
4
|
+
|
5
|
+
spec = nil
|
6
|
+
Rabbit::Task::Slide.new do |task|
|
7
|
+
spec = task.spec
|
8
|
+
# task.spec.files += Dir.glob("doc/**/*.*")
|
9
|
+
# task.spec.files -= Dir.glob("private/**/*.*")
|
10
|
+
# task.spec.add_runtime_dependency("YOUR THEME")
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Tag #{spec.version}"
|
14
|
+
task :tag do
|
15
|
+
sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
|
16
|
+
sh("git", "push", "--tags")
|
17
|
+
end
|
data/config.yaml
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
id: sysadgirl-backyard
|
3
|
+
base_name: sysadgirl-backyard
|
4
|
+
tags:
|
5
|
+
- Linux
|
6
|
+
- Comic
|
7
|
+
- Education
|
8
|
+
presentation_date: 2017/5/31
|
9
|
+
version: 2017.05.31
|
10
|
+
licenses: ["GPL-3.0+"]
|
11
|
+
slideshare_id: sysadgirl-backyard
|
12
|
+
speaker_deck_id: linuxkomandojie-shuo-mangafalsetukurikata
|
13
|
+
ustream_id:
|
14
|
+
vimeo_id:
|
15
|
+
youtube_id:
|
16
|
+
author:
|
17
|
+
markup_language: :markdown
|
18
|
+
name: 結城洋志
|
19
|
+
email: piro.outsider.reflex@gmail.com
|
20
|
+
rubygems_user: Piro
|
21
|
+
slideshare_user: pirooutsiderreflex
|
22
|
+
speaker_deck_user: piroor
|
data/img/ad.png
ADDED
Binary file
|
data/img/amazon.jpg
ADDED
Binary file
|
data/img/bg-blur.jpg
ADDED
Binary file
|
data/img/bg.jpg
ADDED
Binary file
|
data/img/chat.jpg
ADDED
Binary file
|
data/img/cover-1.png
ADDED
Binary file
|
Binary file
|
data/img/mint.jpg
ADDED
Binary file
|
data/img/name-case1.jpg
ADDED
Binary file
|
data/img/name-case2.jpg
ADDED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/img/name-draw.jpg
ADDED
Binary file
|
data/img/name-text.png
ADDED
Binary file
|
Binary file
|
data/img/overview0.png
ADDED
Binary file
|
data/img/overview1.png
ADDED
Binary file
|
data/img/overview2.png
ADDED
Binary file
|
data/img/overview3.png
ADDED
Binary file
|
data/img/season.jpg
ADDED
Binary file
|
data/img/title.jpg
ADDED
Binary file
|
data/img/twitter.jpg
ADDED
Binary file
|
data/img/world.jpg
ADDED
Binary file
|
Binary file
|
@@ -0,0 +1,588 @@
|
|
1
|
+
# Linuxコマンド解説まんがのつくりかた
|
2
|
+
|
3
|
+
subtitle
|
4
|
+
: 第114回 PHP勉強会@東京
|
5
|
+
|
6
|
+
author
|
7
|
+
: Piro / 結城洋志
|
8
|
+
|
9
|
+
institution
|
10
|
+
: 株式会社クリアコード
|
11
|
+
|
12
|
+
allotted_time
|
13
|
+
: 20m
|
14
|
+
|
15
|
+
theme
|
16
|
+
: .
|
17
|
+
|
18
|
+
# 2011年6月6日
|
19
|
+
|
20
|
+
一通のメール
|
21
|
+
|
22
|
+
> 漫画でLinux(あるいは
|
23
|
+
> Linuxに関連する技術)を
|
24
|
+
> 紹介する連載を執筆して
|
25
|
+
> いただけないでしょうか?
|
26
|
+
|
27
|
+
#
|
28
|
+
|
29
|
+
まじか……
|
30
|
+
|
31
|
+
# こうなった
|
32
|
+
|
33
|
+
![](img/cover-1.png){:relative_height='70'}
|
34
|
+
|
35
|
+
月刊日経Linux誌にて連載中(6年目)
|
36
|
+
|
37
|
+
# あえてのLinuxコマンド解説
|
38
|
+
|
39
|
+
* デプロイとか構成管理とか
|
40
|
+
ツールで自動化が
|
41
|
+
当たり前じゃあ……
|
42
|
+
* 自分でコマンド打つのが
|
43
|
+
許されるのは小学生まで……
|
44
|
+
|
45
|
+
そんな時代に抗う!
|
46
|
+
|
47
|
+
# Linuxコマンド&シェルスクリプト解説漫画
|
48
|
+
|
49
|
+
![](img/cover-1.png){:relative_width='40' align="right" relative_margin_right="-5"}
|
50
|
+
|
51
|
+
* 「SSHでのリモート
|
52
|
+
操作」を想定
|
53
|
+
* 毎回1つか2つの
|
54
|
+
コマンドを紹介
|
55
|
+
* シェルスクリプトも
|
56
|
+
取り扱う
|
57
|
+
|
58
|
+
# 想定する対象読者
|
59
|
+
|
60
|
+
* 企業の*情シス担当者*
|
61
|
+
(本誌読者層)
|
62
|
+
* Webサービスのデプロイや運用で
|
63
|
+
サーバーを操作することがある
|
64
|
+
*開発者*の人
|
65
|
+
* *コマンド操作に苦手意識*がある人
|
66
|
+
|
67
|
+
# 重要と思っているポイント3つ
|
68
|
+
|
69
|
+
* *ケーススタディ形式*
|
70
|
+
* *キャラを立てる*
|
71
|
+
* *絵で解説する*
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
# 漫画制作の流れ
|
76
|
+
|
77
|
+
![](img/overview0.png){:relative_width='100'}
|
78
|
+
|
79
|
+
# 漫画制作の流れ
|
80
|
+
|
81
|
+
![](img/overview1.png){:relative_width='100'}
|
82
|
+
|
83
|
+
# 1. プロット/シナリオ
|
84
|
+
|
85
|
+
~~~
|
86
|
+
第4話 ファイルそのものを比較せずに、同じ内容かどうかを確かめたい
|
87
|
+
|
88
|
+
砂漠の営業所で、ラベルの書かれていないディスクが
|
89
|
+
ごちゃごちゃになってどれがどれか分からなくなった
|
90
|
+
|
91
|
+
みんとが電話を受けて困っていると大野先輩が
|
92
|
+
ハッシュ値を使ったファイルの判別方法を教えてくれる
|
93
|
+
|
94
|
+
ハッシュ値とは
|
95
|
+
|
96
|
+
ハッシュ値を比較
|
97
|
+
md5sum, sha1sum, sha256sum, sha512sum
|
98
|
+
|
99
|
+
ディスクの入れ換え、eject
|
100
|
+
|
101
|
+
探していたディスクが見つかる
|
102
|
+
|
103
|
+
オチ
|
104
|
+
~~~
|
105
|
+
|
106
|
+
# 1. プロット/シナリオ
|
107
|
+
|
108
|
+
~~~
|
109
|
+
第4話 ファイルそのものを比較せずに、同じ内容かどうかを確かめたい
|
110
|
+
|
111
|
+
電話を受けているみんと
|
112
|
+
みんと「えええ〜っ!? ディスクが混ざっちゃったぁあ〜っ!?」焦
|
113
|
+
|
114
|
+
みんと「そんなこと言われても〜〜……」
|
115
|
+
大野、みんとの様子に気づく
|
116
|
+
|
117
|
+
大野「今の電話、例の営業所(砂漠の営業所)からよね。何かトラブル?」
|
118
|
+
みんと「そ、それがですね……」
|
119
|
+
|
120
|
+
みんと「製品用のイメージファイル入りディスクが何枚かあったそうなん
|
121
|
+
ですけど、ケースの方にしか説明が書かれてなかったらしくて」
|
122
|
+
みんと「ケースと中身がごちゃごちゃになって、お客さんに渡すファイル
|
123
|
+
がどれか分からなくなっちゃったみたいなんです」
|
124
|
+
イメージはすべて「system.img」で同じファイル名
|
125
|
+
ファイルサイズも同じ、数ギガバイト
|
126
|
+
|
127
|
+
...
|
128
|
+
~~~
|
129
|
+
|
130
|
+
# プロット=話を考える工程
|
131
|
+
|
132
|
+
* 何をどう解説するか
|
133
|
+
* どんな導入で始めて、
|
134
|
+
どうオチを付けるか
|
135
|
+
* *技術的な検証*は
|
136
|
+
この段階で済ませる
|
137
|
+
|
138
|
+
# Linuxコマンドの世界は底無し!
|
139
|
+
|
140
|
+
* コマンドは数え切れないほどある
|
141
|
+
* 網羅的に解説してたらキリが無い
|
142
|
+
* どこから解説すればいいの……
|
143
|
+
|
144
|
+
# ポイント1
|
145
|
+
|
146
|
+
**ケーススタディ形式**
|
147
|
+
|
148
|
+
# ケーススタディ形式とは
|
149
|
+
|
150
|
+
×「今回紹介するのはこのコマンド!
|
151
|
+
使い方は~……」
|
152
|
+
|
153
|
+
◯*「トラブル発生! 困った!」
|
154
|
+
「その悩み、このコマンドで
|
155
|
+
解決できるよ」*
|
156
|
+
|
157
|
+
# 文脈が大事
|
158
|
+
|
159
|
+
* 人の記憶は*連想型*
|
160
|
+
* きっかけから
|
161
|
+
*イモヅル式*に思い出す
|
162
|
+
* *シチュエーション*とセットで
|
163
|
+
覚えてもらうことによる
|
164
|
+
*「あっ、これゼミで習った奴だ!」*感
|
165
|
+
|
166
|
+
# 印象に残すためのフック
|
167
|
+
|
168
|
+
△「これを使うとこうできるでしょ、
|
169
|
+
でもってこうしてこうして
|
170
|
+
こうすれば……ほらできた!」
|
171
|
+
|
172
|
+
◯*「ってことは、これをこうして……
|
173
|
+
あ、あれっ!? うまくいかない!」
|
174
|
+
「ほら、ここを見落としてるよ?」*
|
175
|
+
|
176
|
+
*あえて失敗*することで記憶に残る
|
177
|
+
|
178
|
+
# ケーススタディ形式のメリット
|
179
|
+
|
180
|
+
* 「この問題を解決する方法」
|
181
|
+
という主軸から外れるような
|
182
|
+
*関係無い話を容赦なく削れる*
|
183
|
+
* 「ちなみに」は禁句!
|
184
|
+
|
185
|
+
# 2017年7月号の話の場合
|
186
|
+
|
187
|
+
* セキュリティ関係の話題
|
188
|
+
* SHAttered関連ということで
|
189
|
+
「ハッシュ値」を解説したい
|
190
|
+
* md5sum, sha1sum, sha256sum, sha512sum, ...
|
191
|
+
|
192
|
+
# シチュエーション案1
|
193
|
+
|
194
|
+
「改竄の検出」にフォーカスしてみる
|
195
|
+
|
196
|
+
* 出自の分からない怪しい
|
197
|
+
インストールイメージが
|
198
|
+
すでに手元にある
|
199
|
+
* 公式サイトで公開されてる
|
200
|
+
ハッシュ値と比較すれば安心!
|
201
|
+
|
202
|
+
→そんな場面なさそう
|
203
|
+
|
204
|
+
# シチュエーション案2
|
205
|
+
|
206
|
+
* 受領したでかいファイルが
|
207
|
+
本物かどうか確かめたい
|
208
|
+
* ハッシュ値で検証できる!
|
209
|
+
|
210
|
+
→そもそも電子署名か暗号化が
|
211
|
+
適切では?
|
212
|
+
|
213
|
+
# シチュエーション案3
|
214
|
+
|
215
|
+
単純な「ファイルの比較」
|
216
|
+
|
217
|
+
* どれが目的のファイルか
|
218
|
+
分からなくなった!
|
219
|
+
* 送り直す代わりに
|
220
|
+
ハッシュ値で比較すれば
|
221
|
+
いいのでは?
|
222
|
+
|
223
|
+
→もはやセキュリティ関係なし
|
224
|
+
|
225
|
+
# ドロップした話題
|
226
|
+
|
227
|
+
~~~
|
228
|
+
* コマンド名の「sum」の由来
|
229
|
+
* チェックサムって何?
|
230
|
+
* sumはsummaryではなくsummation(合計)
|
231
|
+
* ダイジェストって何?
|
232
|
+
* 電子署名の仕組み
|
233
|
+
* フィンガープリントって何?
|
234
|
+
* 強衝突耐性と弱衝突耐性の違い
|
235
|
+
* 改竄の検出という使い方
|
236
|
+
* 信頼できるデータ・信頼できないデータって何?
|
237
|
+
~~~
|
238
|
+
|
239
|
+
# ポイント2
|
240
|
+
|
241
|
+
**キャラを立てる**
|
242
|
+
|
243
|
+
# 複数の選択肢からどれを選ぶのか
|
244
|
+
|
245
|
+
* nano? Vim? Emacs?
|
246
|
+
* while? find? xargs? 配列?
|
247
|
+
|
248
|
+
# 「みんとちゃん」というペルソナ
|
249
|
+
|
250
|
+
![](img/mint.png){:relative_width='40' align="right" relative_margin_right="-5"}
|
251
|
+
|
252
|
+
* 難しい話は嫌い
|
253
|
+
* 元々ITへの
|
254
|
+
関心は薄い
|
255
|
+
* 短絡的、早とちり
|
256
|
+
* めんどくさがり
|
257
|
+
* 飽きっぽい
|
258
|
+
|
259
|
+
# nano? Vim? Emacs?
|
260
|
+
|
261
|
+
* less、topなどと操作が似ている
|
262
|
+
(「Q」で終了、など)
|
263
|
+
* 検索や置換で覚えた知識
|
264
|
+
→sedやgrepなどで使える
|
265
|
+
|
266
|
+
→Vimが一番
|
267
|
+
*覚えることが少なく済みそう*
|
268
|
+
|
269
|
+
# while? find? xargs? 配列?
|
270
|
+
|
271
|
+
* findの-execオプションやxargs
|
272
|
+
→エッジケースで例外的な
|
273
|
+
ルールが後からどんどん出てくる
|
274
|
+
|
275
|
+
→whileとreadの組み合わせなら
|
276
|
+
とりあえず*安心して使えそう*
|
277
|
+
|
278
|
+
# 解説の指針を定めるために
|
279
|
+
|
280
|
+
* 話題の選定
|
281
|
+
* →*ケーススタディ*
|
282
|
+
* 選択肢の絞り込み
|
283
|
+
* →*「どうだったら
|
284
|
+
みんとちゃんにとって
|
285
|
+
一番うれしいか?」*
|
286
|
+
|
287
|
+
# 基本の心構え
|
288
|
+
|
289
|
+
* 「何を教えるか」より
|
290
|
+
*「何を教えないか」*を意識しよう
|
291
|
+
* 語り過ぎは百害あって一利なし!
|
292
|
+
|
293
|
+
#
|
294
|
+
|
295
|
+
## プロパティ
|
296
|
+
|
297
|
+
background-image
|
298
|
+
: img/bg.jpg
|
299
|
+
|
300
|
+
background-image-relative-width
|
301
|
+
: 100
|
302
|
+
|
303
|
+
# 制作の流れ
|
304
|
+
|
305
|
+
![](img/overview2.png){:relative_width='100'}
|
306
|
+
|
307
|
+
# 2. ネーム
|
308
|
+
|
309
|
+
プロット/シナリオを「漫画」にする
|
310
|
+
|
311
|
+
* コマ割り・台詞割り
|
312
|
+
* キャラの配置・演技付け
|
313
|
+
* 解説の「絵解き」を考える
|
314
|
+
|
315
|
+
# 2. ネーム
|
316
|
+
|
317
|
+
![](img/name-text.png){:relative_height='80'}
|
318
|
+
|
319
|
+
# 2. ネーム
|
320
|
+
|
321
|
+
![](img/name-draw.jpg){:relative_height='90'}
|
322
|
+
|
323
|
+
# 一般的な漫画のセオリー
|
324
|
+
|
325
|
+
* 早い段階で*全身*や*背景*を出す
|
326
|
+
* 絵面に*メリハリ*を付ける
|
327
|
+
* セリフよりも*絵で語る*
|
328
|
+
|
329
|
+
参考図書:[快描教室プラス](http://amzn.to/2r7ReVp)
|
330
|
+
[漫々快々プラス](http://amzn.to/2rgomJ3)
|
331
|
+
|
332
|
+
# ポイント3
|
333
|
+
|
334
|
+
**絵で解説する**
|
335
|
+
|
336
|
+
# コマンドを擬人化
|
337
|
+
|
338
|
+
![](img/chat.jpg){:relative_height='90'}
|
339
|
+
|
340
|
+
# コマンドを擬人化
|
341
|
+
|
342
|
+
![](img/world.jpg){:relative_height='90'}
|
343
|
+
|
344
|
+
# でも実際に絵にしようとすると
|
345
|
+
|
346
|
+
* テキストどおりに絵を描いてみても
|
347
|
+
*違和感*を覚える時がある
|
348
|
+
* 例え話の絵と実際の解説とが
|
349
|
+
*自然に繋がらない、しっくりこない*
|
350
|
+
* メタファを絵にしたいのに、できない
|
351
|
+
|
352
|
+
# 例:「ハッシュ値」の説明
|
353
|
+
|
354
|
+
プロット段階
|
355
|
+
|
356
|
+
~~~
|
357
|
+
大野「2つの話の内容をざっくりと比較するのに、
|
358
|
+
長い文章全体を読み比べなくても、要点を
|
359
|
+
読み比べれば充分でしょ?
|
360
|
+
それと同じように、ファイル同士をざっくり
|
361
|
+
比較するための必要十分な要約を、
|
362
|
+
ハッシュ値と言うの」
|
363
|
+
~~~
|
364
|
+
|
365
|
+
ちょっと長めのセリフだけ
|
366
|
+
|
367
|
+
# 絵にしてみた1
|
368
|
+
|
369
|
+
![没](img/name-case1.jpg){:relative_height='80'}
|
370
|
+
|
371
|
+
# 絵にしてみた2
|
372
|
+
|
373
|
+
![没](img/name-case2.jpg){:relative_height='80'}
|
374
|
+
|
375
|
+
# 違和感の元
|
376
|
+
|
377
|
+
* 言葉で十分な*つもり*だった
|
378
|
+
* *「ハッシュ値」という「物」*
|
379
|
+
が絵になっていない!
|
380
|
+
* ていうか*1枚の絵にできない*!
|
381
|
+
(現実に対応する物が無い)
|
382
|
+
|
383
|
+
# 見直しの糸口
|
384
|
+
|
385
|
+
* でも、「どういう性質があるか」
|
386
|
+
「どうやって作られるか」は
|
387
|
+
分かっている気がする
|
388
|
+
|
389
|
+
→それこそが*伝えるべき知見*、
|
390
|
+
自分の中にある*メンタルモデル*
|
391
|
+
|
392
|
+
# ポイント3(再掲)
|
393
|
+
|
394
|
+
**絵で解説する**
|
395
|
+
|
396
|
+
「絵にしようとしてしにくい」
|
397
|
+
→*面倒がらずに絵にしよう!*
|
398
|
+
|
399
|
+
# 絵にできるところから絵にする
|
400
|
+
|
401
|
+
「ハッシュ値」
|
402
|
+
そのものではなく
|
403
|
+
まず*「ハッシュ値の
|
404
|
+
求め方」*を絵に
|
405
|
+
|
406
|
+
![](img/name-case3-1.jpg){:relative_width='40' align="right" relative_margin_right="-5"}
|
407
|
+
|
408
|
+
これに続けて……
|
409
|
+
|
410
|
+
# 擬人化されたコマンド+実例
|
411
|
+
|
412
|
+
![](img/name-case3-2.jpg){:relative_width='80'}
|
413
|
+
|
414
|
+
実際のハッシュ値を求める工程は
|
415
|
+
もっと後にする予定だったが、
|
416
|
+
*順番を入れ替えて*手前へ持ってきた
|
417
|
+
|
418
|
+
# こんな感じでネームが難航
|
419
|
+
|
420
|
+
* プロット/シナリオの見直し
|
421
|
+
* 話の流れの前後の入れ換え
|
422
|
+
|
423
|
+
真っ白なコマを残して後工程に進むと
|
424
|
+
*大幅な手戻り*が発生する!
|
425
|
+
|
426
|
+
# 別の例:「トンネリング」の説明
|
427
|
+
|
428
|
+
* SSHポートフォワード
|
429
|
+
* あるコンピュータの
|
430
|
+
指定ポートで待ち受けて、
|
431
|
+
そこで受け付けた通信を
|
432
|
+
別のコンピュータの
|
433
|
+
指定ポートに転送する
|
434
|
+
|
435
|
+
# ポイント3(再々掲)
|
436
|
+
|
437
|
+
**絵で解説する**
|
438
|
+
|
439
|
+
# 指定ポートで通信を待ち受ける
|
440
|
+
|
441
|
+
![](img/name-case4-1.jpg){:relative_height='70'}
|
442
|
+
|
443
|
+
絵の中のみんとちゃんの立ち位置
|
444
|
+
=読者の視点
|
445
|
+
|
446
|
+
# トンネルの出口から転送先へ向かう
|
447
|
+
|
448
|
+
![](img/name-case4-2.jpg){:relative_width='80'}
|
449
|
+
|
450
|
+
複雑なものは*1ステップずつ*絵にする
|
451
|
+
|
452
|
+
# トンネルの全体像
|
453
|
+
|
454
|
+
![](img/name-case4-3.jpg){:relative_height='50'}
|
455
|
+
|
456
|
+
全体を見せるのは「*おさらい*」の時
|
457
|
+
|
458
|
+
# 漫画は「時間の経過」を表現できる
|
459
|
+
|
460
|
+
* 複雑なことも、*時系列で順に
|
461
|
+
少しずつ*見ていけば理解しやすい
|
462
|
+
* 「情報密度の高い1枚絵」は
|
463
|
+
すでに知識がある人向けの
|
464
|
+
チートシート
|
465
|
+
|
466
|
+
|
467
|
+
|
468
|
+
|
469
|
+
#
|
470
|
+
|
471
|
+
## プロパティ
|
472
|
+
|
473
|
+
background-image
|
474
|
+
: img/bg.jpg
|
475
|
+
|
476
|
+
background-image-relative-width
|
477
|
+
: 100
|
478
|
+
|
479
|
+
# 制作の流れ
|
480
|
+
|
481
|
+
![](img/overview3.png){:relative_width='100'}
|
482
|
+
|
483
|
+
|
484
|
+
# あとは絵を完成させるだけ
|
485
|
+
|
486
|
+
* 下描き(衣装の決定)
|
487
|
+
* ペン入れ
|
488
|
+
* 仕上げ(塗り)
|
489
|
+
|
490
|
+
# ポイント2(再掲)
|
491
|
+
|
492
|
+
**キャラを立てる**
|
493
|
+
|
494
|
+
# みんとちゃんの衣装
|
495
|
+
|
496
|
+
毎日鏡の前で
|
497
|
+
嬉々として
|
498
|
+
ファッションショー
|
499
|
+
してそうな
|
500
|
+
イメージ
|
501
|
+
|
502
|
+
![](img/mint-fashion.jpg){:relative_width='45' align="right" relative_margin_right="-1"}
|
503
|
+
|
504
|
+
# 大野先輩の衣装
|
505
|
+
|
506
|
+
無難な感じで……
|
507
|
+
|
508
|
+
![](img/ohno-fashion.jpg){:relative_width='40' align="right" relative_margin_right="-1"}
|
509
|
+
|
510
|
+
◯ggi参考
|
511
|
+
|
512
|
+
# 扉絵(?)
|
513
|
+
|
514
|
+
![季節感って大事じゃないですか?](img/season.jpg){:relative_width='80'}
|
515
|
+
|
516
|
+
# 後は編集部に託す
|
517
|
+
|
518
|
+
* 納品
|
519
|
+
* 校正
|
520
|
+
|
521
|
+
|
522
|
+
|
523
|
+
|
524
|
+
#
|
525
|
+
|
526
|
+
## プロパティ
|
527
|
+
|
528
|
+
background-image
|
529
|
+
: img/bg.jpg
|
530
|
+
|
531
|
+
background-image-relative-width
|
532
|
+
: 100
|
533
|
+
|
534
|
+
# まとめ:解説として
|
535
|
+
|
536
|
+
* 解説漫画でも普通の記事でも
|
537
|
+
プロット/シナリオまでの工程は
|
538
|
+
あまり変わらない
|
539
|
+
* 漫然と解説するのではなく、
|
540
|
+
誰に向けて何のために
|
541
|
+
解説するかを意識しよう
|
542
|
+
|
543
|
+
# まとめ:解説漫画として
|
544
|
+
|
545
|
+
* 「漫画」のセオリーは
|
546
|
+
ちゃんと押さえておこう
|
547
|
+
* 漫画という表現形式ならではの
|
548
|
+
強みを活かそう
|
549
|
+
* ×台詞ばっかり/顔のアップばっかり
|
550
|
+
* ◯絵で説明
|
551
|
+
|
552
|
+
# ここから分かること
|
553
|
+
|
554
|
+
* 「解説漫画」は*ネームが重要*
|
555
|
+
* 専門知識がないと
|
556
|
+
解説漫画のネームは作れない!
|
557
|
+
|
558
|
+
# 分業するなら
|
559
|
+
|
560
|
+
×「専門家がテキストで原作」+
|
561
|
+
「ネーム以降を漫画家が担当」
|
562
|
+
|
563
|
+
◯「専門家がテキストで原作」+
|
564
|
+
「ネーム以降を
|
565
|
+
*専門知識のある漫画家*が担当」
|
566
|
+
|
567
|
+
◯「*専門家がネームまで原作*」+
|
568
|
+
「下描き以降を漫画家が担当」
|
569
|
+
|
570
|
+
|
571
|
+
# 「シス管系女子」で検索!
|
572
|
+
|
573
|
+
![](img/ad.png){:relative_width='80'}
|
574
|
+
|
575
|
+
system-admin-girl.com で
|
576
|
+
*サンプル代わりの特別編*を公開中!
|
577
|
+
|
578
|
+
# Kindle版は時々セールに
|
579
|
+
|
580
|
+
![](img/amazon.jpg){:relative_width='40' align="right" relative_margin_right="-1"}
|
581
|
+
|
582
|
+
「コンピュータ・IT」
|
583
|
+
カテゴリで一瞬だけ
|
584
|
+
ランクインしてたり
|
585
|
+
|
586
|
+
# Twitterアカウント運用中
|
587
|
+
|
588
|
+
![@sysadgirl_mint](img/twitter.jpg){:relative_height='80'}
|
data/theme.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
@slide_background_image = "img/bg-blur.jpg"
|
2
|
+
@title_slide_background_image = "img/title.jpg"
|
3
|
+
|
4
|
+
include_theme("slide-background-image")
|
5
|
+
include_theme("title-slide-background-image")
|
6
|
+
|
7
|
+
# Hide text in the title page because they are built-in in the image
|
8
|
+
@title_slide_font_size = 0
|
9
|
+
@title_slide_title_font_size = 0
|
10
|
+
@title_slide_subtitle_font_size = 0
|
11
|
+
@title_slide_institution_font_size = 0
|
12
|
+
|
13
|
+
include_theme("default")
|
14
|
+
|
15
|
+
if print?
|
16
|
+
# Print page number for PDF version
|
17
|
+
include_theme("slide-number")
|
18
|
+
end
|
metadata
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-Piro-sysadgirl-backyard
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2017.05.31
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- 結城洋志
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-06-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rabbit
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.0.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.2
|
27
|
+
description: "[PHP勉強会@東京](https://phpstudy.doorkeeper.jp/events/60540)用発表資料です。"
|
28
|
+
email:
|
29
|
+
- piro.outsider.reflex@gmail.com
|
30
|
+
executables: []
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files: []
|
33
|
+
files:
|
34
|
+
- ".rabbit"
|
35
|
+
- README.md
|
36
|
+
- Rakefile
|
37
|
+
- config.yaml
|
38
|
+
- img/ad.png
|
39
|
+
- img/amazon.jpg
|
40
|
+
- img/bg-blur.jpg
|
41
|
+
- img/bg.jpg
|
42
|
+
- img/chat.jpg
|
43
|
+
- img/cover-1.png
|
44
|
+
- img/mint-fashion.jpg
|
45
|
+
- img/mint.jpg
|
46
|
+
- img/name-case1.jpg
|
47
|
+
- img/name-case2.jpg
|
48
|
+
- img/name-case3-1.jpg
|
49
|
+
- img/name-case3-2.jpg
|
50
|
+
- img/name-case4-1.jpg
|
51
|
+
- img/name-case4-2.jpg
|
52
|
+
- img/name-case4-3.jpg
|
53
|
+
- img/name-draw.jpg
|
54
|
+
- img/name-text.png
|
55
|
+
- img/ohno-fashion.jpg
|
56
|
+
- img/overview0.png
|
57
|
+
- img/overview1.png
|
58
|
+
- img/overview2.png
|
59
|
+
- img/overview3.png
|
60
|
+
- img/season.jpg
|
61
|
+
- img/title.jpg
|
62
|
+
- img/twitter.jpg
|
63
|
+
- img/world.jpg
|
64
|
+
- pdf/sysadgirl-backyard-sysadgirl-backyard.pdf
|
65
|
+
- sysadgirl-backyard.md
|
66
|
+
- theme.rb
|
67
|
+
homepage: http://slide.rabbit-shocker.org/authors/Piro/sysadgirl-backyard/
|
68
|
+
licenses:
|
69
|
+
- GPL-3.0+
|
70
|
+
metadata: {}
|
71
|
+
post_install_message:
|
72
|
+
rdoc_options: []
|
73
|
+
require_paths:
|
74
|
+
- lib
|
75
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
80
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
85
|
+
requirements: []
|
86
|
+
rubyforge_project:
|
87
|
+
rubygems_version: 2.5.1
|
88
|
+
signing_key:
|
89
|
+
specification_version: 4
|
90
|
+
summary: Linuxコマンド解説まんがのつくりかた
|
91
|
+
test_files: []
|