『情報はなぜビットなのか』を読んだ感想。

読み終わったので感想を書く。

 

f:id:Q_tyokinuhata:20161026183641j:plain

 

この「なぜ」シリーズを読むのは今回で三冊目だが、今回紹介する本は「なぜ」シリーズの中で一番最初に読むべき本のように感じる。

 

理由は、アルゴリズムデータベースネットワークなど、コンピュータを扱う上で重要な部分を広く浅く解説しているからだ。

タイトルは「情報はなぜビットなのか」だが、これについて説明している部分はごく僅かである。

なので、本のタイトルが適切かどうかと考えると微妙なところだ(著者になんらかの思惑があるのかもしれないが)。

 

同じ「なぜ」シリーズに、「ネットワークはなぜつながるのか」「プログラムはなぜうごくのか」などがあるが、「情報はなぜビットなのか」を読み、概要を理解した上で読むと、より理解が深まるだろう。

 

章ごとに分けて感想を書きたいが、全部で12章もあり多すぎるので、特に気になった章だけ感想を書いていく。

 

第1章 音声をデジタル化する (割愛)

 

第2章 一筆書きの可否を判定する

グラフ理論の話だ。

例をあげると、ケーニヒスベルクの橋結婚問題4色問題などについてだ。

なんとも難しい単語が並んでいるが、易しく解説がなされているので読みやすいだろう。

私は4色問題に興味が湧いたので、ブルーバックス四色問題の本を読んでみようと思う。

 

第3章 最も儲かるようにお菓子を詰める (割愛)

第4章 身の回りのデータを解析する (割愛)

第5章 コンピュータとじゃんけんする (割愛)

 

第6章 どっちの手順がよいか判定する

アルゴリズムについての初歩的な説明がなされている。

流れ図にはじまり、線形探索二分探索といったアルゴリズム計算量などの説明が主にされている。

巡回セールスマン問題ナップザック問題などのNP完全問題の説明にも少し触れているが、そこまで踏み入った解説はしていない。

 

第7章 プログラムでパズルを解く

引き続きアルゴリズムの話だ。

主に、ハノイの塔エイトクイーンモンテカルロ法など、前章よりも少し難しいアルゴリズムや典型問題についての説明がされている。

第6章・第7章は競プロを始めたばかりの人の役に立つのではないか、と思った。

 

第8章 機械に言葉を理解させる

形式言語BNF記法オートマトンチューリングマシンなど、プログラミング言語やコンピュータの原型となるものについての話がされている。

個人的に一番面白い章だった。

川添 愛著の「白と黒のとびら」、「精霊の箱」でもう少し詳しく勉強してみようと思う。

 

第9章 スイッチで計算を行う (割愛)

 

第10章 情報を表形式で整理する

リレーショナルデータベースについての話だ。

私は第一正規形~第三正規形までしかよく知らなかったのだが、ボイス・コッド正規形第四正規形第五正規形についても粗方理解することができた。

従属性についても分かりやすく説明されており、良かった。

かなり得られるものが多い章だったように思う。

ただし、排他制御ロールバックロールフォワードのような話には触れていないことに注意する。

 

第11章 情報伝達の仕組みを階層的に整理する

ネットワークOSI参照モデルプロトコルに関する話だ。

私はネットワークの分野がどうも苦手だが、そんな私でも話の内容は粗方理解できた。

この章についても得られるものが多かったように感じる。

第10章・第11章については、情報処理技術者試験でも役に立つのではないだろうか。

 

第12章 コンピュータで社会貢献した人たち (割愛)

 

今回は割と内容が軽く、割とすらすら読める部類の本だった。

もう一度言うが、「なぜ」シリーズに興味がある方はまず最初にこれを読んでみて欲しい。

それでは、この辺で。

 

関連記事

kazukichi.hatenadiary.com

kazukichi.hatenadiary.com

『小悪魔女子大生のサーバエンジニア日記』を読んだ感想。

東京に行く新幹線の中で暇になりそうだなあと思い、気軽に読めそうな書籍を探してみたところ、イラストに惹かれる書籍があったので購入しました。

 

f:id:Q_tyokinuhata:20160808133414j:plain

 

技術評論社から出版されている『小悪魔女子大生のサーバエンジニア日記』という書籍です。

 

この書籍は現役女子大生(2011年当時)がサーバエンジニアのアルバイトを通して学んだことを可愛いイラストを通して分かりやすく解説してくれます。

 

とにかくイラストが可愛いので読んでいても飽きませんし、かなり易しく解説されているのでインターネットを利用したことがある方なら、ほとんど知識が無い方でも読めるかと思います。

 

具体的な内容としては、インターネットDNSメールWWWサーバ管理で、全5章に分けて話が進められます。

どれもインターネットを利用する上ではかかせない技術ですし、当たり前の存在となったインターネットが裏でどういう働きをしているかを学べる筈です。

 

これからインフラサーバについて学びたい方、すでに学んでいるけれどざっと復習しておきたい方、イラストに癒されたい方は是非とも購入してみてください。

 

ちなみにTwitterは coakuma (@aicoakuma) です(2015年で更新が止まっています)。

そしてブログは 小悪魔女子大生のサーバエンジニア日記 です(2013年で更新が止まっています)。

ブログでも書籍に書かれている内容がかなり読めたりするのでまずはそちらに目を通してみるのも良いかもしれませんね。

電子書籍も発売されているようです。

 

それでは。

 

関連記事

kazukichi.hatenadiary.com

IT選手権 全国大会に出場しました。

本日8月4日に行われたIT選手権全国大会に出場しました。

 

IT選手権の地区大会で勝ち上がり、全国大会の出場が決まってからも勉強を続けていたので悔いは無いです。

 

得点はI部90点と割と調子が良かったのですが、II部72点と糞みたいな点数を叩き出しました。

合計点162点個人順位55位でした。

180点10位とのことなので18点も足りていないということになりますね…。

 

団体としての順位は19位でした。

主要なメンバーが1人欠けてしまった中での出場だったので、本来ならもしかすると10位以内に入っていたかもしれませんね…(言い訳ですが)。

 

さて、この大会の終了と共に私の3年間の部活動は幕を閉じました。

優秀な後輩たちに後のことは託して、私はおとなしく受験勉強に励む日々が始まります。

がんばろう。

 

関連記事

kazukichi.hatenadiary.com

kazukichi.hatenadiary.com

kazukichi.hatenadiary.com

情報処理選手権に出場しました。

8月2日に千葉工業大学アイテック高校生新聞社が主催となって開催された情報処理選手権に出場しました。

情報処理競技大会IT選手権と違いオンラインで問題を解くということで、気になったので試しに出場してみました。

IT選手権の全国大会に向けてのウォーミングアップにもなって丁度良かったかと思います。

結果は59点/80点107位/868位という、少し残念な結果に終わりましたが、本命では無かったので良しとしましょう…。

 

関連記事

kazukichi.hatenadiary.com

kazukichi.hatenadiary.com

IT選手権 地区大会に出場しました。

昨日、IT選手権地区大会に出場しました。

もう少し具体的に言うと、大阪IT会計専門学校で行われる、全国高等学校IT・簿記選手権大会IT部門近畿・中国・四国大会に出場しました。

 

 得点はI部82で、II部84点合計166点でした。

これは目標だった10位以内に入れるのでは、と思ったのですが、おしくも11位でした。

しかも10位の方と点数が同じだったのでなおさら悔しいです(問題の難易度によって点数が同じでも順位が変わる)。

ですが、チームの得点には大きく貢献できたので嬉しかったです(団体ごとで上位3名の点数合計がその団体の点数になる)。

 

結果をまとめるとこんな感じでした。

    近畿・中国・四国  全国

個人     11位     65位

団体      4位      14位

 

f:id:Q_tyokinuhata:20160722164914j:plain

賞状も一応貰えて良かったです。

 

全国大会の出場権も得たので、8月東京で行われる全国大会に向けて頑張ります。

 

関連記事

kazukichi.hatenadiary.com

『オブジェクト指向でなぜつくるのか』を読んだ感想。

オブジェクト指向でなぜつくるのか』の第2版を読破したので感想を書いていこうと思います。

f:id:Q_tyokinuhata:20160720215121j:plain

 

まず、この本を読もうと思った理由は主に3つあります。

1つ目 : 私がよく使うJavaで適切にオブジェクト指向を利用して開発できるようになる為。

2つ目 : UMLを利用したモデリングアジャイルをはじめとする開発技術など、コーディング以外の工程について学ぶ為。

3つ目 : 『関数型プログラミングに目覚めた!IQ145の女子高校生の先輩から受けた特訓5日間』という書籍を読んで、余計に分からなくなってしまった関数型言語に関する知識を整理する為。

といった感じです。

関数型言語に関する話は第2版で加筆された内容なので、購入する際は少し注意が必要です。

 

感想

さて、前半はOOP(オブジェクト指向プログラミング)に関する話です。

サンプルコードは短いといえど、全てJavaで解説されます。

その為、Javaの文法を知らないと辛いのでは、と思いましたが、私自身がJava以外の言語でまともにOOPをしたことがないのでなんとも言えません。

 

それに加え、メモリの使い方などハードウェア寄りの話も多々あるので、そこらへんの分野に関してあまり理解していないと感じる方はこの本を読む前に同じなぜシリーズの『プログラムはなぜ動くのか』を読んでおくことをオススメします。

ちなみに私は基本情報レベルの知識しか持ち合わせていませんが、本の内容についてはかなり理解できたかと思います。

 

中盤以降はUMLを用いたモデリングアジャイルをはじめとする開発手法などを中心に、主に上流工程で使われるオブジェクト指向の話でした。

私は本格的な開発に携わったことがないので、とても新鮮味のある話でした。

 

この本だけでなく、なぜシリーズに一貫して言えることなのですが、注釈が丁寧図による解説も豊富です。

そしてこの本では、章末に参考書籍が紹介されているので、次のレベルへのステップアップもし易いのではないでしょうか。

ちなみにこの本は、OOPUML関数型言語など、様々な分野を浅く掘り進めて行くスタイルの為、1つの分野に特化した専門書というわけではないです。

この本で概念的な面を理解した上で、JavaOOPを実際に記述しながら学ぶだとか、デザインパターンについて別の本で勉強するだとか、そういった使い方が私は正しいと思います。

 

私はこの本で関数型言語(主にHaskell)について興味を持てました。

これを機会にHaskellを始めてみようかなという感じです。

OOPをはじめとしたの基礎について学びなおしたい方、是非とも手に取ってみてはいかがでしょうか。

 

関連記事

kazukichi.hatenadiary.com

kazukichi.hatenadiary.com

kazukichi.hatenadiary.com

インターンシップに参加しました。

7月11日から本日7月13日までの3日間インターンシップに参加していました。

 

一昨年は大阪の富士通で研修、昨年は東京のNECで研修、そして今年は近所のIT企業(社名は伏せておきます)で実務の経験と、少しずつステップアップできたかと思います。

 

私が3日間仕事をする上で与えられた任務は主に、ある企業のネットショップを見て改善点を探し、それをデモサイトとして作り直すことでした。

最後は3日間で作り上げたものを報告書にまとめ、その内容を実際に社員の方の前で話すこともできました。

もしかすると、私の出した案がそのネットショップに反映されるかもしれないので楽しみです。

学校の授業だと、どうしてもインプットすることが多くなってしまうので、こうしてアウトプットするのは良い機会になりました。

 

毎日の昼食も楽しみで、人事の方に加え、1日目はWebエンジニの方、2日目はセキュリティエンジニアの方、そして最終日はウェアラブルバイなどの開発をしているエンジニアの方と一緒に食事をさせていただきました。

様々な分野のエンジニアの方の生の声を聞くことができて、貴重な体験となりました。

 

もし、バイトの求人などがあった時には誘っていただけるそうなので少しだけ期待していたり…。

 

NEW GAME!の青葉ちゃんのような3日間でした。

 

堅苦しい内容の記事になってしまいましたが、以上、インターンシップに参加させていただいたお話でした。