おもしろ雑学集

エロジンアップデーツ

日付
編集
分類
画像1枚
PV日0 月385 年1575
97.85%

ここ2か月間ほど更新がおぼろげになっていたのは、PUBGを再開したのが理由ではなく、新サーバ移行していたからです。

すべてを白紙の0から組み立てなおしました。デザインはもちろん、管理画面からファイルディスクデータベース、IPSec通信やロードバランサーなど極めて高度な技術を徹底して、ゆっくりじっくり慎重に仕上げていたのです。2017年12月から開発していたので、年内には完成させる意気込みだったのでしたが、やはりAMPモードでせんずりをこきながら手こずりました。

特に面倒だったのが抜けた萎えたのボタン。ラジオボタンでどちらか選んで投稿するなんて2度手間のかかるのは古いので1タップで送信できるようにするには、AMPモードではいちいち二つのボタンにそれぞれFormタグを書けなければなりません。

そういうことになると、画像の下に表示された△0のボタンは画像があるごとにFormタグを追加しなくてはなりません。記事本文をフォームタグで囲むなんてあり得ないですし、これはさすがに断念しました。AMPでは画像に評価ができません。

また、1月31日サーバ移行完了してから1時間弱、IEやSafariなどで見れない状態が続きました。HTTP2を取り除くと見れるようになったので、Opensslのバージョンかと思ったのですが、1.0.2[a-z]でもできませんでした。いろいろ./configオプションをいじってたのですが、やはりHTTP2を追加すると見れないのでその日はHTTP2を外した状態で眠りました。

起きてからも何故できないのか考え、『Nginx http2 INET_E_DOWNLOAD_FAILURE』というIEにのみ表示されるエラーコードを付加して検索すると見事解決策が見つかりました。

HTTP2
1/1
8

このイングリッシュによれば、HTTP2ヘッダーに改行してはいけないということです。Content Security Policy (CSP)は長いので見やすいよう沢山改行していたのが仇となりました。こんなつまらないことで1日も悩まされるなんて、PUBGで5回TKされたほうがマシな感じがしました。

大きな変更点はあまり見られず、デザインも0から作った割には前作をインスパイアーにオマージュしたので毛が一本生えた程度ですが、内部構成、管理画面はかなり変わっていますので、前回まで記事更新に3度手間をかけていたのを1手間に改良したので、更新しやすくなり、たくさん更新していきたいと思います。

主な改良点

大前提としてエロジンは自動車のエンジンのように、高速で表示されるエロサイトという目的で作られました。ということでWEB上で高速に表示されるためにはどうすればいいか考えます。それは何もしないということです。

つまりサイトが表示される時に無駄な計算をせず、そのまま作ってある状態のテキストを置いておくだけという単純な仕組みを提案しました。ブログというのはタイトルや本文、タグなどのテキスト(HTML)を投稿した日付の順番に、1つのページに30件表示されるのが一般的です。

最初のトップページhttps://erozine.jpに30件の記事を投稿順に置きます。そして全記事数/30を1ページごとに小数点繰り上げで分割します。例えば全記事数が60件だった場合、全部で2ページあれば十分ですが62件だった場合、30で割ると2.0666と無理数整数になりません。3ページ必要なので小数点は切り上げなければなりません。切り上げるのに適したモジュールが用意されていますが原始的な方法を使ったほうがパフォーマンスが上昇するのでこのようにします。

-(-total_post//30)
正の数で割り算切り捨てすれば
10//3 = 3

となります。
これを負の数にすることによって逆に繰り上げられるという仕組みです、あとはマイナスをまたつけてプラスに戻すだけ-(-10//3) = 4
これによって全ページ数を算出することができました。エロジンでは1600件ほどなので62件くらいとなりました。

ユーザーが2ページ目にアクセスしたとき、日付順から30件スキップした31件目から60件目までを表示させれば、インデックスページは完成です。ここでようやく動的な計算をしていますが、ページだけなので大した処理はしてません。

静的に表示すれば確かに軽量にできますが、後から追加されるコメントや評価などを更新するためにHTMLを都度変更していかなければなりません。例えばYouTubeの動画にコメントすると即時反映されページを更新するとコメントは追加されたままです。静的なサイトでは何かしらイベントを起こさないと反映されません。コメント投稿時にHTML更新するということを考えましたが、Nginxファイルキャッシュによってキャッシュ情報に相違が生じるとエラーを起こしてしまうので断念しました。臨時対処法としてCronTabで12時間ごとに自動更新させています。

本題の改良点は、このCronTabで自動実行のプログラムは、実行するごとに全記事のHTMLファイルを生成するというところにあります。画像に△0の評価ボタンを付けてしまったため、全記事の本文から画像タグ<imgのsrcURLを抽出して、そのURLに与えられた評価を別データベースで取得するという極めて面倒な作業をしています。

posts = list(db.posts.find())
for post in posts:
post['content'] = re.sub(r'<img ([^>]*)src="([^"]+)"([^>]+)>', appendVote, post['content'])

def appendVote(m):

1行目:データベースから全ての記事を配列にして変数postsに格納
2行目:全ての記事を1記事としてループ、つまりpostにはposts[0]最初の記事が入っている
3行目:post['content']は記事本文のことで、それをappendVote関数に置換する。
5行目:置換関数、変数mには記事本文の中に入っている<imgタグの後方参照を取得できる。例えば記事本文にlt;img class="imgs" src="https://aa.jpg" alt="a">がある場合、m.group(1)には『class="imgs" 』が入っている。

  • 🥰抜けました
    941
  • 🥹感動しました
    11
  • 😆笑いました
    2
  • 🤔意味わからんです
    1
  • 😡胸糞悪かったです
    1
  • 😣萎えてしまいました
    19
  • 投票する
この記事をブックマーク
    日付
    編集
    分類
    画像1枚
    PV日0 月385 年1575
    97.85%
    お読み頂きありがとうございました!
    Thanks Good Read again!
    コメントを書き込め
    本文必須 最低2字 最大400字 名前空欄可 最大20字
    コメント一覧
    1
    はるき

    頑張ってたんやな!

    1
    1
    返信
    2
    fd9a9d55

    最近日本語おぼつかないアホキャラが失われてる

    1
    1
    返信
    3
    a74eca98

    ここの主スペック高くね笑

    1
    2
    返信
    4
    夕@sazanami

    私にはむつかしくてヽ(∀)ノ何言ってるかわかんないけどお疲れ様です。 2、3年前からずっとこのサイトみてるので とても使いやすくなったと思います(◎▽◎) これからも頑張ってください💪('ω'💪)

    2
    1
    返信
    5
    eb9571ed

    更新期待してるで!

    1
    1
    返信
    6
    02d4449e

    どんどんスタイリッシュなサイトになってとても嬉しいです。

    1
    1
    返信
    7
    12f780eb

    いや作品タグとかどこいってん頼むで

    1
    1
    返信
    8
    ff350532

    さっぱり分からんが乙!

    1
    1
    返信
    9
    7ca45019

    がんばってくれ

    1
    1
    返信
    10
    ab57c810

    ありがとうございます

    1
    1
    返信
    11
    6aa6d0fe

    ほんとハイスペックニート大好き

    1
    1
    返信
    12
    2dda1b80

    最近のアフィサイトはゴミ広告貼りまくりかつ内容がないゴミサイトばかりだからここは神サイト 頑張ってくれ

    1
    1
    返信
    13
    8da52a5d

    大好きです

    1
    1
    返信
    14
    1650e77f

    お疲れ様です! いつもお世話になっています!これで更新頻度も上がるんですね!もっとお世話になります!わら

    1
    1
    返信
    15
    8d861c32

    更新遅いとか文句言ってた自分が憎い!

    1
    1
    返信
    16
    1fa3d979

    誰か記事内検索の方法教えて

    1
    1
    返信
    17
    73c2ff31

    更新待ってるで〜〜

    1
    1
    返信
    18
    管理人(本人)

    文字列検索機能は今日つけたいと思います

    1
    1
    返信
    19
    482fac9d

    面白い昨日付いててくさ

    1
    1
    返信
    20
    f2ee80c2

    おつかれちゃん

    1
    1
    返信
    21
    7120ddac

    この記事にも抜けた萎えたボタン付いてるの草

    1
    1
    返信
    22
    a0ae9093

    うーんプロ

    1
    1
    返信
    23
    cbb82672

    ホント大好きです

    1
    1
    返信
    24
    4bc57207

    取り敢えず抜いた

    1
    1
    返信
    25
    IT

    お疲れ様です

    1
    1
    返信
    26
    1995ca6f

    いろいろさんがつ!

    1
    1
    返信
    27
    c638bca3

    がんばえーっぽq(^-^q)

    1
    1
    返信
    28
    a2c60f09

    ほんと有能

    1
    1
    返信
    29
    346fe3f8

    お前すげーな

    1
    1
    返信
    30
    1dc4987f

    当方エンジニアです。 センズリをこきながら技術記事を毎回楽しみにしています!

    1
    1
    返信
    31
    57ef47e2

    ありがてぇ…

    1
    1
    返信
    32
    30ba4c5e

    おつかれ

    1
    1
    返信
    33
    c85817cc

    これからも頑張ってください!!!応援してます!!

    1
    1
    返信
    34
    7fa0a697

    これは抜ける

    1
    1
    返信
    35
    125dc358

    ユニーク‼

    1
    1
    返信
    36
    4925e2cf

    インテリな文字の羅列で抜いた いつもありがとうございます

    1
    1
    返信
    37
    72075b06

    動作が軽いのが好きで長いことお世話になってます。 管理人さん控えめに言ってすこ

    1
    1
    返信
    38
    9b246056

    web系のセキュリティエンジニアを目指してる学生です。 主さんのその豊富な知識と経験はどこで取得されたのでしょうか?

    1
    1
    返信
    39
    管理人(本人)

    参考書など読まずにテスト環境を整え、自分で攻撃してどうなるか実践していくのがよいと思います

    1
    1
    返信
    40
    42534f88

    本当お前さん最高!これからも応援しとるよ

    1
    1
    返信
    全てのコメントを読み込む
    関連記事
    100枚の画像を保存した理由のサムネイル画像
    100枚の画像を保存した理由
    日0 月798 年7.98k
    129
    16

    ee27件

    jQueryを脱退したJavaScript化へのサムネイル画像
    jQueryを脱退したJavaScript化へ
    日0 月455 年2.72k
    15
    6

    ee6件

    僥倖の春休みに集めた愛情たっぷりの画像集129枚のサムネイル画像
    僥倖の春休みに集めた愛情たっぷりの画像集129枚
    日0 月476 年2.74k
    80
    13

    ee26件

    2020年06月06日土曜日に真顔で集めておいた揺るぎ無い画像集130枚のサムネイル画像
    2020年06月06日土曜日に真顔で集めておいた揺るぎ無い画像集130枚
    日0 年882
    80
    18

    ee26件

    【エロ同人誌】(おっぱい)大きくなったらなのサムネイル画像
    【エロ同人誌】(おっぱい)大きくなったらな
    日574 月6.15k 年52.57k
    612
    71

    ee13件

    「国」って概念ってはっきりいって無駄なんじゃないの???のサムネイル画像
    「国」って概念ってはっきりいって無駄なんじゃないの???
    日0 月588 年3.44k
    13
    9

    ee2件

    【閲覧注意】撃たれても起き上がり妹を救い出す兄8歳【シリア】のサムネイル画像
    【閲覧注意】撃たれても起き上がり妹を救い出す兄8歳【シリア】
    日0 月546 年3.85k
    32
    10

    ee3件

    ドーハの喜劇に保存したワールドチャンピオンになるためのブラボーな画像集211枚のサムネイル画像
    ドーハの喜劇に保存したワールドチャンピオンになるためのブラボーな画像集211枚
    日0 月1.81k 年210.42k
    88
    142

    ee55件

    通学中のバス内で毛の生えてないJSとDSが性交を始めてしまうのサムネイル画像
    通学中のバス内で毛の生えてないJSとDSが性交を始めてしまう
    日1.18k 月12.12k 年144.52k
    356
    95

    ee18件

    あれから何年か経った日に保存した曰く付きの画像集119枚のサムネイル画像
    あれから何年か経った日に保存した曰く付きの画像集119枚
    日0 月3.23k 年220.31k
    138
    58

    ee20件

    広告