2021.01.13 の日記:プログラミングの話

好きな漫画は紙で欲しい.好きではないけど読みたい漫画は電子書籍で買う.

電子書籍Kindle で買って読んでいる.ほとんどは Android タブレットを使って,たまに PC で読む.PC ではなぜか漫画しか対応していないブラウザアプリか Win 版のソフトを使う.電子書籍なので便利は便利なのだが,専用のアプリやソフトを使わないといけないのが不満.PDF で欲しい(個人的利用のためにね).以前,専門書を Kindle で買ったときはどうしても PDF にしたかったので,1ページずつスクショを撮ってトリミングして最後に全部結合して1つの PDF にするという力業を使った.めちゃくちゃ面倒だった.1冊だけなら気合で何とかなるが,漫画だと何百冊とかあるので絶対にやりたくない.今日明日はそれを自動化したという話をする.あと話の流れでプログラミングの話とか.

ざっと調べると,RPA (Robotic Process Automation) というのが,キーを打ったりマウスを動かしたりというパソコンの操作を自動で行わせることの一般的名称らしい.なんか聞き覚えあるなと思ったら昨日友達がまさに RPA について話してたわ.フリーで使える RPA ツールはわりとたくさんあるらしいが,このくらいなら簡単なプログラミングで出来そうなのでツールを使わずにやる.ツールを使ったほうが楽なことが多いが,プログラミングのほうが細かい設定がしやすいのと,RPAには難しい他の作業が連続するときにソフト間を移動せずに繋げて作業できるという利点がある.漫画を Kindle から画像化してそのまま画像解析したいときに,RPA ツールで画像化されたものを別の画像解析のソフトでまた読み込んで......みたいなことが減るのがかなり嬉しい.プログラミングなら1回実行するだけであとは寝ていればいいので嬉しい.The more sleep, the better. 実際は,プログラミングが好きだからプログラミングでやりたいだけ.あと新しいソフトの使い方を覚えるのが面倒.

普段,言語は主に C++ と R を使っている.あと稀に必要に迫られて恥辱に耐えながら嫌いな Python を使う.私は太った醜いオークに Python をやらされている.でも屈したりなんかしない.簡単な計算をしたりグラフを描きたいときは R が便利.ちょっと乱数作りたいなぁとか関数の増減を知りたいなぁということがよくあるので R を使う頻度は高い.あと大量のフォルダを作ったりファイルを移動させるのも R でできるのでいざという時に使えると嬉しい.まあ今挙げたことは基本的にどのプログラミング言語でも出来るのだが,R は環境構築の簡単さとかコードの書きやすさが特に優れていると思う.統計処理に優れているのはぶっちゃけどうでもいい.複雑な処理や計算には C++ を使っている.研究用の計算もほとんど全て C++ である.なんか速いらしいという理由で大学1年のときに勉強を始めて,よく理解しないまま今まで使ってきてしまった.周りに使ってる人が少なくて自分で調べたテキトーな知識でやってきたので,致命的なところが間違ってたらヤダなぁと思いながら使っている.まあ間違ってることはなさそうだけど,変な作法でやってるんじゃないかという不安はかなり強く持っている.さけるチーズがさけることを知らなくてずっとさかずに食べてきたんじゃないかというような類の不安がある.

C++ のプログラムをつくるときは Visual Studio という Microsoft が開発したソフトを使っている.ソースコードを書いてボタンを押すだけでプログラムを動かすことができる.これだけ書くとお手軽初心者向けソフトっぽいけど,全くそんなことはなくて実際は企業がスマホアプリとかPCソフトの開発に使うヤバいソフトだ.C++ だけではなく,拡張機能Python や R,さらに他の主要な言語も使えたり,ゲーム作成で有名な Unity やバージョン管理の Git との連携がちゃんとしていてすごいのだが,よくわからない.なぜなら使いこなせていないので.このソフトは最初に読んだ C++ の本が薦めていたので使い始め,何の疑問も持たずに今まで使ってきてしまった.そんなソフトの,基本も基本的な機能だけを使ってプログラムを書いている.ねるねるねるねの2の粉だけ取り出して食べてるようなもの.こんなんなんぼあってもいいですからね......

(明日の日記へ続く)