今年の抱負 - 2017。
去年は特に目標も立てずに行き当たりばったりで突っ走ってしまったので、今年はきちんと目標を立てておこうと思う。
1.月に1冊は技術書を読む
去年できなかったので(8冊だった)。
2.資格・検定を取る
・情報セキュリティマネジメント試験
・数学検定準2級
・個人情報保護士認定試験
・危険物取扱者試験乙種第4類
3.学生エンジニアとして働く
どうせなら将来に直接結びつく仕事をしたいよね。
4.したことのない学問をはじめる
高校時代にできなかった化学をする予定。
5.自作言語かアプリを作る
本読んで勉強するばっかりじゃ駄目だと思ったので。
意識が高そうな目標になってしまったが、まあ良しとしましょう。
『新わかりやすいJava 入門編』を終えた感想。
はじめに言っておくと、IQ145本以来の買って失敗した技術書だった。
どちらも秀和システムが出版しているので少し悲しい気持ちになった。
IQ145本のレビューの記事は下にリンクを貼っておく。
いつもと違いタイトルを『読んだ感想』ではなく、『終えた感想』としたのは読んだだけでなくソースコードを全て打ち込んで実行したからだ。
私はJavaに出会ってからすでに1年以上が経つが、はじめた理由は検定に必要だったからであって、それに独学で入門書も読まずに今までやってきてしまったため、知識に偏りがあるように感じた。
そのため入門書を1冊購入し、体系的に学び直すことにした。
使った本がこちらだ。
内容は他の入門書とさほど変わりないと思うが、新わかりやすいJava入門編|書籍情報|秀和システム から見ることができる。
基本的な文法に加え、オブジェクト指向やJava8の内容も少し入っている。
例外処理、列挙型、ジェネリクス、ラムダ式などには殆ど触れられていない。
入門書として、内容はそこそこ良かったがとにかく誤植が酷い。
ホームページで正誤表はサポートされているが、入門者にとってはかなり負担になるだろう。
私のは初版で、誤植は2版では直されているらしいが、どこまで直されているかは確認していないので注意して欲しい。
また、2017年中旬に本書のオブジェクト指向編が出版されるらしいが、それの誤植も酷くなる可能性があるので注意していただきたい。
私はこれを読んで基礎的なことは学び直せて良かった。
また、間違いが多かったおかげで注意して読むことができ、逆に力はついたかもしれない(むしろ間違い探しをしている気分だった)。
次は来年リリース予定のJava9に向けてJava7/8を勉強し直す予定だ。
関連記事
私の進学失敗談。
はじめに
どうもこんにちは。しくじり先生です。
この記事を読んで私も進学失敗談を書こうと思いました。
私のブログを読んでいる方は大抵、私より年上なので役に立つかどうかは微妙ですが、自戒の意味も込めて赤裸々に語ってみようと思います。
どこを受けたのか
静岡の某国公立大学をAOで受けたあと、高知の某公立大学を公募推薦で受け、最終的に大阪の某専門学校に行き着きました。
なぜ大学に行きたかったのか
建前上は情報系を極めたいなどと抜かしておりましたが、本音はキャンパスライフを楽しみたかったのと生涯賃金が高い、そして大卒というだけで舐められない(と聞いていた)からです。
建前と言いましたが、情報系のことを学びたいのは本当です。
しかしそれよりも第一志望校の町並みや校風が好きだったのかもしれません。
頭は良かったのか
商業高校の情報処理科(偏差値は50ちょっと)で評定は4.7でした。
遅刻も欠席も0で真面目と言っても過言ではないでしょう。
(ただし、第一志望に落ちてからは遅刻と欠席が増え、成績も落ちました。)
技術力はあったのか
一応、基本情報技術者試験は合格していましたし、全商検定も1級を4つ持っていましたが、そんな高校生はゴマンといるでしょう。
IT・簿記選手権大会では近畿・中国・四国大会で11位になり、全国大会にも出場しましたが、そんなものは役に立つはずもなく肩書きにすらなりませんでした。
受験フロー
まず、私は商業高校の情報処理科に所属していました。
商業高校というと、殆どの学生は指定校推薦で大学を受けるか就職します。
ここに†情報処理科の闇†と言いますか、そういうものがあるのです。
情報処理科の癖に指定校推薦は経済・経営学部ばかりです。ウェイ。
おまけに情報系のカリキュラムに時間を割いているのでセンター試験を受けて受験するのは現実的ではないです。
困ってしまった私はなんとか受けられそうな情報系の大学を探しました。
それが静岡の某国公立大学で、1次の学力試験(数学・英語)は通過し、自惚れていたら2次の面接で落とされました。
試験含め4回も大学に行っていたのでそれなりに愛着が湧いており、悲しかったですね。
数学Ⅰ・Aしか勉強していなかった(カリキュラムに組み込まれていない)私に数学を真面目に勉強する機会を与えてくれてありがとうございます^^
2つ目に受けた高知の某公立大学は数日前に彼女にフラれ、廃人のまま受けに行き、見事に落ちました(決して彼女のせいにしているわけではないです)。
これに関しては大して行きたい大学でもなかったのでむしろ落ちて良かったと思っています。
高知から帰ってきた日に彼女とは復縁しました。
3つ目の大阪の某専門学校は願書を出したら一瞬で受かってしまいました(当たり前)。
やりたかったセキュリティを専攻できる学科なので結果オーライではないでしょうか。
4年間でお金を貯めて、大学院へ行くつもりです。
まとめ
情報系の学科の大学へ進学したい方は普通科に行くか高専に行きましょう。
(情報系の勉強をしたいのに普通科に行けというのはなんとも皮肉ですね)
工業高校はどうなのかよく分かりませんが、商業高校よりは良いかもしれません。
商業高校の情報処理科は駄目です。
ここでの駄目というのは、情報系の学科の大学へ進学できる可能性が格段に低いということです。
私の勉強や努力が足りていない可能性も充分にありますが、それでも狭き門です。
経済・経営系の学科に進学したい、何の学科でも良い、就職する、このような人なら良いでしょう。
それでは、もし中学生の方が見ているのならば、この情報が少しでも役に立てばと思います。
受験を頑張ってください。
Progateの無料レッスンを全て受講した。
特段「暇」という訳でもなかったが、何を思い立ったのか、気付けばProgateの無料レッスンを全て受講していた。
ちなみにProgateとはオンラインプログラミング学習サービスで、ドットインストールやpaiza learningのような類のサービスである。
主に初学者を対象としており、ブラウザだけで学習可能なのがドットインストールと比較したときの強みだと私は思う(paiza-learningも基本的にブラウザだけでできるが、Progateの方が内容が濃い)。
無料で学習できるレッスンは全部で10のレッスンがあった。
どのレッスンが無料なのかは、このページを参考にした。
それらのレッスンについて表にまとめてみた。
レッスン名 | 修了時間(予想) | 修了時間(実際) | 評価(5段階) |
---|---|---|---|
HTML & CSS 初級編 | 4 | 2.03 | 4 |
JavaScript 基礎編 | 3 | 0.53 | 2 |
jQuery 初級編 | 3 | 0.54 | 5 |
Ruby 基礎編 | 4 | 1.05 | 3 |
Ruby on Rails Ⅰ | 3 | 1.13 | 4 |
PHP Ⅰ | 4 | 1.26 | 3 |
Java Ⅰ | 5 | 0.48 | 2 |
Java Ⅱ | 3 | 0.48 | 3 |
Python Ⅰ | 4 | 0.41 | 4 |
Swift Ⅰ | 4 | 0.52 | 5 |
計 | 37 | 8.43 | - |
修了時間(予想)はProgateが公開している修了までにかかるおおよその時間。
修了時間(実際)は私が実際に計測して修了までにかかった時間。
予想以上に速く進んだので驚いた。
評価は、「面白さ」や「役に立ったか」などを総合して点数をつけた。
全体の感想
2日間にわたり、様々な言語に触れることができて楽しかった。
ちなみに私は密かにこれを「プログラミング・トライアスロン」と称していた。
そして、ここ最近、使っていなかった言語を少し思い出すことができて良かった。
無料レッスンなので基礎の基礎しか学習できなかったが、それでも得るものはあった。
レベルやランキング機能もあり、モチベーションを上げる工夫がなされていた。
一時、デイリーランキングで2位になっていた。
ちょっと嬉しかった。
HTML & CSS 初級編
これはかなり良い復習になった。
初級編を終える頃には1つのWebサイトが完成するので、具体的な作り方を理解できる。
また、HTMLとCSSを同時に学べるのでHTMLとCSSの対応関係やそれぞれの使いどころもきちんと学ぶことができる。
JavaScript 基礎編
高校の1年次の授業や最近もよく使っていたので、あまり得られるものは無かった。
jQuery 初級編
jQueryコピペマンを卒業することができた。
視覚的にかなり変化があるため、学習していて1番楽しかった。
Ruby 基礎編
1年ぶりぐらいに書いた。
1年前も基本的な文法を学んだ程度だったのでほとんど忘れていた。
Ruby on Rails Ⅰ
ブラウザ上だけでフレームワークについて学べるのは画期的だと思った。
Webサービスを作る予定は無いが、概念は掴むことができて良い経験になった。
PHP Ⅰ
今年は学校でPHPばかりしていて苦しめられたので、正直あまりやりたくなかった。
復習にはなったので良かった。
Java Ⅰ・Java Ⅱ
最近はさっぱり書くことがなくなっていたJava。
肝心のオブジェクト指向はJava Ⅲからしか学習できないので少し残念だったが、無料なので仕方あるまい。
Python Ⅰ
Ruby同様、1年ほど前に基礎を学んだ程度だったので、ほとんど忘れていた。
Swift Ⅰ
今回、はじめて書いた。
Swiftの文法もそうだが、Xcodeの使い方についても学べてよかった。
もう少ししたらMacBookを購入する予定なので、Xcodeを導入していじろうと思う。
今すぐに課金することはないが(お金が無いから)、いくつか気になるレッスンもあったのでそのうち課金するかもしれない。
おしまい。
最近読んだ本。
情報系の技術書しか感想を書いていないので、その他に読んだ本の感想をまとめて書くコーナー(?)を始めることにした。
偉そうに評論家のようなことをしているが、皮肉めいた読書感想文を読むような気持ちで暖かく見守っていただきたい。
1.筋トレする人は、なぜ、仕事で結果を出せるのか?
筋トレモチベを上げるための本。
自己啓発本はあまり読まないが、タイトルに惹かれて読んでしまった。
社会人向けの本だが、学生でも充分に役立つことが書いてある。
筋肉をつけることによって得られる利点、筋トレと読書の関係などについて説明されている。
2時間もあれば余裕で読み終わってしまうので是非読んでみて欲しい。
2.小説 君の名は。
映画を2回観たあとに読んだ(そのあともう1回映画を観た)。
新海誠本人が書き下ろした小説ということで、気になって読んだ。
映画では詳しい描写がされていなかった場面や心理描写についても詳しく描かれており、映画と小説で相互補完的になっているように感じた。
純愛モノは久しぶりに読んだ気がする。というか今まで読んだことがなかったかもしれない。
若干のラノベっぽさは否めないが、映画を観た人には特にオススメする。
3.君の名は。Another Side:Earthbound
原作小説を読んでどっぷりと君の名は。沼にはまってしまった私が次に手に取ったのはサイドストーリー集だった。
三葉の父親の過去、糸守町での日常などについて描かれている。
映画や原作小説を観た/読んだ人がこれを読めば、君の名は。がもっと好きになるはずだ。
4・5.グロテスク
君の名は。から打って変わってダークな世界観の物語。
上下巻合せて800ページ弱だったので中々の長編だった。
タイトルに惹かれて購入した。
スプラッタ系の血しぶきや肉片が飛び散るようなマニュアル通りのグロテスクではなく、汚い人間関係を描いた、そういう意味でのグロテスクだった。
生まれたときの境遇がどれほど後の人生に影響を及ぼすのか、改めて考えさせられた。
悪く言えば何の盛り上がりも無い単調な小説だが、読み終わったあとは謎の快感・爽快感のようなものが得られた。
6.教団X
宇宙科学、物理学、生物学、哲学、量子力学、政治、経済、そして宗教。
この本には著者のかなりの量の知識が詰め込まれている。
570ページの小説なので中々長い。
しかし、知識を詰め込みすぎた代償として物語性が失われてしまったように感じた。
つまり、もう少し語って欲しい部分と、逆に話が長く感じてしまう部分があり、そのバランスを調節してもらいたかった。
若干の感動と、大量の官能的な表現があることにも注意が必要だ。
そして、対称的な2つの教団を主軸に話は進められていく。
7.人間失格
『恥の多い生涯を送ってきました。』で有名な小説。
本書を読むのはこれで2回目だった。
太宰治の半生を描いた自伝でもあり、遺書でもある作品のように思う。
作中では主人公の葉蔵がクスリに溺れて、そして女にまみれて、人生が崩壊していく様子が描かれている。
この作品の公開後、しばらくして太宰治は自らの命を絶った。
ちなみに、http://www.aozora.gr.jp/cards/000035/files/301_14912.htmlから読めるので是非読んでみて欲しい。
8.小説 ほしのこえ
君の名は。を読んで他の新海誠作品が気になった私は、新海誠の商業デビュー作であるこの作品を読んだ。
しかしこの小説は新海誠本人が書いたものではなく、新海誠の原作をもとに大場惑が小説として書き起こしたものだということに注意しなければならない。
SFチックな世界観にあまり興味が無いのと、SFでありがちなカタカナが多くてその名前を覚えるのが大変だったのが、個人的には残念だった。
君の名は。と同じく「会いたいのに遠くにいて会えない」というのを上手く利用した作品だった。
9.小説 秒速5センチメートル
新海誠作品を読むのはこれで3作品目となった(残るは『言の葉の庭』のみだが、なかなか書店に置いていない)。
新海誠作品の一種のパターンのようなものに気付いてしまった気がして、少しだけ悲しい気持ちになった。
前述した2作品とは違い、この作品は読み終わったあとに憂鬱な気分になる。
私が読んだ新海誠作品3つの中では一番好きな作品だ。
10.数学ガールの秘密ノート/式とグラフ
この本を読んだのはもう2~3回目になると思う。
面白くてどんどんページが進むので、読んでいてあまりストレスになることがない。
数学モチベが上がるので勉強する前に読んだりするのも良いかもしれない。
少しだけセリフのぎこちなさを感じる部分はある。
そしてユーリがあざとい。
このシリーズは継続して読もうと思う。
読んだ本が貯まったら、また一気に紹介しようと思う。
それでは。
『暗号技術入門』を読んだ感想。
途中で読むのをやめて積ん読と化していた『暗号技術入門』を読み終えた。
これでやっと暗号技術に入門できたのかという感じた。
そもそも私がこの本を読み始めたきっかけは、情報処理技術者試験で共通鍵暗号方式や公開鍵暗号方式がよく出てくるが、言葉や外面を理解しているだけに過ぎず、暗号技術の本質を理解していないような気がしたからだ。
そんな方には是非オススメする。
タイトルに「入門」と記されている通り、暗号技術の数学的な側面は最低限にされており、易しくする工夫がなされているように感じた。
それでも難しい箇所はあり、第Ⅰ部の暗号に関しては2回読んだ(大きく分けて三部構成の本で、第Ⅰ部は暗号、第Ⅱ部は認証、第Ⅲ部は鍵・乱数・応用技術について紹介されている)。
1ページ丸々、図で埋まっていることも多く視覚的にも理解しやすかった。
それに加えて、結城浩さんの書く本の強みというか、醍醐味というか、登場人物によって話が進められていくシーンもあるので楽しんで読めた(数学ガールシリーズのようなラノベ形式ではない)。
歴史的な経緯に沿って各技術が説明されているのも本書の良いところだ。
そして、隠すことによるセキュリティ(Security by Obscurity)、つまり暗号アルゴリズムを秘密にするのではなく、様々な暗号解読者に強いと証明されたオープンな暗号アルゴリズムを使え、というのは本書が最も伝えたかったことの1つだと思う。
また、これらの技術は、最終的に何か1つのものを信頼することに収束するということも本書の伝えたかったことだと思う(ルートCAの信頼、「パスフレーズの記憶」という自分の記憶力の信頼など)。
個人的には一方向ハッシュ関数と擬似乱数生成器の話が面白かった。
この二つは、公開鍵暗号のような花形の技術ではないにせよ、裏方でかなり大事な役割を担っていた。
機会があれば参考文献にも目を通してみようと思う。
以上。
『情報はなぜビットなのか』を読んだ感想。
読み終わったので感想を書く。
この「なぜ」シリーズを読むのは今回で三冊目だが、今回紹介する本は「なぜ」シリーズの中で一番最初に読むべき本のように感じる。
理由は、アルゴリズム、データベース、ネットワークなど、コンピュータを扱う上で重要な部分を広く浅く解説しているからだ。
タイトルは「情報はなぜビットなのか」だが、これについて説明している部分はごく僅かである。
なので、本のタイトルが適切かどうかと考えると微妙なところだ(著者になんらかの思惑があるのかもしれないが)。
同じ「なぜ」シリーズに、「ネットワークはなぜつながるのか」や「プログラムはなぜうごくのか」などがあるが、「情報はなぜビットなのか」を読み、概要を理解した上で読むと、より理解が深まるだろう。
章ごとに分けて感想を書きたいが、全部で12章もあり多すぎるので、特に気になった章だけ感想を書いていく。
第1章 音声をデジタル化する (割愛)
第2章 一筆書きの可否を判定する
グラフ理論の話だ。
例をあげると、ケーニヒスベルクの橋、結婚問題、4色問題などについてだ。
なんとも難しい単語が並んでいるが、易しく解説がなされているので読みやすいだろう。
私は4色問題に興味が湧いたので、ブルーバックスの四色問題の本を読んでみようと思う。
第3章 最も儲かるようにお菓子を詰める (割愛)
第4章 身の回りのデータを解析する (割愛)
第5章 コンピュータとじゃんけんする (割愛)
第6章 どっちの手順がよいか判定する
アルゴリズムについての初歩的な説明がなされている。
流れ図にはじまり、線形探索・二分探索といったアルゴリズム、計算量などの説明が主にされている。
巡回セールスマン問題、ナップザック問題などのNP完全問題の説明にも少し触れているが、そこまで踏み入った解説はしていない。
第7章 プログラムでパズルを解く
引き続きアルゴリズムの話だ。
主に、ハノイの塔、エイトクイーン、モンテカルロ法など、前章よりも少し難しいアルゴリズムや典型問題についての説明がされている。
第6章・第7章は競プロを始めたばかりの人の役に立つのではないか、と思った。
第8章 機械に言葉を理解させる
形式言語、BNF記法、オートマトン、チューリングマシンなど、プログラミング言語やコンピュータの原型となるものについての話がされている。
個人的に一番面白い章だった。
川添 愛著の「白と黒のとびら」、「精霊の箱」でもう少し詳しく勉強してみようと思う。
第9章 スイッチで計算を行う (割愛)
第10章 情報を表形式で整理する
リレーショナルデータベースについての話だ。
私は第一正規形~第三正規形までしかよく知らなかったのだが、ボイス・コッド正規形、第四正規形、第五正規形についても粗方理解することができた。
従属性についても分かりやすく説明されており、良かった。
かなり得られるものが多い章だったように思う。
ただし、排他制御やロールバック、ロールフォワードのような話には触れていないことに注意する。
第11章 情報伝達の仕組みを階層的に整理する
私はネットワークの分野がどうも苦手だが、そんな私でも話の内容は粗方理解できた。
この章についても得られるものが多かったように感じる。
第10章・第11章については、情報処理技術者試験でも役に立つのではないだろうか。
第12章 コンピュータで社会貢献した人たち (割愛)
今回は割と内容が軽く、割とすらすら読める部類の本だった。
もう一度言うが、「なぜ」シリーズに興味がある方はまず最初にこれを読んでみて欲しい。
それでは、この辺で。