Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

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

Koki Takahashi

August 20, 2014
Tweet

More Decks by Koki Takahashi

Other Decks in Programming

Transcript

  1. 回答 • CGI → サーバーサイドで任意のプログラムを実行するための仕組み • Python → ブラウザでは動かないプログラミング言語 •

    Chrome → ブラウザ • PHP → ブラウザでは動かないプログラミング言語 • Java → ブラウザでは動かないプログラミング言語 • Apache → サーバーアプリケーション • JavaScript → ブラウザで動く唯一のプログラミング言語 • CSS → ページの見た目を指定するファイル形式 • Ruby → プラウザでは動かないプログラミング言語 • HTML → ウェブページのファイル形式
  2. 問題 Web開発に使用されるソフトウェア/ライブラリ/フレームワークについて、誤っているものを1つ 選べ。 • node.jsとは、既存のJavaScriptエンジンにファイル操作やモジュール管理などの拡張を施し、 JavaScriptをサーバーなど一般的な用途でも使用できるようにしたアプリケーションである。 • jQueryとは、CSSセレクタと互換性のある記法による簡単なDOM操作を中心とした、さまざま なブラウザ互換機能を提供するJavaScriptフレームワークである。 •

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

    → OK • Bootstrapとは、Web開発のビューの部分の開発を簡単にし、専門のウェブデザイナーでなくても きれいな画面を作り上げることができるCSS/JavaScriptフレームワークである。 → OK • Angular.jsとは、主にWebGLのラッパーを提供し、ブラウザ上での3DCGのレンダリングを容 易にするために開発されたJavaScriptライブラリである。 → three.js
  4. 問題 次の文章のうち正しいものを1つ選べ。 • Unicodeは全部で65536種類の文字を表現できる。 • 常用漢字に含まれる漢字はすべて、JIS第1水準漢字に含まれる。 • 常用漢字に含まれる漢字はすべて、CJK統合漢字、及びCJK統合漢 字Aに含まれる。 •

    JIS第3水準漢字とJIS第4水準漢字は、ともに面区点空間の第2面に 含まれる文字群である。 • Shift_JISでエンコードして保存した日本語のテキストファイルを UTF-16で保存しなおしても、ファイルサイズはほとんど変わらな いと予想できる。
  5. 解説 • 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バイトで表現される。
  6. 問題 次の文章のうち誤りを含むものを1つ選べ。 • Phososhopとは、GNUプロジェクトの元で開発が進められているオープ ンソースのラスタ画像編集ソフトウェアである。 • Inkscapeとは、SVG標準に準拠したオープンソースのベクタ画像編集ソ フトウェアである。 • Dominoとは、無料で配布されているDTMソフトウェアであり、主にMIDI

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

    → OK。 • Dominoとは、無料で配布されているDTMソフトウェアであり、主に MIDIシーケンサーの機能を提供する。 → OK。 • LibreOfficeとは、OpenOfficeからフォークして開発が進められている オフィススイートであり、最新版のUbuntuに標準で搭載されている。 → OK。 • FFmpegとは、動画及び音声変換のためのフリーソフトウェアであり、 コマンドライン上で動作する。 → OK。
  8. 問題 次のリストはプログラム中の予約語の出現頻度を博多市が独自に解析し、 言語ごとに出現頻度の高い順に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
  9. 問題 1. return, this, function, if, var • function •

    function • 圧倒的function • あとvar • →JavaScript
  10. 問題 2. my, sub, return, if, @_ • @_ •

    @_ • 圧倒的@_ • →perl
  11. 問題 4. if, return, void, else, const • void •

    void, constなどの型指定子が多用されている • →C++ • という感じ
  12. 問題 5. end, def, if, self, do • end •

    end • endがdef, ifよりも多く使われている • →Ruby
  13. 問題 8. final, return, if, public, int • final •

    ほかはC系共通で難しかったかもしれない • →Java
  14. 問題 9. val, def, import, case, if • 圧倒的val •

    valで変数宣言する言語 • →Scala
  15. 問題 10. end, when, of, case, fun • えっ •

    えっ • えっ • 消去法か何かでがんばろう • →Erlang
  16. 問題 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.
  17. 解説 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はユーザーに、怪しい操作を繰り返すとアカウントがブロックされたり凍結されたりする事があると警告した。
  18. 問題 次のうち、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;})();
  19. 解説 • 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;}) ();