simotin13's message

simotin13といいます。記事の内容でご質問やご意見がありましたらお気軽にコメントしてください\^o^/

大学の勉強をしている間に買った本やよく見たYouTubeについて

先日、通信制帝京大学理工学部を卒業した記事を書きましたが勉強するうえで参考にした書籍やYouTubeの動画について紹介してみたいと思います。

mcommit.hatenadiary.com


教科別に指定されている教科書以外でよかった書籍やYouTubeの動画についてまとめてみました。

線形代数

線形代数では、行列式の展開や連立方程式の解き方、固有値について勉強することになります。
教科書の問題を解くのと合わせてオーム社の漫画でわかる線形代数で全体的な雰囲気をつかんでいました。


微分積分

私は数3を履修していなかったので、大学の微分積分はかなりつらかったです。
結局数3の参考書を買って高校の範囲から勉強し直すような感じでした。

高校の範囲の微分積分YouTube家庭教師のトライから出ている微分積分の動画を見て勉強していました。

www.youtube.com

トライの先生の動画はかなり分かりやすい動画で感謝しています。

離散数学

符号化や群論RSA暗号など整数論に関する内容を学びます。
無事単位は単位は取れましたが、結局BCH符号をちゃんと理解できないまま終わってしまったので少し悔いが残っています。

暗号化・復号に関しては数学ガールで有名な結城先生の暗号技術入門をパラパラとめくったりしました。

また、RSA暗号に関しては数学の先生をされている古賀さんという方の「合同式RSA暗号」の動画がとても分かりやすく説明されています。こちらの動画は8回に分けて必要な知識を順番に説明してくださっているのでとても分かりやすかったです。
www.youtube.com

電気回路

個人的に電気回路はとても苦労しました。KCL・KVLに関する基本的な問題の他、重ね合わせの理、テブナンの定理など電気回路のいろんな解法を学びました。
授業で指定されている教科書は評判が悪く、課題で指定されている問題には解が一意に定まらない問題もありました。

参考にした書籍では、基本から分かる電気回路がカラーで読みやすかったですが、交流回路を学ぶ際に出てくる式や解き方は書籍によって微妙に違っているため初学者は混乱してしまう可能性がありますので注意が必要です。

論理回路

カルノー図や状態遷移表など論理回路に関して段階的に学ぶ授業でした。
論理回路では複雑な式が出てこないのと、計算機の基礎を学んでいる雰囲気があって自分にとってはとても面白い授業でした。

カルノー図については「プログラマの数学」でも触れられています。

また、必須主項を求める方法についていまいちわからずに調べていた時に、海外の方の説明の動画があって助けられたのを覚えています。

こちらの動画は具体的でとても分かりやすかったです。
www.youtube.com

応用数学

応用数学では微分方程式フーリエ解析ラプラス変換について学びます。

微分方程式については、教科書で指定されていますが、「やさしく学べる微分方程式」が分かりやすかったです。*1

ラプラス変換フーリエ変換も石村先生の書籍が分かりやすかったです。


フーリエ解析については、「まんがでわかるフーリエ解析」が分かりやすかったです。

ちなみにこちらの本はポケットサイズの本も出ているので、持ち運びにはそちらの方が便利です。

まとめ

ということで思いつく範囲でいくつかおすすめの書籍や動画を上げてみました。
勉強している最中はここにあげていない本や動画をかなり見ていたはずなのですが、今となって思い出せないものが多いです。
思い出したら都度この記事に追記していきたいと思います。

*1:わかりやすいといっても微分方程式自体はいろいろ覚えることが多くて辛かったですが

帝京大学理工学部情報科学科 通信教育課程を卒業しました

2022年9月を以て帝京大学理工学部情報科学科の通信教育課程を卒業しました。
www.teikyo-u.ac.jp

卒業確定の連絡を受けたのは9月20日ごろだったかと思います。



卒業証書・学位記

一般的な教育機関の年度は4月~翌年の3月までですが、帝京大学では9月卒業の制度があるため、9月での卒業が可能です。2023年3月まで学習を継続することも可能でしたが、卒業に必要な単位を満たしてしまったので何となくもう卒業でもいいかなと思い卒業することにしました。

私は2018年の4月に入学して卒業したのが2022年9月なので4年半学んでいたことになります。入学した当初は仕事も家庭もあるし、もしかしたら卒業は無理かもしれないなとぼんやり思っていましたが無事卒業できたのでほっとしています。

せっかく卒業できたので、なぜ大学に入ろうと思ったのかとか、通信制での勉強のことなど書いておきたいと思います。

入学前の状態

普段はプログラマとして仕事をしていて、主に組込ソフトとか通信プロトコルの実装やWebアプリ開発などの仕事などをしています。大学は元々文学部を卒業していたので、入学時は2年目からの編入で入学していました。

なぜ帝京大学通信制に入ろうと思ったか?

普段から仕事で必要な知識は学びながらこれまでプログラマとしてやってきましたが、プログラマとして日常で必要になるのはあくまで応用です。そのため数学やアナログ回路・ディジタル回路に関する基礎知識をきちんと勉強することがありませんでした。

また、グラフィックス関係の仕事を担当した際に、数学的な知識が不足しているためにあまり明確な成果が出せず個人的に悔しい思いことがありました。自分は基本的にやる気のない人間なので、お尻に火がつかないと動けないタイプの人間です。
「お金を払って学んでいる」という状況を作ることで勉強する動機づけをしたかったというのが入学の理由の一つです。

大学に入学してしまえば試験と単位取得というノルマが発生しますので、「お金を払って自分のお尻に火をつける」という一見誰得な状態を作り出していたわけですが、無事卒業できたし、入学していなければ絶対に勉強はしていなかったと思うのでこの戦略自体は成功と言ってよいと思います。

良かった点

数式を見ても発狂しなくなった

元々文系出身なので数学には苦手意識がありました。特に書籍に数式が出てくると脳みそが溶けだしていましたが、今では数式をみてもちょっと眠たくなるくらいには数学の苦手意識を克服できました。

成績はよくありませんでしたが、線形代数微分積分・数理統計学応用数学といった科目を勉強できたのはよかったです。*1

AI・機械学習には今はあまり興味はありませんが、仕事でそういった案件に関わる機会が増えてきており、その理論を数学や統計に関する知識を元に理解することができるのでこれらの数学系の勉強できたことは良かったと思います。

電気回路の勉強ができた

組込系のソフトウェア開発をしていると回路に関する知識が多少なり必要になることがあります。これまでアナログ回路の知識ががっつりと求められることはありませんでしたがやはり一般教養レベルでも電気回路のことを知っているとハードウェアエンジニアの方との会話がしやすくなるので電気回路・電磁気学・電子回路について勉強できたのは良かったです。*2

学割のメリットを享受できた

勉強以外の副産物的なメリットですが、商品やサービスの購入時に学割を受けることができるのでありがたかったです。

成績・GPAについて

卒業時点のGPAは2.45でした。
そもそも自分の場合、コンピュータサイエンスに関わる基礎的な知識を身につけたいという動機が強かったので、履修する上でGPAはほとんど気にしていませんでした。GPAという制度が無批判に日本の大学に導入されていること自体どうかと思いますが、それはそれとしてもう少し気にしながら勉強してもよかった気もしています。

ただし、正規の大学では履修期間中に初回・2回目の講義を受けてみて先生との相性や難易度、親しい友達の履修状況を踏まえて履修を取り消したり追加したりできますが、帝京大学通信制の場合、科目に関する情報はシラバスがあるだけで、講義の難易度などの具体的な情報はその時点ではわからないことが多いです。

科目が難しい場合実際に課題に取り組んでみて、「あぁ、この科目このペースじゃ無理だわ...諦めよう」となりますが、そのころには履修登録期間は終わっていたりします。

ちなみに単位の修得ができずに終わった科目が6科目もありそれらを除くとGPAは2.7程度になる計算になるので、それなりに勉強は頑張ったけど、成績はまぁまぁという結果です。GPAを気にする人は履修科目について情報取集と選択に気をつけた上できちんと勉強すればGPA 3は無理な数字ではないような気がします。

最終成績は以下のようになりました。

最終成績

おおむねAが多かったですが、理解が浅い科目やとりあえず単位が取れればいいかなと思った科目はBが多いです。
Cになった科目は勉強をさぼったというより勉強の量に比例して理解が深まらなかったという印象があります。

逆にSを取った科目についてはめっちゃ勉強したかというとそうではなく、むしろ全然勉強していません。プログラミング1~プログラミング4については課題をこなす以外の勉強時間は合計2~3時間程度しかかけていなかったと思います。

評価として、頑張らなくてもSが取れたり、めっちゃ頑張ってもCにしかならなかったりすることが往々にしてあるわけで、その点でもこのGPAという評価制度には強い疑問を感じます。

GPAという評価制度では、自分がよく知っている科目は評価が高くなりますが、よく知らない科目は逆に低くなりがちです。その基準自体は分かりやすくフェアな評価制度なのですが、一方でそもそも知らないことを知ろうとして大学に入ろうとするわけで、GPAが最初から高くなることが自明であれば、必ずしも大学で学ぶ必要もないような気がします。

苦労した点

勉強できる環境を作ることは勉強することよりも何倍も難しい

自分の意志で勉強しているとは言え、勉強し続けるのはなかなか大変でした。特に数学と電気系の勉強はつらかったです。
結婚して子供もいる自分の場合、「仕事」「家庭」「勉強」に並行して時間を使う必要があり、しかも1か月や2か月といった短期間ではなく数年単位でこの3つのバランスをうまくとり続けないと卒業できません。

実際、これはなかなか大変です。勉強する以前に、勉強する時間を確保する大変さは勉強自体の大変さ以上です。

また、家庭があると家事や育児もしなければなりませんし、子供達が小さいと家が騒がしくなるので落ち着いて勉強するのは難しいです。線形代数の宿題で、4次の行列式を展開している横で子供が大声で叫びだしたときは気が狂いそうになりました。

家庭の経済格差が学力格差になり、学力格差が経済格差になることはよく言われていますが、社会人の立場で勉強してみるとそのことがよく分かります。
勉強できる適切な環境(机と椅子と集中できる時間)がなければ腰を据えて勉強はできません。

入学したときは「勉強しておけばよかった」と後悔するのではなく、「したいと思ったときにすればいい」と考えていましたが、若いうちに勉強しておくに越したことはありませんね。

勉強できる環境を作ることは勉強することよりも何倍も難しい

は1つの真理として心にとどめておきたいと思います。

体重が増えた

卒業までは履修している科目の勉強が続きます。夜中に勉強をしているとおなかが減るので自然と間食をすることが多くなります。その成果、入学時から体重が10kg程増えました。在学中は運動する時間が取れませんでしたが、元々は体を動かすのが好きなのでこれから痩せる予定です。*3

どうやって辛い状況を乗り切るのか

上記のように社会人として仕事と家庭を持ちつつ勉強をするのはとても大変です。
辛い状況が続くとモチベーションを失いそうになりますが、モチベーションを失わずに勉強するために

得意そうな科目・簡単そうな科目の単位を確実に取る

を3年目の2020年からは意識していました。こうすることで試験を受けるたびに卒業までに必要な単位数が確実に減っていき、家族にも共有することで家族の理解も得られやすくなると思います。

元々の私の方針は

自分が知らない分野で、比較的すぐに知識が役に立ちそうな科目から勉強しよう

を方針として履修する科目を決めていましたが、難しい科目を選んでしまうと十分勉強時間が確保できなければ単位が修得できなくなってしまいます。
卒業には124単位の履修が必要で、私は2年次編入での入学で32単位を認定済みでした。なので実際に修得すべき単位は92単位になります。

修得できた単位の推移ですが、

年度 習得単位数
2018年 26単位
2019年 12単位
2020年 22単位
2021年 20単位
2022年 12単位

という推移になりました。2019年は仕事が忙しく単位があまりとれなかったため、2020年からは上記のように方針を見直すことにしました。

上記の推移を見て思うのは

  • 1年あたりに取れる単位は恐らく16~30未満
  • 2年編入の場合ストレートにいけば3年で卒業できるが、これは実際のところほぼ不可能
  • うまく履修を組んで、計画的にコツコツと頑張れば4年では卒業できる

という印象です。

いまいちだった点

大学について良かったこともありましたが、いまいちだなと思うこともそれなりにありました。いくつか感じたことを挙げておきたいと思います。

指定の教科書が書店で買えない

既に出版が終了し、書店で販売されていない本が教科書として指定されている科目がいくつかありました。
メルカリとかAmazonの中古販売では入手できたけど、やはり通常の書店で新品が買えないような書籍を教科書に指定するのはちょっとおかしいと思います。

既に授業の掲示板などでも学生側から指摘がちらほら上がっていましたが、中古販売に頼っていると状況を理解した転売屋の的にされる可能性もあり非常に良くないので、これは大学・教員の方には真剣に捉えて貰いたい問題です。

応用系の授業が時代に追従できていない

応用系の授業、特に変化の激しいWeb系の内容を扱う授業では内容が現実に追従できていませんでした。下手をするとその辺のプログラミングスクール以下の内容かもしれません。
頻繁に授業内容を見直すのは大変な作業だと思うので、大学でこういった応用的な内容を教えるのはかえって難しいんだろうなと思いました。やはり大学(特に学部教育)では基礎的な内容を重視するという方針が良いのではないかと思います。

学費や勉強にかかった費用について

大学で学ぶとなると気になるのは費用面についてですが、帝京大学通信制

  • 初年度(入学金・学費): 約 200,000円
  • 2年目以降(学費): 約 150,000円

になります。

また学費以外にかかる費用ですが、

  • スクーリングを受ける際の交通費・宿泊費

これは関東の方は無視できるかと思います。

  • 教科書・参考書: 年間約 約20,000~40,000円

ということで、上記をどんぶり勘定で計算してみると卒業するまでの4年半で、80万円~100万円程度は費やしているのではないかと思います。

大学の雰囲気について

通信制なので、スクーリングの授業(2日程度)を除いて、大学に通うことは基本的にありません。
連絡事項は学生向けシステムのメッセージや掲示板を通してやり取りされます。
事務の方は基本的にはレスポンスが早く、質問に対しては比較的丁寧に対応してくださっていた印象があります。

教員の先生の印象はというと、おおむね丁寧に教えてくれる先生が多かったです。不明点について質問をすると土日であっても返信してくださる先生もいらっしゃいました。一方で小数ではありますが質問に対して高圧的に返答をする先生もいました。どの大学にも不親切・高圧的な先生はいるかと思いますが、通信制という学生の学習環境を踏まえると、この点はぜひ改善して欲しいと思います。

大学教育の将来について

通信制といっても基本的には独学で勉強になるので、私は教育系YouTuberの動画をかなりたくさん見ていました。分かりやすく説明してくれる動画も多く教育系YouTuberの皆さんにはとても感謝しています。どこかでこの記事とは別に勉強する際に閲覧したおすすめの動画の記事を書きたいと思います。

動画を見て勉強して思うのは、質の高い教育コンテンツがYouTubeのような動画配信サービスから溢れてきたとき、物理的な大学の存在はどうなっていくのかということです。

高価な実験器具などが必要になる学部・学科を除けば、大学で学ぶ知識は基本的に世界中どこにいても学ぶことができますので大学に行って席に座って講義を受けること自体の価値というのはどんどん下がっています。

今後重要になってくる大学の付加価値というのは、学生同士や先生との人間関係・人脈であったり、学びたい内容について対話・就職のサポートといったところになってくると思います。

学生や社会に向けた付加価値をどうやって提供し続けるのか、「大学 vs 教育コンテンツの戦い」 は既に始まっているので、今後世界の教育の在り方がどう変わっていくのかはとても気になります。

まとめ

色々と書いてみましたが、時間をかけてコンピュータサイエンスについて体系的に学べたことはおおむね満足しています。
勉強したことがすぐに役に立ったり直接的な結果として現れることはないかもしれませんが、社会人になってから時間をかけてひとつのことをやり切るというのはなかなかないことなので自信にもつながりました。

これからどうするのか

とりあえず勉強に使っていた時間が自由に使えるので、仕事をしつつ自分の好きなコードを書いたり、ブログの更新などぼちぼちとやっていきたいと思います。
あと英会話の勉強に真面目に取り組めたらと考えています。

元々フリーのソフトウェアエンジニアとして仕事をしていますが、理工学部を卒業したところですので、どこかよい会社があれば就職してもよいかなとぼんやり考えています。お仕事のお話があれば声をかけて頂けると幸いです。

追記

在学中によく見た教育系YouTuberの動画や書籍などについてまとめてみました。
mcommit.hatenadiary.com

*1:でも微分積分2の単位を取れていないので偏微分をちゃんと勉強できていない

*2:最終的に電子回路は単位は取らずに卒業してしまいましたが

*3:でも、生活習慣が少し変わってしまったので苦労しています

C/C++ 用のコードカバレッジツールを作ってみた

タイトルの通り C/C++言語で使えるコードカバレッジツールを作ってみました。
x86_64 GNU/Linux 向けのバイナリと動作確認のサンプル用シェルスクリプトGithubで公開しています。

github.com

このコードカバレッジツールは covme という名称のシングルバイナリのプログラムです。機能的にはまだまだ充実していなくて、現時点では実用性は低いのですが、簡単なプログラムであればC0レベルのカバレッジを取ることができ、結果をHTMLファイルとして出力します。

covme動作イメージ
covme demo

使い方について

詳しくはレポジトリのREADME(日本語)に書きましたが、ダウンロードして


$ ./covme 計測したいプログラム名

のように実行して頂くと引数で指定したプログラムのカバレッジ計測ができます。

いくつか動作確認用のスクリプトを同梱しており、 00_build_examples.sh から 04_try_simple_cpp_example.sh まで順番に実行して頂けると雰囲気を理解して頂けるのではないかと思います。

計測の精度・機能性についてですが、I/Oを伴うプログラムだとうまく動作しない可能性があります。(ターゲットプログラムによってはフリーズしてしまうかもしれません...ごめんなさい)
今後も継続して機能を追加・改善していきたいので、バグレポートや要望など頂けると嬉しいです。

どうやってカバレッジを計測しているのか?

GDBの利用

covme ではカバレッジを計測したいプログラムをターゲットプログラム(デバッギ)として gdb を起動しています。

covmeのプロセス構成
covmeのプロセス構成

gdb によりターゲットプログラムをステップ実行することでどのコードが実行されたかを記録しています。

要するに

IDE でデバッガを起動し、ステップ実行のボタンを押してはどの行に止まったかをメモする」

をひたすら繰り返すことによりカバレッジ計測を行っています。

伝統的な日本企業のソフトウェア開発では、Excel シートにソースコードを張り付けて、プログラムを1行1行ステップ実行し、Exccel シートの実行できた行に印をつけるという、地下帝国の労働のようなことが現実に行われていることがあります。この手の作業を自動化してくれるようなツールと思って頂ければよいかと思います。

ちなみにこのような話を口裂け女のような都市伝説と思っている方がいらっしゃるかもしれませんが、実際に私自身も何度かそのような仕事をしたことがあります。(当時ギャンブルで破産していた私は、メモリ 4GB の Intel Celeron のパソコンで作業させられ給料はペリカで支払われていました。)

DWARFの利用

gdb を使ってデバッガを1行1行ステップ実行させるだけではコードカバレッジを取ることはできなくて、コードカバレッジを取るためには、例えば

  1. ソースコードのうち、ある関数は何行目から何行目までなのか?
  2. ブレークポイントで止まったアドレスはソースコードの何行目なのか?

といった情報が必要になります。

1に関しては「構文解析ツールを自作する」「llvm を利用する」というアプローチも考えてみましたが、よくよく考えるとビルド時のコンパイラの解析結果と一致しないとうまく機能しない可能性があります。

2に関しても、ファイル名と行番号の情報はGDBのレスポンスに含まれているのですが、ソースコードのパスは含まれていませんので、同じファイル名のファイルが複数あるとどのファイルの関数なのかが特定できないという欠点があります。

ということで、 ビルド時にデバッグ情報をつけるという制約を設ける(具体的には -g オプションをつけてビルドしてもらう)ことにしてバイナリに含まれるDWARF形式のデバッグ情報を解析することで、カバレッジに必要な情報を得ることにしました。
セクションとしては .debug_aranges, .debug_info, .debug_abbrev, .debug_line といったセクションの情報を解析しています。お陰でDWARFを読むことができるようになりましたので、機会があればDWARFの読み方についてブログの記事やどこか勉強会の場などで発表させて頂きたいなぁと思います。

動機

C/C++ 言語用のコードカバレッジツールがあまりない

そもそも、なんでこんなものをつくったかというと、シンプルに C/C++ のフリーのコードカバレッジツールが欲しいからでした。
C/C++ 言語用のコードカバレッジツールは世の中にあるにはありますが、有償かつ高額だったりするので気軽に手が出せないというのが現状かと思います。

フリーのC/C++言語のアプリケーションのコードカバレッジ用ソフトとしては gcov が挙げられます。gcov は便利なのですがいくつかデメリットがあります。

  • gccでないと使えない
  • gcc と gcov のバージョンで互換性がないバージョンがある
  • Unix/Linux 環境以外で使えない
  • C2カバレッジが取れない

というデメリットがあります。

組み込みソフトウェアの開発で CI/CD したい

長期的な目標としてはこちらの理由が大きな理由です。

長年自分がやりたいと思っていることの一つに組み込みソフトウェアでのテストの自動化があります。
ソフトウェアのテストとその自動化は、近年のアプリケーションの開発では当たり前のように行われつつあるといってよいかと思います。
かつてはテストが難しいとされていたフロントエンドの領域ですら Selenium や puppeteer といったブラウザを制御するためのソフトを使ってテストが行われるようになってきており、今後もこの傾向は強くなると考えられます。

しかしながら、組み込みソフトウェアのテストとその自動化は他のソフトウェア開発の分野と比べてあまり進歩していません。

これにはいくつか克服が難しい理由がありますが、コスト的な理由として

  1. ターゲットボード上で動作するプログラムをトレースをするためのハード・ソフトが非常に高価
  2. C/C++言語のアプリケーションの品質測定(静的解析・動的解析・カバレッジ計測...etc)のためのソフトウェアは少なく、高価であることが多い

の2つがあるかと思います。自作のツールでこの2つの要因を解決したいと思い コードカバレッジツールを書き始めました。

covme で実現したいこと

gcov は上記のようにUnix/Linux系OS以外の環境での利用ができません。

組込ソフトウェア開発でもLinuxが利用されることが多くなってきましたが、全ての機器がそのようなリッチなCPU/OSを使って開発されているわけではありません。IoT機器のようにインターネットに接続するような機器であってもOSレスやRTOSなどを使って開発されていることが多いです。

そしてIoT機器のようにネットワークに接続する機器にとって品質を担保する重要性は、サイバー攻撃の脅威に対応する」という観点からも高くなっていると言ってよいかと思いますが、にもかかわらずそういった組み込みソフトウェアの品質を担保するための敷居は高く、人命にかかわるようなクリティカルな製品の開発を除いては、実際の品質担保が置いてけぼりになっているのが組み込みソフトウェア開発の現状と言えます。

covme はそういった組み込みソフトウェア開発における品質担保に使えるレベルにしたいと思います。

どうやってやるのさ?

組み込みソフト開発でのホスト環境とターゲットボードの関係は以下のような構成になっています。

組み込みソフトウェア開発の構成
組み込みソフト開発の構成

この構成のうち、JTAG・デバッガに関してはある程度低価格で入手できるようになってきていますが、動的解析やコードカバレッジの計測を行おうとすると「開発環境(IDE)」「JTAG・デバッガ」の部分のソフト・ハードにそれ相当の機能を持った製品を導入する必要があり、これにはそれなりのコストをかける必要があります。

ところで、このJTAG・デバッガ」との通信ですが、最終的にはGDBプロトコルで扱われることが多いようです。具体的には GDB Server がホスト環境上に存在しており、この GDB Server と 適切な通信をすることで ターゲットボード上で動作するプログラムのコードカバレッジを取ることが実現できると考えています。

そして、組み込み開発で使われる商用コンパイラにおいてもデバッグ情報はDWARF形式で出力されていることが多いという点も covme でのアプローチにはメリットになります。ちなみに、DWARF 以外のデバッグ情報の形式としてマイクロソフトPDB がありますが、PDB 形式に関する情報も多少は世に出ているようですので必要があればサポートしたいと考えています。

ソースコードについて

covme は go言語で書いてみましたが、私は go初心者ということもあり現状ではソースが雑な状態なので今のところバイナリを公開しています。
あと、コードカバレッジツールはビジネスの世界にも関わる面もあるので、コードは少し寝かしておいてもよいのではという気持ちもちょっとあります。

まとめ・今後について

現在公開している covme は x86_64 GNU/Linux 専用になっています。始めたばかりのプロジェクトなので性能的な改善や機能の追加は十分にあり、x86_64 向けの機能も充実させていきたいですが、並行して ARMv7-M あたりをターゲットとしたバージョンも作っていければと思います。

追記

こちらのコードカバレッジツールについてKernel/VM探検隊online part5 で発表させて頂きました。
5:45あたりからが私の発表になります。

www.youtube.com

おすすめのプロジェクター環境について語ってみる

久しぶりにブログを更新します。
ネットのニュースを見ていたらドン・キホーテNHK受信料を払わなくてよいテレビが売り切れ続出という記事が目につきました。
www.itmedia.co.jp

我が家ではだいぶ前からテレビを見なくなっていて、代わりにプロジェクターを使うことで「テレビはいらないけど娯楽はあった方がいいよね」という問題を解決していました。

テレビを見なくなったきっかけは子供がB-CASカード(テレビの横に差し込むあの赤いカード)をどこかに隠してしまいテレビが見れなくなったからでした。テレビをよく見る家庭であれば再入手を試みると思いますが、そもそも私自身テレビ全然見ておらず、家族に聞いてみても「別にどっちでもいいよ」とのことだったので数年前にテレビ自体を捨てることにしました。

今のところテレビの代わりにプロジェクターを使うことに満足していますが、プロジェクターは値段と性能がピンキリで、これまでに何台かプロジェクターを買って失敗もしたので、おすすめのプロジェクター環境について語ってみたいと思います。

目次

  • 目次
  • プロジェクターを買うときに気を付けておきたいこと
    • 設置環境
    • 解像度
    • その他
  • おすすめのプロジェクター
  • その他プロジェクターについて
    • ELEPHAS 小型 プロジェクター
    • vankyo V630
  • おすすめのプロジェクター周辺機器
    • スクリーン
    • 天井吊り具
    • Fire TV Stick
    • DVDプレーヤー
  • 設置風景
  • テレビと比較したプロジェクターのデメリット
    • メリット
      • 大画面の映像が楽しめる
      • 天井に吊るすと部屋のスペースを取らない
    • デメリット
      • 電気代が少し高くなる
      • 設置場所を選ぶ
  • まとめ
続きを読む

ブックデポジトリーで本を買った(2回目)

1年以上ぶりの更新になりますが、タイトルの通り久しぶりにブックデポジトリー(Book Depository)で本を買ってみたので書いておきたいと思います。

Book Depositoryは数年前にAmazon経由で一度本を購入したことがありました。

mcommit.hatenadiary.com


今回もAmazon経由で購入してみました。

前回買ったのは Valglrind という動的解析ツールのマニュアル本でしたらが、今回買ったのは、

OpenOCD Open OnChip Debugger Refarence Manual というこれまたマニアックな本です。

OpenOCD - Open On-Chip Debugger Reference Manual

OpenOCD - Open On-Chip Debugger Reference Manual

  • 作者:Team, Openocd
  • 発売日: 2015/10/24
  • メディア: ペーパーバック

どれくらいの期間で届いたか

Amazonの注文履歴を見てみると、2021年5月13日に注文して、2021年5月23日に到着しているので10日程で到着していることになります。

f:id:simotin13:20210523213354p:plain
ブックデポジトリーで買った本

前回利用した時よりも少しスムーズになっている気がします。
イギリスから10日間で届くと思うと感慨深いですね。場合によると国内の書店で取り寄せで本を注文するより早いのではないでしょうか。

洋書を購入されようと考えられている方は参考にして頂ければ幸いです。