裏表(Phinloda のもう裏だか表だか分からないページ)

コンピュータ・プログラミング系の話がメインのそれなりにごちゃごちゃしたネタばかり出てくるサイトです。多分。
今月は毎日書いてみようかと思ったのだが

いきなり初日から失敗(笑)。 まあ昨日はいろいろバグ取りで忙しかった、ていうか単純なリストの insert、delete になぜこんなバグが出る、みたいな。

Yahoo!ブログがサービス終了になるので、phinloda.com に記事を移転する作業をしている。 移転対象の記事が4000件弱あって、手作業だとアホだからプログラムで機械的にやる。 記事の中には、自分の記事へのリンクが割とあって、自動的に新しい URL に置換したつもりだったのが、処理されていないデータが見つかった。何で?

これ、リンク先が https じゃなくて http だったんですよね。記事を書いたときにはブログが暗号化されていなかったらしい。http も処理対象にして解決したけど、こういうのはバグじゃなくて設計ミスか。

JUGEMテーマ:日記・一般

| 独り言 | 08:28 | comments(0) | trackbacks(0)
固定IPでアクセスするVPNに接続しようとしたのだが

関係ないけど、何かカテゴリーとか選ぶの最近面倒で、日記に集中する傾向があるような気がしてきた。で、myIP だけど、「接続試行中」から先に進む気配がない。 この場合、VPN は接続できていることが多いのだが、確認するのがちょっと面倒だ。ipconfig とかは pc の状態だけしか分からないから。 いや、面倒でもないのだが、昔 @nifty で公開していた cgi が使えなくなったので、他に用意しておけばいいだけのことだし。

とりあえず自分の管理している aws サーバーにログインして、who コマンドで解決。

[phinloda@ip-***-***-***-*** ~]$ who
phinloda pts/0        2019-09-22 01:20 (***.***.***.***.static.zoot.jp)

static.zoot.jp が myIP が使っているドメインになる。 ということは、VPN の接続は完了していることになる。 VPNを経由していなければ、おそらく docomo のドメインになるはずだし、そもそもこのサーバーにはIPでアクセス制限をかけてあるから、ログインすることができない。

w コマンドでも IP は分かる。 最初、いつものくせで w を実行してしまった。

[phinloda@ip-***-***-***-*** ~]$ w
 01:25:06 up 29 days, 21:36,  1 user,  load average: 0.01, 0.05, 0.02
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
phinloda pts/0    ***.***.***.***.s 01:20    0.00s  0.02s  0.00s w

JUGEMテーマ:日記・一般

| 独り言 | 10:31 | comments(0) | trackbacks(0)
今月はこちらには殆ど書いてないのだが

サボればサボれるものだな…とか思ったりするのだが、Yahoo!ブログは予定通りサービスを一部停止したので、現在更新できない。これを移行した先のデータ整備をするプログラムを日々作成している。

ところで、Yahoo!ブログの記事のURLは、記事のIDが使われている。例えば最後の東湖の URL は、https://blogs.yahoo.co.jp/phinloda/34707626.html なのだが、最後に出てくる数字、34707626 が記事の ID である。本当は ID ではなく何か別種の数字なのかもしれないが、とりあえず自分のブログの中では unique なので、ID として使ってもいいだろう。

ソレに対して、移転先の URL は、https://www.phinloda.com/music/j8v.html だ。この URL の最後の j8v というのは何か。

最初は、もともと毎日書いているブログだから、年月日を URL に使えばいいだろう、ということで 20190831 というのを考えた。1日に2つ以上書くかもしれない。その場合、20190831 をベースにして、ここに1とか2を追加して、201908311、とかにすればいい。

のような仕様を最初は考えていたのだが、しかし、分かりやすいようで何となく無駄っぽいし、ちょっと長い。そこで考えたのは、32進法で表現すれば、1か月の日数は1バイトで表現できるから、2019年を19、月は1から12、日を1から31として、年月日を32進法にして3バイトに変換したのが j8v なのである。つまり、j=19、v=31 なのだ。

この3バイトだけだと1日に1個しか投稿できないから、その後にもう1バイト使って、32件まで書けるようにする。ただし、j8v0 は 0 を省略することにした。だから、1日に2つ記事があったら、j8v の次は j8v1 のような名前になる。

プログラム的には、あえて32進数で制限する意味もないので、w,x,y,x も含めて36進法で処理している。これで年は2035年まで持つのだが、多分サイトの方がそれまで続いているとは思えないので、まあ大丈夫だろう。万一超えてしまったとしても、対応は何とでもできる。

JUGEMテーマ:日記・一般

| 独り言 | 21:12 | comments(0) | trackbacks(0)
Yahoo!ブログの記事を移行作業中なのだが

今日で書けなくなるので、明日から書くとこは…まあいくらでもあるので、そこはどうでもいいのだが、今まで10年以上毎日書いてきただけあって、コンテンツが消えるのはモッタイナイ。だから他に移行しようと思ったのだが、ほにゃららブログに移転したとして、ほにゃららブログがまた廃止されたら何度も踊らされることになる。それなら折角 phinloda.com というドメインがあるのだから、その下に置いてしまえ、というのは案外早く決まった。ただ、いろいろ問題はあるわけで、それはそれで面白そうである。

さしあたっての問題は、どこにページを移転するのか、ページごとに書いておこうと思ったのである。とはいっても全部手で編集するのはバカげている。記事は 3678 個もある。

ということで、当たり前だが手作業ではなくプログラムで何とかしようとしたわけである。これが予想通り、想定外のトラブル続きで時間内に間に合いそうにない(笑)。別に間に合わなかったら何か困るのかというと、何も困らないわけではあるが。例えばどんなのかというと、たまに element が見つからないといってエラーになってしまう。意味が分からないのだが、もう一度全く同じことをすればサクサク実行できる。wait が足りないとかそういう問題でもなさそうで謎。

そもそも、今時のブログの投稿画面は Javascript 使いまくって表示しながらデータを突っ込んでくるし、Yahoo!ブログは iframe の中で編集することもあり、なかなか面倒くさいのだ。

ところで、そういうのは実はどうでもいいのであって、重要なのはブログに書いた内容を pick up して別のサイトに乗せるという処理である。どのように変換しているかというと、例えばこれだ。

Yahoo! ブログ: https://blogs.yahoo.co.jp/phinloda/34707626.html

phinloda.com: https://www.phinloda.com/music/j8v.html

これだけでも謎のURLとか、微妙なネタがいくつもあるのだが、before after で一番違うのはデータ転送量だ。残念ながら、このページは YouTube の動画を埋め込んでいるから、結構データ量はある。after で計測すると、16リクエストで 71.6KB、リソース全体は 1.9MB という数字になっている。 ただ、before の Yahoo!ブログだと、179リクエストが発生してデータ転送量は 266KB、これはキャッシュがうまく節約してくれているから、初回はもっと厳しい数字が出そうだが、リソースも4.1MB。

1.9も4.1も大差ないような気もするが、この YouTube 動画を埋め込まなければ、after のページは 2KB程度のデータ転送で済んでいるのである。Yahoo!ブログ以外に、実は So-netブログの「今日の戯言」の記事も移行を企んでいるのだが、こちらは動画も何もないので、こんな感じだ。

phinloda.com: https://www.phinloda.com/today/6182648.html

jquery とか使ったりしてスライダーも当たり前のような時代に、極限まで抵抗して削れるものを全部削った残りかすみたいなページで、こちらは1リクエスト、1.3KBの転送で済んでいるから、もうこれ以上リクエスト数は減らせない。数MB、数十MBのページは当たり前の時代に、1〜2KBって何か間違ったんじゃないかという気もするのだが、何故こんなことを考えたかというと、スマホ対応が超絶面倒な気がしたからなのだ。

実際いろんなノウハウがあって、スマホも進化しているから、携帯時代のような大変さでもないのだけど、ちょっとまてよ、そもそもcssとか使わなければスマホでもそのまま普通に見えるんじゃないか、と考えたのだ。正直言ってちょっと見辛い気もするけど、データが恐ろしく小さいので、まあいいんじゃないかな程度に割り切っているのである。ていうかcssとかjavascriptをサボりたいだけなのか、実は。

JUGEMテーマ:日記・一般

| 独り言 | 14:37 | comments(0) | trackbacks(0)
Chrome の Software Reporter Tool が超重いので困ったのだが

いい加減頭にきたので、こんなプログラムを作って差し替えてみた。

#include <stdio.h>

int main(int argc, char **argv)
{
	return 0;
}

ところが、実行すると dll がないとか言ってくる。どこまでも面倒だ。

cygwin1.dll を software_reporter_tool.exe のあるディレクトリにコピって解決【なにが】。

JUGEMテーマ:日記・一般

| 独り言 | 15:54 | comments(0) | trackbacks(0)
Chrome のサイト設定の項目に Flash というのがあるのだが

基本的に Flash を使う必要はないので、ブロックに設定してから使うことがよくあったのだが、最近、デフォルトが「サイトでの Flash の実行をブロックする」になった。特にデフォルトを変更した記憶はないのだが、何かの操作ミスで変わったのか、それとも update で勝手に変えられたのか。

結果オーライなので解決【謎】。

JUGEMテーマ:日記・一般

| 独り言 | 08:14 | comments(0) | trackbacks(0)
Yahoo!ブログの記事検索で「ヒカリ」を検索したのだが

「宇多田ヒカル」がヒットする理由が分からない。例えば「Beautiful World - 宇多田ヒカル」というタイトルの記事がタイトル検索でヒットする。n-gram でも一致する箇所はないような気がするのだが、曖昧検索になっているのだろうか?

JUGEMテーマ:日記・一般

| 独り言 | 08:18 | comments(0) | trackbacks(0)
WORD でファイルを上書きしてしまったのだが

Aという文書と同じところにBという文書を作りたくて、AをBという名前で保存したつもりで一度全部消してから書き始めたのだが、その後保存を押してみると、ファイル名がまだAだった。ということは、Aの内容が消滅した?!

保存した時点のAの内容を一度コピペで他に保存しておき、WORDの undo ボタンを使って全部消す直前の状態まで戻し、その内容で保存し直して解決。新しく書いた内容は、Bの名前で保存。

JUGEMテーマ:Windows

| Windows | 17:39 | comments(0) | trackbacks(0)
<< 2/590PAGES >>
Powered by "JUGEM"
▲このページの先頭へ
CALENDAR
S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
<< November 2019 >>
NEW ENTRIES
CATEGORIES
ARCHIVES
NEW COMMENTS
NEW TRACKBACKS
LINKS
PROFILE