先日思い付いた、Evernoteのバックアッププログラムの件。その後調べ出して、早速遊んでいる(そして疲れたので、休んでいるw)。
まず、バックアップの元(ベース)として必要な、Linuxで動くコマンドラインのEvernoteのプログラムはいくつかあったのだが、前に書いたgeeknoteは検索して頭の方に出て来るものは古く、そこからフォークしたもの(左のリンク先)が新しい(2019)ようだ。ただ、実際に動かすにはEvernoteのAPI keyが要るので、すぐには使えず面倒だったし、個人的に嫌いなPythonなのでなるべく使いたくなかった。
もう一つの候補はclinoteで、これは新しい(2020)。しかも、API keyなしでもすぐに動いた(良く分からないが、OAuthだと不要なのだろうか。それともkeyが既に入っているのか)。言語はGoというもので、名前しか聞いたことなかったが、調べたら作者の一人(トンプソン)はCの作者の一人だった。「え? まだ現役だったのかー」って感じだ。
プログラムを見てみると、Cに似ている感じでPythonよりはとっつきやすい。大嫌いなインデントでのブロックでなく、古き良き"{"と"}"でブロックをくくるのが最高だw ただ、PythonやPHPと違ってインタプリタでないので、動かす前にコンパイルが要るのは面倒だ。
ただ、コンパイルする分、インタプリタだと動かしてみないと出て来ないような間違いが発見できることが多いから(PHPだと、しばらく経ってから「えっ」と冷や汗をかくことが多い)、一概に悪いとも言えない。プログラムを起動したら自動的にコンパイルするようにできれば、インタプリタのように使えるので便利そうだ。
少し(2/3晩くらい?)いじって、どうにかノートとその中の画像をダウンロードできるように改造できたので、あらかじめ考えていたように処理を追加して行けば、Evernoteのバックアップができそうなことが分かった。
ただ、このまま慣れないGo(clinoteを改造)で進むべきか、手慣れたPHP(PHP版SDK利用)で作るのか迷っている。一瞬、Goでは何をするにも検索しなくちゃならなくて面倒だからPHPがいいかと思ったのだが、さまざまな下ごしらえ(例: 認証)をするのが面倒だし、ちゃんと作っても正式なLinux版のEvernoteアプリが出たら不要になりそうなので、今は、clinoteを改造して手軽に済ませたいと思っている。
それから、面倒ではあるが、新しい言語を使うのはおもしろいことはあるし、あとで仕事にも役立つかも知れない(コンパイラだと小さい機器でも軽く動くから、僕の仕事関係でも使えるようになる可能性はある)から、Goで行く※のが良さそうだ。
※ここ、英語だったらおもしろいかなw
なお、今のところ、Goはやっぱり変態な印象だ。Cの作者とGoogleという、超強力な変人たちwがからんでいるせいではないか。どうにもおかしいのは文法だ。例えば、なぜ、関数宣言では型を変数名の後に書くのだろうか(型を省略できるってこと?)。いつも間違ってエラーになる。
それから、モジュールのインポートがネット指向なのはいいが、複数の場所でインポートしていたら、インポート元を変える時に大変だ(でも、簡単な誤魔化し方は分かった)。その場所の指定もローカルとネットが陽に区別できないのは異常だ。あと、場合によって","が要ったり要らなかったり、"(", ")"や";"が不要(あってもいい)だったりするが、もっと多様性を減らしてかっちりさせて欲しい。いろいろ意図が分からんし好かん。
まあ、ちゃんと学べば分かるのだろうが、そんな暇はあるけど気力がないw
あと、些細なことだが、モグラのキャラがキモいし、ロゴは古臭い。全然クールじゃなくて(これを見たら使う気にならないよ)、どうにもGoogleらしくないのが不思議だ。
でもまあ、蛇(Python)よりは好きかな(爆)
(16:42 わずかに加筆)
コメントを書く / Write a comment