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

NPCA System Scan 2014 @hakatashi 解説スライド

Embed Size (px)

DESCRIPTION

2014年8月18日から20日にかけて開催されたNPCA System Scan 2014の@hakatashi作問分の解説スライドです。

Citation preview

Page 1: NPCA System Scan 2014 @hakatashi 解説スライド

灘校パソコン研究部2014年度夏合宿

SystemScan解説@hakatashi

Page 2: NPCA System Scan 2014 @hakatashi 解説スライド

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

Page 3: NPCA System Scan 2014 @hakatashi 解説スライド

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

Page 4: NPCA System Scan 2014 @hakatashi 解説スライド

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

Page 5: NPCA System Scan 2014 @hakatashi 解説スライド

統計

回答者数: 13人

得点率: 42.86%

最高得点: 20点 (hirorisuu, kanoken, mukkuru, taizo122, takaaki72npca, satouuta)

Page 6: NPCA System Scan 2014 @hakatashi 解説スライド

Q2: Web開発

Page 7: NPCA System Scan 2014 @hakatashi 解説スライド

問題Web開発に使用されるソフトウェア/ライブラリ/フレームワークについて、誤っているものを1つ選べ。● node.jsとは、既存のJavaScriptエンジンにファイル操作やモジュール管理などの拡張を施し、

JavaScriptをサーバーなど一般的な用途でも使用できるようにしたアプリケーションである。● jQueryとは、CSSセレクタと互換性のある記法による簡単なDOM操作を中心とした、さまざま

なブラウザ互換機能を提供するJavaScriptフレームワークである。● Bootstrapとは、Web開発のビューの部分の開発を簡単にし、専門のウェブデザイナーでなくて

もきれいな画面を作り上げることができるCSS/JavaScriptフレームワークである。● Angular.jsとは、主にWebGLのラッパーを提供し、ブラウザ上での3DCGのレンダリングを容

易にするために開発されたJavaScriptライブラリである。

Page 8: NPCA System Scan 2014 @hakatashi 解説スライド

解説● node.jsとは、既存のJavaScriptエンジンにファイル操作やモジュール管理などの拡張を施

し、JavaScriptをサーバーなど一般的な用途でも使用できるようにしたアプリケーションである。 → OK

● jQueryとは、CSSセレクタと互換性のある記法による簡単なDOM操作を中心とした、さまざまなブラウザ互換機能を提供するJavaScriptフレームワークである。 → OK

● Bootstrapとは、Web開発のビューの部分の開発を簡単にし、専門のウェブデザイナーでなくてもきれいな画面を作り上げることができるCSS/JavaScriptフレームワークである。 → OK

● Angular.jsとは、主にWebGLのラッパーを提供し、ブラウザ上での3DCGのレンダリングを容易にするために開発されたJavaScriptライブラリである。 → three.js

Page 9: NPCA System Scan 2014 @hakatashi 解説スライド

統計

回答者数: 8人

得点率: 21.43%

最高得点: 20点(hirorisuu, taizo122, mi-kun)

Page 10: NPCA System Scan 2014 @hakatashi 解説スライド

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

Page 11: NPCA System Scan 2014 @hakatashi 解説スライド

問題次の文章のうち正しいものを1つ選べ。● Unicodeは全部で65536種類の文字を表現できる。● 常用漢字に含まれる漢字はすべて、JIS第1水準漢字に含まれる。● 常用漢字に含まれる漢字はすべて、CJK統合漢字、及びCJK統合漢

字Aに含まれる。● JIS第3水準漢字とJIS第4水準漢字は、ともに面区点空間の第2面に

含まれる文字群である。● Shift_JISでエンコードして保存した日本語のテキストファイルを

UTF-16で保存しなおしても、ファイルサイズはほとんど変わらないと予想できる。

Page 12: NPCA System Scan 2014 @hakatashi 解説スライド

解説● 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バイトで表現される。

Page 13: NPCA System Scan 2014 @hakatashi 解説スライド

統計

回答者数: 9人

得点率: 7.14%

最高得点: 20点(hirorisuu)

Page 14: NPCA System Scan 2014 @hakatashi 解説スライド

Q4: ファイル編集

Page 15: NPCA System Scan 2014 @hakatashi 解説スライド

問題次の文章のうち誤りを含むものを1つ選べ。● Phososhopとは、GNUプロジェクトの元で開発が進められているオープ

ンソースのラスタ画像編集ソフトウェアである。● Inkscapeとは、SVG標準に準拠したオープンソースのベクタ画像編集ソ

フトウェアである。● Dominoとは、無料で配布されているDTMソフトウェアであり、主にMIDI

シーケンサーの機能を提供する。● LibreOfficeとは、OpenOfficeからフォークして開発が進められているオ

フィススイートであり、最新版のUbuntuに標準で搭載されている。● FFmpegとは、動画及び音声変換のためのフリーソフトウェアであり、コマンドライン上で動作する。

Page 16: NPCA System Scan 2014 @hakatashi 解説スライド

解説● Phososhopとは、GNUプロジェクトの元で開発が進められているオー

プンソースのラスタ画像編集ソフトウェアである。 → NG。この説明はGIMPのこと。

● Inkscapeとは、SVG標準に準拠したオープンソースのベクタ画像編集ソフトウェアである。 → OK。

● Dominoとは、無料で配布されているDTMソフトウェアであり、主にMIDIシーケンサーの機能を提供する。 → OK。

● LibreOfficeとは、OpenOfficeからフォークして開発が進められているオフィススイートであり、最新版のUbuntuに標準で搭載されている。 → OK。

● FFmpegとは、動画及び音声変換のためのフリーソフトウェアであり、コマンドライン上で動作する。 → OK。

Page 17: NPCA System Scan 2014 @hakatashi 解説スライド

統計

回答者数: 7人

得点率: 7.14%

最高得点: 20点(taizo122)

Page 18: NPCA System Scan 2014 @hakatashi 解説スライド

Q5: 言語当てゲーム2014

Page 19: NPCA System Scan 2014 @hakatashi 解説スライド

問題次のリストはプログラム中の予約語の出現頻度を博多市が独自に解析し、

言語ごとに出現頻度の高い順に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

Page 20: NPCA System Scan 2014 @hakatashi 解説スライド

問題

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

Page 21: NPCA System Scan 2014 @hakatashi 解説スライド
Page 22: NPCA System Scan 2014 @hakatashi 解説スライド

問題

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

Page 23: NPCA System Scan 2014 @hakatashi 解説スライド
Page 24: NPCA System Scan 2014 @hakatashi 解説スライド

問題

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

Page 25: NPCA System Scan 2014 @hakatashi 解説スライド
Page 26: NPCA System Scan 2014 @hakatashi 解説スライド

問題

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

Page 27: NPCA System Scan 2014 @hakatashi 解説スライド
Page 28: NPCA System Scan 2014 @hakatashi 解説スライド

問題

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

Page 29: NPCA System Scan 2014 @hakatashi 解説スライド
Page 30: NPCA System Scan 2014 @hakatashi 解説スライド

問題

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

Page 31: NPCA System Scan 2014 @hakatashi 解説スライド
Page 32: NPCA System Scan 2014 @hakatashi 解説スライド

問題

7. If, Then, End, As, Long● _人人人人人人人_

> 先頭大文字 <

 ̄Y^Y^Y^Y^Y^Y ̄● →Visual Basic

Page 33: NPCA System Scan 2014 @hakatashi 解説スライド
Page 34: NPCA System Scan 2014 @hakatashi 解説スライド

問題

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

Page 35: NPCA System Scan 2014 @hakatashi 解説スライド
Page 36: NPCA System Scan 2014 @hakatashi 解説スライド

問題

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

Page 37: NPCA System Scan 2014 @hakatashi 解説スライド
Page 38: NPCA System Scan 2014 @hakatashi 解説スライド

問題

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

Page 39: NPCA System Scan 2014 @hakatashi 解説スライド
Page 40: NPCA System Scan 2014 @hakatashi 解説スライド
Page 41: NPCA System Scan 2014 @hakatashi 解説スライド
Page 42: NPCA System Scan 2014 @hakatashi 解説スライド
Page 43: NPCA System Scan 2014 @hakatashi 解説スライド

統計

回答者数: 4人

得点率: 17.86%

最高得点: 20点(hirorisuu)

Page 44: NPCA System Scan 2014 @hakatashi 解説スライド

Q6: Don't be afraid of English!

Page 45: NPCA System Scan 2014 @hakatashi 解説スライド

問題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.

Page 46: NPCA System Scan 2014 @hakatashi 解説スライド

解説

英語がんばろう

Page 47: NPCA System Scan 2014 @hakatashi 解説スライド

解説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はユーザーに、怪しい操作を繰り返すとアカウントがブロックされたり凍結されたりする事があると警告した。

Page 48: NPCA System Scan 2014 @hakatashi 解説スライド

統計

回答者数: 5人

得点率: 0.00%

最高得点: 0点

Page 49: NPCA System Scan 2014 @hakatashi 解説スライド

Q7: JSチャレンジ

Page 50: NPCA System Scan 2014 @hakatashi 解説スライド

問題次のうち、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;})();

Page 51: NPCA System Scan 2014 @hakatashi 解説スライド

解説

Page 52: NPCA System Scan 2014 @hakatashi 解説スライド

解説● JavaScript(ECMAScript)は特別な環境を入

れなくてもブラウザがあれば実行できます!● いくつかテストして動作を確認しましょう

Page 53: NPCA System Scan 2014 @hakatashi 解説スライド

解説● 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;})

();

Page 54: NPCA System Scan 2014 @hakatashi 解説スライド

統計

回答者数: 3人

得点率: 0.00%

最高得点: 0点

Page 55: NPCA System Scan 2014 @hakatashi 解説スライド

おわり