堕天使の煉獄

Gallery
Comic
Story
Production
Work
Link

2026-02

08

06:28:27

新サーバ移行してみた

ここ最近、ちょいちょいココにスパムのレス書き込みが見られたんだけど、今日みたらレス履歴が大量に埋まる感じにあふれててワラタw

しょうがないのでちょっぴり対策。

スパム対策キーと本文に日本語必須な感じに。

まあこれで単純なBot程度なら弾けるでしょ。

今までは大量のURLが貼られてた時(一時期そんなBotに書き込まれてた時期あった)に弾く程度の対策しかして無かったりで。

こんな場末の誰が見てるのかも判らんような、しかも今どき個人サイトで自作のcgiで動かしてるような物に、そんなん母数が少なすぎて標的にされないだろうという感じで。

実際、ここ最近増えてきたの除けば随分と平穏だったものな。

しかしこのcgiもそろそろ組み直したい感じではあったりする。

結構昔からログとか引き継いでたりしてた弊害で、データ構造とかちょっと弄りにくい(レス記事に削除編集キー追加したりとかが難しい)感じになってたりもするので。

あと、これ組んでた当時……もう10年以上前か……はなんかperlもオブジェクト指向じゃぁって感じで、ある意味とんがってた時期に組んだやつなので、今見るとめっちゃ複雑な作りになっててシンドいんですよね(ぉ

そもそもperlはまともなIDEとかほぼないので、テキストエディタだけで書いたり、多少は入力補助のある簡易的なIDEとかつかって書くのですが、やっぱもう、今どきのvc++とかQtとかに慣れきってると、テキストエディタだけでコーディングとかシンドいw

vscodeのperl拡張機能とかも試してみたくはあるのだけども。
いまぐぐってみたらPerl Navigatorっていう拡張機能がなかなか便利そう?
でもvscodeって昔は入れてたんだけど、最近はもうVisualStudioとQtCreatorの2つしか使わない、c++しかやってない感じなので、vscodeの出番ないよなーってことで、いまは入れてなかったりする。

perlのオブジェクト指向はどうしてもファイル分割も増えて、これまた管理がしづらいのでIDE欲しいよなー。

もしくは、一個のファイルにだーっとスパゲッティで書く、古の書き方にするかw

今回のも、なにがどうなってんだっけ? っていうのを把握するところだけで結構疲れちゃったしw

でもまあ、そこまですぐに直したいってわけでもないんですけどね。

perlやめてphpで組み直す案もあったりもするのですが。

phpのほうがIDEとかもぼちぼちいい感じの有るっぽいですしね。
でもphpってある程度バージョン進むとサポート切れるんですよね。
5年とかそんぐらい経つともう、鯖に入ってるphpのバージョンだと動かなくなったりするらしいので、定期的なメンテが必要になるとかで。
それはメンドイなあ。

perlはもう、なんかバージョン周りはどうなってるのかよく判らん事になってたりするのですが。

perl6はRakuっていう別言語として遠い世界に行っちゃって。

正当な後継となるperl7は現状Perl5.32と中身はおんなじとか???な感じだし

そいやここの「さくらインターネット」のレンタル鯖。
新サーバ移行の申し込み案内とか来てたりしたんだけど、放おっておいてもいつかは勝手に移行するみたいな話だったので、特に喫緊の理由もないので放置していたのだけども。

DBサーバとかブログサービス使ってる人が、新サーバ移行すると3倍ぐらい速くなるとかで恩恵有るのはそういう人でしょう。

うちには関係ないなーって感じだったのだけども。
もうその案内来てから数年経ってるんだけど、全然移行してないねw

で、新サーバにするとperlも5.32.xに上がるらしい。
旧鯖だと5.14とかで止まってるんですよね。

でもまあ、5.32以降で興味のあるのって、classぐらいなんだけど、ちょっと調べてみたら5.38で実験的に導入で、5.32までしか入ってないんじゃそもそも使えないのね。

最新は今5.43とかなのね。

でもperl6のゴタゴタとかあった所為か、レンタル鯖ではあんまperlのバージョン新しいの入ってない傾向あるのと、結構破壊的変更あるので、簡単にできない&メンテする人もとい出来る人も殆どいなくなったのでLTSとして最低10年はサポートするとか表明されてる5.32でとりあえず止めてるって感じの模様。

class使えんやん。
でもまあ上記のとおりIDEがないので、コーディングのしやすさ的にはうーん。
そして実験的のclassも書き方あんま好きな感じじゃなかったりもするし。

Mooとかなら使いたいんだけど、レンタル鯖でモジュール追加とか結構メンドイしなぁ。

もっとシンプルな感じの

Class::Accessor
Class::Tiny

あたりでもいいんだけど。
基本的には、継承とかポリモーフィズムとか要らんねん。
データとメソッドのセットになってるのだけでいいねん。

現状なんもモジュールとか使わないで出来るblessするやつ……
イマイチbless(祝福する)ってなんやねん。
ハッシュリラレンスがどうたららしいのですが、いまいちよく解ってないw

あとやっぱ書きかた的にもなんかちょっと面倒くさい感じだしね。
無理くり出来るようにした感ありありで。
言語としてサポートしてるわけじゃないのでなんとも。

でもまあperlのバージョンもそろそろあげて下準備だけでもしておくかということで、新サーバ移行の申込みをしてみることに。

夜に申請したら、今の時間にはもうできたよーと。
なんともあっさり。

とりあえずcgiも動いてるし問題ナッシング。

サーバーコントロールのところで確認したら、perl5.14になってる上、バージョン選択のところに5.32が無い……どゆこと?

「標準のPerl(推奨)」ってのがあるけど、普通は表示されてるverの一番新しいのを選択するって感じの項目だよね。

んー

さくらインターネットの移行の際の解説ページのところに、「質問チャット(AI)24時間対応」なるものが。

関係ないけど(微妙にはあるか)さくらインターネットといえばなんかAI関連とかで株が爆上げしたり暴落したりがニュースになってたなぁ。

メールフォームもあったけど、解答待つのもタルいのでAIチャットに入ってみる。

……結論として、新サーバ移行後は「標準のPerl(推奨)」にすると5.32.xになるらしい。

判りづれーw

とりあえず「標準のPerl(推奨)」にしてみる。

したらここのcgiがエラーで止まるw

なんか全体の設定をまとめてあるモジュールが見つからないみたいな感じぽ。

なるほど、5.32とかになると、実行時に自分自身の場所のパスがライブラリパスに登録されない仕様になったらしい。

なので手動で

use lib(qw(.));

と実行場所のパスをライブラリパスに追加してあげればおkらしい。

何で無くなったのかといえば、セキュリティ関係だとか。

とりあえず動くようになったので
スクリプト内でperlのバージョン取得してみたら「5.032001」とちゃんと5.32になってる模様。
微妙に5.32.1とちょびっとver増えてるやつなのね。

他は特に問題はなさそうぽ。

んでもやっぱ今見ると、perl大分忘れてるな。
文字列の連結に「+」で書いてたら数値扱いになっちゃって1が帰ってきたりw
perlの文字連結は「.」だっけか。

んーでもまあ、組み直すのはまた今度。
とか言って数年は手を付けそうになさそうですがw

なにげに新鯖、gccのバージョンもみてみたらば9.4.0だって。
最新は15とかだよ……。

まあ、レンタル鯖で鯖ごと巻き込んで落ちかねないc++製のcgiなんか普通使わないから、鯖のOSインスコ時のgccのバージョンのままなんだろね。

んでもまあ、個人的にはcgiもどうせならc++で書きたいんですけどね。

むかーしc++製のBBSとか作ってみたことあったな。
cgiからサーバーコマンドで鯖上でビルドして。

でも当時まだc++11もなかったぐらいの大昔なので、普通にc言語ライクな感じのアレでクラスとか使って無かったんじゃないかな。
なんかちょっと修正するのにもリビルド必要だったり、自鯖で公開とかじゃない限り普通はやらない趣味の世界だったなアレ(遠い目

若気の至りw


んで、今やってる書庫内の画像をなんやかんやするツール。

AIさん大活躍やね。
ちょいちょい騙されるけどw

書庫内の画像ファイルのヘッダ部分あたりだけ(64byteとか)取得してヘッダ部から画像サイズ(幅と高さ)とアニメ形式か(png、webpあたり)の判定とかやったりする部分。

旧バージョンだと自前でzip書庫読んでるので、普通に書庫内のoffsetから画像ファイルの先頭の位置までシークしてそこからヘッダ部分解析みたいなことやってたのですが。
この方法だと非圧縮なファイルからしか取れなくて。

圧縮されてる画像は、一度プレビュー用に画像取得して表示したときにようやく画像サイズも取得出来るって感じの作りになってたりで。

7zipSDK使うと、ストリームで解凍データを指定サイズ分(を超えたところまで)だけ取得するみたいなことができるので、圧縮ファイルでもヘッダ取得できる感じに。

そこでAIさんが色々とやってくれて便利ではあったんだけども。
画像のヘッダぐらいなら64byteもあれば十分だと思ってたのですが、
AIさんに64byteだと「微妙なサイズです」とか言われちゃって。
jpgなんかだと普通に露光だの撮影場所の位置情報だのの追加フィールドに押し出されて64byteじゃ必要なデータ取れないケースもあるみたいで。

実際テストしてみたら、ヘッダサイズが固定なwebpなんかはちゃんと取れてるのにjpgとavifだけサイズがとれてなくて。

結局4096byteまで取得バッファサイズ増やしてみたらちゃんと取れるようになったりで。
んでもAIさんいわく、64byteも4096byteも速度的には誤差レベルなので、情報を取得できる精度がほぼ確実レベルになる4096byteにすべきだねと。

実際実行してみると、画像自体は結構大きいサイズのpngばっかが数百入った圧縮書庫に対して実行してみたけど、一瞬で終わったりで。
こりゃいい感じ。

ただ、QueryInterfaceっていうメソッドをコールバッククラスの中で呼ぶんだけど、これがプライベートだからアクセス出来ないとかエラー出て。

AIさんに聞いたら、そこは初見殺しなんですよね~とかなんかヤレヤレ感出してきてワラタw

なんかマクロの中でなんやかんやしてprivateなQueryInterfaceを使えるようにしてるみたいなんだけど、SDKのバージョンとか、COMオブジェクトのなんやかがどーたらで(よくわかってない)マクロ書いてもなんかオブジェクトの登録順だかでうまく出来ない事があるとか。

で、マクロの中でやってることを自前で書くことで明示的にprivateなメソッド呼べるようにするコードとか出てきたりで。
これは自分だけで解決しようと思ったら無理だったろうなーと。
途方に暮れるよコレ。
windowsのCOM周りは鬼門と呼ばれるぐらいえげつなく複雑だからなぁ。
あとそのへんのMSさん謹製のコードって、前世紀のコーディング規約のゲボが出そうな記法で書かれたコードなので、それだけでも苦痛だしw

あとはテスト用に結果をデバッグ出力してるところで、画像サイズの前になんか例外が抽出されてるログが。
try~catchで補足してるからメッセージ出てるだけで実行は止まってないんだけど。
どうも、指定サイズだけ部分的に読み込む部分で、ストリームに指定サイズを超える量が来たところでE_ABORTを返すとそこで解凍動作を中断するんだけども。
E_ABORTは例外吐くのだけども、なんか気持ち悪い……。

これもAIさんにきいてみたらば、「正しく止まった知らせ」なので気にすんなっ! と。
あと、速度的にもこれが一番最速だよ! とも。

なんか使い始めた頃に比べて口調がフランクになってきた気がするw

こっちが質問で教えてちょ~とかどうなん? とか砕けた感じの言葉で書いてるからそれ相応に変化してきてるんやろかw

んでもまあ、サンプルのコードには上記のマクロ部分がすっぽり抜けてたりとか、ヘッダ解析部分のコードとかもずらずら出してきてくれて楽だなコレ。と思ったものの、よくよく見てみると結構速度的にはこの書き方は……とちょっと微妙なコードだったり、普通に駄目なコード、jpgのヘッダチャンク検索部分が単純なバイナリ総当りになってるとか。データ部に偶然一致するバイト列あったら誤作動するので、普通はチャンクサイズ取得してその分スキップして~とかやるのが普通ぽ。

と、やっぱあんまし信用出来ないなぁとw

これ、間違ってるとある程度わかるレベルの人ならいいけど、PG初心者とかだとこれ使い物になるんかいなとか思ったり。

雛形というか叩き台、どういう方向で進めるのかの指針を出してくれるツールとしてはとてもいい感じな印象だけども。


あと例外うんぬんのところでふと、OLEAUT32.dll関係のエラー出続けてる問題もAIさんに聞いてみようと思いたつ。

未だにこのエラーで続けてるんですよね。
以前はデバッグ実行終了後に例外でてぶち落ちて、手動でデバッガを終了させなきゃいけないのが邪魔くさくてこまってたんだけども。
なぜかここ最近はエラー文字は出るもののぶち落ちる事はなくなった感じだったり。

AIさんいわく、windowsとQtの相性問題らしい。
OS内部での様々な呼び出しの中でOS内部ではそういうエラーはしょっちゅう起こってるけど、柔軟に無視とかしてるんだけども(そんなんでいちいちOS自体の動作を止めたりはしない)デバッガはそういう細かいところまできっちり拾って例外吐いたりするんだそうで。
特にMicrosoft IMEが問題の原因になりがちとか言われたんだけど、うちはいまはGoogleIME使ってるんだけどな。

そう言ったらGoogleIMEもめっちゃ原因になるよ。GoogleIMEいちど外してみたらうまくいくかもね。
とかw

んでもまあ、つまるところ、windowsとQtの相性問題に尽きるということらしい。
デバッグ実行でしか問題は起きず、リリースビルドだとなんの問題もないですしね。
おま環かぁ結局……。

なので、気にしなくてもいい奴らしいです。

とはいえ以前はデバッガがクラッシュするので手動でデバッガを終了させるひと手間があるのがほんと邪魔くさくて……。
でも最近それが起こらなくなったので、winのアプデで治ったんかな??

んでも、ぐぐってたときにはろくに情報出てこなかったのに、AIだとわりと知りたいこと、なにがどうなってそうなってますみたいなストーリーちゃんと出てきてすげーとなった。

……でもほんと、たまに嘘つくから逆に性質悪いよねコレ……。

なかなかに便利なようで使い方が難しいツールだなAIって。
Sun
Mon
Tue
Wed
Thu
Fri
Sat
01
02
ほげぇぇ
03
04
05
06
07
08
新サーバ移行してみた
09
10
11
[建国記念の日]
12
13
14
15
16
17
18
ぷち工作
19
20
21
22
23
[天皇誕生日]
24
25
26
27
28
total:2206913 t:642 y:485
■記事タイトル■

■年度別リスト■
2026年 2026年12月(0)
2026年11月(0)
2026年10月(0)
2026年09月(0)
2026年08月(0)
2026年07月(0)
2026年06月(0)
2026年05月(0)
2026年04月(0)
2026年03月(1)
2026年02月(3)
2026年01月(3)
2025年 2025年12月(1)
2025年11月(1)
2025年10月(2)
2025年09月(5)
2025年08月(3)
2025年07月(1)
2025年06月(2)
2025年05月(1)
2025年04月(2)
2025年03月(3)
2025年02月(8)
2025年01月(3)
2024年 2024年12月(1)
2024年11月(2)
2024年10月(1)
2024年09月(2)
2024年08月(1)
2024年07月(1)
2024年06月(5)
2024年05月(2)
2024年04月(1)
2024年03月(6)
2024年02月(4)
2024年01月(3)
2023年 2023年12月(3)
2023年11月(1)
2023年10月(2)
2023年09月(3)
2023年08月(3)
2023年07月(3)
2023年06月(7)
2023年05月(8)
2023年04月(2)
2023年03月(1)
2023年02月(2)
2023年01月(3)
2022年 2022年12月(4)
2022年11月(3)
2022年10月(1)
2022年09月(3)
2022年08月(3)
2022年07月(2)
2022年06月(1)
2022年05月(3)
2022年04月(2)
2022年03月(2)
2022年02月(1)
2022年01月(6)
2021年 2021年12月(8)
2021年11月(3)
2021年10月(4)
2021年09月(6)
2021年08月(2)
2021年07月(1)
2021年06月(3)
2021年05月(2)
2021年04月(2)
2021年03月(3)
2021年02月(1)
2021年01月(4)
2020年 2020年12月(3)
2020年11月(7)
2020年10月(2)
2020年09月(3)
2020年08月(1)
2020年07月(3)
2020年06月(7)
2020年05月(5)
2020年04月(8)
2020年03月(4)
2020年02月(2)
2020年01月(4)
2019年 2019年12月(1)
2019年11月(1)
2019年10月(2)
2019年09月(1)
2019年08月(3)
2019年07月(2)
2019年06月(2)
2019年05月(2)
2019年04月(4)
2019年03月(1)
2019年02月(7)
2019年01月(1)
2018年 2018年12月(1)
2018年11月(1)
2018年10月(5)
2018年09月(1)
2018年08月(5)
2018年07月(1)
2018年06月(1)
2018年05月(1)
2018年04月(2)
2018年03月(2)
2018年02月(1)
2018年01月(1)
2017年 2017年12月(2)
2017年11月(1)
2017年10月(2)
2017年09月(5)
2017年08月(8)
2017年07月(2)
2017年06月(1)
2017年05月(1)
2017年04月(3)
2017年03月(5)
2017年02月(7)
2017年01月(8)
2016年 2016年12月(7)
2016年11月(2)
2016年10月(3)
2016年09月(7)
2016年08月(8)
2016年07月(10)
2016年06月(17)
2016年05月(6)
2016年04月(8)
2016年03月(10)
2016年02月(5)
2016年01月(10)
2015年 2015年12月(7)
2015年11月(7)
2015年10月(13)
2015年09月(7)
2015年08月(7)
2015年07月(5)
2015年06月(4)
2015年05月(5)
2015年04月(2)
2015年03月(4)
2015年02月(1)
2015年01月(7)
2014年 2014年12月(12)
2014年11月(8)
2014年10月(4)
2014年09月(6)
2014年08月(7)
2014年07月(4)
2014年06月(2)
2014年05月(5)
2014年04月(4)
2014年03月(8)
2014年02月(4)
2014年01月(8)
2013年 2013年12月(15)
2013年11月(8)
2013年10月(3)
2013年09月(3)
2013年08月(8)
2013年07月(0)
2013年06月(0)
2013年05月(0)
2013年04月(0)
2013年03月(0)
2013年02月(0)
2013年01月(0)

■レス履歴■

■ファイル抽出■

■ワード検索■

堕天使の煉獄

https://rengoku.sakura.ne.jp
管理人

織田霧さくら(oda-x)

E-mail (■を@に)

oda-x■rengoku.sakura.ne.jp

堕天使の煉獄バナー 堕天使の煉獄バナー