「 IT 」一覧

ハードウェア、ソフトウェア、プログラミング、ウェブサービスなどを、幅広く

Windows版Python3.9をインストール

Twitterのツイートログから、学習記録を抽出するスクリプトを書きたかったので、Windows版Python3.9をインストールしました。こうした開発系はLinux環境のほうが慣れているのですが、今のPCにVirtualMachineを入れる余裕はないので、素直にWindows版にしました。

参考にしたのはこちらのページ。ウィザードに従って先へ進むだけですが、デフォルトの選択状態だと、パスの設定をしてくれないのは不親切に感じました。

ところで、Pythonは読んだことはそこそこありますが、書いたことはあまりありません。従来この手のスクリプトは、古くから慣れ親しんだPerlを使ってきましたが、昨今の流行りに乗ってPythonへ移行しようと思います。

さっそく書いてみますが、慣れていないのでいちいち躓きます。

UnicodeDecodeError: 'cp932' codec can't decode byte 0x84 in position 334: illegal multibyte sequence

上記はUTF-8のテキストファイルをオープンした時のエラー出力です。encoding=”utf-8_sig”指定をすることで、解決しました。

File "C:\Users\bokupi\AppData\Local\Programs\Python\Python39\lib\re.py", line 201, in search
    return _compile(pattern, flags).search(string)
TypeError: expected string or bytes-like object

これは、reパッケージのsearch関数に渡した引数が、空の文字列になっていたことが原因でした。空の文字列は文字列として扱われないようですね。C言語だったらNULLポインタ扱いですけど、Pythonだとどういう扱いなんでしょう。調べれば分かると思いますが、現時点でそこまで興味がなかったのでスルー。

未だTwitterのアーカイブログが取得できないので、学習時間の抽出はできていませんが、作成したスクリプトを自分用に貼っておきます。自分用なので汎用性はなく、思いきりハードコーディングしています。拡張子はそのままだとセキュリティ理由で怒られたので、txtに変えました。

【追記】Twitterのアーカイブログは使いにくかったので、Twilogのアーカイブログを使うことにしました。そのためスクリプトを書き直しています。


Run KeeperとGarmin Connectの連携解除

スマホアプリでRun Keeperの設定メニューからGarmin Connectへの連携設定をしたのですが、解除する時に少しハマったので備忘録です。結論としては、Garmin Connect側の設定から連携解除をする必要がありました。

Run Keeper側から連携設定したので、Run Keeper側の設定メニューから連携解除すればOKだと思っていましが、解除後もGarminで計測したデータがRun Keeper側に反映され続けています。不具合で連携が解除しきれていないのかな、と思っていましたが、Run Keeperアプリを一旦削除しても反映が続くので、ちゃんと調べてみました。

その結果、Garmin Connectの設定メニューの「アカウント設定」→「アカウント情報」の「接続されているアプリ」から連携を解除できました。てっきりスマホアプリ側で連携しているのかと思っていましたが、サーバ側で連携していたのですね。


Faniconは便利だった

Faniconとは、無料のファンコミュニティアプリです。様々なタレントやアーティストがファンクラブを開設しており、1ファンクラブにつき月額500円から(会費はファンクラブによる)加入することができます。

自分は伊倉愛美ファンクラブであるイクラクラブ加入のため、アプリをインストールしていたのですが、運営形態の変更により、2020年8月末を最後にFaniconからCAMP FIREベースへ移行しました。その結果Faniconでのファンクラブは終了したのですが、アーカイブとか見たくなることがあるかな、と思い、1ヶ月ほど余分に課金し、その後退会手続きを済ませました。

そして終わった後だからこそ感じるのが、Faniconのファンクラブベースとしての使いやすさです。チャット機能、動画配信機能、記事投稿機能、こうした当たり前だと思っていたものがなくなり、それぞれが異なるプラットフォーム(Twitter, YouTube, etc…)から配信される形になると、追いかけづらいなあ、と感じます。Twitterを見ていれば情報は拾えるんですけど、プッシュ通知ではないので、どうしても見過ごしてしまうことが多いのです。スマホにプッシュ通知がくれば確実に拾えるので、そこが便利でした。

Faniconを使っている当時は、頻繁な機能変更や時折の不具合など、ぐぬぬ、と思うことも少なくなかったのですが、いざ離れてみると便利なものだったんだな、と思い知りました。


在宅勤務用にヘッドセットを購入

コロナ禍において弊社でも在宅勤務が導入されており、会議などでヘッドセットは必須のアイテムとなります。当然会社から支給されており、そちらを利用してきましたが、最近はたまに職場出勤することもあり、家と職場間で持ち歩く必要が出てきます。ヘッドセット自体あまり丈夫ではなく、鞄に入れての持ち歩きで断線したとの話も聞きますので、在宅勤務用に自腹で購入することにしました。まあ、今後私用でも使う機会があるかもしれない、ということで。

とは言え、主目的は仕事用途なのであまり高いものは買いたくありません。あとはこれまで使用してきた片耳タイプが慣れの面で良いかと考えました。というわけで選んだのが、エレコムのHS-HP21UBKになります。確か1,000円台だったはずです。

さっそく数回使ってみました。どうしてもこれまで使用していたヘッドセットとの比較になりますが、まず感じたことは装着感が緩めということです。従来のヘッドセットは若干きつめで、多少動いてもずれませんでしたが、HS-HP21UBKは少しズレやすい印象を受けました。使用回数を重ねて、上手いフィット位置を見つけると変わってくるかもしれません。また、緩めである分、長時間つけても疲労感は少なめになると思います。

あとはマイクの位置ですね。フレキシブルに調整できるので、顔の輪郭によってはとてもありがたい機能かもしれません。最初に適切な位置に調整する必要があるので、その際は顔に当たるなどして、若干煩わしかったです。

色々書きましたが、在宅勤務で利用する分には、特に問題なく使えています。使用感の違いは、慣れの問題かと思います。本製品の特長のひとつであるファブリックコードは、確かにコードの癖が付きにくくて良いですね。


サーバをSSL対応させた

常時SSLの普及に伴い、ブラウザでhttpアクセスしている場合に、警告表示が出るようになりました。まあ、個人サイトですし、基本は閲覧専用で、特に重要なデータを送ることもないので、あまり気にしていませんでしたが、とりあえずSSL対応させてみました。作業メモは以下です。

SSLサーバ証明書では、以下の2つの効果がありますが、今回用いた自己署名の場合は、前者の効果しか得られません。

  • 暗号化
  • 実在性証明

暗号化については、ホテルなどからブログの管理画面などにアクセスする際、パスワードが平文状態なのが気になっていたので、それが改善されます。

実在性証明については、特に実在性を証明したいわけではなく、自己署名だとブラウザでいきなり警告画面に飛ばされてしまうのを回避したいだけです。Let’s encryptというサービスもありますが、あれはあれで緩すぎて、いずれ弾き出されるような気がしています。一定の確認プロセスがあり、且つもう少しお手軽な個人サーバ向けの証明書発行サービスが欲しいですね。さすがに年額で数万円を出費するのは、商売をしていない以上、二の足を踏みます。

と思って、ふとVPSの提供元のサイトを覗いてみたら、ドメイン認証型という商品があり、年額990円でした。そうそう、こういう商品が欲しかったのです。もう少し内容確認をしてから、申し込んでみる予定です。