Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
kozossakai
PDF, PPTX
6,771 views
ハロー・ワールド入門(オープンソースカンファレンス2015 Tokyo/Spring ライトニングトーク)
OSCライトニングトーク「ハロー・ワールド入門」 オープンソースカンファレンス2015 Tokyo/Spring
Technology
◦
Read more
28
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 76
2
/ 76
3
/ 76
4
/ 76
5
/ 76
6
/ 76
7
/ 76
8
/ 76
9
/ 76
10
/ 76
11
/ 76
12
/ 76
13
/ 76
14
/ 76
15
/ 76
16
/ 76
17
/ 76
18
/ 76
19
/ 76
20
/ 76
21
/ 76
22
/ 76
23
/ 76
24
/ 76
25
/ 76
26
/ 76
27
/ 76
28
/ 76
29
/ 76
30
/ 76
31
/ 76
32
/ 76
33
/ 76
34
/ 76
35
/ 76
36
/ 76
37
/ 76
38
/ 76
39
/ 76
40
/ 76
41
/ 76
42
/ 76
43
/ 76
44
/ 76
45
/ 76
46
/ 76
47
/ 76
48
/ 76
49
/ 76
50
/ 76
51
/ 76
52
/ 76
53
/ 76
54
/ 76
55
/ 76
56
/ 76
57
/ 76
58
/ 76
59
/ 76
60
/ 76
61
/ 76
62
/ 76
63
/ 76
64
/ 76
65
/ 76
66
/ 76
67
/ 76
68
/ 76
69
/ 76
70
/ 76
71
/ 76
72
/ 76
73
/ 76
74
/ 76
75
/ 76
76
/ 76
More Related Content
PDF
続・ハロー・ワールド入門(オープンソースカンファレンス2016 Tokyo/Spring ライトニングトーク)
by
kozossakai
PDF
ISAC Tokyo 2014 宇宙の歩き方 Space Travel Map
by
Daichi OBINATA
PDF
VIOPS04: Skip Graphの基礎知識
by
VIOPS Virtualized Infrastructure Operators group ARCHIVES
PDF
WSDM2016報告会−参加報告#yjwsdm
by
Yahoo!デベロッパーネットワーク
PPTX
ハードウエア教材における「失敗」の意義
by
Junichi Akita
PDF
クックパッッド風UIを用いた趣味発表の場を作るアプリ (CYTA)
by
stucon
PPTX
シャワーLT
by
Takuya Noaki
PDF
LT @YAPC::Asia 2012 LTThon
by
maka2donzoko
続・ハロー・ワールド入門(オープンソースカンファレンス2016 Tokyo/Spring ライトニングトーク)
by
kozossakai
ISAC Tokyo 2014 宇宙の歩き方 Space Travel Map
by
Daichi OBINATA
VIOPS04: Skip Graphの基礎知識
by
VIOPS Virtualized Infrastructure Operators group ARCHIVES
WSDM2016報告会−参加報告#yjwsdm
by
Yahoo!デベロッパーネットワーク
ハードウエア教材における「失敗」の意義
by
Junichi Akita
クックパッッド風UIを用いた趣味発表の場を作るアプリ (CYTA)
by
stucon
シャワーLT
by
Takuya Noaki
LT @YAPC::Asia 2012 LTThon
by
maka2donzoko
Viewers also liked
PDF
Amazon Machine Learing と機械学習
by
Kei Hirata
PDF
向平卓矢について - 2015/12/23 ITエンジニア高専 逆求人
by
Takuya Mukohira
PDF
スタートアップできなかった話
by
MontBlanc. Tsukuda
PDF
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
by
Yasuhiro Yoshimura
PPTX
「Googleを支える技術」の解説 2010.08.23
by
Minoru Chikamune
PPTX
Journal Communication - Part I
by
Naren P.R.
PPTX
自己紹介
by
Fuki Ogawa
PDF
Cross2015自己紹介LT資料
by
Horiguchi Seito
PDF
ライトニングトークの作り方
by
Daisuke Masuhara
PDF
自己紹介LT「俺の迷走っぷり」
by
Ken Muryoi
PPTX
Tf勉強会(5)
by
tak9029
PDF
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
by
Yasuhiro Yoshimura
PDF
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
by
Kenji Hiranabe
PPTX
20160612 第34回cv勉強会@関東 コンピュテーショナルフォトグラフィ
by
Kyohei Unno
PDF
Chainer GTC 2016
by
Shohei Hido
PPTX
Cvim saisentan-cvpr-hyper depth
by
tomoaki0705
PDF
テーマ・プラグイン開発の光と闇 #wctokyo
by
Hidekazu Ishikawa
PDF
Using Kubernetes on Google Container Engine
by
Etsuji Nakai
PPT
Ltサンプルスライド
by
Tsukasa Saeki
PDF
超初心者向け・オンライン勉強会のススメ(WordCamp Tokyo 2016 LT スライド)
by
Hijili Kosugi
Amazon Machine Learing と機械学習
by
Kei Hirata
向平卓矢について - 2015/12/23 ITエンジニア高専 逆求人
by
Takuya Mukohira
スタートアップできなかった話
by
MontBlanc. Tsukuda
【第27回コンピュータビジョン勉強会@関東】OpenCV 便利Tips紹介
by
Yasuhiro Yoshimura
「Googleを支える技術」の解説 2010.08.23
by
Minoru Chikamune
Journal Communication - Part I
by
Naren P.R.
自己紹介
by
Fuki Ogawa
Cross2015自己紹介LT資料
by
Horiguchi Seito
ライトニングトークの作り方
by
Daisuke Masuhara
自己紹介LT「俺の迷走っぷり」
by
Ken Muryoi
Tf勉強会(5)
by
tak9029
【第33回コンピュータビジョン勉強会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
by
Yasuhiro Yoshimura
アジャイル開発の現在・過去・未来~今を知り、源流を訪ね、先を見据える~
by
Kenji Hiranabe
20160612 第34回cv勉強会@関東 コンピュテーショナルフォトグラフィ
by
Kyohei Unno
Chainer GTC 2016
by
Shohei Hido
Cvim saisentan-cvpr-hyper depth
by
tomoaki0705
テーマ・プラグイン開発の光と闇 #wctokyo
by
Hidekazu Ishikawa
Using Kubernetes on Google Container Engine
by
Etsuji Nakai
Ltサンプルスライド
by
Tsukasa Saeki
超初心者向け・オンライン勉強会のススメ(WordCamp Tokyo 2016 LT スライド)
by
Hijili Kosugi
More from kozossakai
PDF
バイナリ駄洒落コンテスト
by
kozossakai
PDF
spinsn - CPUの特殊命令の仕様推定と実装の競技
by
kozossakai
PDF
Step-Oriented Programming による任意コード実行の可能性
by
kozossakai
PDF
Possibility of arbitrary code execution by Step-Oriented Programming
by
kozossakai
PDF
アセンブラ漢文
by
kozossakai
PDF
アセンブラ短歌 (AVTOKYO2013.5 日本語版)
by
kozossakai
PDF
Assembly Language Tanka (AVTOKYO2013.5 English version)
by
kozossakai
PDF
アセンブラ短歌(TechLION vol.15 ライトニングトーク)
by
kozossakai
PDF
フィーリングで読む40種類のアセンブラ(オープンソースカンファレンス2013 Tokyo/Spring ライトニングトーク)
by
kozossakai
PDF
組込みOSを作ってみよう!(オープンソースカンファレンス内セミナー資料)
by
kozossakai
PDF
バイナリかるた(アーキテクチャかるた・完全版)
by
kozossakai
PDF
バイナリかるた(アーキテクチャかるた)
by
kozossakai
PDF
バイナリで遊ぼう(オープンソースカンファレンス2014 Tokyo/Fall ライトニングトーク)
by
kozossakai
PDF
アセンブラ短歌(オープンソースカンファレンス2013 Tokyo/Fall ライトニングトーク)
by
kozossakai
PDF
アセンブラ短歌(第2回APASEC+第2期サイボウズ・ラボユース合同勉強会)
by
kozossakai
バイナリ駄洒落コンテスト
by
kozossakai
spinsn - CPUの特殊命令の仕様推定と実装の競技
by
kozossakai
Step-Oriented Programming による任意コード実行の可能性
by
kozossakai
Possibility of arbitrary code execution by Step-Oriented Programming
by
kozossakai
アセンブラ漢文
by
kozossakai
アセンブラ短歌 (AVTOKYO2013.5 日本語版)
by
kozossakai
Assembly Language Tanka (AVTOKYO2013.5 English version)
by
kozossakai
アセンブラ短歌(TechLION vol.15 ライトニングトーク)
by
kozossakai
フィーリングで読む40種類のアセンブラ(オープンソースカンファレンス2013 Tokyo/Spring ライトニングトーク)
by
kozossakai
組込みOSを作ってみよう!(オープンソースカンファレンス内セミナー資料)
by
kozossakai
バイナリかるた(アーキテクチャかるた・完全版)
by
kozossakai
バイナリかるた(アーキテクチャかるた)
by
kozossakai
バイナリで遊ぼう(オープンソースカンファレンス2014 Tokyo/Fall ライトニングトーク)
by
kozossakai
アセンブラ短歌(オープンソースカンファレンス2013 Tokyo/Fall ライトニングトーク)
by
kozossakai
アセンブラ短歌(第2回APASEC+第2期サイボウズ・ラボユース合同勉強会)
by
kozossakai
ハロー・ワールド入門(オープンソースカンファレンス2015 Tokyo/Spring ライトニングトーク)
1.
ハロー・ワールド 入門 坂井弘亮 (KOZOSプロジェクト)
2.
早速ですが早速ですが早速ですが早速ですが
3.
バイナリカレンダー2015 あります http://kozos.jp/
4.
バイナリカレンダー とは何か?
5.
普通のカレンダー:風景や人物がテーマ バイナリカレンダー:バイナリダンプがテーマ
6.
普通のカレンダー:風景や人物がテーマ バイナリカレンダー:バイナリダンプがテーマ 近年のデジタル世代のためのカレンダー
7.
こんな感じです
9.
バイナリダンプ (x86-64機械語) 日付 (もちろん16進数) <- 西暦(もちろん16進数)
10.
実物
12.
拡大
13.
リビングに飾ると こんな感じ
15.
バイナリ カレンダー (サーバ版)
16.
(サーバ版なので) ジュリアン デート付き (もちろん16進)
17.
アーキテクチャ一覧 1月:Alpha 7月:VAX 2月:PowerPC8月:S/390 3月:SPARC 9月:SH64 4月:PA-RISC
10月:MMIX 5月:IA-64 11月:PDP-11 6月:x86-64 12月:680x0 (えっそれってサーバじゃないでしょ的なアーキも入っています. ごめんアーキ足りなかったので64ビットアーキとか適当に入れました)
18.
そんなの興味無いよという かたもいるかと思うのですが
19.
そんな一部のかたに 朗報です
20.
今年は マイコン版も あります
21.
マイコン版では 2進数 表記付き
22.
アーキテクチャ一覧 1月:AVR 7月:RL78 2月:SH 8月:V850 3月:MicroBlaze9月:i960 4月:ARM
10月:Thumb 5月:FR-V 11月:Blackfin 6月:68HC11 12月:MIPS16
23.
ここで 7月31日に注目
25.
7月31日は 2進数では 111月 11111日
26.
11月11日を バイナリの日とする 考えがあるようですが
27.
7月31日こそ バイナリの日にふさわしい
28.
7月31日こそ バイナリの日にふさわしい (新歴でのバイナリの日)
29.
バイナリカレンダーに ついては こちらを参照
30.
「バイナリで遊ぼう!」
31.
おそらく昨年出た技術書の 中で2番目くらいに変な本 (自己評価)
32.
おそらく昨年出た技術書の 中で2番目くらいに変な本 (自己評価) 一番はたぶんこれ 「アセンブラ短歌の世界」
33.
斜め上を行くような 本ばかり書いてるような (気のせい?)
34.
そんなわけで 今年の目標
35.
マニアックな本は もう卒業だ! 今年こそは 一般向け・入門者向けの 本を書いてみたい!
36.
万人ウケする本を書いて ヒットを飛ばしたい! それにはやっぱり入門書だ!
37.
入門書と言えば これですよね
38.
#include <stdio.h> int main() { printf("Hello
World!¥n"); return 0; }
39.
実行結果
40.
Hello World!
41.
いわゆる 「ハロー・ワールド」
42.
ハロー・ワールドについて たまに言われること
43.
「このプログラムについて レポートを書けと言われれば A4用紙で5枚でも6枚でも 書ける!」 (要するに奥が深い)
44.
それほど奥が深い 「ハロー・ワールド」 ですが
45.
だったらハロー・ワールドだけで 1冊の本が書けるんじゃないかと
46.
ということで 今書いている本
47.
「ハロー・ワールド入門」
48.
「ハロー・ワールド入門」とは何か 300ページ(予定)に渡って ハロー・ワールド「だけ」について 延々と説明してある ハロー・ワールドの入門書 (つまりK&Rの前に読むべき)
49.
誰もが書いたことのある 「ハロー・ワールド」 を題材にしているので
50.
これが万人ウケ しないはずが無い!
51.
注意
52.
「ハロー・ワールド」の 入門書です 「ハロー・ワールド」から始まる C言語の入門書ではありません
53.
出てくるプログラムの リストはもちろん これだけです
54.
#include <stdio.h> int main() { printf("Hello
World!¥n"); return 0; }
55.
概要
56.
第1章 「ハロー・ワールドを 動的解析してみよう」
57.
(内容) ハロー・ワールドの動作をデバッガで 追いかけてprintf()の中まで 入って解析して (デバッグ情報が付いてないので もちろんアセンブラレベルで) writeシステムコールの 呼び出しまで動的解析してみる
58.
第2章 「main()が呼ばれる前と main()から返る先を 解析しよう」
59.
(内容) main()関数が呼ばれる前のスタート アップとmain()関数から戻った後の _exit()までの処理をデバッガと 逆アセンブラを駆使して解析 (もちろんアセンブラレベルで)
60.
第3章 「標準ストリームの処理を 解析しよう」
61.
(内容) printf()系のライブラリ関数の ストリーム処理を,glibcの ソースを読んでひたすら解析 してwrite()されるまでにどのような バッファリング処理が行われて いるのかを知る
62.
第4章 「可変長引数の処理を 解析しよう」
63.
(内容) printf()の可変長引数の処理の 実現方法を,逆アセンブルした 結果をベースにして解析して アセンブラレベルで理解する
64.
第5章 「プログラムの実行処理を 解析しよう」
65.
(内容) プログラムの起動時に行われる 処理の内容をLinuxカーネルの ソースコードを読んでexecve() システムコールの処理を読んで 理解する
66.
第6章 「コンパイルと プリプロセッサの処理」
67.
(内容) コンパイル時のログを見て コンパイルオプションや最適化, stdio.hのインクルード処理や プリプロセッサの処理を知り, コンパイル時に何が行われて いるのかやライブラリの構成を 具体的に理解する
68.
第7章 「様々なアーキテクチャでの ハロー・ワールド」
69.
(内容) x86やLinux以外の様々な アーキテクチャや環境 (各種RISCアーキやマイコンなど) でのハロー・ワールドを エミュレータ等を用いて検証し アーキや環境ごとの特徴を知る
70.
ハロー・ワールドを知ることで コンパイラが何をやっているのか とかプログラムがどうやって実行 されているのかとかヘッダファイル やライブラリがどんなふうに使われ ているのかとかが理解できるはず (多分)
71.
関連OSS一覧 gcc binutils gdb Linuxカーネル glibcソースコード FreeBSD その他多数
72.
どうでしょうか
73.
ハロー・ワールドに 入門してみたく なったことかと思います
74.
みんなで ハロー・ワールドで 入門しよう!
75.
みんなで ハロー・ワールドで 入門しよう! に
76.
どうもありがとう ございました
Download