Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
test
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
githubnishi
April 01, 2017
17
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
test
githubnishi
April 01, 2017
More Decks by githubnishi
See All by githubnishi
プレゼンテーション資料
githubnishi
0
17
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
190
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Odyssey Design
rkendrick25
PRO
2
730
It's Worth the Effort
3n
188
29k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
840
The Invisible Side of Design
smashingmag
301
52k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
310
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Deep Space Network (abreviated)
tonyrice
0
230
My Coaching Mixtape
mlcsv
0
170
Transcript
プログラム解説表示ツール 2017 年 4 月 3 日 西 彬
2 背景 • 2020 年に小学校 でプログラミングが必修化するなど様々な場所で情報 化が進んでおりプログラミングの勉強をする人が増えることが分かる 近年の IT エンジニア人口のグラフ
2009 年度 2010 年度 2011 年度 2012 年度 2013 年度 2014 年度 76 78 80 82 84 86 ITエンジニアの人口 ( 万人 ) 増 加 傾 向 に あ る こ と が わ か る 出典: IPA 「 IT 人材白書 2015 」
3 背景 • しかし、初心者がプログラミングを勉強する時に読む書籍などには 「とりあえず書いてください」や「おまじない」など説明せずに 写経させる書籍が多々あり、そこが原因で分からなくなる人がいる • また、初心者はソースコードを見るときに、全く知らない関数などが来 ると流れが追えなくなったり、分からなくて躓いてしまうことがある //
これはおまじないです #include<stdio.h> ・ ・ ・
4 目的 • ソースコードにある程度の解説を表示することで学習の効率 化を図るなどの手助けをする 例えば #include<stdio.h> // おまじない #include<stdio.h>
が何をするのか調べる なぜ必要なのか調べる 短 縮
5 概要 • 解説を表示したいソースコードを入力すると解説を追加して 出力するソフトウェア • 出てきた解説をファイルとして出力することができる • C 言語に対応している
6 実演
7 システム概要 入力されたソースコードを単語ごとに分ける 処理としてはコンパイラの字句解析に似ている sum = rand() sum = rand
( ) 分けた単語の前後などで判定してキーワードを取り出す 処理について 単語(トークン)ごとに分ける
8 システム概要 キーワードをデータベースと照合し、処理の説明を拾ってくる sum = rand ( ) 入力されたソースコードに説明を追加して出力する sum
= rand(); // 乱数を返却して sum に代入 文字列 解説文 ・・・ ・・・ rand 乱数を返却 rand
9 システム概要 • データベースは SQLite を使用 • 使用理由:手軽に使える、動作が軽いなど • データベースには予約語や関数とそれらの日本語での説明文が
入っている データベースについて
10 (内定者研修)についての所感 • 設計書などの書類などをちゃんと作らずに作り始めたため、時間を 無駄に使ってしまったりしたがそれらの必要性がよくわかった。 • 作る側の視点だけで考えるのではなく、使う側の視点で考えたり、 すでにあるものを参考にするなど様々な考え方をする必要があるな ど勉強になった。
11 ご清聴ありがとうございました。