【ぽえむ】今週やったこと(10/30~11/5)
Table of Contents
ScalaとRのアドベントカレンダーに応募してしまった。
文章を書くのが苦手なのはこのブログでもTwitterでも見て取れると思う。 (大学を出ていないので、こういうのに不慣れなのは尚更である) とはいえ、いつまでも苦手なままではいかないなーと…。
何かこう、書きやすいお題がないかなーと考えていたところ、 「この一週間で(プログラムを)書いたこと、やったこと」を書くのがいいのではないか と、思い立ったところで筆を執った次第である。
というわけで、以下ポエム
読書
データサイエンティスト要請読本 登竜門編
データサイエンティスト養成読本 登竜門編 (Software Design plus)
- 作者: 高橋淳一,野村嗣,西村隆宏,水上ひろき,林田賢二,森清貴,越水直人,露崎博之,早川敦士,牧允皓,黒柳敬一
- 出版社/メーカー: 技術評論社
- 発売日: 2017/03/25
- メディア: 大型本
- この商品を含むブログを見る
読もう読もうと積んでいたので、一気に4章まで読んだ。
とはいえ、コマンドライン操作や基本的なデータベース知識など、
ある程度知見がある内容が多かったので時間はかからなかった。
5章からはRStudioやJupiterが絡んでくるので読むのが楽しみ。
Trailhead
お仕事柄Salesforceの勉強をしている。
今は1日にChallenge(問題)を3つ解くというペースでやっている。
基本的に通勤電車の時間で手を付けているので、ハンズオン系のモジュールはあまり手付かず…
とりあえず年内にレンジャー(バッジ100個)は行けるのではないかなぁという見込み…
fish-shell
`hub` コマンドの保管を入れた
https://github.com/NomadBlacky/fish-config/commit/7acd597f2289bf999d6e93fa274baf3247896876
fishはこういった保管を手軽に定義できるのがいい…
(自分で書いたことあるとは言ってない)
SalesforceDXの保管とか多分ないよね…?
`sfdx force:doc:commands:list` からコマンドの一覧は取ってこれるので、ちょっと頑張ればできるんじゃないかなぁ…
Emacs
faceの設定をいじるなど
https://github.com/NomadBlacky/.emacs.d/commit/d7936f708d9ebda6423f2fb5b319e15b99310f4f
見た目の設定とかいちいち設定ファイル書くのめんどくさいなーとか思ってたのだけど、
`customize-face` でインタラクティブに設定できることを最近知ってツエーってなった。
org-modeを使い始めた
先日、 Emacs実践入門 出版記念イベント に参加して、org-modeの最強たる故を肌で感じた…
というわけで、この文章もorg-modeで書いている。
markdownへの変換も `org-md-export-to-markdown` で一発。
ついでに目次もつけてくれちゃう…
org-mode道の第一歩を踏み出した。
Scala
enum的なものをScalaで使う方法を学んだ
現状、Scalaはenumをサポートしていないので、自分で実装する必要がある。
Enumerationを使う方法は簡潔だけど、Javaのenumのような値や振る舞いを持たせるのに不便…
パターンマッチでも網羅性を担保できない。
基本的には sealed abstract class を使う方法が良さそう。
冗長になるけど仕方ないか…
otogame-updater
某音楽ゲームのレーティングやスコアの更新をチェックしてSNSに投げるーってやつ。
ServerlessFrameworkにScalaサポートがあったので、サーバレスやってみたーという感じ。
scala-scraperでスクレイピングしてDynamoDBに溜め込んで、更新があればTwitterに投げる。
今週は上記のEnumeration周りでハマったり、
関数を切る単位を間違えたせいで、えらくデカくなってしまった関数をリファクタリングしたりなどした。
やはり関数をより小さく保つのは改めて大事だなーと。
しばらく悩んで放置気味だったのですっきり。
とりあえず、ドメインとデータ取得のロジックはひととおり出来た感じ。
あとは、Lambdaのハンドラを実装すれば最低限求めてたものは完成…とおもったが、
楽曲の情報をユーザーIDと楽曲IDをキーにしたいと思ったら、DynamoDBじゃ微妙なんじゃないかなーと…さあどうしよう。
DynamoDBのStreamで更新の通知楽勝じゃーんとか思ってたけど甘かった。
そもそもNoSQLの使い方をまともに知らずに使った結果でした。
設計正しい知識を持ってちゃんとやろうね。趣味だから許される。