niszetの日記

アナログCMOS系雑用エンジニアが頑張る備忘録系日記

2021年8月の読んだ本

今月は12冊

今月は積んでた本が結構読めたので良かった。

ラム社本

  • n月刊ラムダノート Vol.3, No.1(2021)
  • n月刊ラムダノート Vol.2, No.1(2020)
  • 徹底解説 v6プラス

今月はn月刊が出たので積んでいた本とあわせて計3冊読了。日頃は紙の本が良いと言っている私ですが、pdfを縦置きの大型ディスプレイで表示すると読みやすいことに気づいたのでした。n月刊は内容が難しめが多いので、あまり理解度を気にせずに気楽に読むと良い事がわかってきた。残りのn月刊も順次読んでいきたい。 v6プラスは1年くらい積んでいた。仕様の話が多くなるのでこちらも詳細は追わずトピックだけ読む形で読了。

Python

今月はなぜかPython関係の本が増えたが別にPythonをやっているわけではない…わけでもなく、CircuitPythonとかMicroPythonとかを少し触るために読んだ。デコレータとかはすぐ忘れてしまうので。

数値計算プログラミングはいただいたものなので別に感想を投稿します。

情報検索プログラミングはページ数は多くないがコード例もあり話題も広く扱っているのでざっと概観するのに良いと思われる。ただし手を動かしていないので動かさないと身につかないが…。情報検索系の書籍は数冊ストックがあるので順次読んでいきたい。

雑誌

数学セミナーは例の感染症の話を読みたかったため。幾何学の話題が中心で細かいことはわからなかったが面白そうな話題が多かった。インタフェースはラズピコの話。ただしPythonではないのでC/C++SDKを読まないといけないな、と。不動産本は毎月読んでいるが色々な話題があって面白い。

その他

  • 聞き方の技術
  • データ分析のためのデータ可視化入門

その他枠にするのもなんなんですが。聞き方の技術はアンケート調査をするにあたって何に気をつければよいのかが書かれていてとても勉強になった。ちゃんとしたアンケート作るのすごい大変。データ可視化入門は別途感想記事を書いたのでそちらを。

漫画類は省略。

それなりに読んではいるのだけども、積む速度には全然追いつかないですねぇ…

データ分析のためのデータ可視化入門を読んだので感想です。

遅くなりました…

www.kspub.co.jp

@niszetが人生色々とgdgd進行しているため、読み終えるまでに時間かかってしまいましたが、最後まで読み終えたので読後の感想を書こうと思います。 なお、本書は id:u_ribo さんより GitHub Sponsorsのお礼という事で頂きました。ありがとうございました。なんかすみません…。

ちょっと雑多な文章になりますが、ご容赦ください。

感想

読後感としては、本文の文章が思ったより多く(付録をあわせて300ページを超えているので相応の分量ということですが)、基本は通して読むタイプなのでそれなりに腰を据えて読むのが良いと思いました。洋書にありがち?な、脇道に逸れたような話はないので純粋に説明の文章量が多いということでしょうから、悪い意味ではないです。

5章がデータの整形の話で、その前までが比較的基本的な可視化の話、6章がモデルデータ、7章が地図、8章がプロットを整える話なので、後半は人によって重要度が変わってくるかと思いますが、初心者でも4章までは読んでおきたいかな。5章も整形といってもそれほど難しくないし、モデルデータも大事だし、地図は気を付けて図示しないといけないよねってことがよくわかるし、8章もここまで読み通して最後に気を付けないといけない話が載ってるのでやはり読みたい…なので、結局全部読むのがおススメ、ですね…。

初心者であればこそ、じっくり時間を取ってコードを実行して作図しつつ文章とともに睨めっこしていくと良いと思います。あとがきにも書かれていましたが、良い可視化とそれをggplotでやるにはどうするのが良いのか?を一冊で学べるため、時間をかけて読む価値のある一冊であると思います。また、全体として訳は違和感のない文章なので(ややかためだが)読み通せると思います。あとがきにも書かれていましたが、翻訳者間で用語の統一をしている点などが全体の質に反映されているのだろうと思います。

ターゲット読者を考えると、既知の話かとは思いますが、本書は主にR言語ggplot2ライブラリを使用して可視化を行ないます。1章の「データを見る」は言語やパッケージに依らない話なのですが、2章以降はR言語ggplot2べったりの話が続きますので、今後全く使用予定がない人にとっては微妙かな…とは思います。もちろん、考え方のベースになる部分は言語やパッケージに依存しないのですが、やはり手を動かして習得していくのが大事なので(そういう私はコードを実行できていないのですが。申し訳ない。)。

…と思っていたんですが、id:ill-identifiedさんが「Python ユーザでも『データ可視化入門』で練習できるようにパッケージを作った + Plotnine との互換性ガイド」という記事を公開されていました。https://ill-identified.hatenablog.com/entry/2021/08/06/200859 何これすごい。これでPythonユーザでも本書の恩恵を受けられますね!

Rのtidyverseに関係したパッケージ群は比較的更新がはやく行なわれるのですが、本書は翻訳時に最新の関数に置き換えたものになっているのでその点も良いですね。原著から変えている箇所は訳注に記載があります(元の関数が何かの情報も添えて)。

単純にggplotの文法を知りたいという目的なら「Rグラフィックスクックブック 第2版」がある  https://www.oreilly.co.jp/books/9784873118925/ ので、その情報が必要であればそちらを読むと良いでしょう。私は2版は読んでないのですが初版は結構お世話になりました(マニアックすぎるものは当時載ってなかったけど、今はどうなのかしら?)

また、R言語初心者であれば、「改訂2版 Rユーザのための RStudio[実践]入門」https://gihyo.jp/book/2021/978-4-297-12170-9 も読むと良いでしょう。 初版を読みましたが、tidyverseに苦手感がある人にもおすすめです。

講談社サイエンティフィクさんの他の書籍と同様、本書もカラーです。紙質があっているのか発色的にも見やすい気がしますね。ggplotで(に限らないが)、図示する際に色情報は大きな要素なので、これは大事。コードもシンタックスハイライトされています(私的には重要度高くないポイントですが)紙面レイアウトが面白く、原著の脚注が本文横に、訳注が下にあり、図は脚注領域や本文領域など色々なパターンがありますね。

本書は索引とプログラム関連用語索引という二つの索引があります。テクニカルなこと(と私が感じたこと)もあるのですが、それを主題としていないので必要な時にそのページにたどり着けるか…という不安があったのですが、プログラム関連用語索引を眺めているとパッケージ名や関数名から引けるようになっているので、それらを覚えていればそのページにたどり着けると思います。分かれているとこういう点で便利ですね。

Amazonのレビューとかだとよく「コスパ」という文字がありますね。技術書のコスパって何だろうってのは置いておいても、本書は普通にお手軽な価格ですね。というより原著より安くないですかね…

まとめ

長々と書いてしまいましたが、これからggplotで可視化するなら読むべき1冊、ということで是非手に取って読んでみてもらえればということで感想でした。

放送大学 上期の成績が出た

下期も頑張っていこうね。

上期は合計6科目を履修しまして、昨日成績が開示されました。結果、履修した6科目すべて合格していたので良かったです。 これで下期は上期の科目とは異なる6科目を選択できます(放送大学は前の期で取れなかった単位は次の期で再チャレンジできるみたいですね。なので、結果の開示を待ってから次の期の履修の届を出すのが良いようです。)

ちなみに上期は社会と産業と情報でそれぞれ2科目と4科目取りました。下期はこれが逆になる感じかな…。

忘れずに、月末までに申し込みと振り込みをして、下期に備えよう…!

放送大学の上半期が終わった(振り返り)

書いていなかったので、思い出しながら書く。

4月から放送大学の専科履修生をやってます。上期は6科目履修していました。 ことしはコロナの対応のため、試験は自宅でやる形になりました。

受けた感想として、やはりある程度知っている気がする科目は簡単に感じ、全く未知の領域(会計とか経営とか)は基礎系の科目でもかなり難しく感じるな、というところですね。 専門科目的なものであっても、ある程度知っているものであればなんとか…(プログラミングとか数学系)

だもんで、放送大学でちゃんと履修して卒業できる人というのはすごいな…と。 私はとりあえず卒業は目指さずに気になった科目を片っ端から受けて、出来ることの幅を広げていこうと思います。

今月は下期の履修登録があるので忘れずに…。何を受けようかね…。

2021年7月の読んだ本

読書メーターに依れば23冊読んだそうです。実際には最後まで読み切ったとは言えない本も含まれているし、マンガ類も入れているのでそこまで読んでいるわけではないのですが。

適当に書いていく。

放送大学教材

日記に書いたか忘れたけど、この4月から放送大学で専科履修生やってます。今期は6科目を履修しました。コロナのこともあって大学には学生証を取りに行った1回しか行っていないのでほとんど引きこもり状態ですが。

概ね先月(6月)に読み切っていたのですが、2冊だけ7月に残っていて、

が7月読書分に。会計は全く専門外なので結構苦労した。もう何回かやらないと完全に理解したとは言えないだろう。

一方で記号論理学はある程度やっていたのでそこまで苦労しなかったが、手を動かして問題を解いて突き合わせる作業は何かしらの圧がないとやらないので履修して大正解だった。

音関係

ちょっと音関係のプログラミングをしたいと思ったので、

を読んだ。これらのうち、自分に一番あってそうなのはサウンドエフェクトのプログラミングのようだ。 2,3冊目は著者の方が同じなので、どちらか一方を読めば良さそうであった。4冊目はプログラミングとはちょっと離れてしまうので参考程度に目を通したレベルだが。

実際に手を動かしてみないとわからないことがあるのでそれは8月の課題。 コードが公開されているのでそれを元にやっていく

組版

大体読んだあと積んでいたのを読了扱いとした。後半はかなり細かい話なので読んでも今の自分にはよくわからないというのもあり。

良い本で、勉強になったと思うが、私が何かに活かせるかというと

読み物

たまには小説とか読むべし、雑多な知識を入れるべしという事で

を読んだ。鳥の本は楽しい。知らない生態が色々ある。ページ構成として右にマンガ、左に文章の構成で続くのでとっつきやすい。勉強になる。

王さまの本はもうずっと昔に読んでるはずだけどすっかり忘れているのか新しい気持ちで読める。王さま、結構蹴っ飛ばしたりして乱暴っちゃ乱暴なんだよな。短編と長編(と言っても他より長いという意味)の構成で、文量と描写のバランス、ストーリー構成や会話のやり取りなどが参考になるナ。

スレイヤーズのはもうずっと積んでたやつ…なのか既読なのか。すぺしゃるは時系列的に基本的には連続していないのでどの巻を読んでも良いのが良い。久々に読んだけどテンポ良いしストーリー展開も面白いよな。

アポロ13は英会話の宿題で貸してもらった。映画見たことあるのとレベルが高いわけでないのとで読むのは苦ではなかったが、ただ1つ「measles」という単語が分からんかった。はしか・麻疹という意味だった。流石に知らないなぁ。

プログラミング

サウンド系もここかもしれないが。組み込みのC++Arduino使う上で理解しておきたいと思い手を付けた。読んだ範囲では大体把握できたと思うのだけどこれは書かないと身につかないのでやっていく。いくつか適当な認識だったやつは理解が進んだので良かった。

Kaggle本はずいぶんと積んでいたがようやく読み終わった。内容的にはかなり初心者向けなんだけども各資料へのリンクがあるのでここを取っ掛かりにつなげやすく、対談形式のページなどがあり飽きさせないように作られていて参考になる。最初の一歩として良さそう。

  • 組込み現場の「C++」プログラミング 明日から使える徹底入門
  • PythonではじめるKaggleスタートブック

数学

数学もやっていきなのだが、基本的にはすごい時間がかかるのであんまり進捗がない。工学系のため系の数学本はとっかかりやすくて良い。数学的に厳密ではなくても取っ掛かりで躓いてしまう私にはありがたい。概要が理解できた気がするので、もう少し難しい(が初心者向けの)ルベーグ積分の本を読んでみる。

あとはマンガと雑誌なので割愛。

今後も感想を書いていくかは不明だが、区切りとして一言書いても良いかもしれないな。

ghcupでstackをinstallしたら stack upgradeしてはいけない

Pandocを見ているときに気づかぬうちにやっていたぽいね。

VSCodeでHLSがうまく動かないな…と思って調べていて気づいたのでメモ。 ただし、「HLSが動かないな…」と思っていたのは勘違いであったが、よく考えると一周回って勘違いじゃなくなったのでそれもメモ。

前提

実行環境はWin10+WSL2(Ubuntu18.04LTS)です。

HLSについてはこの記事が参考になります。VSCodeで動くHaskellIDEです。

https://zenn.dev/konn/articles/1a60baba9848a1

ghcupはHaskellインストーラです。ghc, cabal, hls, stack, ghcup(自身)をインストール、管理できます。

https://www.haskell.org/ghcup/

ghcupについてはこちらの記事が参考になります。

https://qiita.com/takayuki-uchida/items/07f0df29780ae2d6029b

ghcup set ...を使わないとインストールしてもバージョン切り替わらないな…という事があるので注意(ghcだけかも。あと記事には書いてある( 他のは自動で切り替わったので)

ghcup listでインストール済みのバージョンがリストで出るので確認しましょう。私はghcのバージョンが古いままだったのでhlsが動く最新に上げました。

f:id:niszet:20210719070620p:plain

VSCodeでHLSがうまく動いていないと思った理由は、適当なHaskellのライブラリを(Pandoc関係だけど)もってきて見ていた時に、マウスをかざしても何もpopupされなかったからでした。

今の理解では、VSCodeで編集(作成)するとHLSが正しく動き始めてライブラリ全体のファイルを見にいくような挙動をするので、読み込みだけしているとその処理がされないので一旦editして処理がはじまるのを待とう、ということになりました。

本題。

記事のタイトルはghcupでstackをインストールした際に出てくるメッセージをちゃんと見ようねっていうことですね。

!!! Additionally, you should upgrade stack only through ghcup and not use 'stack upgrade' !!!

stack upgradeすると、どうやら~/.local/bin/以下にstackが別途インストールされてしまう模様(私の環境では。which stackでどこにあるか確認してください)。で、ghcupの管理から外れてしまうのでやめましょうねという。

ghcupでインストールする場合は/home/niszet/.ghcup/bin/stackに入るはずです(私と同じ環境の場合)

最後にもう一つ。ghcupでインストールしたhlsを使い場合はVSCodeHaskell拡張の設定のServer Executable Pathにそのpathを書かないとダメです。

f:id:niszet:20210719072621p:plain

私の場合は/home/niszet/.ghcup/bin/haskell-language-server-8.10.5になります。

hlsはまだ9.0.xに対応していない?ようなので、recommendedのついている8.10.5とそれに対応したhlsのバージョンを指定して設定しましょう(bin/までの指定ではダメだった)

1時間くらい溶かしたので、覚書。やったことは書かないと忘れるので。