職業プログラマの休日出勤

職業プログラマによる日曜自宅プログラミングや思考実験の成果たち。リアル休日出勤が発生すると更新が滞りがちになる。記事の内容は個人の意見であり、所属している(いた)組織の意見ではない。

2020年の成果物まとめ

晦日ですね。例によって今年の成果物のまとめを晒しておきたいと思います。

コロナ禍、世の中の大勢の皆さんにとっては相当に大変だったはずですが、私のような元々引きこもり体質であってプログラマである人間にとっては、電気ガス水道インターネットと食料調達手法あとは自分自身の心身さえ生きていれば、例年と大差ないどころかリモートワークの影響で凄い成果物が出易くなっていたはずですよね。

さて、見てみましょうか、どれどれ……👀

あっ……!!

_人人人人人人人人人人人人人人_
> 😇例年と同じような感じ😇 <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

ちなみに、過去記事はこちら。

公開しているアプリ等

CharViewer 1.1

tmotooka.hatenablog.jp
2019年に最初のバージョンをリリースした、文字解析アプリのCharViewerですが、6月にバージョンアップして機能が増えました。詳しくは記事へ。

突然の死 2.2

tmotooka.hatenablog.jp
あの吹き出しを作るiOSアプリです。
広告表示のためのライブラリが極めてお行儀悪いことをしていることが発覚したため、慌ててアップデートしました。当該ライブラリの最新版はお行儀良くなっていたのでバージョンアップする程度の対応としました。
なお、リリースして翌日に、ダークモード対応に重大な不具合が報告されたので、すぐに2.3をリリースしたのでした。とほほ。。

CakePHP 3.9.4

CakePHPは私の製品ではなくて有名なOSS (Open Source Software) ですが、3.9.3 がリリースされたときに少し罠にハマった(本質的には私が悪い😇)ので、同じ罠にハマる人が少なくなるようにほんの少しだけ修正したものを提出してマージされ、3.9.4でリリースされました。

ひ・み・つ のアプリ等

賃貸住宅情報スクレイピング

某所で公開されている賃貸住宅情報のデータをスクレイピング*1し、条件に合致する新しい空き部屋が出てきたら自分にメールを送る、というツールです。元日に作り始めて同日運用開始しました。CakePHP4製です。
収集しているデータの性質上、私個人が利用する分には(元のサーバに鬼のような負荷をかけなければ)問題無いのですが、公開すると様々な問題を引き起こすので、このツールは公開していません。
ソースコードだけ公開するというのもアリと言えばアリですが、「ほらみんなスクレイピングしろよ」的なメッセージを発信したい訳でもないので、公開しないでおきます。
ちなみに、1回のクロールでは20回程度のHTTPリクエストを送出しており、1日2回のクロールを実施しています。1回の HTTP Request を送ると1秒スリープし、複数のスレッドでは動作しないように制御してあります。クロール時のこのリクエスト頻度は 岡崎市立中央図書館事件 のそれと似たような、およそ攻撃とは呼べないものであります。1年ほど運用し続けた現時点では、相手先のシステムがダウンしたといったことは検知していませんし、家宅捜索を受けたといったこともありません。まぁそもそも、このサイトを普通にWebブラウザで開いたら、このクローラの1回のクロールと同程度のリクエストをもっと短時間のうちに投げますからね。

ヒミツのiOSアプリ

珍しく、趣味ではなくて仕事でiOSアプリを作ってました。(現状では)ストアに出すものではなくて特定の組織内で配布しているだけのものですが、将来的にはストアに出すかもしれません。このアプリの中には特殊な技術があって特許出願しました(特許取れるとは言ってない😇)

ヒミツのWebアプリ

企業内(ネットワーク構成的には社外向け)で使うWebアプリです。当該企業の社内の方や、その直接の取引先の方がアクセスしにきます。フロントエンドはSVGおよびそのDOMツリーをJavaScriptからゴリゴリいじる感じの、サーバサイドはCakePHPによるよくある管理画面といった感じのシステム構成です。

演奏指示メモ共有アプリ

緊急事態宣言が明けてしばらくしてから楽団の活動を再開した訳ですが、楽団にはいわゆる essential worker やその同居家族もおり、常に練習に参加できる訳ではありませんでした。練習参加回数を意図的に絞る必要があったのです。そういった楽団員やその他の事情で練習を欠席せざるを得なかった楽団員のために、練習に参加できている楽団員が演奏指示の内容をにコメントしてそれを共有するというWebアプリを作って運用しました。
技術的にはCakePHPアプリです。コメントを書き留める部分は合奏練習中に携帯で操作できることを目指して作り込んでいたり、「朝令暮改」的な動き*2があったときに過去のメモとの対比を見易くする工夫が仕込んであったり、実際に使う人間が設計開発しているからこそできたであろう機能が色々とあります。今年の自慢の成果物のトップの座を争う作品ですが、妄想3日、構想1日、実装2日程度で運用開始にこぎつけました。
もうちょっとこなれてきたら、公開すると思います。ただし、たぶん有償になると思います。

業務システムのデータベース設計の改築

近年では、コールセンターで使うCRM*3システムの面倒を見る仕事というのが私の仕事のそれなりの割合を占めている訳ですが、そうやって面倒を見ているシステムで、データベース設計(当初の設計は10年以上前…!)を大きく改築するというプロジェクトが昨年(2019年)から進んでおり、ようやく本番稼働にこぎつけることができました。無事に動いて良かったです。
ただ、これはコスト削減*4やES*5向上のための基盤に過ぎない改善です。プログラマの言葉で言うところの「リファクタリング」を実行しただけです。旧来のDB設計では実現することが実務上不可能であった、コスト削減およびES向上を実現するUIデザイン*6改善という「本来の仕事」は、まだ始まったばかりです。

スライド(カンファレンス等での登壇)

今年はコロナ禍の影響で(というのは言い訳で、仕事の影響の方が大きいかも😇)、登壇することが1回もありませんでした。無念。

演奏

多重録音

昨年(2019年)何人かの友人が多重録音の動画をFacebookに上げてるのを見て自分もやりたいなーと思っていたのですが、コロナ禍に突入して本来音楽活動に使うはずだった週末の時間がぽっかりと空いてしまい、その穴を埋めるべく多重録音に勤しみました。
その結果として、YouTubeのチャンネルを開設して、主に自分一人で多重録音してる金管アンサンブルの動画を公開しています。E♭ Bass(Tuba) という低音楽器から Trumpet / Soprano Cornet といった高音楽器まで、幅広い音域を一人で担当しています。見てね! 興味があればチャンネル登録も! 中身が良ければ高評価も🙏
www.youtube.com
今年1年で、公開した動画が18本、仲間内で回覧した動画が2本、ボツった動画が2本、合計22本を収録しました。ちなみに、編曲やtranscribe作業中に挫折した曲は2曲ありました。

ちなみにちなみに、今年公開した動画の中での私の好みは…

  • 最新作である「赤鼻のトナカイ」 https://youtu.be/Z38DnqgiuuE (クラシック系の管楽器だけで 4 beat の曲をやるとき、バリチューバ四重奏ってやっぱり最高の編成なんじゃないかなって思いました)
  • 上げた動画の中で最も素直(?)な演奏をしていると思われ、また、最も再生回数の多かった「春」 https://youtu.be/huRiMkR-DlY (よく見ると、動画の上の人は30秒間ほど息を吸わずに演奏してる?? 下の3人はブレスしてるけど)
  • 今年は2回の結婚式演奏があったことから印象深い「結婚行進曲」 https://youtu.be/BCNxfh6gUTM
  • 高校1年生の時(楽器演奏を始めて1年目、当時はEuph吹き)に練習したけども、まだ演奏技術や音楽表現技術が未熟過ぎてアンサンブルをクビになってしまった時の曲のリベンジ演奏である「Pop Suite」 https://youtu.be/mB5FlPgdW9I (2楽章以降は、動画の説明からリンクあり)
  • ラッパ吹きとして純粋に好きな曲「El Gato」 https://youtu.be/cciVI95pKTU
リモートアンサンブル・非同期セッション
生演奏

成果「ブツ」ではないですけれども、こんなところで演奏したりしてました。書き忘れてたらごめんなさい。今年はコロナ禍の影響で生演奏の機会は少なかったですね。

  • 2020/10/04
    • 東日本大震災のチャリティイベントでの演奏。屋外での演奏なので密閉空間にはなりにくく、コロナ禍からの演奏活動の再開という意味では比較的取り組み易いものだったかなと思います(が、運営の皆さんは相当な労力をかけておられました!!)
    • E♭ Bass で参加したのですが、残念ながら都合により本番には出演することはできませんでした😇
  • 2020/11/07
    • E♭ Bass を演奏しました。
    • ようやくできた、コンサート。
  • 2020/11/28
    • E♭ Bass を演奏しました。
  • 2020/12/06
    • 私は演奏してないですが、コンサート開催のお手伝いをやってました。
  • 2020/12/19
    • E♭ Bass を演奏しました。

あ、今年は人前での生の演奏は全部 E♭ Bass でした。楽器1種類だけというのはかなり珍しい年だったかも。

その他

色彩検定の2級と3級に合格しました!!

f:id:t_motooka:20201214214130j:plain
色彩検定2級の合格証書

喜びのtweethttps://twitter.com/t_motooka/status/1338465686776029185

さいごに

2021年の成果物も、どうぞお楽しみに!!

*1:Webサイトから機械的に処理可能なデータを取り出すこと。なお、この対象のサイトにおいては大半のエンドポイントでJSONが落ちてくるので、ほぼJSONパースしてるだけ😁

*2:音楽表現も、それなりに試行錯誤するものです

*3:Customer Relationship Management, 顧客関係管理

*4:残業削減、ミス削減、取扱可能な顧客総数の増大、等。なお人員削減は目標にしていない。

*5:Employee Satisfaction, 従業員の満足度

*6:この文脈では「情報デザイン」と言った方が良いかもしれない