ラブドール総合情報サイト edolls.net
(ジジの落書き(仮)出張所)

運営掲示板

コメント

コメントを投稿するにはログインする必要があります。

並び順:
ジジの落書き(仮)
人の少ない時間帯を狙ったこっそりメンテナンス完了しました。

■概要
わー!すごーい!便利になったぁ~!…というようなモノは何もありませんが、またまた内部的には大幅な変更を行いましたので、不具合あったらごめんなさい。例によって詳細は主に技術者向けなので読まなくても大丈夫です。

一言でいうと「安定性を向上しました」だけです。

■写真のURLを変更
旧)https://edolls.net/lovedoll-photo/bC0xTWVpSg.jpg
新)https://edolls.net/lovedoll-photo/00/202006o31.jpg

しばらくの間は旧URLを開いても新URLへ飛ばすようにしますが、新規のアップロードはすべて新URLで統一されます。それにあくまで個別写真のURLが変わるだけで、ギャラリーのURLは変わらないため画像に直リンクでもしていない限りは影響は一切ないハズ。

これはFTPの仕様の問題で、1ディレクトリあたり10,000ファイルまでしか同期できない、という問題に対応するためです。

そう、ふと気が付いたら当サイトにアップロードされている写真は12,000枚を超えているのです…っ!
毎日、我が家にあるHDDと同期してバックアップを取っているわけですが、最近なぜか失敗するなぁ~?と思ったら、FTPの問題だった…。というわけで、内部的にディレクトリを年月で小分けしました。

これだけならURLを変更せずとも対応できたのですが、せっかく仕様変更するなら、とデータベースへの接続を極限まで減らすようにしました。1ギャラリーで20枚くらい同時に表示されることもありますし、複数のbotが同時にアクセスしてくると一瞬で何百というDB接続が消費され、データベースが落ちることがあったからです。

更に年齢制限別にURLを分けることで、一部をCloudFlare等のCDN(いわゆるキャッシュサーバー)へ負荷を押し付け…ごほん…分散することができるため、将来的に更に高負荷になっても安心・安全。やったぜ。

というわけで、URL変更するだけで、
・FTPの10,000ファイル制限を回避
・DBの負荷を軽減
・R15以下の写真のURLを分けることでCDNの利用が可能になった
 (R18以上の写真はどのみちログイン判定が必要なためCDNは利用不可)

という1石3鳥の仕様変更でございました。

■R15写真のぼかし加工をCSS化

大前提として、パンチラくらいええやろ!という確固たる理念の基、ログインしていないゲストでも一般向け写真およびR-15写真の表示はできる仕様です。

ではなぜR15指定があるかというと、「わしは一般向け写真しか興味ないわ」という人がいるかも知れない、と妄想したためです。ユーザー設定で「一般」を選ぶと投稿写真の一覧には一般向け写真しか表示されない、という寸法。

しかし、ランキングにおいてはR-15だろうとブロックしているユーザーの投稿だろうと、歯抜け状態にするのはいかがなものか、と考え、ランキング中にR-15写真があり、かつユーザー設定が「一般」だった場合にはぼかし加工済の写真を表示していました。

でも実情として、わざわざユーザー登録してまで一般写真のみを表示する、という酔狂なユーザーはひとりもおられませんでした。

なので、わざわざR-15写真の画像加工をして、元写真+ぼかし写真の二重の容量を使ってまで対応することじゃないな、ということで、スタイルシートというWeb技術で見た目上だけふんわり隠すようにしました。技術的に詳しい人が本気で見ようと思えば見える、というモノなのですが、別にそれで良くない?と冷静になって考えたわけです。これでますます負荷が軽減されました。やったぜ。

■JPEGのふりしたWebP画像のアップロードに対応

お知らせにコソっと書いておきましたが、なぜかサムネイルが作られない写真がほんの少しありました。12,000枚以上ある中で、34枚程度しか失敗していないのは自分のプログラムを褒めたいくらいですが、たまたま失敗した人にとってはたまったものじゃありませんよね。

というわけで詳細に調べていたのですが、原因のひとつにファイル形式の詐称があるとわかりました。というのも、投稿写真は jpg / jpeg / png しかアップロードできないようにしてあり、サムネイル(写真の縮小加工)もそれを前提として動いています。

ところが、やろうと思えば WebP形式の画像ファイルの拡張子をjpgに変更してアップロードできてしまうんですね。

これが画像ファイルでなければすぐに気が付いたのですが、いかんせんブラウザが余計な気を利かせて、拡張子がjpgで内部がWebPでも表示できてしまうんです。だからオリジナルサイズは問題なく表示され、2枚目以降のサムネイルだけ作成失敗してNo Imageとなっていました。

アップロード時に内部をチェックしてWebPだったらはじく、という処理も可能でしたが、たぶんアップロードしている本人もそれがWebPかJpegかなんてわからずにアップロードしているのではないか…そう考え、WebPがアップロードされたときは内部的にJpegに変換してから加工するようにしました。

■写真の並べ替えをすると写真が増殖する不具合の修正

このバグがいつから存在していたのか、まったくわからないのですが、気が付いたら写真をドラック&ドロップで並び変えようとすると同じ写真が増殖するようになっていました。
PC+マウスで操作しない限りは発生しない不具合なので、それだけスマホユーザーが多いということなのか、そもそも写真の並び替えなんぞしないのか。
いずれにせよ、見なかったことにはできないので、並び替えできるようにしておきました。

このサイト作り始めたときから、PCのことしか考えてなかったので、スマホでの画像並び替えとかもできるようにしたいですね…。どういうUIにしたら良いのか見当もつかないので、pixivとか見てパk……勉強してこようと思います。


[PR]ラブドール販売店

kumaminiRosemary DollKUMADOLLホワイトラビットLove's DollIRODOLL楽園ドールDOLL TOWN ドールタウンSweetメイトSHEDOLLyokidollBIJINDOLLRdollぐんぐん!ラブドールKanadoll

最近購入されたラブドール

TOP