46回目の生誕記念日 2021年08月11日

もう46回目の誕生日です。まあ40超えたら誕生日もぜんぜん嬉しくないねー。昨日職場の人たちともオフィスで仕事終わりに軽くビール飲んじゃったんし、今日はWFHだけど連日で飲む気にもならないのでぜんぜん誕生日気分もなし。誕生日と関係ないけど久しぶりに米でも炊くかー、っちゅう感じ。自分への誕生日プレゼントもこの前BOSEのQC Earbuds買ったばっかだから欲しい物ないし。なんの盛り上がりもない誕生日です。

またまた話は関係ないけど、今UoPeopleというアメリカの大学でオンラインで勉強していて、最初のプログラミングのクラスが今週最終週となっている。今週末にFinalテストを受けてクラスは終了。次のクラスもまたプログラミングを取ってJavaをやろうと思ってます。線形代数や統計学などの数学はその次に取るかな。ちゃんと数学をやり直したい。で、今やってるのはPythonなんだけど、Tupleの定義がイマイチ自分の中でまだふわふわしていて、ちゃんと理解できてるのか不安。たぶんTupleの存在意義ってのはImmutableでHashableであること、ListはMutableだからHashもできなくて辞書型変数のキーになれないから用意されているというのが一番大きな理由なんだと思うんだけどホントにそれであってるのか?確かにいろんな関数からの返り値がTupleで出てくることも多いからListではなく、ImmutableなTupleが必要だったのかとは思うんだけどなんかしっかり飲み込めてないような感じが。。。とりあえず大学のTupleに関する課題はパスしましたが。。。

そんなこんなの46歳。明日は祝日。日本に一時帰国したいぞ。

デルタ猛威とEvernote Python SDKセットアップ 2021年07月27日

Python

うーん、ちょっと気を抜くとすぐに更新が滞るなあ。27日何してたっけ?タイでは連休中の合間の営業日。この日も客先に出て納品の作業。しかしタイではどんどんどんどんCOVIDの感染者が増えていってて、ツイッターなどでは路上でコロナ死した死体の写真なんかがあがっていてどんどんヤヴァイ雰囲気が高まってきている。

そして夕方、Evernoteのメモデータ一括ダウンロードを実現させようと思って、PythonのEvernote SDKをダウンロードしてインストールを試みる。結局、新しいプランだか新しいバージョンのクライアントアプリだかで一括ダウンロードの機能がサポートされると通知されてたが、いろいろ触ってみるものの自分の環境ではどうやったら一括ダウンロードが可能なのかわからず、やっぱりスクリプト組むか。。。という方向に。

ダウンロードして圧縮ファイルを展開した後に中の setup.py を実行すりゃいいと公式のドキュメントにも書かれていたので実行してみるもののエラーが出て動かない。よく見てみると書式がPythonの2.x。うーん、もうPythonの2.xなんて使わないかなと思って3.9を入れていた。めんどくせー。また久しぶりにpyenvのインストール方法をググってインストール。pyenvで使用するpythonのバージョンを2.7台に合わせて実行。またエラー。。。

これもまた調べていくとどうも2.xの中でRepeated keyword argumentへの取り扱いが二転三転してた模様で2.7では以下のエラー出て進まない。。。というわけで下記のサイトに書かれているようにPython側で無視してくれるバージョン2.5にpyenvを変更。しかし、これでないと動かないというのはこのSDKは2.5のときに書かれてアップデートはされてないということか?

It turns out that repeated keyword arguments (kwargs) were illegal in python 2.4, ignored in python 2.5 and illegal again in python 2.6. This means that if some have crept into your codebase, you’ve now got a handful of syntax errors!
SyntaxError: keyword argument repeated

改めてpython 2.5にして実行!”ImportError: No module named setuptools”まだエラーでるか。。あかん、今日は時間切れ!

90日レポートの日数計算スクリプトを書く 2018年09月10日

Pythonの勉強をしてる中で、タイに長期滞在してる人間なら必ず必要なタイの90日レポートの計算スクリプトを書いたんですが、ウェブを検索してもそれらしい機能を提供してるサイトがなかったのでどうせならウェブに載せるかと考えておりました。

スクリプトとして持っているPythonのものをそのまま使いたかったんですが、Pythonをウェブ上で動かそうと思うと勉強不足かもしれないですがちょっとめんどくさそうなので、アプリと言っても日時、時間を扱うクラスしか使わないのでJavaScriptでいいかと思い直して単純にJavaScriptで書いてみました。まあやってる内容が内容だけにすぐにJavaScriptで作り直せましたが、たぶんちゃんとやってる人が見たらもっともっと短いコードでかけるんでしょうな。でもとりあえず動きます。

CSSも使わずにそのまま表示するだけですがタイに入国した日を入力してボタン押せば90日後の日付とレポートを受け付けてもらえる期間の日付を表示してくれます。作るまでもない機能かもしれませんが、はっきりと日付だしてスケジュールに入れたいときとかには自分では一応使うかな?というような感じです。

こういう細々したものを自作していると非常に楽しいです。

Just Simple 90days Report Calculator
https://www.yamagiwa2000.com/r90.html

「独学プログラマー Python言語の基本から仕事のやり方まで」 2018年08月27日

From the light came Python 3K

つい最近アマゾンのキンドルでこの本を購入。Pythonを使えるようになりたくて買ってみたが非常にこの本が面白くて自宅に居る間はPCの前にかじりついてこの本のサンプルスクリプトを組んで試して一人で微笑んでおります。

自分はネットワーク系のエンジニアでプログラミングはまったくできない人間だが、この本は非常にスムーズにPythonの文法などが頭に入ってきて(というかPythonの文法自体がかなりわかりやすくできているということか?)、すぐにかんたんなスクリプトなら書いて動かせるようになった。身の回りの細かい作業はこれでスクリプト化して楽しんでおります。

そしてPythonの面白いところのひとつのBeautifulSoup4というウェブスクレイピングのライブラリを使って海外のグラビアアイドルのギャラリーサイトからHTMLをパースして数千枚の画像を一気に落としてきたり。年を取っても行動パターンは変わらずです。

そういえば、1998年ぐらいの大学生時代、有人と一緒に夜な夜なテレホーダイが始まると手分けをして素人ハメ撮り写真集を落としましたが、はっきり言ってその時にもこういうプログラミングを学習するきっかけはあったのかもしれないと思うところもあります。(とはいえその頃にこんな便利なライブラリはたぶん存在していなかったとは思うが。。)

他にもPythonでウェブスクレイピングという書籍はいくつか出ているようなのでそのへんも買って勉強してみようかと思います。。。

独学プログラマー Python言語の基本から仕事のやり方まで
日経BP社 (2018-03-20)
売り上げランキング: 303