Slide 1

Slide 1 text

灘校パソコン研究部 2014年度夏合宿 SystemScan解説 @hakatashi

Slide 2

Slide 2 text

Q1: ウェブプログラマ が背負う罪

Slide 3

Slide 3 text

問題 次のうちウェブブラウザ上で動作するプログラミング言語はどれか。 ● CGI ● Python ● Chrome ● PHP ● Java ● Apache ● JavaScript ● CSS ● Ruby ● HTML

Slide 4

Slide 4 text

回答 ● CGI → サーバーサイドで任意のプログラムを実行するための仕組み ● Python → ブラウザでは動かないプログラミング言語 ● Chrome → ブラウザ ● PHP → ブラウザでは動かないプログラミング言語 ● Java → ブラウザでは動かないプログラミング言語 ● Apache → サーバーアプリケーション ● JavaScript → ブラウザで動く唯一のプログラミング言語 ● CSS → ページの見た目を指定するファイル形式 ● Ruby → プラウザでは動かないプログラミング言語 ● HTML → ウェブページのファイル形式

Slide 5

Slide 5 text

統計 回答者数: 13人 得点率: 42.86% 最高得点: 20点 (hirorisuu, kanoken, mukkuru, taizo122, takaaki72npca, satouuta)

Slide 6

Slide 6 text

Q2: Web開発

Slide 7

Slide 7 text

問題 Web開発に使用されるソフトウェア/ライブラリ/フレームワークについて、誤っているものを1つ 選べ。 ● node.jsとは、既存のJavaScriptエンジンにファイル操作やモジュール管理などの拡張を施し、 JavaScriptをサーバーなど一般的な用途でも使用できるようにしたアプリケーションである。 ● jQueryとは、CSSセレクタと互換性のある記法による簡単なDOM操作を中心とした、さまざま なブラウザ互換機能を提供するJavaScriptフレームワークである。 ● Bootstrapとは、Web開発のビューの部分の開発を簡単にし、専門のウェブデザイナーでなくて もきれいな画面を作り上げることができるCSS/JavaScriptフレームワークである。 ● Angular.jsとは、主にWebGLのラッパーを提供し、ブラウザ上での3DCGのレンダリングを容 易にするために開発されたJavaScriptライブラリである。

Slide 8

Slide 8 text

解説 ● node.jsとは、既存のJavaScriptエンジンにファイル操作やモジュール管理などの拡張を施 し、JavaScriptをサーバーなど一般的な用途でも使用できるようにしたアプリケーションであ る。 → OK ● jQueryとは、CSSセレクタと互換性のある記法による簡単なDOM操作を中心とした、さまざまな ブラウザ互換機能を提供するJavaScriptフレームワークである。 → OK ● Bootstrapとは、Web開発のビューの部分の開発を簡単にし、専門のウェブデザイナーでなくても きれいな画面を作り上げることができるCSS/JavaScriptフレームワークである。 → OK ● Angular.jsとは、主にWebGLのラッパーを提供し、ブラウザ上での3DCGのレンダリングを容 易にするために開発されたJavaScriptライブラリである。 → three.js

Slide 9

Slide 9 text

統計 回答者数: 8人 得点率: 21.43% 最高得点: 20点(hirorisuu, taizo122, mi-kun)

Slide 10

Slide 10 text

Q3: みんな大好き文字 コード

Slide 11

Slide 11 text

問題 次の文章のうち正しいものを1つ選べ。 ● Unicodeは全部で65536種類の文字を表現できる。 ● 常用漢字に含まれる漢字はすべて、JIS第1水準漢字に含まれる。 ● 常用漢字に含まれる漢字はすべて、CJK統合漢字、及びCJK統合漢 字Aに含まれる。 ● JIS第3水準漢字とJIS第4水準漢字は、ともに面区点空間の第2面に 含まれる文字群である。 ● Shift_JISでエンコードして保存した日本語のテキストファイルを UTF-16で保存しなおしても、ファイルサイズはほとんど変わらな いと予想できる。

Slide 12

Slide 12 text

解説 ● Unicodeは全部で65536種類の文字を表現できる。 → NG。これは当初の構想。現在で は拡張により最大で1112064文字を表現可能。 ● 常用漢字に含まれる漢字はすべて、JIS第1水準漢字に含まれる。 → NG。改正常用漢字 の多くはJIS第1水準漢字に含まれない。 ● 常用漢字に含まれる漢字はすべて、CJK統合漢字、及びCJK統合漢字Aに含まれる。 → NG。「 」1字のみCJK統合漢字Bに収録 ● JIS第3水準漢字とJIS第4水準漢字は、ともに面区点空間の第2面に含まれる文字群であ る。 → NG。JIS第3水準漢字はJIS X 0213で第1面に増補した文字群を指す。 ● Shift_JISでエンコードして保存した日本語のテキストファイルをUTF-16で保存しなお しても、ファイルサイズはほとんど変わらないと予想できる。 → OK。Shift_JISで1バ イトの文字は(一部を除いて)ASCII互換でありUTF-16でも1バイト。Shift_JISで2バ イトの文字はCJK統合漢字収録でありサロゲートペアを使用せず2バイトで表現される。

Slide 13

Slide 13 text

統計 回答者数: 9人 得点率: 7.14% 最高得点: 20点(hirorisuu)

Slide 14

Slide 14 text

Q4: ファイル編集

Slide 15

Slide 15 text

問題 次の文章のうち誤りを含むものを1つ選べ。 ● Phososhopとは、GNUプロジェクトの元で開発が進められているオープ ンソースのラスタ画像編集ソフトウェアである。 ● Inkscapeとは、SVG標準に準拠したオープンソースのベクタ画像編集ソ フトウェアである。 ● Dominoとは、無料で配布されているDTMソフトウェアであり、主にMIDI シーケンサーの機能を提供する。 ● LibreOfficeとは、OpenOfficeからフォークして開発が進められているオ フィススイートであり、最新版のUbuntuに標準で搭載されている。 ● FFmpegとは、動画及び音声変換のためのフリーソフトウェアであり、コ マンドライン上で動作する。

Slide 16

Slide 16 text

解説 ● Phososhopとは、GNUプロジェクトの元で開発が進められているオー プンソースのラスタ画像編集ソフトウェアである。 → NG。この説明は GIMPのこと。 ● Inkscapeとは、SVG標準に準拠したオープンソースのベクタ画像編集 ソフトウェアである。 → OK。 ● Dominoとは、無料で配布されているDTMソフトウェアであり、主に MIDIシーケンサーの機能を提供する。 → OK。 ● LibreOfficeとは、OpenOfficeからフォークして開発が進められている オフィススイートであり、最新版のUbuntuに標準で搭載されている。 → OK。 ● FFmpegとは、動画及び音声変換のためのフリーソフトウェアであり、 コマンドライン上で動作する。 → OK。

Slide 17

Slide 17 text

統計 回答者数: 7人 得点率: 7.14% 最高得点: 20点(taizo122)

Slide 18

Slide 18 text

Q5: 言語当てゲーム 2014

Slide 19

Slide 19 text

問題 次のリストはプログラム中の予約語の出現頻度を博多市が独自に解析し、 言語ごとに出現頻度の高い順に5つずつ並べたものである。 それぞれの言語の名前を答えよ。 ただし、正解は以下のうちのいずれかである。 C++, Erlang, Java, JavaScript, Perl, PHP, Python, Ruby, Scala, Visual Basic 1. return, this, function, if, var 2. my, sub, return, if, @_ 3. if, public, return, function, isset 4. if, return, void, else, const 5. end, def, if, self, do 6. if, def, in, for, return 7. If, Then, End, As, Long 8. final, return, if, public, int 9. val, def, import, case, if 10. end, when, of, case, fun

Slide 20

Slide 20 text

問題 1. return, this, function, if, var ● function ● function ● 圧倒的function ● あとvar ● →JavaScript

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

問題 2. my, sub, return, if, @_ ● @_ ● @_ ● 圧倒的@_ ● →perl

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

問題 3. if, public, return, function, isset ● isset ● isset ● 圧倒的isset ● →PHP

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

問題 4. if, return, void, else, const ● void ● void, constなどの型指定子が多用されている ● →C++ ● という感じ

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

問題 5. end, def, if, self, do ● end ● end ● endがdef, ifよりも多く使われている ● →Ruby

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

問題 6. if, def, in, for, return ● defが使われている ● endが使われていない ● →Python

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

問題 7. If, Then, End, As, Long ● _人人人人人人人_ > 先頭大文字 <  ̄Y^Y^Y^Y^Y^Y ̄ ● →Visual Basic

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

問題 8. final, return, if, public, int ● final ● ほかはC系共通で難しかったかもしれない ● →Java

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

問題 9. val, def, import, case, if ● 圧倒的val ● valで変数宣言する言語 ● →Scala

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

問題 10. end, when, of, case, fun ● えっ ● えっ ● えっ ● 消去法か何かでがんばろう ● →Erlang

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

No content

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

統計 回答者数: 4人 得点率: 17.86% 最高得点: 20点(hirorisuu)

Slide 44

Slide 44 text

Q6: Don't be afraid of English!

Slide 45

Slide 45 text

問題 According to the following security announce of Twitter, which sentence is true? Choose one! https://blog.twitter.com/2014/keeping-your-twitter-account-safe ● Twitter now offers a new way to reset your password using your email address. ● Twitter took measures for the case when Twitter leaked their account information out. ● Twitter strengthened their security by verifying suspicious login attempt to the account. ● Twitter warns that your suspicious account behavior can make your account either blocked or sometimes suspended.

Slide 46

Slide 46 text

解説 英語がんばろう

Slide 47

Slide 47 text

解説 According to the following security announce of Twitter, which sentence is true? Choose one! 以下のTwitterのセキュリティ告知によると、どの文が正しいでしょうか? 1つ選んでください。 https://blog.twitter.com/2014/keeping-your-twitter-account-safe ● Twitter now offers a new way to reset your password using your email address. – Twitterはメールアドレスを使ってパスワードをリセットする新しい方法を導入した。 ● Twitter took measures for the case when Twitter leaked their account information out. – TwitterはTwitterが個人情報を漏洩した場合への対策を取った。 ● Twitter strengthened their security by verifying suspicious login attempt to the account. – Twitterはアカウントへの怪しいログインを認証することによりセキュリティを向上させた。 ● Twitter warns that your suspicious account behavior can make your account either blocked or sometimes suspended. – Twitterはユーザーに、怪しい操作を繰り返すとアカウントがブロックされたり凍結されたりする事があると警告した。

Slide 48

Slide 48 text

統計 回答者数: 5人 得点率: 0.00% 最高得点: 0点

Slide 49

Slide 49 text

Q7: JSチャレンジ

Slide 50

Slide 50 text

問題 次のうち、ECMAScript5.1において等価な2つの式もしく は文を選べ。ただしA, B, Cは単一の式である。式全体の評 価値は考慮しない。 ● A ? B : C ● A && B || C ● A || C && B ● switch (new Boolean(A)) {case true: B; break; case false: C; break;} ● (function () {if (A) return B; return C;})();

Slide 51

Slide 51 text

解説

Slide 52

Slide 52 text

解説 ● JavaScript(ECMAScript)は特別な環境を入 れなくてもブラウザがあれば実行できます! ● いくつかテストして動作を確認しましょう

Slide 53

Slide 53 text

解説 ● A ? B : C ● A && B || C ● A || C && B ● switch (new Boolean(A)) {case true: B; break; case false: C; break;} ● (function () {if (A) return B; return C;}) ();

Slide 54

Slide 54 text

統計 回答者数: 3人 得点率: 0.00% 最高得点: 0点

Slide 55

Slide 55 text

おわり