ぺーぱーふぇいす

雑記と備忘録。私はプログラマ。

使い魔が欲しい。寝ている間に作業してくれる妖精さん的な。

働きすぎて頭がおかしくなったわけではない。
私の頭はもともとおかしい。

さて、使い魔とか妖精さんとか、いわば私の日常をサポートしてくれる存在が欲しくなった。
というのも、実際の妖精(実際の妖精!??)とは違い、デジタルな単純作業をやっておいてくれる常駐アプリ的なものということだ。
余談だが、Linuxのデーモンは「悪魔」ではなく、「守護神」という意味らしい。この守護神というのは、ギリシャ神話の神が「あーめんどくせ、オイ守護神、これやっといて」という作業を押し付けられたかわいそうな存在で、私が聴いた中で一番ゴージャスな名前で呼ばれているパシリだ。
このパシリ守護神のニュアンスに近い感じで、私が普段生活している上で「あーやっといてくれねぇかな」ってことをやってくれるプログラムが欲しいなぁと思った。

後述のやりたいことやデバイスについて考えた結果、成果物はAndroidアプリとなる。

けっこう自分にとって良い勉強になると思うので、私的な開発日誌みたいな感じで書いて行こうと思う。
過程は書くが、コードの全容とか開発したアプリケーション自体を公開しないと思う。

目次

そもそも何をして欲しいか

じゃあ、具体的にパシリ守護神に何をして欲しいかというと下記の通りだ。

  1. スマフォにダウンロードしたファイルをNASに自動でムーブさせたい
  2. スマフォにNAS上の音楽ファイルを特定の条件で自動で取り込みたい(同期したい)
  3. スマフォが通信量オーバーで遅い時でもpixivでフォロー中の絵師さんの最新イラストをスムーズに見たい
  4. スマフォが通信量オーバーで遅い時でもTwitterでフォローした絵師さんの最新イラストをスムーズに見たい
  5. スマフォが通信量オーバーで遅い時でもRSSの最新記事をスムーズに読みたい

などなど。
大雑把に言うと、NASとスマフォをいい具合に同期したい」のと「スマフォでよく観るwebサイトをキャッシュしておいて欲しい」ということ。

最近、PCに触れている時間よりもめっきりスマフォに触れている時間の方が長く、巡回サイトのほとんどをスマフォから観るようになってしまった。
気に入った犬のかわいいgif画像とかをダウンロードしたりとか、結構本来PCでやっていたことをスマフォでやっている。スマフォの容量には制限があるので、母艦のNASにファイルをムーブするのに、できれば自動でやっておいて欲しい。
逆にNASにある音楽ファイルとかは、特定のアーティストとかみたいな条件に絞り込んで、自分の中で今アツイ曲だけを同期しておいて欲しい。
こうしたNASとスマフォ間のファイルを操作するのに、NASのメーカが提供しているアプリとかは操作感がそんなに良くないし、同期についても私が思う条件で同期できるものがない。操作するのにPC立ち上げるのもめんどくさいし。
というわけで「いい感じ」の同期がしたい。

あとはかなりのインターネット依存症なので、ネットの情報を見ていないと落ち着かないんだ。
私はMVMOで通信量6GBのプランでやりくりしている。
これで一応は足りるのだけれど、普通にテザリングして喫茶店でノマドとかやってるとオーバーする月も出てきた。それで、普段は通信量をカウントしない低速モードに切り替えて、必要時以外は低速にしようとしているのだけれど、その代償として低速なスマフォは正直ストレスがたまる。
なので、よく観るサイトはあらかじめキャッシュしておいて欲しい。
これは自宅のWi-Fiに繋がっている時にやっておいてくれるとか、任意のタイミングで実行させておいている間とかに。

現段階で必要と思われる知識

ぶっちゃけ、Androidでそんなにガッツリした開発をしたことがない。
ちょっと触れたことがあるのがAndroidStudioが出る前の話だ。正直何もかも覚えていない。
どこからどこまでがAndroidのスタンダードなのかわからないが、今の感じだとパシリ守護神を作るには下記を実現する知識が必要だ。

  1. Androidの開発に対する前提知識(Java, AndroidStudio…etc)
  2. 常駐アプリとして稼働させる
  3. スレッドで動作させて任意のタイミングで処理を中断させる
  4. タスクを実行する判断をさせる(モバイル通信かWi-Fiか、指定の稼働日時になったかといったトリガー)
  5. NASとの通信(Samba? FTP?)
  6. webページの読み込み(リクエストを投げ、結果を取得する)
  7. webページの解析(HTMLの解析、要素の抽出)

まだまだ沢山あると思うけど、ひとまずはこんなところだろうか。
モチベーションが尽きないように頑張ろう。

また、パシリ守護神という名前もアレなので、アプリケーション名は「Pixy01」とかにしよう。
デジタルの妖精ということでこういうネーミングで。
なんかエースコンバットっぽい。