npca system scan 2014 @hakatashi 解説スライド

Post on 05-Dec-2014

314 Views

Category:

Engineering

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

SystemScan解説@hakatashi

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

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

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

統計

回答者数: 13人

得点率: 42.86%

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

Q2: Web開発

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

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

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

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

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

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

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

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

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

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

統計

回答者数: 8人

得点率: 21.43%

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

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

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

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

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

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

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

統計

回答者数: 9人

得点率: 7.14%

最高得点: 20点(hirorisuu)

Q4: ファイル編集

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

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

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

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

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

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

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

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

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

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

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

統計

回答者数: 7人

得点率: 7.14%

最高得点: 20点(taizo122)

Q5: 言語当てゲーム2014

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

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

問題

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

問題

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

問題

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

問題

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

問題

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

問題

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

問題

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

> 先頭大文字 <

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

問題

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

問題

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

問題

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

統計

回答者数: 4人

得点率: 17.86%

最高得点: 20点(hirorisuu)

Q6: Don't be afraid of English!

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

解説

英語がんばろう

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

統計

回答者数: 5人

得点率: 0.00%

最高得点: 0点

Q7: JSチャレンジ

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

解説

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

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

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

();

統計

回答者数: 3人

得点率: 0.00%

最高得点: 0点

おわり

top related