<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Posts on MoeJue&#39;s Blog</title>
    <link>https://en.moejue.cn/ja/posts/</link>
    <description>Recent content in Posts on MoeJue&#39;s Blog</description>
    <generator>Hugo -- 0.151.2</generator>
    <language>ja</language>
    <lastBuildDate>Fri, 17 Apr 2026 21:37:51 +0000</lastBuildDate>
    <atom:link href="https://en.moejue.cn/ja/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>二十年の約束を果たす</title>
      <link>https://en.moejue.cn/ja/posts/321/</link>
      <pubDate>Fri, 17 Apr 2026 21:37:51 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/321/</guid>
      <description>&lt;p&gt;この件はドラマのような展開に聞こえるかもしれないけど、実際に起きたことだよ。&lt;br&gt;
私自身、懐古主義だからね。&lt;/p&gt;
&lt;p&gt;家庭の事情で、あの土地を離れてからはずっとそこにいられなくなった。幼馴染みみたいなものは、自分には曖昧な存在だったんだ。だからこそ、幼い頃から付き合って感情が深まった人たちを羨ましく思う。&lt;/p&gt;
&lt;p&gt;大人になってからは、ずっと漂っているような気がした。習慣的に先に立って、友達を置いていく。&lt;/p&gt;
&lt;p&gt;でも、その一言だけは——&lt;br&gt;
「戻るよ」&lt;/p&gt;
&lt;p&gt;信じられないくらい、二十年待った。&lt;/p&gt;
&lt;p&gt;誰も本当に待ってくれるとは限らないことはわかっていた。&lt;br&gt;
でも、それでもこの約束は心の中でひとつの執念になっていた。&lt;br&gt;
&lt;img alt=&#34;图 84&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/17/IMG_20260404_170416.jpg&#34;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;帰ってくると、昔のことがすぐに頭に浮かぶと思った。&lt;br&gt;
でも、実際にそこに立ってみると、記憶はぼんやりとしていた——&lt;br&gt;
忘れたからか、それとももう物事は人も変わってしまっているからか。&lt;/p&gt;
&lt;p&gt;二十年後にまたそこに立つとは、これまで一度も考えたことがなかった。&lt;br&gt;
二十年前の自分も、未来の自分がまたそこに戻ってくるとは、決して想像できなかっただろう。&lt;/p&gt;
&lt;p&gt;その瞬間、タイムスリップしたような不思議な感覚があった。&lt;br&gt;
ふと、もし違う次元から見てみたら、二十年前の自分と今の自分が同じ時間に重なっているのではないかと考えてしまう。&lt;br&gt;
&lt;img alt=&#34;图 82&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/17/IMG_20260404_151258.jpg&#34;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;この旅は、一人旅だった。&lt;/p&gt;
&lt;p&gt;写真はスマホで勝手に撮ったものだ。歩きながら撮って、少し揺れてる。&lt;br&gt;
自分が孤独に見えないように、写真に誰かを合成してしまった。&lt;/p&gt;
&lt;p&gt;昔の運動場は、子供の私にとっては大きすぎて不思議だった。&lt;br&gt;
夜になると、たくさんの人がダンスをする。&lt;br&gt;
一番身近だったのは『月の上』と『最炫民族風』。当時はとても賑やかだった。&lt;br&gt;
&lt;img alt=&#34;图 79&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/17/IMG_20260404_155412.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;人間が10年以上いない街の様子を見せてあげる&lt;br&gt;
&lt;img alt=&#34;图 78&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/17/IMG_20260404_161850.jpg&#34;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;あの日、私は紅領巾を着けた。&lt;br&gt;
小学5・6年生の兄姉たちが結んでくれた。それは少先隊員になる瞬間だった。&lt;br&gt;
&lt;img alt=&#34;图 76&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/17/IMG_20260404_172513.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;あの映画館は、一度も入ったことがなかった。&lt;br&gt;
でも、今では屋根が完全に崩壊してしまっている。&lt;br&gt;
&lt;img alt=&#34;图 72&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/17/IMG_20260404_160450.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;実は来る前から衛星地図で学校の様子を見ていた。&lt;br&gt;
学校はすでに姿を変えていた。&lt;/p&gt;
&lt;p&gt;運動場は平らげられ、玄関さえ見つからない。&lt;br&gt;
記憶の中の姿とは全く違う。椅子はほとんど撤去されてしまっている。&lt;/p&gt;
&lt;p&gt;知らない教室も多くあった——&lt;br&gt;
標本室、図書館、器材室…。当時の教科書には「本教科書は国家無償提供」と書かれていた。&lt;br&gt;
古びた値日表にも昔馴染みの名前が残っていた。なぜか、長い間そこにあるのか不思議だった。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;これは、小さい頃に学校で映画を見ていた教室。&lt;br&gt;
当時はとても広く感じて、男の子たちは最後の方に隠れていた。暗闇の中だった。&lt;br&gt;
&lt;img alt=&#34;图 77&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/17/IMG_20260404_172032.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;この木も同じだ。&lt;br&gt;
小さい頃は太さが股下くらいで、背丈は私より少し高かった。&lt;br&gt;
今では、大木になっている。&lt;br&gt;
&lt;img alt=&#34;图 74&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/17/IMG_20260404_155346.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;こんにちは、古い友達。&lt;br&gt;
また戻ってきたよ。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;昔の品々を見せてあげる。何個認識できるかな？&lt;br&gt;
&lt;img alt=&#34;图 71&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/17/IMG_20260404_163409.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;道は空っぽで、草むらが生い茂り、路面は破損している。&lt;br&gt;
&lt;img alt=&#34;图 81&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/17/IMG_20260404_170830.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;小さい頃は、列車の車両に乗り、ゆっくりと進む列車に乗っかっていた。&lt;br&gt;
&lt;img alt=&#34;图 73&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/17/IMG_20260404_154713.jpg&#34;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;私は、かつての家、学校、そしてクラスメートの家の近くにも戻ってきた。&lt;/p&gt;
&lt;p&gt;意外な発見があると思っていた。&lt;/p&gt;
&lt;p&gt;例えば、旧友と再会する。&lt;/p&gt;
&lt;p&gt;でも、現実は想像より冷静だった——&lt;br&gt;
当時は携帯電話もコンピューターもなく、お互いの連絡先さえ残していなかった。&lt;br&gt;
&lt;img alt=&#34;图 80&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/17/IMG_20260404_162216.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;del&gt;久しぶりに残っている携帯番号を見つけて、WeChatに追加した。&lt;/del&gt;&lt;br&gt;
&lt;del&gt;結果、初日に追加された翌日に削除された。&lt;/del&gt;&lt;br&gt;
&lt;del&gt;電話をかけた。最初は誰も出なかった。&lt;/del&gt;&lt;br&gt;
&lt;del&gt;二回目には、結果が予想できていた——&lt;/del&gt;&lt;br&gt;
&lt;del&gt;確かに、ブロックされた。&lt;/del&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;小さい頃は、ここが男の子女の子が裸足で跳び縄をする場所だった。&lt;br&gt;
&lt;img alt=&#34;图 75&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/17/IMG_20260404_173543.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;でも、今では壁で塞がれていて、入れない場所も多い。&lt;br&gt;
当時、「戻るよ」と言った階段を撮影したいと思っていた。&lt;/p&gt;</description>
    </item>
    <item>
      <title>🌸 四月、桜、そして止まない嘘</title>
      <link>https://en.moejue.cn/ja/posts/319/</link>
      <pubDate>Mon, 06 Apr 2026 15:19:18 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/319/</guid>
      <description>&lt;p&gt;4月のこの件、おそらくは桜から始まった。&lt;/p&gt;
&lt;p&gt;そして、そのアニメ『四月は君の嘘』からだ。&lt;/p&gt;
&lt;p&gt;ある時は、作品によって定義されるものなんだ。&lt;/p&gt;
&lt;p&gt;今も、4月になると、あのセリフを思い出さずにはいられない。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「4月は、君の嘘。」&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ある日、ふと顔を上げたら、普段気にも留めていなかった路地の木が、すでにピンク色に満ちていた。&lt;br&gt;
&lt;img alt=&#34;图 69&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/06/IMG_0226.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;-アニメの世界から降りてきたような背中&#34;&gt;📷 アニメの世界から降りてきたような背中&lt;/h2&gt;
&lt;p&gt;その日は、前を歩いている二人の姿に気づいただけだった——&lt;/p&gt;
&lt;p&gt;金髪と黒髪、制服、スカート、セーター、桜の下を歩くその背中は、一瞬、本当にアニメのキャラクターが現実に落ちてきたみたいだった。&lt;br&gt;
&lt;img alt=&#34;图 62&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/06/IMG_0206.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;その瞬間、少し目眩がした。&lt;br&gt;
&lt;strong&gt;現実が一瞬、二次元になったような。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;あのアニメを見ているとき、よくこう思う。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「このようなシーンが現実にあったら、どんな感じだろう？」&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt=&#34;图 68&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/06/IMG_0199.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;-4月音楽で覚えられる&#34;&gt;🎹 4月、音楽で覚えられる&lt;/h2&gt;
&lt;p&gt;『四月は君の嘘』では、4月はただの月ではない。&lt;/p&gt;
&lt;p&gt;始まりであり、終わりでもある。&lt;/p&gt;
&lt;p&gt;再会であり、変化でもあり、別れでもある。&lt;/p&gt;
&lt;p&gt;物語にはクラシック音楽が溢れていて、ショパンの『叙事曲第一番』みたいな曲には、言葉にできないほどの感情が込められている——&lt;/p&gt;
&lt;p&gt;優しいけれど不安定。&lt;br&gt;
明るいけれど、少しだけ痛みを秘めている。&lt;/p&gt;
&lt;p&gt;それはまるで4月そのもののように。&lt;br&gt;
&lt;img alt=&#34;图 65&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/06/IMG_0213.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;-桜はなぜ少しだけ苦しい気持ちになるのか&#34;&gt;🌸 桜はなぜ、少しだけ苦しい気持ちになるのか？&lt;/h2&gt;
&lt;p&gt;桜自体は特別なものではない。&lt;/p&gt;
&lt;p&gt;でも、咲きすぎて短すぎる。&lt;/p&gt;
&lt;p&gt;「春が来た！」と気づいた瞬間、すでに終わりを迎えている。&lt;br&gt;
&lt;img alt=&#34;图 64&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/06/IMG_0212.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;あのアニメと同じだ。&lt;/p&gt;
&lt;p&gt;物語がまだ始まったばかりに思えるのに、&lt;br&gt;
不知不覚にも終盤へ向かっていく。&lt;/p&gt;
&lt;p&gt;桜の花は通常、1週間ほどで終わる。&lt;/p&gt;
&lt;p&gt;風が吹けば、散ってしまう。&lt;/p&gt;
&lt;p&gt;何か残す暇もなく、すでに記憶になってしまう。&lt;br&gt;
&lt;img alt=&#34;图 63&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/06/IMG_0222.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;-4月ちょうど良いタイミングで終わる時間&#34;&gt;🧃 4月、ちょうど良いタイミングで終わる時間&lt;/h2&gt;
&lt;p&gt;4月は不思議な月だ。&lt;/p&gt;
&lt;p&gt;不安定でも、確かに存在する。&lt;/p&gt;
&lt;p&gt;普段気にも留めないものに目を向けやすくなる。例えば：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;路地の木&lt;/li&gt;
&lt;li&gt;人の背中&lt;/li&gt;
&lt;li&gt;風の音&lt;/li&gt;
&lt;li&gt;あるいは、一曲の音&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ただ前を歩いている人を見ても、物語を想像してしまう。&lt;/p&gt;
&lt;p&gt;あの日の二人の背中もそうだ。&lt;/p&gt;
&lt;p&gt;彼らは何者でもなかったかもしれない。&lt;br&gt;
でも、その瞬間——&lt;/p&gt;
&lt;p&gt;物語の冒頭にそっくりだった。&lt;br&gt;
&lt;img alt=&#34;图 66&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/04/06/IMG_0195.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;-最後に&#34;&gt;📝 最後に&lt;/h2&gt;
&lt;p&gt;ときどき、こう感じる。&lt;/p&gt;
&lt;p&gt;桜を好むのは、&lt;br&gt;
どれほど美しいからではない。&lt;/p&gt;
&lt;p&gt;それは、何かと似ているからだ。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;短く、力強く、そして終わる。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;『四月は君の嘘』が語る通りだ。&lt;/p&gt;
&lt;p&gt;感情は、その時は言葉にできないこともある。&lt;br&gt;
でも、過ぎ去ってしまえば、二度と戻らない。&lt;/p&gt;
&lt;p&gt;だからこそ、風が吹くたびに&lt;br&gt;
もう一度見つめ直したくなる。&lt;/p&gt;
&lt;p&gt;もう一度シャッターを押したくなる。&lt;/p&gt;
&lt;p&gt;なぜなら、あなたは知っているから。&lt;/p&gt;</description>
    </item>
    <item>
      <title>夜雀小屋訪問記</title>
      <link>https://en.moejue.cn/ja/posts/315/</link>
      <pubDate>Tue, 17 Mar 2026 20:59:12 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/315/</guid>
      <description>&lt;p&gt;先週の土曜日、二次元風の小さなお店「夜雀小屋」に行ってきました。&lt;br&gt;
&lt;img alt=&#34;图 41&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0134.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;実は以前からこの場所を見てたんですけど、公園の中にあるようなちょっと珍しい拠点という感じで、東方Projectや二次元好きにはなるほど懐かしいと思える場所だったんです。週末に空いたので、それで気になって行ってみたんです。&lt;br&gt;
&lt;img alt=&#34;图 50&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0103.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;中に入って最初に感じたのは、&lt;br&gt;
&lt;strong&gt;想像以上に「濃度が高い」ってこと。&lt;/strong&gt;&lt;br&gt;
&lt;img alt=&#34;图 47&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0104.jpg&#34;&gt;&lt;br&gt;
&lt;img alt=&#34;图 61&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0102.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;玄関からすでに雰囲気が出てる&#34;&gt;玄関からすでに雰囲気が出てる&lt;/h3&gt;
&lt;p&gt;まだ入ってない状態でも、このお店の趣向がわかるんです。&lt;/p&gt;
&lt;p&gt;大きな魔理沙のぬいぐるみが置いてあって、座ってて落ち着いてる感じで、まるで「見張り」のようにしてるみたい。&lt;br&gt;
&lt;img alt=&#34;图 43&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0163.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;正直、初めて見たときはちょっとびっくりしましたね。このサイズのぬいぐるみを玄関に置くのは少し衝撃的です。&lt;/p&gt;
&lt;p&gt;そして「冷静な表情だけど少し呆れてる」みたいな感じが、魔理沙らしいというか、ちょうどよいです。&lt;/p&gt;
&lt;p&gt;とっても大きい魔理沙&lt;br&gt;
&lt;img alt=&#34;图 42&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0162.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;何と言っても、これは一種の&lt;strong&gt;チェックポイント&lt;/strong&gt;みたいなものです。&lt;/p&gt;
&lt;h3 id=&#34;店内の陳列棚は信仰陳列そのもの&#34;&gt;店内の陳列棚は「信仰陳列」そのもの&lt;/h3&gt;
&lt;p&gt;中に入ると、一番目についたのはガラスケースの陳列棚。&lt;br&gt;
&lt;img alt=&#34;图 44&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0085.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;手元、CD、そして東方周辺のグッズなどが並んでて、全部そこら中に散らばってるわけじゃなくて、ちゃんと一列に並べてる感じがします。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;图 45&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0086.jpg&#34;&gt;&lt;br&gt;
一番大きい手元は特に目立ってて、作りも細部まで丁寧で、ライトが当たってると全体の雰囲気が強く出ます。&lt;br&gt;
&lt;img alt=&#34;图 59&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0073.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;壁一面の収納は小さなミュージアムみたい&#34;&gt;壁一面の収納は小さなミュージアムみたい&lt;/h3&gt;
&lt;p&gt;また、壁一面に木製の収納棚があり、そこには色々なものが詰め込まれています。&lt;br&gt;
&lt;img alt=&#34;图 46&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0083.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;例えば：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;東方キャラクターのぬいぐるみ&lt;/li&gt;
&lt;li&gt;小さなフィギュア&lt;/li&gt;
&lt;li&gt;小物類&lt;/li&gt;
&lt;li&gt;同人グッズ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;全部合わせて、長年の趣味を全部展示してるみたいな感じです。&lt;br&gt;
&lt;img alt=&#34;图 57&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0088.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;真ん中あたりに芙蘭の立ち絵が置いてあって、かなり目立ってます。&lt;br&gt;
&lt;img alt=&#34;图 60&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0082.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;全部見て回ると、途中で知ってるキャラが突然隅に出てくるみたいな感じで、ちょっと面白いです。&lt;/p&gt;
&lt;p&gt;まるで古いオタクの収納棚を開けてみるみたいな感じです。&lt;br&gt;
&lt;img alt=&#34;图 52&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0077.jpg&#34;&gt;&lt;br&gt;
&lt;img alt=&#34;图 58&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0050.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;全体の雰囲気は意外とリラックス&#34;&gt;全体の雰囲気は意外とリラックス&lt;/h3&gt;
&lt;p&gt;行ったのは土曜日の昼過ぎで、人もそこそこいました。&lt;br&gt;
&lt;img alt=&#34;图 51&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0121.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;全体の雰囲気は静かで、ライトも柔らかい感じ。&lt;/p&gt;
&lt;p&gt;商業的な感じではなくて、むしろ&lt;strong&gt;友達同士で集まる拠点&lt;/strong&gt;みたいな感じです。&lt;br&gt;
&lt;img alt=&#34;图 53&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0076.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;例えば：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;小さな二次元拠点&lt;/li&gt;
&lt;li&gt;同好の集まり&lt;/li&gt;
&lt;li&gt;あるいは「オタクの居心地の良い部屋」みたいな感じ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;東方プレイヤーでも、普段から二次元の世界にいる人なら、こんな場所に来るとちょっと微妙な懐かしさを感じると思います。&lt;br&gt;
&lt;img alt=&#34;图 54&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0075.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;多くの飾りつけは、&lt;br&gt;
**「営業用に飾ってるわけじゃなくて、本当に好きだから飾ってる」**っていうことが伝わってきます。&lt;br&gt;
&lt;img alt=&#34;图 56&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0074.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;ちょっとした感想&#34;&gt;ちょっとした感想&lt;/h3&gt;
&lt;p&gt;こういうお店はもうあまり見かけなくなってきてるんじゃないかと思います。&lt;/p&gt;
&lt;p&gt;多くの二次元のお店は、もう商業化されてて、カフェかグッズショップみたいな感じになってるんです。&lt;br&gt;
&lt;img alt=&#34;图 49&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0059.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;でも夜雀小屋は、むしろこういう感じ：&lt;/p&gt;
&lt;p&gt;**「自分の趣味を空間にしてしまった人がいる」**っていう感じです。&lt;br&gt;
&lt;img alt=&#34;图 55&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0080.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;中に入って回って、飾り付けを眺めてみるだけでも、ちょっと面白いです。&lt;/p&gt;
&lt;p&gt;私にとっては、ちょっと面白い発見だったかな。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;图 48&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/17/IMG_0128.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>🎉 若者の最初のミラーレス一眼</title>
      <link>https://en.moejue.cn/ja/posts/313/</link>
      <pubDate>Sat, 07 Mar 2026 15:37:52 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/313/</guid>
      <description>&lt;p&gt;🎉 新しい達成感&lt;br&gt;
最近、自分のカメラ機器をアップグレードしました。使っていた &lt;strong&gt;Canon EOS 60D&lt;/strong&gt; から &lt;strong&gt;Canon EOS R50&lt;/strong&gt; に交換しました。&lt;/p&gt;
&lt;p&gt;2010年のクラシックな中堅DSLRと、2023年のエントリーレベルのミラーレスカメラ。両方とも十数年もの技術の差があり、今のミラーレスカメラがどんな感じか試してみたかったんです。&lt;br&gt;
&lt;img alt=&#34;图 31&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/07/IMG_20260307_110935.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;一私の初めてのdslrcanon-eos-60d&#34;&gt;一、私の初めてのDSLR：Canon EOS 60D&lt;/h2&gt;
&lt;p&gt;Canon EOS 60Dは、多くの写真愛好家がかつて「夢の機種」と呼んだモデルでした。&lt;br&gt;
&lt;img alt=&#34;图 32&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/07/IMG_20250720_165524.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;当時、購入した理由は主に以下の通りです：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;握りやすく、操作性が良い&lt;/li&gt;
&lt;li&gt;プロ仕様の操作感がある&lt;/li&gt;
&lt;li&gt;7Dよりも価格が手頃&lt;/li&gt;
&lt;li&gt;EFレンズが豊富に利用可能&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;当時は、60Dが「プロっぽい」と感じていました。本体が大きく、ボタンも多く、写真家が使っているようなカメラに見えました（笑）。&lt;br&gt;
&lt;img alt=&#34;图 35&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/07/IMG_20250720_173626.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;60Dの最大の特徴は、実は &lt;strong&gt;信頼性と耐久性&lt;/strong&gt; でした：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;バッテリーが非常に持ちが良く、1本で長時間撮影可能&lt;/li&gt;
&lt;li&gt;本体がしっかりしており、手に持つと「カメラらしい」重厚感があります&lt;/li&gt;
&lt;li&gt;光学ビューファインダーを使うと、撮影に儀式感があります&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;图 34&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/07/IMG_20250720_165616.jpg&#34;&gt;&lt;br&gt;
しかし、時間が経つにつれて、60Dのいくつかの欠点も気づくようになりました：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;フォーカスポイントがわずか9点&lt;/li&gt;
&lt;li&gt;フォーカス速度が遅い&lt;/li&gt;
&lt;li&gt;動画は1080pのみ&lt;/li&gt;
&lt;li&gt;本体が重い&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;特にスマートフォンや新しいカメラが急速に進化している今、この古いDSLRは少し「時代遅れ」に感じるようになりました。&lt;br&gt;
&lt;img alt=&#34;图 33&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/07/Image_1754228512096.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;二なぜr50を選んだのか&#34;&gt;二、なぜR50を選んだのか&lt;/h2&gt;
&lt;p&gt;アップグレードを検討する際、私はたくさんの機種を比較しました。例えば：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;R100&lt;/li&gt;
&lt;li&gt;R5&lt;/li&gt;
&lt;li&gt;ソニーやニコン&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最終的に &lt;strong&gt;R50&lt;/strong&gt; を選んだ理由はシンプルです：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;価格が比較的リーズナブル&lt;/li&gt;
&lt;li&gt;本体が非常に軽い&lt;/li&gt;
&lt;li&gt;自動フォーカスが高性能&lt;/li&gt;
&lt;li&gt;4K動画対応&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;R50は、非常に典型的な &lt;strong&gt;エントリーレベルのミラーレスカメラ&lt;/strong&gt; ですが、技術はよりハイエンドな機種から引き継がれています。&lt;br&gt;
&lt;img alt=&#34;图 36&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/03/07/IMG_20260304_122922.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;三dslrからミラーレスへの変化&#34;&gt;三、DSLRからミラーレスへの変化&lt;/h2&gt;
&lt;p&gt;R50を手に取った瞬間の感覚は：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;本当に軽くて小さい。&lt;/strong&gt; まるでプラスチック製のような安っぽさがあり、手の小さな女性にも向いているかもしれない。&lt;/p&gt;
&lt;p&gt;60Dは約 &lt;strong&gt;755g&lt;/strong&gt; でしたが、R50はわずか &lt;strong&gt;375g&lt;/strong&gt;。ほぼ半分の重さです。&lt;/p&gt;
&lt;p&gt;以前は60Dを1日歩き回ると、どうしても肩が少し凝ります。&lt;br&gt;
今はR50ならどこにでも持ち歩いても、ほとんど感じません。&lt;/p&gt;
&lt;p&gt;もう一つ大きな変化は &lt;strong&gt;電子ビューファインダー&lt;/strong&gt; です。&lt;/p&gt;</description>
    </item>
    <item>
      <title>《アトリ -My Dear Moments-》</title>
      <link>https://en.moejue.cn/ja/posts/308/</link>
      <pubDate>Sat, 07 Feb 2026 14:00:26 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/308/</guid>
      <description>&lt;p&gt;《ATRI -My Dear Moments-》を見終わってもう大半年経ったんだけど、&lt;br&gt;
最近コミュでATRIの顔文字が急に増えてきて、また思い出に引き込まれた。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://sumiler.com/article/1440&#34;&gt;@九日さん&lt;/a&gt;に勧めてみたら、見てゲームもプレイしてくれた。&lt;br&gt;
&lt;img alt=&#34;图 21&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/02/07/ocIEAeBeCsfSLJAIImYI7iaGgIoB8EAjAUrjQA~tplv-dy-aweme-images_q75.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;「かわいいロボット×日常癒し」みたいな軽めのアニメだと思ってたんだけど、&lt;br&gt;
見てるうちに——&lt;br&gt;
&lt;strong&gt;なんか胸がちょっと締め付けられるようになった？&lt;/strong&gt;&lt;br&gt;
&lt;img alt=&#34;图 22&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/02/07/132725300_p0.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;-世界観終末海水面上昇だがゴーストタウン風ではない&#34;&gt;🌊 世界観：終末＋海水面上昇、だがゴーストタウン風ではない&lt;/h2&gt;
&lt;p&gt;舞台設定は意外と残酷：&lt;br&gt;
未来、海面上昇で都市がほとんど水没してしまう。&lt;br&gt;
でも作品のイラストは、陰鬱なゴーストタウン風じゃなくて——&lt;br&gt;
&lt;strong&gt;陽気な空、青空、廃墟となった街並み、水面の反射、静かな小さな町。&lt;/strong&gt;&lt;br&gt;
&lt;img alt=&#34;图 27&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/02/07/138888613_p0.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;このギャップがすごく効いてる：&lt;br&gt;
世界は半分壊れてるけど、生活は続いてる。&lt;/p&gt;
&lt;h2 id=&#34;-atriアトリってキャラロボ子さんめっちゃ犯されキャラ&#34;&gt;🤖 ATRI（アトリ）ってキャラ（ロボ子さん）、めっちゃ犯されキャラ&lt;/h2&gt;
&lt;p&gt;ATRIは高性能なシンセサイザルボットだけど、&lt;br&gt;
「冷たい家政婦型AI」じゃなくて、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ちょっと毒舌&lt;/li&gt;
&lt;li&gt;ちょっと天然&lt;/li&gt;
&lt;li&gt;感情がリアルで泣いたりする&lt;/li&gt;
&lt;li&gt;むしろ人間より「人間らしい」&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;图 20&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/02/07/f742f124-3d0c-41d6-8555-f03fa30d7e74.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;軽口を叩くことも多いけど、それをじっくり考えると、&lt;br&gt;
実はそれが刺さるような言葉だったりする。&lt;br&gt;
そして**「時間がないのに、何かを残そうと必死になる」その気持ち**、&lt;br&gt;
本当に心を刺す。&lt;/p&gt;
&lt;p&gt;一言で言うと：&lt;br&gt;
👉 彼女はかわいさのためのキャラクターじゃない。この作品の魂だ。&lt;br&gt;
&lt;img alt=&#34;图 26&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/02/07/135267242_p0.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;-主人公は王道のハマりキャラじゃないけどリアル&#34;&gt;🧑 主人公は王道のハマりキャラじゃないけど、リアル&lt;/h2&gt;
&lt;p&gt;主人公は勝ち組の王道ハマりキャラじゃなくて、&lt;br&gt;
むしろ：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ちょっと消極的&lt;/li&gt;
&lt;li&gt;ちょっと現実逃避&lt;/li&gt;
&lt;li&gt;未来にもほとんど希望なし&lt;br&gt;
&lt;img alt=&#34;图 28&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/02/07/oIEiEAIyPiMwhIngARAZ1MBPBhB8INAaWVAPA~noop.jpg&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;だからこそ、ATRIとの関係が特にリアルに感じられる。&lt;br&gt;
世界を失った人間が、もうすぐ終わりの訪れる存在に出会い、&lt;br&gt;
二人でお互いを引きずり合いながらも支え合う——&lt;br&gt;
そんな関係が、「世界を救う」よりも胸を締める。&lt;/p&gt;
&lt;h2 id=&#34;感想&#34;&gt;感想&lt;/h2&gt;
&lt;p&gt;この作品の最も痛いところは、&lt;br&gt;
大きな刃で切り裂くのではなく、&lt;br&gt;
ずっとあなたに——&lt;br&gt;
&lt;strong&gt;「素晴らしい時間は、本来有限だ」&lt;/strong&gt;&lt;br&gt;
と言い続けてくること。&lt;br&gt;
&lt;img alt=&#34;图 25&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/02/07/139783132_p0.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;あなたはもうその結末を知ってるのに、&lt;br&gt;
途中で些細な日常の一瞬を貪りたくなる。&lt;br&gt;
本当に終わってみて初めて気づく：&lt;br&gt;
「失う」ことが悲しいのではなく、&lt;br&gt;
**「その日常はもう戻らない」**ことが悲しい。&lt;/p&gt;
&lt;h2 id=&#34;記憶&#34;&gt;「記憶」&lt;/h2&gt;
&lt;p&gt;もし存在が終わるなら、何を残せば「存在した」と言える？&lt;br&gt;
データ？記録？それとも誰かの記憶？&lt;/p&gt;
&lt;p&gt;ATRIの記憶は「保存・複製できるもの」に近いけど、&lt;br&gt;
理論的にはデータが残っていれば、彼女は「本当に消えてない」。&lt;br&gt;
でも観てる側としては、物語を通して彼女を冷たいバックアップファイルとは思えなくて。&lt;br&gt;
&lt;img alt=&#34;图 24&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/02/07/o0NPRaiPWw3yEBAI3hEMAGnAAAVZIMADiBV1P~tplv-dy-aweme-images_q75.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;本当に辛いのは、&lt;br&gt;
記憶が残ってても、&lt;br&gt;
一緒に過ごした時間はもう戻らないってこと。&lt;br&gt;
&lt;img alt=&#34;图 29&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/02/07/oQDPIEwhAIMUAAnBysAEHAHiBV1ZaARMiNPPW~tplv-dy-aweme-images_q75.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web3 オンチェーン紅包 DApp</title>
      <link>https://en.moejue.cn/ja/posts/303/</link>
      <pubDate>Sat, 10 Jan 2026 14:02:35 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/303/</guid>
      <description>&lt;p&gt;これは&lt;strong&gt;100%分散型&lt;/strong&gt;のブロックチェーンお年玉（レッドパケット）アプリケーションです。ユーザーはウォレットを接続し、金額と数量を設定してお年玉を送信し、リンクを通じて他の人と共有して受け取ることができます。すべてのデータと操作はブロックチェーンに基づいており、中央集権型サーバーは一切不要で、プロセス全体が安全、透明、追跡可能です。&lt;/p&gt;
&lt;p&gt;興味があれば、GitHubで私のコードをご覧ください：&lt;a href=&#34;https://github.com/iAJue/redpacket-dapp&#34;&gt;redpacket‑dapp&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;機能ハイライト&#34;&gt;機能ハイライト&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;🧧 &lt;strong&gt;お年玉の送信&lt;/strong&gt;: ウォレットを接続後、金額と数量を設定してブロックチェーンにお年玉を送信します。&lt;/li&gt;
&lt;li&gt;🎁 &lt;strong&gt;お年玉の受け取り&lt;/strong&gt;: 共有リンクを通じて、他の人はウォレットを接続してブロックチェーンから直接お年玉を受け取ることができます。&lt;/li&gt;
&lt;li&gt;🔗 &lt;strong&gt;スマートコントラクト&lt;/strong&gt;: Solidityで書かれた安全なスマートコントラクトがすべてのロジックを処理します。&lt;/li&gt;
&lt;li&gt;🌐 &lt;strong&gt;マルチチェーン対応&lt;/strong&gt;: ローカルテストネットとBSCテストネットをサポートします。&lt;/li&gt;
&lt;li&gt;💼 &lt;strong&gt;Web3統合&lt;/strong&gt;: MetaMaskウォレットを使用して接続します。&lt;/li&gt;
&lt;li&gt;🚀 &lt;strong&gt;完全分散型&lt;/strong&gt;: バックエンドサーバーがなく、すべてのデータはブロックチェーンに保存されます。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;技術スタック&#34;&gt;技術スタック&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;フロントエンド&lt;/strong&gt;：React 19、React Router 6、TypeScript、Vite、Ethers v6&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;コントラクト層&lt;/strong&gt;：Hardhat、Solidity 0.8.x&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ツール&lt;/strong&gt;：ESLint、Prettier&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;バックエンド不要&lt;/strong&gt;: サーバーへの依存なし ❌&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;クイックスタート&#34;&gt;クイックスタート&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;# 1. プロジェクトの依存関係をインストール
npm install
cd react-dapp &amp;amp;&amp;amp; npm install &amp;amp;&amp;amp; cd ..

# 2. ローカルブロックチェーンノードを起動
npm run node

# 3. スマートコントラクトをコンパイル
npx hardhat compile

# 4. スマートコントラクトをデプロイ
npm run deploy

# 5. フロントエンドを起動
npm run frontend
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;ディレクトリ構造&#34;&gt;ディレクトリ構造&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;redpacket-web3/
├─ contracts/                # Solidity スマートコントラクト
│  └─ RedPacket.sol
├─ react-dapp/               # React + Vite フロントエンド
│  ├─ src/
│  │  ├─ components/         # 共通コンポーネント（ウォレットボタン、作成フォームなど）
│  │  ├─ config/             # ABI、コントラクトアドレス設定
│  │  ├─ hooks/              # カスタムフック（useWallet）
│  │  ├─ pages/              # ページ（Home、ClaimPacket）
│  │  ├─ styles/             # グローバルスタイル
│  │  ├─ utils/              # Web3 ユーティリティ関数
│  │  └─ App.tsx             # ルーティングとレイアウト
│  ├─ .env.example           # フロントエンドに必要な環境変数説明
│  └─ package.json
├─ scripts/
│  └─ deploy.js              # Hardhat デプロイスクリプト（自動的にフロントエンド設定に書き込みます）
├─ hardhat.config.js
└─ package.json              # ルートディレクトリのスクリプト（Hardhat + フロントエンドをワンクリックで起動）
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;使用ガイド&#34;&gt;使用ガイド&lt;/h2&gt;
&lt;h3 id=&#34;お年玉の作成&#34;&gt;お年玉の作成&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;フロントエンドを開き、右上の「ウォレットを接続」をクリックします。&lt;/li&gt;
&lt;li&gt;お年玉の総額と個数を入力すると、アプリケーションがフロントエンドで金額をランダムに分割します。&lt;/li&gt;
&lt;li&gt;送信後、MetaMaskでトランザクションを確認し、ブロックの承認を待ちます。&lt;/li&gt;
&lt;li&gt;成功後、システムが生成した受け取りリンクをコピーして友人と共有できます。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;お年玉の受け取り&#34;&gt;お年玉の受け取り&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;共有リンク（URLに &lt;code&gt;/claim/{packetId}&lt;/code&gt; が含まれる）を開きます。&lt;/li&gt;
&lt;li&gt;同様にまずウォレットを接続し、「クリックして受け取る」をクリックします。&lt;/li&gt;
&lt;li&gt;署名確認後、ブロックのパッケージングを待ち、ページに結果と残り個数が表示されます。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;環境変数&#34;&gt;環境変数&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dapp/.env&lt;/code&gt;（開発環境では自動的に無視されます。&lt;code&gt;.env.example&lt;/code&gt;を参照してください）
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;VITE_RPC_URL&lt;/code&gt;：フロントエンドが直接接続するノードRPC、デフォルトは &lt;code&gt;http://127.0.0.1:8545&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;VITE_CONTRACT_ADDRESS&lt;/code&gt;：デプロイスクリプトによって書き込まれたアドレスを上書きできます。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;VITE_CHAIN_ID&lt;/code&gt;：フロントエンドが使用するチェーンID（16進数）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;root/.env&lt;/code&gt;：Hardhatで秘密鍵やBSC RPCを参照する必要がある場合は、既存の記述をそのまま使用できます。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;スマートコントラクトredpacketsol&#34;&gt;スマートコントラクト（RedPacket.sol）&lt;/h2&gt;
&lt;p&gt;コアメソッド：&lt;/p&gt;</description>
    </item>
    <item>
      <title>この一年、ブログでどんなことに取り組んできたのか</title>
      <link>https://en.moejue.cn/ja/posts/301/</link>
      <pubDate>Thu, 01 Jan 2026 11:15:49 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/301/</guid>
      <description>&lt;p&gt;いつの間にか、2025年も過ぎ去りました。
ブログの&lt;a href=&#34;https://moejue.cn/archive&#34; title=&#34;タイムライン&#34;&gt;タイムライン&lt;/a&gt;を振り返ってみると、なんと&lt;strong&gt;今年もたくさんの記事を書いていた&lt;/strong&gt;ことに気づきました。
&lt;img alt=&#34;图 17&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/01/01/new.jpg&#34;&gt;
多くの場合、「思いついたことを書く」というスタイルでしたが、振り返ってみると、どの記事もこの1年の状態をかなりリアルに記録していました。&lt;/p&gt;
&lt;p&gt;この記事は、自分自身へ、そしていつもブログを見に来てくださる皆さんへの年末のご報告とさせていただきます。&lt;/p&gt;
&lt;h2 id=&#34;この一年ブログは何を書いた&#34;&gt;この一年、ブログは何を書いた？&lt;/h2&gt;
&lt;p&gt;2025年のブログ内容をいくつかのキーワードでまとめると、おそらくこうなります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;技術的な試行錯誤 + 二次元 + 日常エッセイ&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;技術関連やはりたくさん書いた&#34;&gt;技術関連、やはりたくさん書いた&lt;/h3&gt;
&lt;p&gt;今年のブログでは、技術系のコンテンツが依然として大きな割合を占めており、毎年多くのプロジェクトについて書いています。
主な内容は以下の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブログの国際化自動化ソリューションの実装&lt;/li&gt;
&lt;li&gt;現在、web3ブロックチェーンの小さなプロジェクトも書いていますが、まだ公開していません。&lt;/li&gt;
&lt;li&gt;MoeKoe Musicも1年以上メンテナンスしており、累計50以上のバージョンをリリースしました。&lt;/li&gt;
&lt;li&gt;ツール系、個人的なファン向けの大小さまざまなプロジェクト&lt;/li&gt;
&lt;li&gt;少しハードウェア関連の小さなもの&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;图 14&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/01/01/QQ20251227-134031.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;二次元--観後感楽しく書けた&#34;&gt;二次元 &amp;amp; 観後感、楽しく書けた&lt;/h3&gt;
&lt;p&gt;今年は二次元関連のコンテンツもたくさん書きました。例えば：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;某アニメ/ソシャゲのフィギュア開封&lt;/li&gt;
&lt;li&gt;特定のキャラクターやシーンに対する個人的な解釈、視聴後の雑感&lt;/li&gt;
&lt;li&gt;見終わった後に「何か言わずにはいられない」という感想&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;『狼と香辛料』のような作品は、書いているときに本当に感情移入して、一行ごとに涙がこぼれました。
このような記事は通常、「専門的に分析する」ためではなく、むしろ：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;「この展開は心に刺さった、記録しておきたい。」&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;ブログについて&#34;&gt;ブログについて&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;来年、ブログ開設10周年記念日を迎えます。その際には、サプライズイベントを予定しています。&lt;/li&gt;
&lt;li&gt;今年は私もプログラミング経験10年のフルスタックエンジニアになりました。&lt;/li&gt;
&lt;li&gt;昨年同時期にリリースしたMoeKoe Musicは、今年4.5Kスターを達成しました。&lt;/li&gt;
&lt;li&gt;ついにブログの国際化ソリューションも導入しました。&lt;/li&gt;
&lt;li&gt;ブログ界の知人の多くは、年に一度しか更新しないブロガーになってしまいました。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;時には記事が長くなく、体系的でなくても、&lt;strong&gt;一つの問題を解決したり、一つの考えを表現したりしただけで、残す価値がある&lt;/strong&gt;のです。&lt;/p&gt;
&lt;p&gt;そして、書けば書くほど気づくのは：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ブログの最大の価値は、実は未来の自分が見るためだということです。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img alt=&#34;图 15&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/01/01/%E5%9B%BE%E5%B1%82%204.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;この一年できなかったこともあった&#34;&gt;この一年、できなかったこともあった&lt;/h2&gt;
&lt;p&gt;もちろん、すべての計画が完了したわけではありません。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;シリーズとして書きたかった内容も、結局1、2記事しか書けませんでした。&lt;/li&gt;
&lt;li&gt;いくつか掘った穴も、埋められませんでした。&lt;/li&gt;
&lt;li&gt;たまに怠けて、更新が遅れたり、しばらく書きたくなくなったりすることもありました。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;でも、今はもう割り切っています。
ブログはKPIでもタスクリストでもありません。&lt;strong&gt;書き続けること自体が、多くの「計画」に勝っている&lt;/strong&gt;のですから。&lt;/p&gt;
&lt;h2 id=&#34;2026年への小さな期待&#34;&gt;2026年への小さな期待&lt;/h2&gt;
&lt;p&gt;特に壮大な目標を立てるわけではなく、いくつか簡単に述べます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブログを書く習慣を続ける&lt;/li&gt;
&lt;li&gt;技術コンテンツは実践的で、薄っぺらくないものにする&lt;/li&gt;
&lt;li&gt;二次元や個人的な感想は、書きたいときに書く&lt;/li&gt;
&lt;li&gt;ブログはあくまでブログであり、ストレス源にしない&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;もし、いつか書いた内容が、
たまたま誰かの役に立ったり、「ああ、私も同じ気持ちだ」と感じてもらえたりしたら、それだけで十分価値があります。&lt;/p&gt;
&lt;h2 id=&#34;最後に&#34;&gt;最後に&lt;/h2&gt;
&lt;p&gt;2025年のブログは、おそらくこんな感じでした。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;完璧ではないけれど、とてもリアル。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;この一年、たまにクリックして見てくださったあなたに感謝します。
そして、このブログを捨てずにいられた自分にも感謝します。&lt;/p&gt;
&lt;p&gt;2026年も、ゆっくりと書き続けていこうと思います。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;图 16&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2026/01/01/0A35EEF0F58D21DD72873440A934F817.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>狼と香辛料</title>
      <link>https://en.moejue.cn/ja/posts/298/</link>
      <pubDate>Wed, 17 Dec 2025 21:23:50 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/298/</guid>
      <description>&lt;p&gt;2025年12月16日 夜
ちょうど『狼と香辛料』2024年リメイク版を見終えたところだ。結末が良くないと聞いていたが、私は本来、3話分くらいの量があると思っていた。第一期の最後には故郷を探す旅に出ていたし、もう一期見られると思っていたから、結末がそんなに悪いわけがないだろうと。
しかし、私は勘違いしていた。私が観ていたのは、シーズン1と2を合わせたリメイク版だったのだ。
&lt;img alt=&#34;图 4&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/12/17/QQ20251217-203602.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;見終えて意気揚々と第三期を見ようとしたら、存在しないと告げられた時の気持ちは、まるで広大な砂漠の中で喉が渇き死にそうになっている時に、突然一本の水を拾い、まだ口にする前に一刀両断されて地面にこぼれ落ちるような絶望感だ。君にはわかるだろうか。
&lt;img alt=&#34;图 13&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/12/17/bb60dd93f666d371d736d43fe744d96929540396.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;私はこれより前にVR版をプレイしたことがあったので、旅は楽しく、愉快で、気楽で、面白く、心温まるものだと思っていた。まさかこれほど波乱に満ち、悲しく、現実的なものだとは思いもしなかった。もちろん、旅の中の美しいものや感動を否定するわけではない。
&lt;img alt=&#34;图 3&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/12/17/1559714311_441668_1.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;見終えた後、心は長い間落ち着かなかった。ベッドに横になり、色々なことを考えた。そのせいで12時を過ぎても眠れなかった。
&lt;img alt=&#34;图 6&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/12/17/D113D16694A4C2652A030E6ECB0A604D_1.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;劇中の音楽はとても素晴らしかった。
始まりと終わりは完璧に呼応していた。冒頭と結末にあんなに悲しいBGMが流れるので、私はロレンスがもう亡くなったのかと思った。幸いなことに、最後はドアを開けて戻ってきた。
ホロとロレンスは最終的に結ばれ、北方に定住し、自分たちの小さな店を開き、そして娘を一人もうけたことが見て取れる。この結末はやはりかなり喜ばしいものだ。
&lt;img alt=&#34;图 8&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/12/17/QQ20251217-210435.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;新アニメ版の結末は、毒麦の事件が終わった後も、立ち止まることなく、また慌ただしく旅に出た。第二期の最終話としては、少し急ぎ足に感じた。これまでのパターンなら、もう少し感動的な演出があるべきだった。
最後もホロの語り声で終わった。(しかし、第三期はすでに予告されていると聞いた)
ホロの故郷もまだ見つかっていない気がするし、二人の関係もあと一歩というところで、少し残念だ。
しかし、見終えた後、私は旧版の最終話をちらっと見てみたところ、ロレンスが告白していたのを発見した。
これは旧版をもう一度見なければならないな。そうすれば、良い結末になるかもしれない。
&lt;img alt=&#34;图 5&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/12/17/7nld1h7xhdpd1.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;異種間の結合は、常にこの問題に直面する。必ずどちらか一方が先に逝き、残された一方は百年の孤独に耐えなければならない。
同種である人間でさえ、どちらか一方が先に逝くことがある。そして残された方は、おそらく一、二十年待つことになる。幸いなことに、人間は年を取ると頭がはっきりしなくなり、物忘れが激しくなるので、やがて昔のことも思い出さなくなるだろう。
&lt;img alt=&#34;图 11&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/12/17/QQ20251217-205214.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;ロレンスは結局のところ普通の人間だ。彼もいつか死ぬ日が来る。その時、ホロはまた一人ぼっちに戻ってしまうのだ。
ここまで考えると、とても悲しく、辛い気持ちになる。&lt;/p&gt;
&lt;p&gt;一緒に過ごした時間はとても美しかった。一緒にふざけたり、遊んだり、生活したり、一緒に経営した温泉宿。
時間がゆっくりと過ぎていくにつれて、ロレンスはゆっくりと年老いていった。しかしホロは、初めて出会った時と同じように若く美しかった。
ある日、ロレンスはゆっくりと歩けなくなり、記憶も衰え始め、ホロの世話が必要になった。
ホロは毎日、心を込めてロレンスの世話をした。彼が若かった頃、自分を世話してくれたり、譲ってくれたりしたように。
ある日突然、ロレンスを呼んでも返事がなく、ベッドに横たわったまま起き上がらなかった。分かっていたけれど、考えたくなかったその日がやはり来てしまった。ロレンスは逝ってしまったのだ。
ホロはベッドの傍らにうつ伏せになり、ロレンスの手を握りしめて大声で泣き出した。
どれくらいの時間が経ったのか分からないが、ホロは我に返らなかった。その後、ロレンスの葬儀を執り行った。
その日以来、ホロは魂が抜けたような状態のままだった。ロレンスとの温泉宿にずっと留まっていた。
どれくらいの年月が過ぎたのか分からないが、ホロは一人で再び旅に出ることを決意した。ロレンスと昔一緒に歩いた道を辿り、北から南へと旅を続けた。
以前通った村々は、すでに面影もなく変わってしまっていた。誰も私を知る者はいない。皆、ロレンスと同じようにいなくなってしまった。あの誰かの弟子も、子供だったのが年老いたおじいさんになっていた。記憶は曖昧ながらもホロを認識した。
私もまた、あの辛くも温かい思い出を振り返り、涙を流した。
最後に、かつて出会った小さな村に戻った。そこにはあの麦畑があった。しかし、今残っているのは私だけだ。この先の道は、またどこへ向かうべきなのだろうか…。
私はまた一人になってしまった…。
&lt;img alt=&#34;图 7&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/12/17/QQ20251217-210056.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;上記の妄想は、実は私がホロに自分を重ね合わせ、共感しながら未来に起こるであろうことを考えたものだ。そして、もし私がそうだったらどうするか、私は再び旅に出て、かつての美しい思い出を辿るだろう。
適切な人に出会うのは非常に難しい。ホロのような神は、一生に一人しか伴侶を持たないだろう。次の相手を探すことは不可能だ。&lt;/p&gt;
&lt;p&gt;実際、幸いなことに彼らには娘が一人いる。世話をする娘がいるので、ホロに寄り添うことができ、それほど孤独にはならないだろう。
実際、ホロの他の仲間たちもまだ生きているはずだ。
&lt;img alt=&#34;图 9&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/12/17/QQ20251217-204317.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;あれこれ考えていると、自分の人生に重ねてしまう。
人間は皆貪欲だ。権力者であればあるほど、不老不死を願う。
一方、ホロは神として、ロレンスと一緒にいるようになってから、「もし有限の命だったらどんなに良いだろう」と考えるようになった。
一緒にいることを恐れているのではなく、一緒にいた後の喪失を恐れているのだ。私はすでに、あまりにも多くの人々が一人また一人と自分のもとを去っていくのを見てきたから。
&lt;img alt=&#34;图 10&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/12/17/QQ20251217-203836.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;どう表現すればいいのか分からないが、心がとても痛い。考えれば考えるほど怖くなる。胸がずっと締め付けられるようで、息ができない。
人間は結局のところ感情の動物であり、感情に押しつぶされて息ができなくなる。結局、感情のない冷血動物ではないのだ。
&lt;img alt=&#34;图 12&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/12/17/QQ20251217-205404.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;アニメを見て傷ついた。
具体的にどこが傷ついたのかと聞かれれば、心が傷ついたのだ。&lt;/p&gt;</description>
    </item>
    <item>
      <title>エントロピー増大、死、そして人生</title>
      <link>https://en.moejue.cn/ja/posts/297/</link>
      <pubDate>Thu, 11 Dec 2025 20:11:20 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/297/</guid>
      <description>&lt;p&gt;先日動画を観ていた時、私は初めて、見慣れないけれど少し抑圧的な言葉を目にしました——&lt;strong&gt;エントロピー増大&lt;/strong&gt;。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;エントロピー増大とは、物理学の概念で、システムの無秩序な状態がますます高まることを指します。
簡単に言えば：&lt;strong&gt;どれだけ努力しても、世界は常に乱れ、散らばり、崩壊する方向へと向かっています。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;動画では例が挙げられていました。
&lt;strong&gt;「なぜ、誰も住まなくなった家はすぐに荒廃してしまうのか？」&lt;/strong&gt;
これがエントロピー増大の概念を引き出しました。&lt;/p&gt;
&lt;p&gt;家の中に誰もいなければ、埃は少しずつ積もり、物は徐々に散らかり、空気中の湿気が壁を侵食します……やがて家は見るも無残なほどに荒廃してしまいます。
しかし、もし家の中に人がいれば、人々は掃除をし、物を整理し、家は清潔に保たれます。
時間はまるで大きな手のように、すべてを無秩序へと押しやります。&lt;/p&gt;
&lt;p&gt;それは俗に言う「人の気配」です。
まるで、新しくリフォームしたばかりの家に自分では住まず、すぐに貸し出して、他人にホルムアルデヒドを吸い取ってもらうようなものですね（笑）。&lt;/p&gt;
&lt;h3 id=&#34;コメント欄の一言が私の胸を強く打ちました&#34;&gt;&lt;strong&gt;コメント欄の一言が、私の胸を強く打ちました&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;ある人がこう書いていました。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;読んだ後、また辛くなった。小さい頃からずっと考えていたこと：
私は今生きていて、脳でどんなことでも記録できる。
でも、私が死んだら、私の思考は完全に消え去り、もう私はいなくなる。
そう考えると、本当に辛くなる。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;この言葉が、私を突然子供の頃に引き戻し、忘れ去っていた記憶が呼び覚まされたのです。&lt;/p&gt;
&lt;h3 id=&#34;私が初めて死というものを意識した時&#34;&gt;&lt;strong&gt;私が初めて「死」というものを意識した時&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;たぶん、とても幼い頃、私は初めて真剣に「自分は死ぬんだ」と考えました。
自分が死んだ姿を想像し、そして死後の世界を夢想しました。&lt;/p&gt;
&lt;p&gt;死んだら、私の意識は消え、学んだ知識やスキルも存在しなくなるだろうと思いました。
この感覚がとても辛く、自分自身を失うこと、永遠に消え去ることを恐れました。
最後はいつも泣きながら母の腕の中に飛び込みました。
そうすれば、少しでも確かなものを掴んで、世界が完全にバラバラにならないようにできる、とでも言うかのように。&lt;/p&gt;
&lt;h3 id=&#34;後に友人とこの話題について話した時初めて気づきました&#34;&gt;&lt;strong&gt;後に友人とこの話題について話した時、初めて気づきました…&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;私だけではなかったのだと。&lt;/p&gt;
&lt;p&gt;その日、私がグループチャットで少し話したところ、隣の&lt;strong&gt;九日さん&lt;/strong&gt;も子供の頃に同じようなことを考えていたと言いました。
この恐怖は「私だけがおかしい」のではなく、
多くの人が心の中で密かに戦ってきた戦いだったのです。&lt;/p&gt;
&lt;h3 id=&#34;大人になってからも私はしばしばこれらの問題を思い出します&#34;&gt;&lt;strong&gt;大人になってからも、私はしばしばこれらの問題を思い出します&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;私たちはなぜ生きているのか？&lt;/li&gt;
&lt;li&gt;人生の意味とは何か？&lt;/li&gt;
&lt;li&gt;私たちがするすべてのことは、最終的に無に帰すのだろうか？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;結局のところ、私たちは何も持たずに生まれ、何も持たずに死んでいくのですから。
努力、達成、お金、人間関係……
いつかすべてを手放さなければなりません。&lt;/p&gt;
&lt;p&gt;その日、私は九日さんに言いました。
&lt;img alt=&#34;图 1&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/12/11/791b6949-2f4b-41d3-b472-afcd84e48b7d.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;「仕事も、生活も、厳密に言えば意味なんてない。&lt;/strong&gt;
&lt;strong&gt;でも、自分が楽しいと思えること、価値があると思えることをすれば、それで十分なんだよ。」&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;おそらく、だからこそ、
歴史上の人物たちは「歴史に名を残す」ことをあれほどまでに熱望したのでしょう。
それは虚栄心のためではなく、
&lt;strong&gt;エントロピー増大&lt;/strong&gt;と&lt;strong&gt;忘却&lt;/strong&gt;という二つの巨大な力に対抗するためだったのです。&lt;/p&gt;
&lt;p&gt;ほら、不朽を望む人もいれば、記憶されたいと願う人もいる。
結局のところ、それは「私」が完全に消え去ることを望まない気持ちなのです。&lt;/p&gt;
&lt;h3 id=&#34;これは私にatri--my-dear-moments-のあの言葉を思い出させます&#34;&gt;&lt;strong&gt;これは私に『ATRI -My Dear Moments-』のあの言葉を思い出させます——&lt;/strong&gt;&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;「どうせ死ぬからって足掻くのをやめたら、人間の人生なんて意味がない。」&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;もし本当にアトリのように、人の記憶、思考、感情をすべて保存できるなら、
消えること、忘れられること、混乱に帰すことを心配せずに済むなら……
それはどれほど優しいことでしょう。&lt;/p&gt;
&lt;p&gt;しかし、現実世界には「永久保存」はありません。
私たちはただ、時間がすべてを古くし、散らし、遠ざけていくのを見ていることしかできません。
&lt;img alt=&#34;图 2&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/12/11/7b5d1b69-126d-4687-87d6-1e16825e0d88.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;たとえ来世があったとしてもそれがどうだというのか&#34;&gt;&lt;strong&gt;たとえ来世があったとしても、それがどうだというのか？&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;来世で、もしあの孟婆湯を飲んで、
『&lt;a href=&#34;https://moejue.cn/archives/106&#34; title=&#34;可塑性記憶&#34;&gt;可塑性記憶&lt;/a&gt;』のアイラのように——
自分を忘れ、かつて愛した人を忘れ、
泣いたこと、笑ったこと、胸が高鳴ったこと、すべてを忘れてしまうとしたら……&lt;/p&gt;
&lt;p&gt;そのような生まれ変わりは、別の種類の死に他ならないのではないでしょうか。&lt;/p&gt;
&lt;h3 id=&#34;だからおそらく生命の意味は何かのためなどではないのでしょう&#34;&gt;&lt;strong&gt;だから、おそらく生命の意味は、何かのためなどではないのでしょう&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;私たちはエントロピー増大を止めることも、時間の流れを食い止めることもできません。&lt;/p&gt;
&lt;p&gt;しかし、私たちはこの混乱へと向かう旅路の中で、
絶えず：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;部屋を片付ける&lt;/li&gt;
&lt;li&gt;関係を修復する&lt;/li&gt;
&lt;li&gt;文章を書き記す&lt;/li&gt;
&lt;li&gt;好きな人を一度抱きしめる&lt;/li&gt;
&lt;li&gt;自分自身の小さな光を少しだけ灯す&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これらは非常に微細で、ほとんど力もなく、宇宙の傾向に全く抗えないことですが、
私たちが生きているこの瞬間において
「私が存在した」ことを現実のものにしてくれます。&lt;/p&gt;</description>
    </item>
    <item>
      <title>阿珏のBlog の国際化への道</title>
      <link>https://en.moejue.cn/ja/posts/291/</link>
      <pubDate>Sun, 02 Nov 2025 10:12:27 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/291/</guid>
      <description>&lt;p&gt;最近、個人ブログに「大改修」を施しました。
単一言語バージョンから&lt;strong&gt;多言語サイト&lt;/strong&gt;（簡体字中国語、繁体字中国語、英語、日本語）にアップグレードし、
その全プロセスを自動化しました。💪&lt;/p&gt;
&lt;p&gt;主な内容は以下の通りです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;メインサイトの記事を自動同期&lt;/li&gt;
&lt;li&gt;コンテンツを自動AI翻訳&lt;/li&gt;
&lt;li&gt;多言語サイトの自動構築とデプロイ&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;なぜ-hugo-を選んだのか&#34;&gt;なぜ Hugo を選んだのか？&lt;/h2&gt;
&lt;p&gt;それは、その自信に満ちたスローガンがあったからです。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“The world’s fastest framework for building websites.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;—— この一言で、これに決めました 😆。&lt;/p&gt;
&lt;p&gt;しかし、私は「一つのテーマで多言語を切り替える」という伝統的な方法ではなく、
&lt;strong&gt;各言語に独立したテーマ&lt;/strong&gt;を持たせることにしました。
これにより、各言語バージョンが独自のデザインとレイアウトスタイルを保持し、
真に「文化的なローカライゼーション」を実現できます。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;設計目標と制約-&#34;&gt;設計目標と制約 🎯&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;言語&lt;/strong&gt;: 簡体字中国語、繁体字中国語、英語、日本語をサポートし、将来的に拡張可能。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;テーマ&lt;/strong&gt;: 各言語に最適な Hugo テーマを使用し、無理に再利用しない。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;コンテンツ同期&lt;/strong&gt;: 全言語で一つのコンテンツリポジトリを共有し、必要に応じて翻訳。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;デプロイ戦略&lt;/strong&gt;: 各言語を独立して構築・公開し、異なるブランチやドメインにデプロイ可能。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;カスタムページ&lt;/strong&gt;: 「友だちリンク」、「書斎」、「アーカイブ」などのページは、多言語で一貫した体験を維持する。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;多言語設定戦略-&#34;&gt;多言語設定戦略 🧩&lt;/h2&gt;
&lt;p&gt;各言語用に個別の設定ファイルを用意しました。
&lt;code&gt;config/&amp;lt;lang&amp;gt;.toml&lt;/code&gt; で、主に以下の役割を担います。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;テーマの指定（例: &lt;code&gt;theme = &amp;quot;PaperMod&amp;quot;&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;その言語固有の &lt;code&gt;title&lt;/code&gt; / &lt;code&gt;description&lt;/code&gt; / &lt;code&gt;keywords&lt;/code&gt; の定義。&lt;/li&gt;
&lt;li&gt;異なるテーマのナビゲーション構造に合わせるためのメニュー設定 &lt;code&gt;[[params.menu]]&lt;/code&gt; の上書き。&lt;/li&gt;
&lt;li&gt;全体的な視覚的一貫性を保証するためのカスタムスタイルの注入。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;この構造は非常に明確で、将来的にさらに多くの言語バージョンを拡張するのにも便利です。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;github-actions-自動デプロイマトリックス-&#34;&gt;GitHub Actions 自動デプロイマトリックス ⚙️&lt;/h2&gt;
&lt;p&gt;CI/CD 部分は完全に GitHub Actions に任せています。
&lt;code&gt;.github/workflows/hugo.yml&lt;/code&gt; では、&lt;strong&gt;マトリックスビルド&lt;/strong&gt;を使用し、
各言語を独立して構築・公開しています。&lt;/p&gt;</description>
    </item>
    <item>
      <title>あなたのバグがすべて再現し、コードが永遠にクラッシュしませんように。</title>
      <link>https://en.moejue.cn/ja/posts/290/</link>
      <pubDate>Fri, 24 Oct 2025 20:12:46 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/290/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;图 1&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/10/24/10-24.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;今日は &lt;strong&gt;1024 プログラマーの日&lt;/strong&gt; です。
コードとコーヒー、バグとホットフィックスに捧げられるこの日に、
まだコードと格闘しているすべてのエンジニアに敬意を表しましょう。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-仕事の日常編&#34;&gt;💻 仕事の日常編&lt;/h2&gt;
&lt;p&gt;皆様にとって新しい一年が——
バグはすべて再現され、
テスト環境は決して本番環境と同じにならない。&lt;/p&gt;
&lt;p&gt;要件は何度も変更され、
プロダクトマネージャーは常に「もう一度考え直す」と言っている。&lt;/p&gt;
&lt;p&gt;デプロイは毎回賭けのようで、
ロールバックは毎回火消しのようだ。&lt;/p&gt;
&lt;p&gt;VPNは繋がらず、Gitのコンフリクトは絶えず、
Jenkinsは毎日ストライキ。&lt;/p&gt;
&lt;p&gt;コードレビューで反論され、APIドキュメントは常に1ページ足りない。
朝デプロイしたばかりなのに、午後には顧客からクレーム。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-オフィス環境編&#34;&gt;🪑 オフィス環境編&lt;/h2&gt;
&lt;p&gt;デスクの隣にはいつも電話している営業が座っていて、
社員証ではドアが開かず、
自分のデスクはいつもトイレから一番遠い。&lt;/p&gt;
&lt;p&gt;996なんて大したことない、007が常態。
午前中に会議、午後に会議、
夜には振り返りも。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-残業最高編&#34;&gt;🔧 残業最高編&lt;/h2&gt;
&lt;p&gt;上司は「これは簡単だ」と言うけれど、
あなたは午前3時まで修正している。&lt;/p&gt;
&lt;p&gt;給料は上がらず、髪は抜け落ち、PCはまだ固まる。
要件は不明確、時間は足りない、責任はすべてあなたに。&lt;/p&gt;
&lt;p&gt;あなたが書いたコードは誰も理解せず、
あなたが修正したコードはすべて問題の元。&lt;/p&gt;
&lt;p&gt;書き終えたばかりの機能は削除され、
削除したばかりの機能はまた追加される。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-定番の会話編&#34;&gt;🧠 定番の会話編&lt;/h2&gt;
&lt;p&gt;あなたが「これはできません」と言うと、
彼らは「他社ではできている」と言う。
あなたが「これにはリスクがあります」と言うと、
彼らは「まずはデプロイしてから考えましょう」と言う。
あなたが「これには時間がかかります」と言うと、
彼らは「明日にはデプロイです」と言う。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-最後の祝福&#34;&gt;🎉 最後の祝福&lt;/h2&gt;
&lt;p&gt;あなたのコードにバグがなく、
デプロイが失敗せず、
上司に急かされず、
給料が倍になりますように！💰&lt;/p&gt;
&lt;p&gt;あなたが書くすべてのコードが尊重され、
すべての残業が報われますように。
—— プログラマーの皆様、おめでとうございます ❤️&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;-最後に&#34;&gt;📅 最後に&lt;/h3&gt;
&lt;p&gt;10月24日は、プログラマーの日です。
「1024 = 2¹⁰」であることから、プログラマーの二進法の世界を象徴しています。&lt;/p&gt;
&lt;p&gt;今日、あなたがコードを書いていようと、バグを修正していようと、徹夜でデプロイしていようと、
すべて尊重され、理解されるべきです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;キーボードで世界を支えるあなたへ、敬意を表します。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://moejue.cn/archives/tag/1024&#34;&gt;1024私たちはいつもここに&lt;/a&gt;
&lt;img alt=&#34;图 0&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/10/24/1024.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>第三世代ランダム二次元APIが登場！</title>
      <link>https://en.moejue.cn/ja/posts/288/</link>
      <pubDate>Wed, 15 Oct 2025 01:31:22 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/288/</guid>
      <description>&lt;p&gt;皆さんが使い倒したあのランダム画像APIを覚えていますか？本日、それがアップデートされました！過去数年間、&lt;strong&gt;ランダム画像API&lt;/strong&gt;は多くのフロントエンド開発者、二次元サイト運営者、さらにはデスクトッププラグイン愛好家にとっての「おもちゃ」であり「常用ツール」でした。&lt;/p&gt;
&lt;h3 id=&#34;-第一世代シンプルだが扱いにくい出発点&#34;&gt;🥇 第一世代：シンプルだが扱いにくい出発点&lt;/h3&gt;
&lt;p&gt;当時のランダム画像APIは、正直なところ——単なるPHPスクリプトと1台のクラウドホストでした。当時の目標はシンプルでした：&lt;strong&gt;ランダムな画像を返すAPIを提供する&lt;/strong&gt;こと。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;特徴は以下の通りです：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;すべてのリクエストが1台のサーバーに集中していました；&lt;/li&gt;
&lt;li&gt;画像ストレージとAPIサービスが密結合していました；&lt;/li&gt;
&lt;li&gt;キャッシュなし、スマートな分散なし、単一ポイントのパフォーマンスに完全に依存していました；&lt;/li&gt;
&lt;li&gt;ピーク時にはCPUが急上昇し、502エラーが発生し、アクセスが遅く、トラフィックとストレージを消費していました；&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[クライアント] ---&amp;gt; [中央サーバー(唯一)] ---&amp;gt; [画像ファイル]
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;-第二世代クラウド化とキャッシュの過渡期&#34;&gt;🥈 第二世代：クラウド化とキャッシュの過渡期&lt;/h3&gt;
&lt;p&gt;第二世代に入ると、ランダム画像APIは「クラウド化」の段階へと移行しました。サービスはクラウドへ移行し、キャッシュ、CDN、ロードバランシングが導入されました。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;主な変更点：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;画像は第三者の画像ホスティングサービス（例：新浪図床）に一元的にホストされました；&lt;/li&gt;
&lt;li&gt;APIはクラウドホストまたは軽量アプリケーションサーバー上で動作しました；&lt;/li&gt;
&lt;li&gt;基本的なキャッシュロジック（例：RedisまたはNginxキャッシュ層）が追加されました；&lt;/li&gt;
&lt;li&gt;サービス全体がより安定し、アクセス速度も大幅に向上しました。&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[クライアント]
   ↓
[クラウドサーバーAPI層] --&amp;gt; [CDN キャッシュ] --&amp;gt; [画像ホスティングサービス(Sina)]
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;アクセスは依然として中央サーバーを経由する必要があり、高負荷時や地域ネットワークの分布が不均一な場合、遅延は依然として顕著でした。&lt;/li&gt;
&lt;li&gt;すべてのリクエストはやはり「中央サーバー」を経由する必要があり、&lt;/li&gt;
&lt;li&gt;一度サーバーがダウンすれば、全体が巻き添えを食らいました 💀。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-第三世代ランダム画像apiが登場&#34;&gt;🚀 第三世代ランダム画像APIが登場！&lt;/h3&gt;
&lt;h4 id=&#34;-主要なハイライト&#34;&gt;✨ 主要なハイライト&lt;/h4&gt;
&lt;p&gt;第三世代ランダム画像APIは、&lt;strong&gt;アーキテクチャレベルでの再生&lt;/strong&gt;です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tencent Cloud EdgeOne&lt;/strong&gt;の&lt;strong&gt;3200以上のエッジノード&lt;/strong&gt;の強力な能力に支えられ、リクエストは&lt;strong&gt;グローバルに自動的にスケジューリング&lt;/strong&gt;され、ユーザーに最も近いノードで実行されます。これにより、真の&lt;strong&gt;非中央集権型分散アーキテクチャ&lt;/strong&gt;が実現されました。&lt;/p&gt;
&lt;h4 id=&#34;-主な変更点&#34;&gt;⚡️ &lt;strong&gt;主な変更点：&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;🌐 EdgeOneエッジノードネットワークに依存；&lt;/li&gt;
&lt;li&gt;🧠 スマートなスケジューリング、近接応答；&lt;/li&gt;
&lt;li&gt;🧱 エッジ関数をトリガーし、ノードで直接ロジックを実行；&lt;/li&gt;
&lt;li&gt;📉 アクセス遅延が大幅に削減され、安定性と可用性が大幅に向上。&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;                            ┌────────┐
 [クライアント]  ──▶      │ 最も近いエッジノード │
                             └───┬─────┘
                                    ↓
                              [エッジ関数がリクエストを処理]
                                    ↓
                            [ランダム画像リンクを応答]
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;-システムアップデート&#34;&gt;🗂 システムアップデート&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;2.8万枚の画像&lt;/strong&gt;を追加し、コンテンツがより豊富に；&lt;/li&gt;
&lt;li&gt;✅ システムアーキテクチャを完全に再構築；&lt;/li&gt;
&lt;li&gt;✅ 旧バージョンのアクセス制限を削除；&lt;/li&gt;
&lt;li&gt;⚠️ 画像は引き続き新浪図床にホストされています（歴史的および周知の理由により）、一時的に中継アクセスを介しています。&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h4 id=&#34;-アクセス体験アドレス&#34;&gt;📡 &lt;strong&gt;アクセス体験アドレス&lt;/strong&gt;：&lt;/h4&gt;
&lt;p&gt;👉 &lt;a href=&#34;https://random.moejue.cn&#34;&gt;https://random.moejue.cn&lt;/a&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://random.moejue.cn/images/test.jpg&#34;&gt; &lt;em&gt;注：周知の理由により、グローバルアクセラレーションゾーン（中国大陸を除く）&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>橘希望＆橘光、双子の元気律動</title>
      <link>https://en.moejue.cn/ja/posts/282/</link>
      <pubDate>Sun, 07 Sep 2025 03:23:11 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/282/</guid>
      <description>&lt;h3 id=&#34;-キャラクター紹介&#34;&gt;🎀 キャラクター紹介&lt;/h3&gt;
&lt;p&gt;橘希望（Kitsuho Nozomi）と橘光（Kitsuho Hikari）は、『ブルーアーカイブ』に登場するSRT特殊学園の双子の幼いロリ警官です。 &lt;img alt=&#34;图 1&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/GrOQHeeXkAAx8CM.jpg&#34;&gt;
二人は小さくて可愛らしい体つきで、まるで小さな人形のよう。その動きには、しなやかさと茶目っ気が感じられます。ノゾミは活発でいたずら好きで、いつもいたずらっぽい笑みを浮かべています。 &lt;img alt=&#34;图 3&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_20250726_124931.jpg&#34;&gt;
ヒカリは少しおとなしいですが、姉に誘われて時折いたずらっぽい一面を見せることもあります。 &lt;img alt=&#34;图 4&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_20250726_124823.jpg&#34;&gt;
彼女たちの象徴的な緑のロングヘア、青い警察官の制服、そして小さな帽子は、一目見ただけで「守ってあげたい」と思わせる魅力があります。&lt;/p&gt;
&lt;h3 id=&#34;-開封の瞬間双子共演の迫力&#34;&gt;📦 開封の瞬間：双子共演の迫力&lt;/h3&gt;
&lt;p&gt;外箱を開けた瞬間、目の前に現れたのは、深青の警察官の制服を身につけた、活気に満ちた双子の少女たち――&lt;strong&gt;橘希望&lt;/strong&gt;と&lt;strong&gt;橘光&lt;/strong&gt;。彼女たちは、まるでゲームの立ち絵から飛び出してきたかのように、茶目っ気たっぷりで躍動感あふれるダンスポーズで登場します。 &lt;img alt=&#34;图 0&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_20250726_124741.jpg&#34;&gt;
そのダイナミックなポーズと可愛らしい表情は、まるで「主人に目立つ場所に飾ってほしい」と呼びかけているかのようです。 &lt;img alt=&#34;图 2&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_20250726_124856_1.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;-外観のディテール双子の魅力&#34;&gt;👀 外観のディテール：双子の魅力&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;髪色&lt;/strong&gt;：緑色のロングヘアは繊細なグラデーションがかかっており、髪の毛は自然に揺れ動き、光の下ではより立体感が増します。毛先はわずかにカールしており、躍動感にあふれ、まるで空気中で揺れているかのようです。 &lt;img alt=&#34;图 15&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8344.jpg&#34;&gt;
&lt;img alt=&#34;图 14&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8339.jpg&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;表情&lt;/strong&gt;：ノゾミはいたずらっぽい笑みを浮かべ、ヒカリは少し口を尖らせて可愛らしく見せています。二つの異なる性格が同じ台座の上でぶつかり合い、非常に面白いです。 &lt;img alt=&#34;图 12&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8326.jpg&#34;&gt;
&lt;img alt=&#34;图 13&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8328.jpg&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;服装のディテール&lt;/strong&gt;：青いショート丈のトップスにミニスカートを合わせたデザインで、細部の比率が完璧で、幼いロリの可愛らしいスタイルを損なっていません。 &lt;img alt=&#34;图 17&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8352.jpg&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;帽子のデザイン&lt;/strong&gt;：小さな帽子が斜めに頭に乗せられており、彼女たちの頭部の繊細な比率と小柄な体型をより一層引き立てています。 &lt;img alt=&#34;图 16&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8353.jpg&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-脚部の描写元気と躍動感&#34;&gt;💫 脚部の描写：元気と躍動感&lt;/h3&gt;
&lt;p&gt;小柄な体型にすらりとした脚の比率が、このフィギュアのハイライトの一つです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;流れるようなライン&lt;/strong&gt;：太ももからふくらはぎにかけてのラインの移行は曲線美に満ちており、わずかな赤みが透けて見え、小さくて可愛らしい体型にさらなる精巧さを加えています。 &lt;img alt=&#34;图 8&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8334.jpg&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;肌の塗装&lt;/strong&gt;：脚部には柔らかなグラデーション塗装が施されており、太ももの内側と膝のあたりにはわずかな赤みがかったグラデーションがあり、PVC素材にも「体温感」を感じさせます。 &lt;img alt=&#34;图 11&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8333.jpg&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;躍動感のあるポーズ&lt;/strong&gt;：前後に踏み出すようなポーズは、脚の筋肉のラインをより立体的に見せ、膝とふくらはぎの曲がり具合からは、双子の活発さと軽快さが伝わってきます。 &lt;img alt=&#34;图 10&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8342.jpg&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;ブーツのディテール&lt;/strong&gt;：青いショートブーツは足首にぴったりとフィットし、ブーツの履き口の折り返しが小柄なふくらはぎと相まって面白く、クローズアップするとその精巧さと可愛らしさがより際立ちます。 &lt;img alt=&#34;图 9&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8317.jpg&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-双子のインタラクションの描写&#34;&gt;🤝 双子のインタラクションの描写&lt;/h3&gt;
&lt;p&gt;このフィギュアは、ポーズのデザインにおいて、双子のインタラクションを非常に生き生きと描写しています。&lt;/p&gt;
&lt;p&gt;ノゾミがわずかに前傾した体が、ヒカリの体型とちょうど交錯しており、まるで姉が妹を連れて前へ進んでいるかのようです。 &lt;img alt=&#34;图 6&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8324.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;彼女たちの視線はわずかに異なり、一方はずる賢い眼差し、もう一方は少し驚いたような表情で、まるで小さないたずらを息を合わせて行っているかのようです。 &lt;img alt=&#34;图 5&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8325.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;-まとめ&#34;&gt;❤️ まとめ&lt;/h3&gt;
&lt;p&gt;やはりロリっ子、脚が細い！ &lt;img alt=&#34;图 18&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8309.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;『ブルーアーカイブ』はプレイしていませんが、キャラクターをよく見かけるたびに、その可愛さにすっかり魅了されてしまいました。 &lt;img alt=&#34;图 7&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/_-1244168661_Cache_7208b49605af0ac2_1746407991029_wifi_0.jpg&#34;&gt;
&lt;img alt=&#34;图 19&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/09/07/IMG_8278.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>AEはできませんが、コードは書けます</title>
      <link>https://en.moejue.cn/ja/posts/280/</link>
      <pubDate>Sat, 23 Aug 2025 12:29:01 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/280/</guid>
      <description>&lt;h2 id=&#34;-緒山まひろの隠れ家-&#34;&gt;✨ 緒山まひろの隠れ家 ✨&lt;/h2&gt;
&lt;p&gt;&lt;img alt=&#34;緒山まひろ&#34; loading=&#34;lazy&#34; src=&#34;https://mahiro.moejue.cn/static/images/onimai.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;-緒山まひろの隠れ家へようこそ-&#34;&gt;🌸 緒山まひろの隠れ家へようこそ 🌸&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&#34;緒山まひろ&#34; loading=&#34;lazy&#34; src=&#34;https://mahiro.moejue.cn/static/images/Mahiro06.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;わぁ！私の秘密基地を見つけちゃったんだね！(*≧ω≦)&lt;/p&gt;
&lt;p&gt;ここは緒山まひろの個人サイトだよ。かわいいアニメーションと面白いコンテンツがいっぱい！ ここでは、私のお気に入りのアニメ、マンガ、ゲーム、そして日常のささやかな幸せをシェアしていくね～&lt;/p&gt;
&lt;h3 id=&#34;-私について-&#34;&gt;💕 私について 💕&lt;/h3&gt;
&lt;p&gt;私は緒山まひろ。エロゲを愛する引きこもりのダメニートだよ。 アニメ、マンガ、ライトノベル、そしてかわいいものが大好き！ 好きな色はピンクと水色！&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  ∩∩
（･ω･）  &amp;lt;- 私だよ！
＿|　⊃／(＿＿
／ └-(＿＿＿／
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img alt=&#34;緒山まひろ&#34; loading=&#34;lazy&#34; src=&#34;https://mahiro.moejue.cn/static/images/visual_chara_mahiro-mihari.webp&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;-サイトコンテンツ-&#34;&gt;🎀 サイトコンテンツ 🎀&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;🌟 素敵なアニメーション&lt;/li&gt;
&lt;li&gt;📚 私のプライベートフォト&lt;/li&gt;
&lt;li&gt;🎵 おすすめの音楽&lt;/li&gt;
&lt;li&gt;📷 日常のワンシーン&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-関連リンク-&#34;&gt;🌈 関連リンク 🌈&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;🎭 デモ: &lt;a href=&#34;https://mahiro.moejue.cn/&#34;&gt;https://mahiro.moejue.cn/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🏠 個人ブログ: &lt;a href=&#34;https://MoeJue.cn/&#34;&gt;https://MoeJue.cn/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🐱 GitHub: &lt;a href=&#34;https://github.com/iAJue/Mahiro&#34;&gt;https://github.com/iAJue/Mahiro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;📧 公式サイト: &lt;a href=&#34;https://onimai.jp/&#34;&gt;https://onimai.jp/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-著作権情報-&#34;&gt;📝 著作権情報 📝&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;このサイトは @Moejue によってデザイン・開発されました&lt;/li&gt;
&lt;li&gt;サイト内で使用されているすべてのアニメーション、マンガの画像、キャラクター、および関連コンテンツの著作権は、原作者（ねことうふ）およびその発行元（スタジオバインド、一迅社）に帰属します&lt;/li&gt;
&lt;li&gt;著作権侵害の可能性がある場合は、上記の連絡先までお知らせください。速やかに関連コンテンツを削除いたします&lt;/li&gt;
&lt;li&gt;GNU GENERAL PUBLIC LICENSE Version 2&lt;/li&gt;
&lt;li&gt;Copyright © 2025 MoeJue. All rights reserved.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;-スペシャルサンクス-&#34;&gt;💌 スペシャルサンクス 💌&lt;/h3&gt;
&lt;p&gt;緒山まひろを好きでいてくれるみんな、ありがとう！(●&amp;rsquo;◡&amp;rsquo;●)&lt;/p&gt;</description>
    </item>
    <item>
      <title>『ぼっち・ざ・ろっく！』——ぼっちちゃんみたいな私</title>
      <link>https://en.moejue.cn/ja/posts/276/</link>
      <pubDate>Sat, 09 Aug 2025 14:22:28 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/276/</guid>
      <description>&lt;p&gt;学生時代は、感想文や読書感想文みたいな作文が大嫌いだった。でも今は、観たアニメの感想をまとめたりする。たぶん、その方が心に響いて、本当に感じたことを書けるからだろう。&lt;/p&gt;
&lt;p&gt;『ぼっち・ざ・ろっく！』を観終わって、ふと過去を振り返ると、昔の自分の影が見えた。『けいおん！』のようなのんびり明るい日常でもなく、『ラブライブ！』のような努力と根性の物語でもない。もっとリアルな現実がそこにはあって、過去の、そして現在の自分を見ているようだった &lt;img alt=&#34;图 12&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/08/09/461e9388017d06ec3797c7e466940cd50291a079.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;ここぞという時に逃げる&#34;&gt;ここぞという時に「逃げる」&lt;/h3&gt;
&lt;p&gt;身体的に逃げることもある。隅っこに隠れて静かに「キノコ」になるみたいに。精神的に逃げることもある。視線は彷徨い、どこへ向かうでもなく。ちょっとした嘘をついて、その場から逃げ出すこともある。 &lt;img alt=&#34;图 14&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/08/09/FkMK6beaUAAGAbp.jpg&#34;&gt;
その気持ちはよくわかる。友達との集まりで、何度口実を見つけて途中退席したことか。人生における人間関係でさえ、途中で投げ出してしまったこともある。 &lt;img alt=&#34;图 16&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/08/09/images%20(1).jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;-友達は少ないでも欲しくないわけじゃない&#34;&gt;🧍‍♀ 友達は少ない、でも欲しくないわけじゃない&lt;/h3&gt;
&lt;p&gt;学校にはほとんど友達がおらず、クラスメイトの会話にはいつも入れない。あるいは、沈黙することで自分を守っていた。友達が欲しくないわけじゃない。ただ、どう会話に入ればいいのかわからないだけ。みんなが盛り上がっている中、自分だけ電波の届かないスマホみたいに、たまにポツリと一言二言発しては、すぐに黙り込んでしまう。 &lt;img alt=&#34;图 17&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/08/09/psc.jpg&#34;&gt; 彼女は自分をゴミ袋や隅っこに隠れる小さな虫けらに例える。その大げさな描写は面白いけど、私の心には深く突き刺さる。それは「自分は必要とされていない」という錯覚で、無意識にステージの隅っこへと退いてしまう。個人や団体の活動には一切参加せず、集団で得られる達成感も好まない。休み時間でさえ、一人で席に座ってぼーっとしたり、本を読んだりしていた。いつしか、周りからは「一人でいるのが好きな子」だと思われていたのかもしれない。 &lt;img alt=&#34;图 15&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/08/09/Fkx6EmnaEAAk50p.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;-自分だけの言葉を見つける&#34;&gt;🎶 自分だけの言葉を見つける&lt;/h3&gt;
&lt;p&gt;話すのは苦手だけど、彼女にはギターがあり、私にはインターネットがある。知らない人や大勢の前では、長いこと突っ立って一言も発せなかったり、自分にしか聞こえないような声で話したり、もごもごしてまともな文章にならなかったりする。 &lt;img alt=&#34;图 13&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/08/09/%E7%BB%93%E6%9D%9F%E4%B9%90%E9%98%9F%E5%90%88%E5%BD%B1.jpg&#34;&gt; でも、私も自分なりの「言葉」を見つけた。文章を書くこと、絵を描くこと、コードを書くこと。これらは対面でのコミュニケーションを必要としない方法で、かえって心地よく、他の人に本当の自分の内面を見せることができる。今、私はプログラマーとして働いていて、コミュニケーションもテキストでのやり取りを好む。&lt;/p&gt;
&lt;h3 id=&#34;-逃げるだけじゃなく一歩踏み出したい&#34;&gt;🌱 逃げるだけじゃなく、一歩踏み出したい&lt;/h3&gt;
&lt;p&gt;ぼっちちゃんがコミュ障から少しずつバンドに溶け込んでいくのを見て、気づいた。逃げることは悪いことじゃない。でも、ずっと隅っこにいたら、その先の景色は永遠に見えない。いきなりステージのセンターに立つボーカルにはなれないかもしれないけど、小さな一歩を踏み出すことはできる。自分から「おはよう」と言ってみる、イベントに一度参加してみる、あるいはこの文章のように自分の気持ちを書き留めてみる。私も少しずつ変わろうとしている。 &lt;img alt=&#34;图 21&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/08/09/z-65fe5af7f38c2_ksda.1200.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;家での時間&#34;&gt;家での時間&lt;/h3&gt;
&lt;p&gt;一番慣れているはずの家でさえ、私の態度は普段とあまり変わらない。何時間も部屋の隅でじっと座って、練習したり、ぼーっとしたり。誰とも顔を合わせる必要はない。 &lt;img alt=&#34;图 19&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/08/09/QQ20250809-213140.jpg&#34;&gt; 部屋に閉じこもって、一日中ほとんど言葉を発しない。このままじゃ、本当に話す能力が退化してしまうんじゃないか、と思うこともある。&lt;/p&gt;
&lt;h3 id=&#34;-完璧じゃなくていい&#34;&gt;💡 完璧じゃなくていい&lt;/h3&gt;
&lt;p&gt;違うのは、私には自分の世界から引っ張り出してくれるような友達が見つからなかったことだ——&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;太陽のように明るいドラマーの虹夏ちゃんが、ぐいっと私をグループに引き入れてくれることもなく&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;クールなベーシストの涼ちゃんが、時折見せる優しさで私を認めてくれることもなく&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;明るく社交的なボーカルの喜多ちゃんと、一緒に素敵な学園生活を送ることもなかった &lt;img alt=&#34;图 20&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/08/09/QQ20250809-213251.jpg&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;カッコイイ&#34;&gt;カッコイイ&lt;/h4&gt;
&lt;p&gt;幸い、私はもうギターを持っている。でなければ、『ぼっち・ざ・ろっく！』を観た後、また一本買いたくなってしまっただろう。下の写真のお店は、『けいおん！』で唯ちゃんがギターを買ったお店でもあるらしい。 &lt;img alt=&#34;图 18&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/08/09/QQ20250809-183026.jpg&#34;&gt; それにしても、制作陣は本当に面白い演出をする。シュールすぎる。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>【フィギュア開封】玉足のチャイナドレス少女が登場！竜華妃咲！</title>
      <link>https://en.moejue.cn/ja/posts/271/</link>
      <pubDate>Tue, 15 Jul 2025 13:04:10 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/271/</guid>
      <description>&lt;h3 id=&#34;-開封の瞬間封印解除&#34;&gt;🧳 開封の瞬間：封印解除！&lt;/h3&gt;
&lt;p&gt;アニメキャラ以外のフィギュアは初めてです。&amp;lt;ブルーアーカイブ&amp;gt; - 竜華キサキ &lt;img alt=&#34;图 0&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/132000616_p1.jpg&#34;&gt;&lt;br&gt;
箱を開けた途端、「麗しい御足+チャイナドレス」の致命的なオーラが押し寄せてきました。 &lt;img alt=&#34;图 3&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/CRnall_20250629_201954055.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;-外観レビュー闇夜に咲く致命的なヴァイオレット&#34;&gt;👀 外観レビュー：闇夜に咲く、致命的なヴァイオレット&lt;/h3&gt;
&lt;p&gt;✦ 衣装デザイン：アレンジされたチャイナドレスは、セクシーでありながら下品ではなく、黒紫の基調に金色の模様が加わり、ミステリアスで優雅な雰囲気を醸し出しています。 &lt;img alt=&#34;图 2&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/CRnall_20250629_201935111.jpg&#34;&gt;&lt;br&gt;
✦ 髪型のディテール：両サイドのお団子ツインテール+分け目のある前髪が、生まれながらの「お姉様」オーラを放っています。髪の毛の動きは繊細で、後ろの長い髪が美しくなびいています。 &lt;img alt=&#34;图 5&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/IMG_20250629_203851.jpg&#34;&gt;&lt;br&gt;
✦ 表情の描写：クールでありながら、少し恥ずかしそうな眼差し。「もっと近くで見る？」とでも言いたげな、致命的な魅力があります。 &lt;img alt=&#34;图 1&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/CRnall_20250629_201846743.jpg&#34;&gt;&lt;br&gt;
✦ ボディライン：少し体をひねった膝立ちのポーズで、S字ラインが際立っています。腰のくびれから太ももにかけての張りが非常に自然で、硬さが全く感じられません。 &lt;img alt=&#34;图 6&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/IMG_20250629_203921.jpg&#34;&gt;&lt;br&gt;
&lt;img alt=&#34;图 7&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/IMG_20250629_203937.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;-クローズアップフォーカス足の美学見過ごせないポイント&#34;&gt;🔍 クローズアップ・フォーカス：「足の美学」、見過ごせないポイント&lt;/h3&gt;
&lt;h5 id=&#34;-足のディテール観察&#34;&gt;✦ 足のディテール観察：&lt;/h5&gt;
&lt;p&gt;足の甲のライン：足首から下へと伸びる骨格と筋肉の凹凸がリアルで、柔らかい光と相まって、「リアルでありながら理想的」な視覚的インパクトを与えます。 &lt;img alt=&#34;图 8&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/IMG_20250629_204051.jpg&#34;&gt;&lt;br&gt;
肌の質感：足裏はほんのり赤みがかっており、少しマットな質感は、まるで砂浜を歩いた直後のようです。一方、足の甲はきめ細かく滑らかです。 &lt;img alt=&#34;图 4&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/IMG_20250629_203822.jpg&#34;&gt; 土踏まずの曲線：すねから足裏への移行が自然で、土踏まずは高く、しかしやりすぎ感はなく、「足フェチ」をその場で昇天させるには十分です。 &lt;img alt=&#34;图 12&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/IMG_20250629_205456.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;-夕陽に染まる殺意&#34;&gt;🌇 夕陽に染まる殺意&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;背後から柔らかい光を当てることで、肌のしっとりとした質感が際立ちます &lt;img alt=&#34;图 10&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/IMG_20250629_204630.jpg&#34;&gt;&lt;/li&gt;
&lt;li&gt;光と影が黒紫の衣装と強いコントラストを生み出します &lt;img alt=&#34;图 9&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/IMG_20250629_204157.jpg&#34;&gt;&lt;/li&gt;
&lt;li&gt;フィギュアを斜めに置き、太陽光や暖かい色のライトを当てると、足元に少し影ができて立体感がより強調されます &lt;img alt=&#34;图 13&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/IMG_20250630_192430.jpg&#34;&gt;&lt;/li&gt;
&lt;li&gt;足元から見上げるように撮影し、土踏まずの曲線と足指の影が織りなす美しさを捉えましょう &lt;img alt=&#34;图 11&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/07/14/IMG_20250629_204902.jpg&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;PS: 正直、私の撮影スキルはめちゃくちゃ下手で、光の加減も背景もイマイチです。🎁 次回予告：ATRI -My Dear Moments- のアトリ、1ヶ月以内に届く予定です。もう1ヶ月も待ってるんですけどね。&lt;/p&gt;</description>
    </item>
    <item>
      <title>マルチチェーン対応は、想像以上に複雑だ</title>
      <link>https://en.moejue.cn/ja/posts/269/</link>
      <pubDate>Sat, 05 Jul 2025 08:20:55 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/269/</guid>
      <description>&lt;h4 id=&#34;初めてのマルチチェーンウォレット統合の実践的考察&#34;&gt;初めてのマルチチェーンウォレット統合の実践的考察&lt;/h4&gt;
&lt;p&gt;ようやく時間ができてコードを整理できるようになりました。Web3プロジェクトでマルチチェーンウォレット接続機能を導入する際、主にEthereum、Polygon、BSC、Solanaが関わってきます。一見すると「互換性のあるロジックをいくつか追加するだけ」のように思えますが、実際に実装してみると、多くのことが思ったほど単純ではないと気づきました。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;this.networkConfigs = {
    ethereum: {
        chainId: &amp;#39;0x1&amp;#39;, // 1
        chainName: &amp;#39;Ethereum Mainnet&amp;#39;,
        nativeCurrency: {
            name: &amp;#39;Ethereum&amp;#39;,
            symbol: &amp;#39;ETH&amp;#39;,
            decimals: 18
        },
        rpcUrls: [&amp;#39;https://eth-mainnet.public.blastapi.io&amp;#39;],
        blockExplorerUrls: [&amp;#39;https://etherscan.io&amp;#39;]
    },
    polygon: {
        chainId: &amp;#39;0x89&amp;#39;, // 137
        chainName: &amp;#39;Polygon Mainnet&amp;#39;,
        nativeCurrency: {
            name: &amp;#39;MATIC&amp;#39;,
            symbol: &amp;#39;MATIC&amp;#39;,
            decimals: 18
        },
        rpcUrls: [&amp;#39;https://polygon-rpc.com&amp;#39;],
        blockExplorerUrls: [&amp;#39;https://polygonscan.com&amp;#39;]
    },
    bsc: {
        chainId: &amp;#39;0x38&amp;#39;, // 56
        chainName: &amp;#39;BNB Smart Chain&amp;#39;,
        nativeCurrency: {
            name: &amp;#39;BNB&amp;#39;,
            symbol: &amp;#39;BNB&amp;#39;,
            decimals: 18
        },
        rpcUrls: [&amp;#39;https://bsc-dataseed.binance.org&amp;#39;],
        blockExplorerUrls: [&amp;#39;https://bscscan.com&amp;#39;]
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;マルチチェーンは単に複数のウォレットをサポートすることではない&#34;&gt;マルチチェーンは単に「複数のウォレットをサポートする」ことではない&lt;/h4&gt;
&lt;p&gt;最も強く感じたのは、チェーンが異なればウォレットのインタラクション方法も異なり、SDKの考え方すら違うということです。イーサリアムエコシステムでは統一されたWeb3.jsで多くのロジックを処理できますが、Solanaになると、完全に別のシステムであることがわかります。プロバイダーの接続、接続フロー、PublicKeyの構築方法が異なり、ネットワークの遅延や安定性までもがユーザー体験に影響を与えます。&lt;/p&gt;</description>
    </item>
    <item>
      <title>[メモ] Git よく使うコマンド大全（シーン別）</title>
      <link>https://en.moejue.cn/ja/posts/264/</link>
      <pubDate>Mon, 02 Jun 2025 06:58:42 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/264/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;日常の開発でよく使われるGitの操作をまとめたものです。カテゴリ別に整理されているため、すぐに使い始めたい方や、コマンドを確認したい時に役立ちます。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-基本コマンド&#34;&gt;📦 基本コマンド&lt;/h2&gt;
&lt;p&gt;コマンド&lt;/p&gt;
&lt;p&gt;役割&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git init&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Gitリポジトリを初期化します（&lt;code&gt;.git&lt;/code&gt;フォルダを作成）。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git clone &amp;lt;url&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;リモートリポジトリをローカルにクローンします。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git status&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;現在のワーキングディレクトリの状態（ファイルの変更、ステージングなど）を確認します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git add &amp;lt;file&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;ファイルをステージングエリアに追加します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git commit -m &amp;quot;message&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;ステージングエリアのファイルをローカルリポジトリにコミットし、コミットメッセージを追加します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git log&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;コミット履歴を表示します。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-ブランチ管理&#34;&gt;🌱 ブランチ管理&lt;/h2&gt;
&lt;p&gt;コマンド&lt;/p&gt;
&lt;p&gt;役割&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git branch&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;ローカルブランチの一覧を表示します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git branch &amp;lt;branch-name&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;新しいブランチを作成します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git checkout &amp;lt;branch-name&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;指定したブランチに切り替えます。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git switch &amp;lt;branch-name&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;指定したブランチに切り替えます（推奨される新しいコマンド）。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git merge &amp;lt;branch-name&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;指定したブランチを現在のブランチにマージします。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git branch -d &amp;lt;branch-name&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;マージ済みのブランチを削除します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git branch -D &amp;lt;branch-name&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;ブランチを強制的に削除します。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;-リモートリポジトリ操作&#34;&gt;🌍 リモートリポジトリ操作&lt;/h2&gt;
&lt;p&gt;コマンド&lt;/p&gt;
&lt;p&gt;役割&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git remote -v&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;リモートリポジトリのURLを表示します。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;git remote add &amp;lt;name&amp;gt; &amp;lt;url&amp;gt;&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>macOS風のWebアプリを構築する</title>
      <link>https://en.moejue.cn/ja/posts/260/</link>
      <pubDate>Sun, 11 May 2025 11:46:03 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/260/</guid>
      <description>&lt;h3 id=&#34;プロジェクト概要&#34;&gt;プロジェクト概要&lt;/h3&gt;
&lt;p&gt;今日のWeb開発分野において、ユーザーエクスペリエンスとインターフェースデザインはますます重要になっています。&lt;/p&gt;
&lt;p&gt;Mac Web Vue Templateは、macOSのデザインにインスパイアされた、モダンでエレガントなVue.jsのWebテンプレートです。Vue.jsをベースにした現代的なWebアプリケーションテンプレートであり、そのデザインはmacOSの優雅なインターフェースから着想を得ています。このプロジェクトは、美しいUIデザインだけでなく、完全なプロジェクト構造とベストプラクティスも提供します。&lt;/p&gt;
&lt;h4 id=&#34;オンラインデモ&#34;&gt;オンラインデモ&lt;/h4&gt;
&lt;p&gt;&lt;a href=&#34;https://mac.moejue.cn/&#34;&gt;WebAi&lt;/a&gt; にアクセスすることで、このテンプレートの実際の効果を体験できます。招待コード(MoeJue)&lt;/p&gt;
&lt;h3 id=&#34;主な特徴&#34;&gt;主な特徴&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;macOS風のUIデザイン&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;macOSのデザイン言語を採用&lt;/li&gt;
&lt;li&gt;洗練されたすりガラス効果&lt;/li&gt;
&lt;li&gt;エレガントなアニメーショントランジション&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;モダンな技術スタック&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Vue.jsをコアフレームワークとして使用&lt;/li&gt;
&lt;li&gt;Viteをビルドツールとして使用&lt;/li&gt;
&lt;li&gt;Piniaによる状態管理&lt;/li&gt;
&lt;li&gt;Vue Routerによるルーティング処理&lt;/li&gt;
&lt;li&gt;SCSSプリプロセッサ&lt;/li&gt;
&lt;li&gt;ES6+のモダンな機能&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;レスポンシブデザイン&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;あらゆる画面サイズに完璧に対応&lt;/li&gt;
&lt;li&gt;スムーズなモバイル体験&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;プロジェクト構造の解説&#34;&gt;プロジェクト構造の解説&lt;/h3&gt;
&lt;p&gt;プロジェクトは、明確でモジュール化されたディレクトリ構造を採用しています：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;src/
├── assets/          # 静的リソース
├── components/      # Vueコンポーネント
│   ├── common/     # 共通コンポーネント
│   ├── system/     # システムコンポーネント
│   └── apps/       # アプリケーションコンポーネント
├── views/          # ページビュー
├── router/         # ルーティング設定
├── stores/         # 状態管理
└── utils/          # ユーティリティ関数
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;この構造設計により、プロジェクトは良好な保守性と拡張性を備えています。&lt;/p&gt;
&lt;h3 id=&#34;開発規範&#34;&gt;開発規範&lt;/h3&gt;
&lt;p&gt;プロジェクトは厳格な開発規範に従っています：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;命名規則&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>萌音ストア モバイル版 発売</title>
      <link>https://en.moejue.cn/ja/posts/256/</link>
      <pubDate>Thu, 17 Apr 2025 09:07:11 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/256/</guid>
      <description>&lt;h3 id=&#34;プロジェクト紹介&#34;&gt;プロジェクト紹介&lt;/h3&gt;
&lt;p&gt;萌音商城モバイル版は、uniappをベースに開発されたマルチプラットフォームECシステムで、iOS、Android、H5、ミニプログラムなど複数のプラットフォームをサポートしています。システムはPHP + MySQL + FastAdminをバックエンド技術スタックとして採用し、完全なEC機能を実現しています。&lt;/p&gt;
&lt;h3 id=&#34;主要機能&#34;&gt;主要機能&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;商品管理：カテゴリ分け、リスト表示、詳細表示&lt;/li&gt;
&lt;li&gt;ショッピングフロー：カート、決済、支払い、注文管理&lt;/li&gt;
&lt;li&gt;ユーザーシステム：会員センター、個人情報管理&lt;/li&gt;
&lt;li&gt;マルチベンダーモード：ベンダーが独立して商品と注文を管理&lt;/li&gt;
&lt;li&gt;配送システム：注文をERP(管家婆)システムにプッシュして処理する機能をサポート&lt;/li&gt;
&lt;li&gt;デュアルモード取引：
&lt;ul&gt;
&lt;li&gt;オンライン注文、宅配便発送&lt;/li&gt;
&lt;li&gt;オンライン注文、店舗受け取り/配達員による配送&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;システムプレビュー&#34;&gt;システムプレビュー&lt;/h3&gt;
&lt;h4 id=&#34;バックエンド管理画面&#34;&gt;バックエンド管理画面&lt;/h4&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111108_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111207_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111236_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111316_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111333_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111348_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-111425_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-114400_04_17_2025.jpg&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;ミニプログラム画面&#34;&gt;ミニプログラム画面&lt;/h4&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-115015_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-115348_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/Screenshot_2025-04-17-11-51-48-260_com.tencent.mm_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/Screenshot_2025-04-17-11-51-41-636_com.tencent.mm_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/Screenshot_2025-04-17-11-51-32-607_com.tencent.mm_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/Screenshot_2025-04-17-11-51-28-173_com.tencent.mm_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/Screenshot_2025-04-17-11-51-14-865_com.tencent.mm_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-115521_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-115423_04_17_2025.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/17/QQ20250417-115405_04_17_2025.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;バージョン説明&#34;&gt;バージョン説明&lt;/h3&gt;
&lt;p&gt;現在のバージョンはV1.0版です。一部の画面は将来の計画のために予約されており、実際のニーズに基づいて継続的に更新・改善されます。正式リリース版がなく、ミニプログラムの運用も開始していないため、オンラインでデモできるバージョンはありません。現在のプログラムはV1.0の初期バージョンであり、一部の画面は事前に計画されて予約されています。今後、ニーズに応じて更新されます。&lt;/p&gt;
&lt;h3 id=&#34;購入について&#34;&gt;購入について&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;価格：188元 (バージョン更新後、状況に応じて価格が調整される場合があります。実際の価格をご確認ください)&lt;/li&gt;
&lt;li&gt;内容：完全なソースコード（モバイル版とバックエンドを含む、暗号化なし、ライセンスなし）&lt;/li&gt;
&lt;li&gt;紹介リベート：友人の購入を紹介すると20%のリベートを獲得できます&lt;/li&gt;
&lt;li&gt;更新サービス：生涯無料更新&lt;/li&gt;
&lt;li&gt;利用規約：無断での転売は禁止します。違反した場合、更新サービスは停止されます。&lt;/li&gt;
&lt;li&gt;開発サポート：ソースコードには詳細なコメントが含まれており、二次開発に便利です。&lt;/li&gt;
&lt;li&gt;プロジェクトホスティング：コードはGitHubでホストされており、更新履歴は完全かつ透明です。&lt;/li&gt;
&lt;li&gt;マルチプラットフォームサポート：他のクライアントはご自身でコンパイルする必要があります。WeChatミニプログラム環境をベースに開発されています。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;連絡先&#34;&gt;連絡先&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;QQ交流グループ：&lt;a href=&#34;https://qm.qq.com/q/Fhqk6HKUaQ&#34;&gt;参加はこちら&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;個人のQQリンクがないため、グループ参加後、グループオーナーに@メンションして購入についてお問い合わせください。&lt;/li&gt;
&lt;li&gt;プロジェクトが売れ残っています。阿珏酱を助けてください。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;オンラインデモ&#34;&gt;オンラインデモ&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://v.douyin.com/3l90gHoAf0A/&#34;&gt;WeChatミニプログラム版デモ動画&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;バックエンドのデモ環境についてはお問い合わせください。&lt;/li&gt;
&lt;li&gt;WeChatミニプログラムの体験権限追加についてはお問い合わせください。&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title># ポータブルモニターを自作する方法</title>
      <link>https://en.moejue.cn/ja/posts/255/</link>
      <pubDate>Sun, 13 Apr 2025 05:55:01 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/255/</guid>
      <description>&lt;h3 id=&#34;ポータブルディスプレイを自作する方法&#34;&gt;ポータブルディスプレイを自作する方法&lt;/h3&gt;
&lt;h3 id=&#34;はじめに&#34;&gt;はじめに&lt;/h3&gt;
&lt;p&gt;家には古いノートパソコンが1台あります。バッテリーはもうダメですが、他の部品はまだ正常に動作します。しかし、技術の進化は非常に速く、このノートパソコンはウェブサイトを閲覧する以外に、ほとんど使い道がありません。捨てるのはもったいないし、売っても大した値段にはなりません。そこで、これをポータブルディスプレイに改造することにしました。そうすれば、ノートパソコンやデスクトップPCに接続して、ゲームをしたり動画を見たりと、もう一働きさせることができます。ちなみに、ハードディスクはすでにポータブルハードディスクに改造済みです。&lt;/p&gt;
&lt;h3 id=&#34;材料の準備&#34;&gt;材料の準備&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;廃棄するディスプレイ&lt;/li&gt;
&lt;li&gt;LEDスクリーン駆動ボード&lt;/li&gt;
&lt;li&gt;スクリーンケーブル&lt;/li&gt;
&lt;li&gt;キーパッド&lt;/li&gt;
&lt;li&gt;インバーターボード&lt;/li&gt;
&lt;li&gt;電源 (12V 5A)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;IMG_20250404_142914_04_13_2025&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/13/IMG_20250404_142914_04_13_2025.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;主な材料はこれだけです。通販サイトですぐに購入でき、価格も高くありません。電源は父のネックマッサージャーから直接取り外したもので、また一つ節約できました。&lt;/p&gt;
&lt;h3 id=&#34;改造プロセス&#34;&gt;改造プロセス&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;ノートパソコンのディスプレイを分解し、スクリーンを取り出します。 &lt;img alt=&#34;IMG_20250404_142647_04_13_2025&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/13/IMG_20250404_142647_04_13_2025.jpg&#34;&gt; &lt;img alt=&#34;IMG_20250404_142641_04_13_2025&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/13/IMG_20250404_142641_04_13_2025.jpg&#34;&gt; もしお使いのスクリーンに対応する駆動ボードがわからない場合は、スクリーンの裏にある型番などの情報を写真に撮って販売店に送れば、それに合った駆動ボードを推薦してくれます。もちろん、電子回路に詳しい方なら、自分で回路図を設計して駆動ボードを自作することもできます。&lt;/li&gt;
&lt;li&gt;配線し、ホットボンドで固定します。 &lt;img alt=&#34;IMG_20250404_155901_04_13_2025&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/13/IMG_20250404_155901_04_13_2025.jpg&#34;&gt; ps: ホットボンドは貧乏人の3Dプリンターですね。&lt;/li&gt;
&lt;li&gt;電源を入れてテストします。 &lt;img alt=&#34;IMG_20250404_150154_04_13_2025&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/13/IMG_20250404_150154_04_13_2025.jpg&#34;&gt; 私は手間を省くため、販売店に予め対応するファームウェアを書き込んでもらいました。&lt;/li&gt;
&lt;li&gt;信号を入力します。 &lt;img alt=&#34;IMG_20250404_151208_04_13_2025&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/13/IMG_20250404_151208_04_13_2025.jpg&#34;&gt;&lt;/li&gt;
&lt;li&gt;キーパッドの機能調整をテストします。 &lt;img alt=&#34;IMG_20250404_151318_04_13_2025&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/13/IMG_20250404_151318_04_13_2025.jpg&#34;&gt;&lt;/li&gt;
&lt;li&gt;段ボールでケースを作ります。 &lt;img alt=&#34;IMG_20250404_173602_04_13_2025&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/13/IMG_20250404_173602_04_13_2025.jpg&#34;&gt; どうやら私には廃材の段ボールでケースを作る才能がそこそこあるようです。見た目が悪すぎるのが心配で、壁紙シールを貼ってみました。家に3Dプリンターがある方は、直接ケースを設計してプリントすれば、もっと見栄えが良くなるでしょう。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;完成品&#34;&gt;完成品：&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&#34;IMG_20250413_104214_04_13_2025&#34; loading=&#34;lazy&#34; src=&#34;https://gh-proxy.com/github.com/iAJue/MoeJueBlogPic/blob/master/Images/2025/04/13/IMG_20250413_104214_04_13_2025.jpg&#34;&gt; 前面はホットボンドで接着したせいで、ちょっと見るに堪えない状態になってしまいました。&lt;/p&gt;</description>
    </item>
    <item>
      <title>アジュエちゃんの2024年度報告をご覧ください！</title>
      <link>https://en.moejue.cn/ja/posts/237/</link>
      <pubDate>Tue, 31 Dec 2024 09:59:08 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/237/</guid>
      <description>&lt;p&gt;2024年は、私のブログ &lt;a href=&#34;https://moejue.cn/&#34;&gt;&lt;strong&gt;阿珏酱のBlog&lt;/strong&gt;&lt;/a&gt; にとって、充実していて興味深い一年でした。技術開発、コンテンツ更新、そして二次元文化の共有において多くの試みを行い、振り返ってみると、かなり盛りだくさんの一年だったと思います！&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;今年の技術的な試み&#34;&gt;&lt;strong&gt;今年の技術的な試み&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;今年は、いくつか満足のいくプロジェクトを開発しました：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;MoeKoe Music&lt;/strong&gt;：&lt;br&gt;
これは私が開発したKuGouのサードパーティクライアントで、シンプルさと高いデザイン性を特徴としています。マルチプラットフォームに対応し、KuGouアカウントログイン、歌詞表示、デイリーおすすめなどの機能も実装しました。自分で開発したソフトウェアを使うのは、本当に最高の気分です。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;ArticleSync&lt;/strong&gt;：&lt;br&gt;
マルチプラットフォーム対応の記事同期ブラウザプラグインです。私自身と皆さんのコンテンツ管理をより効率的にするために、同期ロジックの最適化に多くの時間を費やし、結果としてかなり実用的なものができました。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;萌音商城 (MoeYin Mall)&lt;/strong&gt;：&lt;br&gt;
オンラインモールの空白を埋めるために、萌音商城を開発しました。商品管理から注文までの全プロセス機能を実装しており、まだ改善中ですが、これは私のNode.jsにおける究極の作品です！（萌音社区は私のPHPにおける究極の作品です）&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id=&#34;ブログのコンテンツ更新&#34;&gt;&lt;strong&gt;ブログのコンテンツ更新&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;今年、私のブログは主に以下の方向で更新されました：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;技術共有&lt;/strong&gt;：&lt;br&gt;
Web3.0の応用、ブロックチェーン画像アップロードの実践、ESP8266-NodeMCU開発の探求など、いくつかの技術記事を書きました。これらはすべて、新しい技術を試す過程で得た経験とまとめです。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;個人的な動向&lt;/strong&gt;：&lt;br&gt;
年初にドメインを変更し、ブログ運営を無事再開しました。この過程で多くの苦労がありましたが、ブログが再びオンラインになったのを見たときは、やはり感慨深いものがありました。たくさんのつぶやきも投稿しましたが、誰か見てくれているかは分かりません。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;二次元文化&lt;/strong&gt;：&lt;br&gt;
熱心な二次元ファンとして、今年は二次元関連のコンテンツをたくさん共有しました。例えば、私のお気に入りのアルバムが戻ってきて、本当に飛び上がるほど嬉しかったです！&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;皆さんとの交流&#34;&gt;&lt;strong&gt;皆さんとの交流&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;今年、私の掲示板は相変わらず賑やかで、多くの読者がコメントを残して交流してくれました。提案をくれたり、自分の考えを共有してくれたり。これらのコメントを見るたびに、自分の共有が価値あるものだと感じ、ブログを更新するモチベーションがさらに高まります。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;2024年を振り返ると、私のブログは技術から文化、そして交流に至るまで、ゆっくりと進歩しています。この一年は共有の一年であるだけでなく、学びの一年でもありました。2025年には、さらに良い記事を書き、もっと面白いプロジェクトに取り組み、皆さんと一緒に成長していけることを願っています！&lt;br&gt;
いつも応援してくださる皆さん、本当に最高です！❤️&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;aiが力を与えた一年aiが私にまとめてくれたものを見てみましょう&#34;&gt;&lt;strong&gt;AIが力を与えた一年、AIが私にまとめてくれたものを見てみましょう&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;私の個人ファン交流グループへようこそ。これまでに3回のグッズイベントを成功裏に開催しました(＾－＾)V &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hx48jivl2aj20i40jfaby.jpg&#34;&gt; もうBilibiliでアニメをあまり見なくなりました。 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hx48k5rnkuj20z00hnadn.jpg&#34;&gt; ゲームは下手だけど大好きで、今年一番遊んだのはApexです。聞いたことがなくても大丈夫、もうすぐ廃れるゲームだから。 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hx48kcgwzvj20nt0b1abj.jpg&#34;&gt; 食は天なり、どんなに苦しくてもお腹を空かせてはいけない &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hx48kjptu4j20er0flabh.jpg&#34;&gt; 拼好饭？ &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hx48ko1wwoj20zy0hytbj.jpg&#34;&gt; 今年はあまりガラクタを拾わなかった &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hx48ky6vaaj20g50gpac5.jpg&#34;&gt; 音楽は、自分のプラットフォームでしか聴きません &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hx48l1niitj20wz0d5q5a.jpg&#34;&gt; 一年を通して、稼ぐどころか、一日三食と家賃光熱費を払い、しかも大食い &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hx48l52t3yj20l20ejwfw.jpg&#34;&gt; 以下が私の真面目な仕事です、クラウド株主の皆様にご報告します。 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hx48iq4xicj20kr1ijdjs.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hx48ieoo7hj20of0p9jy4.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>最後に女の子を好きになったのはいつですか？</title>
      <link>https://en.moejue.cn/ja/posts/95/</link>
      <pubDate>Sun, 01 Dec 2024 05:00:04 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/95/</guid>
      <description>&lt;p&gt;もし音に形があるなら、それはきっと私があなたを愛する形だろう。——『聲の形』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5ckrcx52j22461wwu0x.jpg&#34;&gt;
君はもう道具ではなく、その名が似合う人になるんだ。——少佐『ヴァイオレット・エヴァーガーデン』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cl5kcd3j21401kk7bb.jpg&#34;&gt;
どうやらあのサイトは、不幸な人間としか巡り会わないらしい。だから彼女たちは選ばれたんだ。——『魔法少女サイト』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5clm8vzcj21ww13ddp2.jpg&#34;&gt;
友達とは、君を一人ぼっちにさせない存在のことだよ。——天王寺瑚太朗『Rewrite』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5clvrezvj22pf1wwk3k.jpg&#34;&gt;
私はよく笑う人だけど、いつも楽しいわけじゃない。——めんま『あの日見た花の名前を僕達はまだ知らない。』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cmkkkmyj21hc0ok1kx.jpg&#34;&gt;
生まれながらに何も持たなかったからこそ、私たちは全てを手に入れることができる。——『ノーゲーム・ノーライフ』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cmwhvjcj21hc0xcwml.jpg&#34;&gt;
たとえ僕に敵意を向ける人でも、誰かに深く愛されてこの世に生まれてきたんだ。——集『ギルティクラウン』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cn6zhljj23pc230nep.jpg&#34;&gt;
正しいとは、たとえ間違っても後悔しないことだ。——アーチャー『Fate/stay night』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cnjm92fj218g0v8grc.jpg&#34;&gt;
天が悪を裁けぬのなら、我らが闇の中で消し去る——。
——我ら全員、プロの殺し屋集団『アカメが斬る！』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cnrectcj215o0ng76r.jpg&#34;&gt;
無力な自分が嫌いだ。だけど、どうしてもその憧れを抑えることができない。——『とある科学の超電磁砲』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cnyb9w4j215o0tiqd0.jpg&#34;&gt;
最後に、もう一つだけお願いがあります。私のことを忘れてほしいのです。——クトリ『終末なにしてますか？ 忙しいですか？ 救ってもらっていいですか？』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5coltca8j21gs1jk7ew.jpg&#34;&gt;
後悔がもたらす苦さは、自分がかつて何かを成したことの証でもある。——『たまこまーけっと』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5coxdqjqj21j010oaly.jpg&#34;&gt;
別れの言葉を口にしたら、別れることになる。別れを口にしない限り、別れることはない。それが世界の真理。
——七宮智音『中二病でも恋がしたい！』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cp5gn9mj21101fs15z.jpg&#34;&gt;
大好きだからこそ、失うのがもっと怖いんだ。——『ソードアート・オンライン』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cppe7o8j211y0lc75x.jpg&#34;&gt;
素敵な思い出であればあるほど、時に人をより苦しめることがある。——アイラ『プラスティック・メモリーズ』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cq5s69hj22cq1n1qn8.jpg&#34;&gt;
私が言わないからって、分かってないわけじゃない。私が泣かないからって、悲しくないわけじゃない。——『凪のあすから』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cqlzmd8j21101fswos.jpg&#34;&gt;
未来のない未来なんて、僕が望む未来じゃない。——神原秋人『境界の彼方』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cqvgsrpj20u011iq70.jpg&#34;&gt;
たとえ君が僕を忘れても、僕は君を忘れない。——『Re:ゼロから始める異世界生活』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cr7pks0j21gs1jk7ew.jpg&#34;&gt;
やらなくてもいいことなら、やらない。やらなければいけないことなら、手短に。——折木奉太郎『氷菓』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5crsaxxfj22bc3uw1kx.jpg&#34;&gt;
何も捨てることができない人には、何も変えることはできないだろう。——諫山創『進撃の巨人』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cs0evbaj20on0yl0ws.jpg&#34;&gt;
どんな思い出であろうと、それは私たちが生きてきた人生そのものだ。——『Angel Beats!』 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hw5cttv8y7j20xc0j1783.jpg&#34;&gt;
（二次元の存在は、私たちに共通の思い出を与えてくれる。未来がどうなろうと、二次元は永遠にそばにいてくれる。）&lt;/p&gt;</description>
    </item>
    <item>
      <title># 俺の二次元アルバムが帰ってきた</title>
      <link>https://en.moejue.cn/ja/posts/227/</link>
      <pubDate>Fri, 08 Nov 2024 09:52:39 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/227/</guid>
      <description>&lt;p&gt;最初の&lt;a href=&#34;https://moejue.cn/archives/10&#34;&gt;ギャラリー&lt;/a&gt;から&lt;a href=&#34;https://moejue.cn/archives/61&#34;&gt;画像アップローダー&lt;/a&gt;、そして現在のアルバムに至るまで、私の画像に対するこだわりは、もはや世紀をまたぐほどのものです。ギャラリーの画像は七牛雲（Qiniu Cloud）に保存していましたが、後にトラフィックを不正に消費されたため閉鎖しました。画像アップローダーは現在、ブログ用の画像アップロードサービスとして利用しています。アルバムは、スマートフォンのアルバムのような概念で、画像も動画も保存できます。徐々に完成度が高まってきています。&lt;/p&gt;
&lt;p&gt;ここ数日で、普段保存している動画や画像などをサーバーにアップロードし、UIとAPIを作成して、ついでにオープンソースとして公開しました。（私は熱心なオープンソース支持者でありたいと思っています）&lt;/p&gt;
&lt;h4 id=&#34;私の二次元アルバム-フロントエンドui&#34;&gt;私の二次元アルバム フロントエンドUI&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;ここは阿珏ちゃん（A-Jue-chan）のプライベートアルバムで、普段収集した画像や、各プラットフォームで「いいね」や「お気に入り」登録した動画を保存しています。&lt;/li&gt;
&lt;li&gt;Bilibili、YouTube、TikTok、X、Facebook、pixivなどのプラットフォームの動画や画像を含みますが、これらに限定されません。関連するデータ情報の著作権はすべて原作者に帰属します。&lt;/li&gt;
&lt;li&gt;データは不定期に手動で更新されます。特定の画像や動画が必要な場合は、直接阿珏ちゃんにご連絡ください。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;プレビュー&#34;&gt;プレビュー&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://photo.moejue.cn&#34;&gt;https://photo.moejue.cn&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;image&#34; loading=&#34;lazy&#34; src=&#34;https://github.com/iAJue/PhotoGallery/raw/main/public/images/1.png&#34;&gt; &lt;img alt=&#34;image&#34; loading=&#34;lazy&#34; src=&#34;https://github.com/iAJue/PhotoGallery/raw/main/public/images/2.png&#34;&gt; &lt;img alt=&#34;image&#34; loading=&#34;lazy&#34; src=&#34;https://github.com/iAJue/PhotoGallery/raw/main/public/images/3.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;特徴&#34;&gt;特徴&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;画像と動画の表示をサポート&lt;/li&gt;
&lt;li&gt;アルバムの表示をサポート&lt;/li&gt;
&lt;li&gt;アルバムのパスワード保護をサポート&lt;/li&gt;
&lt;li&gt;18+保護をサポート&lt;/li&gt;
&lt;li&gt;検索機能をサポート&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;todo&#34;&gt;Todo&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;エフェクト表示の最適化&lt;/li&gt;
&lt;li&gt;UIの滑らかさの最適化&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;インストール手順&#34;&gt;インストール手順&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;リポジトリをローカルにクローンします：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;git clone https://github.com/iAJue/PhotoGallery.git
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;プロジェクトディレクトリに移動します：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;cd PhotoGallery
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;依存関係をインストールします：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;npm install
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;プロジェクトをビルドします&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;npm run build
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;バックエンドapi&#34;&gt;バックエンドAPI&lt;/h3&gt;
&lt;p&gt;参考用 &lt;a href=&#34;https://github.com/iAJue/wasteCode/tree/main/photo&#34;&gt;https://github.com/iAJue/wasteCode/tree/main/photo&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;返却データ形式&#34;&gt;返却データ形式&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;写真API&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[
{
    &amp;#34;date&amp;#34;: &amp;#34;\u6628\u5929&amp;#34;,
    &amp;#34;items&amp;#34;: [
        {
            &amp;#34;src&amp;#34;: &amp;#34;https:\/\/moejuevideo.pages.dev\/file\/1730957555106_ocgRCdDEA07fAILEKEFOA8ADAyETABBMffIBE6~tplv-dy-aweme-images_q75.webp&amp;#34;,
            &amp;#34;alt&amp;#34;: &amp;#34;ocgRCdDEA07fAILEKEFOA8ADAyETABBMffIBE6~tplv-dy-aweme-images_q75.webp&amp;#34;,
            &amp;#34;isVideo&amp;#34;: false,
            &amp;#34;duration&amp;#34;: null
        }
    ]
}
]
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;アルバムAPI&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[
{
    &amp;#34;folder_id&amp;#34;: &amp;#34;3&amp;#34;,
    &amp;#34;folder_name&amp;#34;: &amp;#34;images&amp;#34;,
    &amp;#34;created_at&amp;#34;: &amp;#34;2024-11-07 15:09:06&amp;#34;,
    &amp;#34;photo_count&amp;#34;: &amp;#34;61&amp;#34;,
    &amp;#34;latest_image&amp;#34;: &amp;#34;https:\/\/moejuevideo.pages.dev\/file\/1730963758087_GZIaBGlbAAALz_E.jpeg&amp;#34;,
    &amp;#34;attribute&amp;#34;: &amp;#34;2&amp;#34;,
    &amp;#34;ispassword&amp;#34;: true
}
]
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ランダムAPI&lt;/p&gt;</description>
    </item>
    <item>
      <title>オープンソースでシンプルかつスタイリッシュな、酷狗のサードパーティ製クライアント V1.0.0 Beta</title>
      <link>https://en.moejue.cn/ja/posts/225/</link>
      <pubDate>Sun, 03 Nov 2024 12:48:04 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/225/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;Logo&#34; loading=&#34;lazy&#34; src=&#34;https://github.com/iAJue/MoeKoeMusic/raw/main/images/logo.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;moekoe-music&#34;&gt;MoeKoe Music&lt;/h2&gt;
&lt;p&gt;オープンソースでシンプル、見た目も美しいKuGouのサードパーティクライアント&lt;br&gt;
&lt;a href=&#34;https://github.com/iAJue/MoeKoeMusic/&#34;&gt;&lt;strong&gt;🌎 GitHubリポジトリ&lt;/strong&gt;&lt;/a&gt;  |  &lt;a href=&#34;https://github.com/iAJue/MoeKoeMusic/releases&#34;&gt;&lt;strong&gt;📦️ インストーラーをダウンロード&lt;/strong&gt;&lt;/a&gt;  |  &lt;a href=&#34;https://MoeJue.cn&#34;&gt;&lt;strong&gt;💬 ブログを訪問&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;images&#34; loading=&#34;lazy&#34; src=&#34;https://github.com/iAJue/MoeKoeMusic/raw/main/images/5.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;はじめに&#34;&gt;はじめに&lt;/h2&gt;
&lt;p&gt;10年ほど前、ウェブ版QQを使っていた頃からKuGou Musicを使い始めました（もう10年来のファンです）。なので、この数年で集めた曲はすべてそこにあります。その後、NetEase Cloud MusicやQQ Musicも試してみましたが、KuGouのプレイリストをインポートしようとしても、結果は芳しくありませんでした。私が聴くのは主に日本のアニメのOPで、多くの曲が見つかりませんでした。&lt;/p&gt;
&lt;p&gt;結局、KuGouに戻ってきました。しかし、Mac版のKuGouは時々再生できないことがありました。インターフェースはシンプルですが、それはそれで良い点です。ネットユーザーの勧めで、今はKuGouの&lt;a href=&#34;https://t1.kugou.com/d2tBza3CSV2&#34;&gt;コンセプト版&lt;/a&gt;で音楽を聴いています。これは市場で数少ない、VIP曲を無料で聴ける音楽プレイヤーで、強くお勧めします。&lt;/p&gt;
&lt;p&gt;私の自己紹介ページで、特に日本のアニメのOPを聴くのが大好きだと書きました。それをどう証明するか？（以前のウェブ版プレイリストも長年放置されていました）そうだ、自分で音楽プレイヤーを開発しよう、と。&lt;/p&gt;
&lt;h2 id=&#34;-特徴&#34;&gt;✨ 特徴&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;✅ Vue.js ファミリーを使用して開発&lt;/li&gt;
&lt;li&gt;🔴 KuGouアカウントでのログイン（QRコード/携帯電話/アカウントでのログイン）&lt;/li&gt;
&lt;li&gt;📃 歌詞表示をサポート&lt;/li&gt;
&lt;li&gt;📻 毎日のおすすめ曲&lt;/li&gt;
&lt;li&gt;🚫🤝 ソーシャル機能一切なし&lt;/li&gt;
&lt;li&gt;🔗 公式サーバーに直接接続、サードパーティAPIは一切使用しません&lt;/li&gt;
&lt;li&gt;✔️ 毎日VIPを自動で受け取り、ログインするだけでVIPに&lt;/li&gt;
&lt;li&gt;🎨 テーマカラーの切り替え&lt;/li&gt;
&lt;li&gt;👋 起動時の挨拶メッセージ&lt;/li&gt;
&lt;li&gt;⚙️ マルチプラットフォーム対応&lt;/li&gt;
&lt;li&gt;🛠 さらに多くの機能を開発中&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;todo-list&#34;&gt;Todo List&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[ ] 📺 MV再生をサポート&lt;/li&gt;
&lt;li&gt;[ ] 🌚 Light/Dark Modeの自動切り替え&lt;/li&gt;
&lt;li&gt;[ ] 👆 Touch Barをサポート&lt;/li&gt;
&lt;li&gt;[ ] 🖥️ PWAをサポート、Chrome/Edgeのアドレスバー右側の ➕ をクリックしてPCにインストール可能&lt;/li&gt;
&lt;li&gt;[ ] 🟥 Last.fm Scrobbleをサポート&lt;/li&gt;
&lt;li&gt;[ ] 🎧 Mprisをサポート&lt;/li&gt;
&lt;li&gt;[ ] ⌨️ カスタムショートカットキーとグローバルショートカットキー&lt;/li&gt;
&lt;li&gt;[ ] 🤟 多言語対応&lt;/li&gt;
&lt;li&gt;[ ] 📻 デスクトップ歌詞&lt;/li&gt;
&lt;li&gt;[ ] ⚙️ システムアーキテクチャの最適化&lt;/li&gt;
&lt;li&gt;[ ] 🎶 曲、プレイリスト/お気に入り、削除&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;-インストール&#34;&gt;📦️ インストール&lt;/h2&gt;
&lt;p&gt;本プロジェクトの &lt;a href=&#34;https://github.com/iAJue/MoeKoeMusic/releases&#34;&gt;Releases&lt;/a&gt; ページにアクセスしてインストーラーをダウンロードしてください。&lt;/p&gt;</description>
    </item>
    <item>
      <title>今日は何の日でしょう？</title>
      <link>https://en.moejue.cn/ja/posts/223/</link>
      <pubDate>Thu, 24 Oct 2024 02:25:39 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/223/</guid>
      <description>&lt;p&gt;まさか今日が何の日か忘れたなんて言わないよね？なんでそんなことするの、私たちの間のこんなに大事な記念日を忘れるなんて。別れましょう。&lt;/p&gt;
&lt;p&gt;まあ、冗談はさておき、今日はとんでもない日なんだ。だって今日お祝いするこの人たちは、世界を変えたんだから。その人たちこそ&amp;mdash;&amp;ndash;誰にも見向きもされないプログラマーさ。&lt;/p&gt;
&lt;p&gt;毎年この大事な日を僕が忘れるわけないじゃないか。朝早くからブログを書き始めたよ。&lt;/p&gt;
&lt;h4 id=&#34;つぶやき&#34;&gt;つぶやき&lt;/h4&gt;
&lt;p&gt;会社や外注のプロジェクトを書いている時、そのコードは本当に実装できて動けばいいって感じ。エレガントさなんて全く考えられない。どんなにエレガントなコードでも、一日に何十もの要求変更があれば、それはもうクソコードの塊になる。それに比べて、自分のオープンソースの金にならないくだらないプロジェクトは、ディレクトリ構造、プロジェクトアーキテクチャ、技術スタック、実装方法、効率の最適化、さらにはインデント一つ、改行一つ、ファイル名一つに至るまで、何度も何度も考え抜いて作り上げたものだ。だからある日、僕はMarkdownに数時間を費やしたんだ。&lt;/p&gt;
&lt;h4 id=&#34;行動力&#34;&gt;行動力&lt;/h4&gt;
&lt;p&gt;今の僕は「やると言ったらすぐやる」状態なんだ。朝9時にふとアイデアが浮かんだら、11時にはもうコードを書き始めている。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hux8zkbeevj218g0ouwj9.jpg&#34;&gt; 音楽を聴くのにVIPがなくて、広告が多すぎる？なら自分で開発すればいい…デザイン性が高くてシンプルで洗練されたKugouのサードパーティクライアントを開発中。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hux8zvikusj20yy0u0djm.jpg&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;サボってなんかない&#34;&gt;サボってなんかない&lt;/h4&gt;
&lt;p&gt;最近、たくさんのコードを書いた。Visual Studio CodeにWakaTimeプラグインをインストールして、毎日のコーディング時間を記録しているんだ。同時にGitHubにも同期して、皆さんに「クラウド株主」として監督してもらっている。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hux90fhtcaj21c61bwe15.jpg&#34;&gt; ついでにGitHubもちょっと飾り付けて、すごい人っぽく見えるようにしたんだ。へへっ。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hux9089h0tj21bu18c7or.jpg&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;独り言の続き&#34;&gt;独り言の続き&lt;/h4&gt;
&lt;p&gt;実は今日、特に話すことはなかったんだけど、でもこの記念日にはどうしてもチェックインしたかったんだ。この人工知能が全盛の時代に、「プログラマーがAIを創造し、そのAIがプログラマーに取って代わる。プログラマーは自らの手で自分の首を絞めたのだ」という話をよく目にする。でも僕はそうは思わないし、AIを創造したプログラマーたちもそうは思わないと信じている。プログラマーはまるで、生まれた時からある種の使命を背負っているかのようだ。彼らは自身の境遇を考えるのではなく、この世界を変えるために生まれてきた。彼らはコードでこの世界を変え、この元々不完全な世界を理想に近づけていくんだ。&lt;/p&gt;
&lt;p&gt;Write code, change the world&lt;/p&gt;
&lt;h4 id=&#34;過去のこの日&#34;&gt;過去のこの日&lt;/h4&gt;
&lt;p&gt;&lt;a href=&#34;https://moejue.cn/archives/101&#34;&gt;1024プログラマーの日、最高のコーディングをして、一番イケてるやつになろう&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://moejue.cn/archives/77&#34;&gt;1024 プログラマーの日おめでとう&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://moejue.cn/archives/47&#34;&gt;1024 プログラマーの日おめでとう&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://moejue.cn/archives/19&#34;&gt;プログラマーの祝日1024！今日はお祝いした？〜&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://moejue.cn/archives/117&#34;&gt;今日はお祝いした？〜&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>マルチプラットフォーム記事同期ブラウザ拡張機能 - ArticleSync</title>
      <link>https://en.moejue.cn/ja/posts/218/</link>
      <pubDate>Wed, 16 Oct 2024 11:02:49 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/218/</guid>
      <description>&lt;h2 id=&#34;articlesync---マルチプラットフォーム記事同期プラグイン&#34;&gt;ArticleSync - マルチプラットフォーム記事同期プラグイン&lt;/h2&gt;
&lt;p&gt;ArticleSyncは、ユーザーが複数のソーシャルプラットフォームに記事を簡単に同期・公開できるブラウザ拡張機能です。ローカルの下書きから、知乎（Zhihu）やBilibiliなどの主要プラットフォームに記事を公開することをサポートしています。これにより、異なるソーシャルメディアプラットフォーム間で記事を同期する作業が、シンプルかつ効率的になるワンストップソリューションを提供します。&lt;/p&gt;
&lt;p&gt;ブラウザ拡張機能の仕組みに基づき、ローカルでログインしているアカウントを自動的に検出し、アカウント情報の漏洩や環境の異常といったリスクを防ぎます。&lt;/p&gt;
&lt;p&gt;Chrome Manifest V3ブラウザ拡張機能の標準に基づいて開発されており、カーネルのバージョン要件にご注意ください。&lt;/p&gt;
&lt;h3 id=&#34;背景&#34;&gt;背景&lt;/h3&gt;
&lt;p&gt;ご存知の通り、私は最近、いくつかのブログプラットフォームと多くのソーシャルサイトを新たに使い始めました。もし、それらすべてで活発に更新を続けたいと思ったらどうすればいいでしょうか。（私がまだ生きていることを証明するために）ついでに、ワンクリックで記事を転載することもできます。&lt;/p&gt;
&lt;p&gt;私が最も頻繁に更新するのは自分の小さなサイトですが、他のプラットフォームはたまにしか更新しません。しかし、毎回手動で投稿するのは面倒です。そこで、ローカルでログインしているアカウントを自動検出し、自動で投稿してくれるプラグインが作れないかと考えました。&lt;/p&gt;
&lt;p&gt;「自分のことは自分でやる」ということわざの通り、数日間いじくり回して、なんとか使えるものができました。残りの部分は時間があるときに更新します。お金をくれるなら話は別ですが。&lt;/p&gt;
&lt;p&gt;このプラグインにはまだ多くの未完成な部分があり、本番環境で複数のプラットフォームでのテストも行っていません。エラーが発生するのはごく普通のことですので、その際はIssueを提出するか、自分で修正してPRを送ってください。てへぺろ〜&lt;/p&gt;
&lt;p&gt;話の邪魔にならないように、スクリーンショットは最後に載せておきました。&lt;/p&gt;
&lt;p&gt;それと、オープンソースは大変なので、スターを付けてくれると嬉しいです。へへへ〜&lt;/p&gt;
&lt;p&gt;本当は、私のコミュニティプラットフォームを自動でフォローするような、個人的な機能を追加しようかとも思いました。&lt;/p&gt;
&lt;h3 id=&#34;機能と特徴&#34;&gt;機能と特徴&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;マルチプラットフォーム対応&lt;/strong&gt;：知乎（Zhihu）、Bilibiliなどの主要プラットフォームや、自作のオープンソースCMSシステムをサポートしています。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ステータス追跡&lt;/strong&gt;：プラグインのインターフェースで記事の同期状況を確認できます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;アカウント管理&lt;/strong&gt;：プラグインに連携されている各プラットフォームのアカウント情報を確認できます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;高い拡張性&lt;/strong&gt;：開発者はアダプターパターンを通じて、簡単により多くのプラットフォームに拡張できます。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;安全性と信頼性&lt;/strong&gt;：ブラウザ拡張機能の仕組みに基づいているため、アカウントの安全性を確保し、情報漏洩などのリスクを回避します。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;todoリスト&#34;&gt;Todoリスト&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;[ ] 独立した記事エディタ&lt;/li&gt;
&lt;li&gt;[ ] 画像のワンクリック同期&lt;/li&gt;
&lt;li&gt;[x] MarkdownとHTMLの相互変換&lt;/li&gt;
&lt;li&gt;[ ] サードパーティの画像ホスティングサービス&lt;/li&gt;
&lt;li&gt;[ ] 複数アカウント管理&lt;/li&gt;
&lt;li&gt;[ ] マルチOSクライアントバージョン&lt;/li&gt;
&lt;li&gt;[ ] ワンクリックAI要約&lt;/li&gt;
&lt;li&gt;[ ] 動画の同期&lt;/li&gt;
&lt;li&gt;[ ] タグ、カテゴリのサポート&lt;/li&gt;
&lt;li&gt;[ ] より親切なエラーハンドリング&lt;/li&gt;
&lt;li&gt;[ ] より多くのプラットフォームへの対応&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;対応プラットフォーム&#34;&gt;対応プラットフォーム&lt;/h3&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;メディア&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;カテゴリ&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;ステータス&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;URL&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;対応形式&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;更新日時&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Bilibili (哔哩哔哩)&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;主要セルフメディア&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;対応済み&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://bilibili.com/&#34;&gt;https://bilibili.com/&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;HTML&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;2024/10/13&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;知乎 (Zhihu)&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;主要セルフメディア&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;対応済み&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://www.zhihu.com/&#34;&gt;https://www.zhihu.com/&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;HTML&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;2024/10/13&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;博客园 (Cnblogs)&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;ブログ&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;対応済み&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://cnblogs.com/&#34;&gt;https://cnblogs.com/&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;HTML&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;2024/10/14&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;新浪头条 (Sina Headline)&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;主要セルフメディア&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;対応済み&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://weibo.com/&#34;&gt;https://weibo.com/&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;HTML&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;2024/10/14&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Emlog&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;オープンソースCMS&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;対応済み&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://www.emlog.net/&#34;&gt;https://www.emlog.net/&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;HTML&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;2024/10/14&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;WordPress&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;オープンソースCMS&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;対応済み&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://cn.wordpress.org/&#34;&gt;https://cn.wordpress.org/&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;HTML,Markdown&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;2024/10/14&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Discuz!&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;オープンソースCMS&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;対応済み&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;a href=&#34;https://www.discuz.vip/&#34;&gt;https://www.discuz.vip/&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Markdown,Text&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;2024/10/15&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;インストール手順&#34;&gt;インストール手順&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;リポジトリをローカルにクローンします：&lt;/p&gt;</description>
    </item>
    <item>
      <title>敗者復活戦に勝って、生き返った</title>
      <link>https://en.moejue.cn/ja/posts/206/</link>
      <pubDate>Thu, 03 Oct 2024 02:48:02 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/206/</guid>
      <description>&lt;h3 id=&#34;近況&#34;&gt;近況&lt;/h3&gt;
&lt;p&gt;前回の雑談からもう2ヶ月以上も経ってしまいました。そろそろ自分の考えを整理する時が来たようです。前回は色々と感慨を述べたきり音沙汰がなかったので、少し急ぎすぎたかもしれません。その後の作業が追いつかなくなってしまいました。&lt;/p&gt;
&lt;p&gt;また国慶節の季節がやってきました。やはり私の国慶節は「独身の日（ダブルイレブン）」のようなものです。以前所有していた3つのドメイン（52ecy.cn, moeins.cn, moeins.com）は、復活戦には勝ったものの、装備がなくなってしまいました。&lt;/p&gt;
&lt;p&gt;そのため、ドメインを新規購入するしかありませんでした。同時にもブログを復旧させました。やはり自分でいじりたいのでしょう。博客园（cnblogs）に間借りするのは、どうも居心地が悪く感じます。&lt;/p&gt;
&lt;p&gt;以前からずっと使っていたemlogですが、この機会に思い切ってシステムをWordPressに移行し、同時に新しいテーマに切り替えました。このテーマは&lt;a href=&#34;https://www.boxmoe.com/&#34;&gt;专收爆米花&lt;/a&gt;さんが21年頃にリリースしたもので、当時locで見かけてすぐにstarを付け、私のGitHubで4年間眠っていました&lt;a href=&#34;https://github.com/iAJue/lolimeow&#34;&gt;lolimeow&lt;/a&gt;。当時はずっとemlogを使っていたので、いじるのが面倒だったのです。この機会に乗じて、徹底的にやろうと決め、データの移行やテーマの調整など、かなりの手間をかけました。&lt;/p&gt;
&lt;p&gt;作者の方がずっとテーマの更新を積極的に進めてくれていたおかげで、使用中に大きな問題はありませんでした。しかし、私が以前使っていたシステムの機能がいくつか欠けていたので、私もこのテーマを更新し、元のリポジトリにプルリクエストを送りました。上に貼ったGitHubのリンクは私が更新した後のものです。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu90no7xm8j20w414kdue.jpg&#34;&gt; 最も面倒だったデータ移行の部分ですが、ネットで長いこと探し回ってもexe版しか見つかりませんでした。exe版はなんとなく不安な感じがする上に、私は今Macを使っているので、直接実行することもできません。「ないなら自分で作ればいい」ということで、時間をかけて移行スクリプトを自作するしかありませんでした。GitHubのアドレスは記事の最後に載せてあります。emlogのデータをWordPressに完璧に移行できます。さすが俺！&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu86bsccndj21hc0u0gr1.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;画像はこれまで通り、一部はバックアップとして七牛云（Qiniu Cloud）に、もう一部は新浪图床（Sina Image Hosting）に保存しています。移行してみると、市場には私に適した使いやすい七牛云プラグインがなかったので、また自分で一つ作りました。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu8aervippj20z608i0ws.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu8aexj66gj20zw12yk01.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;新ドメイン&#34;&gt;新ドメイン&lt;/h3&gt;
&lt;p&gt;あまり気は進みませんでしたが、またドメインを変更するしかありませんでした。以前のドメインは他人の肥やしになってしまいました。萌音シリーズ：MoeKot.cn。「萌音ノート」「萌音カード」「萌音コミュニティ」「萌音ストア」などを含む萌音シリーズは、今後このドメインの下に置かれます。メインサイトシリーズ：MoeJue.cn。これは私のメインサイトで、ブログやシリーズに属さないプロジェクトなどがこのドメインの下に置かれます。&lt;/p&gt;
&lt;h4 id=&#34;解説&#34;&gt;解説&lt;/h4&gt;
&lt;p&gt;Moe: 日本語の「萌え」の読み方で、ローマ字表記です。中国語では一般的に「萌」と訳されます。
Kot: 日本語の「声（こえ）」を意味する言葉で、ローマ字表記です。
Jue: 阿珏（A Jue）ちゃんの簡単な音訳です。&lt;/p&gt;
&lt;h3 id=&#34;ブログ&#34;&gt;ブログ&lt;/h3&gt;
&lt;p&gt;私はとても昔を懐かしむ情に厚い人間なので、以前のブログもすべて残してあります。&lt;a href=&#34;http://xlog.moejue.cn/&#34;&gt;Xlog&lt;/a&gt; &lt;a href=&#34;https://www.cnblogs.com/Ajue&#34;&gt;cnblogs&lt;/a&gt; &lt;a href=&#34;https://log.MoeJue.cn&#34;&gt;emlog&lt;/a&gt; &lt;a href=&#34;https://blog.moejue.cn&#34;&gt;Blog&lt;/a&gt; 関連サイトのドメインも移行しましたが、すべてをリストアップするのはやめておきます。もちろん、一部のリンクが完全に置換されていない可能性もあります。&lt;/p&gt;
&lt;p&gt;すべてのデータは元のままで、誰一人のデータも欠けていません。ブログの登録ユーザーのデータさえも一緒に移行したので、新しいシステムで直接ログインできます。パスワードも同じです。&lt;/p&gt;
&lt;h5 id=&#34;ぜひstarを付けてください&#34;&gt;ぜひstarを付けてください！&lt;/h5&gt;
&lt;p&gt;使い方もREADME.mdに書いておきました。何か問題があれば、直接issueを立ててください。&lt;/p&gt;
&lt;h4 id=&#34;emlogからwordpressへの移行スクリプト&#34;&gt;&lt;a href=&#34;https://github.com/iAJue/migrate_emlog_to_wp&#34;&gt;emlogからWordPressへの移行スクリプト&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;私のブログは間もなくTencent Cloud開発者コミュニティにも同期される予定です。皆さんのご参加をお待ちしています：&lt;a href=&#34;https://cloud.tencent.com/developer/support-plan?invite_code=15kxzzid10tgx&#34;&gt;https://cloud.tencent.com/developer/support-plan?invite_code=15kxzzid10tgx&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>転生：ECサイトを構築する - 萌音ECサイトV1.0リリース</title>
      <link>https://en.moejue.cn/ja/posts/203/</link>
      <pubDate>Wed, 02 Oct 2024 06:17:50 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/203/</guid>
      <description>&lt;p&gt;萌音シリーズのN+1番目のプロジェクトが来ましたね。これも実は数年間放置していたプロジェクトで、今回ようやく完成させることができました。&lt;/p&gt;
&lt;h5 id=&#34;まずはプロジェクトアドレス-httpsmoekoecn&#34;&gt;まずはプロジェクトアドレス: &lt;a href=&#34;https://MoeKoe.cn&#34;&gt;https://MoeKoe.cn&lt;/a&gt;&lt;/h5&gt;
&lt;h4 id=&#34;なぜ私はプロジェクトを作り続けているのか&#34;&gt;なぜ私はプロジェクトを作り続けているのか？&lt;/h4&gt;
&lt;p&gt;この質問はとても面白いですね。なぜ様々なプロジェクトを、しかもお金にならないものばかり作り続けているのか。私の以前のプロジェクトに触れたことのある方はご存知でしょうが、私はどんなプロジェクトも「自分が使う」という原則に基づいて制作しています。もちろん今回も例外ではありません。ずっと、どこかのプラットフォームで、持っているけれど使わず、捨てるには惜しい小物たちを売りたいと思っていました。同時に、面白くて楽しい製品を皆さんと共有したいとも思っています（将来的には私のIP製品も加わるかもしれません）。「最高の出来事や物を、最高のあなたと共有したい」という思いもありますし、「他人が持っているなら私も持つべきだ」という原則に基づいて、私も持たなければなりません。&lt;/p&gt;
&lt;p&gt;もし私がただ小物を売りたいだけなら、なぜ直接淘宝や闲鱼のようなプラットフォームを使わないのでしょうか。一歩譲って、これらのプラットフォームを使わないとしても、既存のECシステムを自分で構築することもできます。今や市場には成熟していて使いやすいシステムが山ほどあります。なぜわざわざ自分で開発する必要があるのでしょうか？&lt;/p&gt;
&lt;p&gt;一言で言えば、好きだからです。これは私の趣味で、創造することが好きで、面白いものやことをするのが好きなんです。私はただ生きているだけの凡人ではなく、すごくて面白い人間になりたい。もっと多くの面白い魂と出会いたい。「すごい」という私の定義は、技術がどれほど優れているか、お金をどれほど稼ぐかということではありません。挫折や困難に直面したときでも、笑顔で立ち向かい、楽観的であり続け、初心を忘れない人。そのような人を、私は「すごい人」と呼びたいのです。&lt;/p&gt;
&lt;p&gt;新しいプロジェクトを発表する記事なのに、またしても口語体のブログになってしまいました、ハハハ。&lt;/p&gt;
&lt;h3 id=&#34;プロジェクト紹介&#34;&gt;プロジェクト紹介&lt;/h3&gt;
&lt;p&gt;最近何をしているか？ピンクで可愛らしいもの、つまり二次元少女萌え系スタイルの魔法少女ECサイトを作っています。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;魔法少女のファンタジー世界へようこそ！二次元の無限の可能性を探る冒険の旅を始めましょう！これは二次元愛好家のために特別に作られたオンラインECサイトです。ここでは、最も輝く魔法のアイテム、最もキュートな変身コスチューム、そして豊富で多様な二次元関連商品を見つけることができます。可愛い萌えグッズに夢中な方も、クールなコレクターズアイテムがお好きな方も、二次元へのすべての愛と期待をここで満たすことができます！&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;URLをクリックすると、目が覚めるような（ピンクの）感覚を覚えるでしょう。そうです、これこそ私が求めていたスタイルです。ピンクで可愛らしく、乙女心満載で、カワイイ感じ。これこそが私の個性を際立たせるのです。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu80pi6l1vj22bm1g2kjp.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;技術スタック&#34;&gt;技術スタック&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Vue.js3&lt;/li&gt;
&lt;li&gt;Vite&lt;/li&gt;
&lt;li&gt;Pinia&lt;/li&gt;
&lt;li&gt;Axios&lt;/li&gt;
&lt;li&gt;Node.js&lt;/li&gt;
&lt;li&gt;Express&lt;/li&gt;
&lt;li&gt;Mysql&lt;/li&gt;
&lt;li&gt;Nginx&lt;/li&gt;
&lt;li&gt;フロントエンドとバックエンドの分離&lt;/li&gt;
&lt;li&gt;MySQLスレッドプール&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vue.jsのフルスタックは本当に素晴らしいですね。ネイティブで書く手間が省けます。現在、国際化プラグイン（i18n）はこのバージョンにはまだ搭載されていません。市販のUIライブラリがこのプロジェクトの私の位置付けや個性に直接合致しないため、既存のUIライブラリは使用せず、すべて自分で手書きしました。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu80vhmhh0j21ys1fqqv7.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;紹介&#34;&gt;紹介:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;仮想通貨USDTに対応（ウォレットアドレスを入力するだけで、自動で着金を監視。外部プログラム不要。監視システムは新規注文があると自動起動し、30分間新規注文がないと自動休眠し、リソース消費を削減）&lt;/li&gt;
&lt;li&gt;Alipay対面決済に対応、即時着金、自動コールバック&lt;/li&gt;
&lt;li&gt;ユーザー登録、ログイン、ログアウト、パスワード変更、アバター変更、商品レビューに対応&lt;/li&gt;
&lt;li&gt;商品管理、商品カテゴリ管理に対応&lt;/li&gt;
&lt;li&gt;注文管理、注文決済、注文発送、物流追跡に対応&lt;/li&gt;
&lt;li&gt;商品注文データ分析に対応&lt;/li&gt;
&lt;li&gt;全サイトレスポンシブデザイン&lt;/li&gt;
&lt;li&gt;フロントエンドとバックエンドの分離&lt;/li&gt;
&lt;li&gt;MySQLスレッドプール&lt;/li&gt;
&lt;li&gt;システムの基本情報設定&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu80ywg8ntj21y21f2x6p.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;最初のバージョンでは、基本的な機能と必要な機能のみを追加しました。新機能は設計段階で既に考慮されており、データベースとコードには予約がされています（そのため、あるボタンをクリックしても反応がない場合でも心配しないでください。その背後にはまだコードがないだけです）。これらは将来のバージョンで追加される予定です。現在、ECサイトでは物理的な商品の発送形式で販売していますが、将来的には仮想商品の販売も追加し、基本的に&lt;a href=&#34;https://pay.MoeKoe.cn&#34;&gt;萌音発券&lt;/a&gt;の機能をすべて統合する予定です。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu80ynckudj21lc1fs7wh.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;このプロジェクトの命名は「shop」ではなく「mall」としました。そのため、将来的には単なる店舗ではなく、ショッピングモールになる可能性があります。&lt;/p&gt;
&lt;h3 id=&#34;将来&#34;&gt;将来:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;マルチテナントモード。ユーザーが直接ECサイトへの出店を申請し、萌音ECサイトを利用して自身の製品を販売できるようにする&lt;/li&gt;
&lt;li&gt;商品の多カテゴリ分類。製品のより詳細な仕様分類&lt;/li&gt;
&lt;li&gt;より多くの決済方法。現在、作者は他の決済権限を持っていないため、2つのみ連携済み&lt;/li&gt;
&lt;li&gt;仮想商品に対応。発券機能を統合する形となる&lt;/li&gt;
&lt;li&gt;商品ポスター宣伝画像生成&lt;/li&gt;
&lt;li&gt;メールシステム。あってもなくても良い通知機能に過ぎない&lt;/li&gt;
&lt;li&gt;右下の多機能メニュー。下部の笑顔のキャラクターがスマートナビゲーションシステムになる&lt;/li&gt;
&lt;li&gt;商品インターフェースのデータ表示を追加。データが一目でわかるように&lt;/li&gt;
&lt;li&gt;多言語対応（i18n）。国際化の流れに乗り、世界へ&lt;/li&gt;
&lt;li&gt;SMSシステム。メールシステムと全く同じ&lt;/li&gt;
&lt;li&gt;Redisキャッシュ。本来はこのバージョンで追加する予定だったが、データの制御は現状でも問題ない&lt;/li&gt;
&lt;li&gt;ダークモード。これもトレンドに追随&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu80wkxv32j21wq1f2e81.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;ソースコードの入手方法&#34;&gt;ソースコードの入手方法？&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;阿珏酱に233RMB以上を寄付することでソースコードを入手できます。&lt;/li&gt;
&lt;li&gt;以前に阿珏酱を支援してくださった方々（以前の支援総額が233に満たない場合は差額を補填する形で、233を超えている場合は1元を寄付して契約を再締結するだけで直接入手できます）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;こちらをクリックして&lt;a href=&#34;https://jq.qq.com/?_wv=1027&amp;amp;k=5cvR0GN&#34;&gt;某コミュニティ公式交流グループ&lt;/a&gt;で阿珏酱を支援してください。個人のQQリンクを貼れないため、グループリンクを貼りました。グループに参加してグループ管理者に@メンションしてください。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu80y9po72j21ru1fi4qp.jpg&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;なぜ商用版を設けないのか&#34;&gt;なぜ商用版を設けないのか？&lt;/h4&gt;
&lt;p&gt;なぜ商用版ではなく、寄付版なのか、その違いは何でしょうか？商用版となると、ライセンスシステムが必要になり、同時にソースコードが提供されない可能性もあり、技術サポートも必要で、さらに多くの完璧な機能が求められるでしょう。商用版のお金はプロジェクト自体に支払われるもので、作者とは利害関係、つまり商業契約のモデルであり、作者はそれ（人）に対して責任を負う必要があります。（私はこの感覚が特に好きではありません。これが私が稼げない理由かもしれませんね）&lt;/p&gt;
&lt;p&gt;一方、寄付版は、作者本人への寄付であり、個人の意思、友人同士の約束のような契約モデルであり、作者はプロジェクト自体にのみ責任を負います。&lt;/p&gt;
&lt;p&gt;もちろん、私が言葉遊びをしている、言葉の隙間を突いていると感じるかもしれません。だから、これは完全に寄付行為なのです。今回の寄付の敷居には少し商業的な雰囲気があるかもしれませんが、それは私と妻たちが生活のために稼がなければならないからです。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu800yh27oj21t00t8kjl.jpg&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;ヒント&#34;&gt;ヒント&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;寄付版ではVueフロントエンドのソースコード＋コンパイル後の静的ファイル＋Node.jsバックエンドのソースファイルを提供します。&lt;/li&gt;
&lt;li&gt;すべての寄付版で入手できるのはソースファイルであり、暗号化や難読化はされていません。漏洩しないようお願いするとともに、ご自身の権利を守るためでもあります。&lt;/li&gt;
&lt;li&gt;ソースコードの変更にはある程度の基本的なプログラミング知識が必要です。もしできない場合は、変更しないでください。&lt;/li&gt;
&lt;li&gt;宝塔パネルのデプロイサービスを1回提供します。&lt;/li&gt;
&lt;li&gt;ウェブサイトのインターフェースは少女萌え系スタイルに傾倒しており、一般的な製品には適さない可能性がありますのでご注意ください。&lt;/li&gt;
&lt;li&gt;コードは複製可能であるため、契約締結後は撤回できません。何卒ご了承ください。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu80wx88oyj21sc1g0kik.jpg&#34;&gt; 今回もこれまでと同様に、寄付版の形式でソースコードを入手できるようにしました。なぜ今回またソースコードの入手を開放したのでしょうか？以前の萌音コミュニティの影響が多少あるでしょう。萌音コミュニティは私が2ヶ月以上かけて丹念に書き上げたもので、ソースコードの寄付による入手は受け付けず、純粋に自分で運営していました。寄付を申し出た人たちは皆断りましたが、最終的には一度だけ寄付を受け取りました。結局、萌音コミュニティに申し訳ない気持ちになりました。自分の手で潰してしまい、もっと多くの人にその存在を知ってもらえなかったからです。では、なぜ直接オープンソースにしないのかというと、そうするとかえってこのプロジェクトに申し訳ないと感じるからです。誰もが簡単に手に入れられるものだと思われ、その価値が失われてしまうでしょう。直接オープンソースにはしませんが、プロジェクト関連のアーキテクチャや設計思想、一部のコードを公開し、皆さんの参考にしてもらい、学習の妨げにはならないようにします。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web3.0とは何か？ブロックチェーンとの関係は？</title>
      <link>https://en.moejue.cn/ja/posts/202/</link>
      <pubDate>Mon, 17 Jun 2024 12:59:22 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/202/</guid>
      <description>&lt;p&gt;また一つ、よくわからない言葉が出てきましたね-_-。以下に要点をまとめてみました。&lt;/p&gt;
&lt;h2 id=&#34;web30とは何か&#34;&gt;web3.0とは何か&lt;/h2&gt;
&lt;p&gt;Web 3.0（Web3）は、次世代のインターネットの発展方向であり、より分散化され、ユーザーがコントロールし、データが保護されるネットワーク環境を構築することを目指しています。これまでのWeb 1.0（静的なウェブページ）やWeb 2.0（動的でインタラクティブなウェブページやソーシャルメディア）とは異なり、Web 3.0の核心的な理念と技術には以下の側面が含まれます。&lt;/p&gt;
&lt;h3 id=&#34;非中央集権化&#34;&gt;非中央集権化：&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ブロックチェーン技術：Web 3.0の核心はブロックチェーン技術であり、すべての取引やデータの変更を記録する分散型台帳を提供します。これは、データが単一の中央サーバーによって管理されるのではなく、複数のノードに分散されることを意味します。&lt;/li&gt;
&lt;li&gt;分散型アプリケーション（DApps）：これらのアプリケーションはブロックチェーンネットワーク上で実行され、中央集権的な管理者が存在しません。DAppsのユーザーは、仲介機関を介さずに直接取引や対話を行うことができます。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;ユーザーコントロールとデータ保護&#34;&gt;ユーザーコントロールとデータ保護：&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;自己主権型アイデンティティ：Web 3.0では、ユーザーは自身のデジタルアイデンティティとデータを完全にコントロールできます。暗号技術を通じて、ユーザーは誰が自分のデータにアクセスできるか、またそのデータをどのように使用するかを決定できます。&lt;/li&gt;
&lt;li&gt;データ所有権：ユーザーのデータは分散型ネットワーク上に保存され、大手企業による集中管理ではなく、ユーザー自身がデータの所有権を持ちます。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;スマートコントラクト&#34;&gt;スマートコントラクト：&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;自動実行プロトコル：スマートコントラクトは、ブロックチェーン上で実行される自動化されたプロトコルであり、特定の条件が満たされると自動的に実行されます。この技術は、金融取引、サプライチェーン管理、法的な契約など、さまざまなシーンで利用できます。&lt;/li&gt;
&lt;li&gt;相互運用性：Web 3.0は、異なるブロックチェーンや分散型ネットワーク間の相互運用性を実現し、データや資産が異なるプラットフォーム間でシームレスに移動できるようにすることを目指しています。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;トラストレスと透明性&#34;&gt;トラストレスと透明性：&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;トラストレスなメカニズム：Web 3.0はブロックチェーン技術を通じてトラストレスなメカニズムを実現します。つまり、参加者はお互いを信頼したり、第三者の仲介者に依存したりすることなく、安全な取引や対話を行うことができます。&lt;/li&gt;
&lt;li&gt;透明性：すべての取引やデータの変更はブロックチェーン上に記録され、公開され透明であり、改ざん不可能です。これにより、信頼性とセキュリティが向上します。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;web-30の応用シーン&#34;&gt;Web 3.0の応用シーン&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;分散型金融（DeFi）：スマートコントラクトとブロックチェーン技術を通じて、貸付、取引、投資などの仲介者を必要としない金融サービスを提供します。&lt;/li&gt;
&lt;li&gt;デジタルアイデンティティ：ユーザーは自身のデジタルアイデンティティを作成・管理し、個人データのアクセスと使用をコントロールできます。&lt;/li&gt;
&lt;li&gt;サプライチェーン管理：ブロックチェーン技術を通じて、サプライチェーンの透明性と追跡可能性を実現し、偽造や詐欺を防止します。&lt;/li&gt;
&lt;li&gt;コンテンツ制作と配信：アーティスト、ミュージシャン、作家は、直接視聴者と対話し取引を行うことで、より公平な収益分配を得ることができます。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;ではブロックチェーンとは何か&#34;&gt;では、ブロックチェーンとは何か？&lt;/h2&gt;
&lt;p&gt;ブロックチェーン技術は、分散型台帳技術（Distributed Ledger Technology, DLT）の一種であり、取引や情報を記録するための改ざん不可能で非中央集権的なデータベースです。ブロックチェーン技術の核心的な考え方は、非中央集権的な方法でデータの安全性、透明性、信頼性を実現することです。&lt;/p&gt;
&lt;h3 id=&#34;ブロックチェーンの基本原理&#34;&gt;ブロックチェーンの基本原理&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;ブロック（Block）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブロックは取引記録を含むデータパッケージです。各ブロックには複数の取引と、そのブロックを一位に識別するためのハッシュ値が含まれています。&lt;/li&gt;
&lt;li&gt;ブロックには前のブロックのハッシュ値も含まれており、これによりすべてのブロックが鎖のようにつながり、ブロックチェーンを形成します。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;チェーン（Chain）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブロックはハッシュ値によって相互に連結され、チェーン構造を形成します。各ブロックが前のブロックのハッシュ値を含むため、ブロックチェーン内のデータを改ざんすることは非常に困難です。&lt;/li&gt;
&lt;li&gt;あるブロックのデータを変更しようとすると、そのブロックおよびそれに続くすべてのブロックのハッシュ値が変化するため、これらすべてのブロックのハッシュ値を再計算する必要があり、これはほぼ不可能です。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;非中央集権化（Decentralization）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブロックチェーンネットワーク内のすべてのノード（コンピュータ）は、ブロックチェーンの完全なコピーを保持しており、これらのコピーはコンセンサスメカニズムによって一貫性が保たれています。&lt;/li&gt;
&lt;li&gt;中央機関がブロックチェーンを管理・制御することはなく、データはすべてのノードによって共同で維持されます。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;コンセンサスメカニズム（Consensus Mechanism）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブロックチェーンネットワークは、すべてのノードがブロックチェーンの状態について合意に達することを保証するためにコンセンサスメカニズムを使用します。一般的なコンセンサスメカニズムには、プルーフ・オブ・ワーク（Proof of Work, PoW）やプルーフ・オブ・ステーク（Proof of Stake, PoS）があります。&lt;/li&gt;
&lt;li&gt;プルーフ・オブ・ワーク（PoW）：マイナーが複雑な数学的問題を解くことで取引を検証し、ブロックチェーンに追加します。問題を解くには大量の計算能力が必要であり、これによりブロックチェーンのセキュリティが確保されます。&lt;/li&gt;
&lt;li&gt;プルーフ・オブ・ステーク（PoS）：バリデーターが保有する暗号資産の量やその他の要因に基づいて取引を検証し、それに応じた報酬を得ます。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;暗号技術（Cryptography）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブロックチェーンは、データの安全性とプライバシーを確保するために暗号技術を使用します。各取引は公開鍵と秘密鍵を使用して署名・検証され、正当な所有者のみが取引を開始できるようにします。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;ブロックチェーンのメリット&#34;&gt;ブロックチェーンのメリット&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;セキュリティ：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;データは複数のノードに分散されているため、単一障害点がなく、攻撃者がデータを改ざんすることは困難です。各ブロックには前のブロックのハッシュ値が含まれており、一つのブロックを改ざんするにはチェーン全体を変更する必要があるため、コストが非常に高くなります。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;透明性：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ブロックチェーン上のすべての取引記録は公開されており、誰でも閲覧できます。取引記録は改ざん不可能であり、システムの透明性と信頼性を高めます。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;非中央集権化：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;中央管理機関が存在せず、すべてのノードが平等にネットワークの維持・管理に参加するため、単一の支配や権力の集中を防ぎます。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;改ざん耐性：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;データが一度ブロックチェーンに書き込まれると、それを改ざんすることは非常に困難であり、データの完全性と真正性が保証されます。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;ブロックチェーンの応用シーン&#34;&gt;ブロックチェーンの応用シーン&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;暗号資産（仮想通貨）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ビットコイン（Bitcoin）は、最初で最も有名なブロックチェーンアプリケーションであり、非中央集権的な方法でピアツーピアの電子現金システムを実現します。&lt;/li&gt;
&lt;li&gt;イーサリアム（Ethereum）は、暗号資産の取引だけでなく、スマートコントラクトの実行もサポートしており、ブロックチェーンの応用範囲を広げています。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;サプライチェーン管理：&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web3.0ベースのブロックチェーン画像アップロード</title>
      <link>https://en.moejue.cn/ja/posts/201/</link>
      <pubDate>Mon, 17 Jun 2024 12:57:43 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/201/</guid>
      <description>&lt;p&gt;始める前に、まず基本的な概念を簡単に理解しましょう。以下のいくつかの点にまとめました。&lt;a href=&#34;https://www.cnblogs.com/Ajue/p/18252827&#34;&gt;Web3.0とは何か、ブロックチェーンとどのような関係があるのか？&lt;/a&gt;（前回の記事がここで役立ちますね）&lt;/p&gt;
&lt;p&gt;要件：PythonベースのWeb 3.0画像アップロードシステムを開発します。このシステムは、ユーザーが画像をアップロードし、その画像を分散型ネットワークに保存し、同時にトランザクション情報をブロックチェーンに記録することを可能にします。もともとは遊びで書いていたもので、ユーザー認証やファイル操作を統合した完全な管理システムにして、「画像アップロードサービスの最終的な解決策」にしようと考えたこともありましたが、実際にやってみるとあまり現実的ではないことに気づき、断念しました。しかし、私は昔から画像にこだわりがあるのです。&lt;/p&gt;
&lt;h3 id=&#34;ステップの概要&#34;&gt;ステップの概要&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;環境設定&lt;/strong&gt;：Pythonを使用して開発し、必要なPythonライブラリをインストールします。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IPFS統合&lt;/strong&gt;：画像をIPFSにアップロードし、画像のCID（Content Identifier）を取得します。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ブロックチェーン統合&lt;/strong&gt;：IPFSのCIDをブロックチェーンに記録します。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Webインターフェース&lt;/strong&gt;：Flaskを使用して、ユーザーが画像をアップロードできるWebインターフェースを作成します。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;詳細なステップ&#34;&gt;詳細なステップ&lt;/h3&gt;
&lt;h4 id=&#34;1-環境設定&#34;&gt;1. 環境設定&lt;/h4&gt;
&lt;p&gt;必要なPythonライブラリをインストールします：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pip install flask web3 ipfshttpclient
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;2-ipfs統合&#34;&gt;2. IPFS統合&lt;/h4&gt;
&lt;p&gt;IPFS（InterPlanetary File System）は、ピアツーピアのファイルストレージプロトコルです。&lt;code&gt;ipfshttpclient&lt;/code&gt;ライブラリを使用してIPFSネットワークと対話できます。&lt;/p&gt;
&lt;p&gt;まず、IPFSノードをインストールして実行していることを確認してください。まだIPFSをインストールしていない場合は、&lt;a href=&#34;https://ipfs.io&#34;&gt;IPFS公式サイト&lt;/a&gt;でインストールガイドを見つけることができます。&lt;/p&gt;
&lt;p&gt;以下は、画像をIPFSにアップロードするコード例です：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;import ipfshttpclient

def upload_to_ipfs(file_path):
    client = ipfshttpclient.connect(&amp;#39;/ip4/127.0.0.1/tcp/5001&amp;#39;)
    res = client.add(file_path)
    return res[&amp;#39;Hash&amp;#39;]
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;3-ブロックチェーン統合&#34;&gt;3. ブロックチェーン統合&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;web3.py&lt;/code&gt;ライブラリを使用してIPFSのCIDをブロックチェーンに記録します。ここではイーサリアム（Ethereum）をサンプルブロックチェーンとして使用します。&lt;/p&gt;
&lt;p&gt;以下は、IPFSのCIDを保存するための簡単なスマートコントラクトの例です：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;pragma solidity ^0.8.0;

contract IPFSStorage {
    mapping(address =&amp;gt; string[]) public userCIDs;

    function storeCID(string memory cid) public {
        userCIDs[msg.sender].push(cid);
    }

    function getCIDs() public view returns (string[] memory) {
        return userCIDs[msg.sender];
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;このコントラクトをコンパイルしてデプロイした後、以下のPythonコードを使用してスマートコントラクトと対話します：&lt;/p&gt;</description>
    </item>
    <item>
      <title>ESP8266-NodeMCU開発ボードを使って、私のQQアバターを表示してみる。</title>
      <link>https://en.moejue.cn/ja/posts/200/</link>
      <pubDate>Sun, 16 Jun 2024 12:50:42 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/200/</guid>
      <description>&lt;p&gt;ええ、自分でESP8266開発ボードのファームウェアを書くと言っていた私が戻ってきました。20年前に約束した通り、今日、その願いを叶えに戻ってきました。&lt;a href=&#34;https://www.cnblogs.com/Ajue/p/18202561&#34;&gt;ESP8266串口WiFi模块 - WiFi杀手&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;今日はOLEDディスプレイも接続します。今回購入したのは4ピンのOLED（128*64）で、カラー表示には対応していません。&lt;/p&gt;
&lt;h3 id=&#34;nodemcu開発ボード&#34;&gt;NodeMCU開発ボード&lt;/h3&gt;
&lt;p&gt;NodeMCUはオープンソースのIoTハードウェア開発ボードです。WIFI機能をサポートし、Arduino開発ボードと非常に似た使用方法であるため、近年、世界中のメイカーたちからますます人気を集めています。NodeMCUのサイズはArduino Nanoに似ています。Arduinoチームによって開発されたものではありませんが、Arduino IDEを使用して開発することも可能です。&lt;/p&gt;
&lt;p&gt;あらゆるものがインターネットに接続されるIoTの基盤として、まずIoT制御ボードのコストが高すぎてはいけません。高価なIoT制御コンポーネントは、プロジェクトのコスト管理に不利であり、多くのメイカー愛好家が学習し使用する上でも不利です。この点において、NodeMCUはRaspberry PiやArduinoファミリーのIoTプラットフォームなどよりも優位性があります。&lt;/p&gt;
&lt;p&gt;注意深い方はすでにお気づきかもしれませんが、私の開発ボードはESP8266-NodeMCUと呼ばれています。しかし、他のウェブサイトや資料では、ESP8266と表記されたり、NodeMCUと表記されたりすることがあります。では、ESP8266とNodeMCUの間にはどのような関係があるのでしょうか？&lt;/p&gt;
&lt;p&gt;ESP8266はチップ（鉄製のケースに収められた四角いもの）であり、NodeMCUはESP8266チップを核とした開発ボードです。下の図に示す通りです。 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4vo3lpljj21hc140n7w.jpg&#34;&gt; 小さなチップのピンをコンピューターに接続し、プログラムをアップロードするなどの操作を行うのは非常に困難であるため、ESP8266チップを中心とした様々な開発ボードが誕生しました。NodeMCUもこれらの開発ボードの一つです。&lt;/p&gt;
&lt;p&gt;NodeMCU開発ボード上の2列のピンヘッダーは、ESP8266チップのピンに接続されています。開発ボード上の2列のピンヘッダーがあれば、デュポン線を使ってチップのピンを実験回路に簡単に接続できます。NodeMCU開発ボードにはUSBポートと電圧変換回路も搭載されています。これらは私たちに大きな利便性を提供します。USBデータケーブル1本で、ESP8266への給電とプログラムのアップロードを簡単に実現できます。もちろん、NodeMCU開発ボードの回路機能はこれだけではありませんが、これ以上は深掘りしません。&lt;/p&gt;
&lt;h3 id=&#34;ドライバーのインストール&#34;&gt;ドライバーのインストール&lt;/h3&gt;
&lt;p&gt;以前にも開発ボードのドライバーインストールについては説明しましたが、十分詳細ではありませんでした。&lt;/p&gt;
&lt;p&gt;現在市販されているESP8266ドライバーには様々な種類があり、同じNodeMCU開発ボードであってもドライバーが異なる場合があります。現在主流なのはCH340とCP210Xのドライバーです。&lt;/p&gt;
&lt;p&gt;ドライバーのダウンロードは、チップメーカーの公式サイトから直接行ってください。 CP210X：&lt;a href=&#34;https://cn.silabs.com/developers/usb-to-uart-bridge-vcp-drivers&#34;&gt;https://cn.silabs.com/developers/usb-to-uart-bridge-vcp-drivers&lt;/a&gt; CH340C：&lt;a href=&#34;https://www.wch.cn/downloads/CH341SER_EXE.html&#34;&gt;https://www.wch.cn/downloads/CH341SER_EXE.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ご自身のプラットフォームに適したドライバーインストーラーをダウンロードしてください。ご自身のシリアルチップのモデルがドライバーのサポート範囲内にあるか、よく確認する必要があります。&lt;/p&gt;
&lt;h3 id=&#34;自分の開発ボードに必要なドライバーを確認する方法&#34;&gt;自分の開発ボードに必要なドライバーを確認する方法&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;直接見る。下の図の縦長の黒い長方形がUSB-シリアル変換チップです。その上にチップのモデル名が記載されています。 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4voc3xefj21hc140n7w.jpg&#34;&gt;&lt;/li&gt;
&lt;li&gt;購入した販売店に尋ねる。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;ディスプレイのはんだ付け&#34;&gt;ディスプレイのはんだ付け&lt;/h3&gt;
&lt;p&gt;はんだ付けを間違えないでください。間違えるとチップが焼損します。OLEDの配線：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GND - GND&lt;/li&gt;
&lt;li&gt;VCC - VCC&lt;/li&gt;
&lt;li&gt;SCL - GPIO5(D1)&lt;/li&gt;
&lt;li&gt;SDA - GPIO4(D2)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;はんだごて加熱中 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4voij5a5j21hc1404dj.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;以下がはんだ付け完了したものです。配線に注意してください。この順番であるとは限りません。名称を確認してください。 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4voof65aj21hc140dqi.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;arduino-ideのインストール&#34;&gt;Arduino IDEのインストール&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Arduino IDEをダウンロード &lt;a href=&#34;https://www.arduino.cc/en/software&#34;&gt;https://www.arduino.cc/en/software&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;インストール。インストールまで私が教える必要がありますか？&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;設定。「ツール」-「ボード」-「ボードマネージャー」をクリックし、設定でボードアドレスを記述します：&lt;a href=&#34;http://arduino.esp8266.com/stable/package_esp8266com_index.json&#34;&gt;http://arduino.esp8266.com/stable/package_esp8266com_index.json&lt;/a&gt; その後、対応するサポートライブラリファイルが自動的にダウンロードされます。この間、ネットワークの安定性を確保する必要があります。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;開発ボードを選択: NodeMCU1.0(ESP-12EModule)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ポートを選択: コンピューターのデバイスマネージャーで開発ボードのCOMポートを見つけます。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;arduinoコード&#34;&gt;Arduinoコード&lt;/h3&gt;
&lt;p&gt;時々、私が長々と説明するよりも、直接コードを見せる方が手っ取り早いと感じます。あなたもきっと、私の無駄話を聞くよりも直接コードを見たいと思っているでしょう。私も可能な限りコードにコメントを付けました（Arduinoコードの記述はC/C++言語の規範に従ってください）。&lt;/p&gt;
&lt;p&gt;以下の例では、WiFi接続にはライブラリを使用しています。初回接続時には、ESP8266が発信するWiFiに携帯電話で接続し、ネットワーク設定を行う必要があります。画面への書き出しにはライブラリを使用しており、中国語の直接書き出しをサポートしています。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;これは、WiFi接続と画面への画像表示の簡単な例です。&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#include &amp;lt;Adafruit_GFX.h&amp;gt;
#include &amp;lt;Adafruit_SSD1306.h&amp;gt;
#include &amp;lt;ESP8266WiFi.h&amp;gt;
#include &amp;lt;NTPClient.h&amp;gt;
#include &amp;lt;WiFiManager.h&amp;gt;
#include &amp;lt;U8g2lib.h&amp;gt;

#define SDA 4  // SDA引脚，默认gpio4(D2)
#define SCL 5  // SCL引脚，默认gpio5(D1)

Adafruit_SSD1306 oled(128, 64, &amp;amp;Wire,-1);   //OLED 屏幕实例化
WiFiUDP ntpUDP;

NTPClient timeClient(ntpUDP,&amp;#34;pool.ntp.org&amp;#34;, 8*3600, 60000);

U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /*clock=*/SCL, /*data=*/SDA, /*reset=*/U8X8_PIN_NONE);           // 选择显示屏幕

// 只执行一次
void setup() {

  u8g2.begin();            // 初始化
  u8g2.enableUTF8Print();  // UTF8允许
  u8g2.setFont(u8g2_font_wqy12_t_gb2312b); //字体大小   u8g2_font_wqy15_t_gb2312b  

  // 初始化屏幕
  OLED_Init();

  OLED_Showchin(1,13,&amp;#34;正在连接WiFi....&amp;#34;,0);
  WiFiManager wifiManager;
  wifiManager.autoConnect(&amp;#34;ESP8266&amp;#34;);

  OLED_Showchin(1,27,&amp;#34;WiFi连接成功！&amp;#34;,0);
  OLED_Showchin(1,41,&amp;#34;名称： &amp;#34; + WiFi.SSID(),0);
  OLED_Showchin(1,55,&amp;#34;IP: &amp;#34; + WiFi.localIP().toString(),1);

  // 获取时间
  timeClient.begin();
  u8g2.setFont(u8g2_font_wqy15_t_gb2312b); //字体大小   u8g2_font_wqy15_t_gb2312b  

  OLED_Showchin(1,13,&amp;#34;宁小建&amp;#34;,0);
  OLED_Showchin(1,27,&amp;#34;hhhhhhhhhhhh&amp;#34;,0);
  OLED_Showchin(1,55,&amp;#34;大傻逼哈哈哈&amp;#34;,1);

  timeClient.update();
  OLED_Showchin(1,20,&amp;#34;当前北京时间: &amp;#34;,0);
  OLED_Showchin(1,41,timeClient.getFormattedTime(),1);
  delay(1000);
  OLED_img();
}

// 重复执行程序
void loop() {
  // 更新时间
  // timeClient.update();
  // OLED_Showchin(1,27,&amp;#34;当前北京时间: &amp;#34;,0);
  // OLED_Showchin(1,41,timeClient.getFormattedTime(),0);
}

// 打印输出到屏幕（支持中文）
void OLED_Showchin(uint8_t x, uint8_t y, String string, uint8_t boot) {
  u8g2.setCursor(x, y);  //设置显示坐标
  u8g2.print(string);  // 指定缓存区需要打印的字符串
  u8g2.sendBuffer();          // 将定位信息发送到缓冲区
  if(boot == 1){
    delay(1000);
    u8g2.clearBuffer();     // 清除缓存，其实初始化里有清除，循环时一定要加上
  }
}

// 屏幕初始化
void OLED_Init() {
  oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);     //&amp;#34;SSD1306_SWITCHCAPVCC&amp;#34;表示显示器为OLED ,&amp;#34;0x3C&amp;#34;为OLED屏幕默认通信地址
  oled.setTextColor(WHITE);//开像素点发光
  oled.clearDisplay();//清屏
}

// 输出屏幕
void OLED_ShowString(uint8_t x, uint8_t y, uint8_t font_size, String string) {
  oled.setTextSize(font_size);    //设置字体尺寸 (&amp;gt;=1)
  oled.setCursor(x, y);           //设置显示坐标
  oled.println(string);           //显示内容
  oled.display();                 //开启显示
}

// 绘画
void OLED_img() {
  //  图片数据
    const unsigned char gImage_1[518] = { 0X00,0X01,0X40,0X00,0X40,0X00,
  0X00,0X40,0X00,0X00,0X00,0X3E,0XF0,0X00,0X00,0X80,0X00,0X00,0X00,0X1F,0XE0,0X00,
  0X00,0X00,0X00,0X00,0X00,0X06,0XB0,0X00,0X01,0X00,0X00,0X00,0X00,0X03,0XF8,0X00,
  0X00,0X00,0X00,0X00,0X00,0X03,0XFC,0X00,0X00,0X00,0X00,0X00,0X00,0X03,0XDC,0X00,
  0X04,0X00,0X00,0X00,0X00,0X01,0XC0,0X00,0X0E,0X00,0X00,0X00,0X00,0X00,0X80,0X00,
  0X06,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X10,0X00,0X00,0X00,
  0X08,0X00,0X00,0X00,0X0E,0X00,0X00,0X00,0X08,0X00,0X00,0X00,0X8F,0X00,0X00,0X00,
  0X00,0X00,0X02,0X02,0X47,0X00,0X00,0X00,0X00,0X00,0X01,0X10,0X63,0X80,0X00,0X00,
  0X00,0X00,0X01,0XC9,0X73,0XC0,0X00,0X00,0X00,0X00,0X00,0XE4,0X79,0XE0,0X00,0X00,
  0X00,0X02,0X00,0XFA,0XF9,0XE0,0X00,0X00,0X10,0X02,0X00,0X7D,0X8C,0XF0,0X00,0X00,
  0X10,0X03,0X01,0X7E,0X90,0XF1,0X80,0X00,0X10,0X01,0X20,0XFD,0X1C,0X7B,0XE0,0X00,
  0X00,0X01,0XA0,0X7D,0X03,0X7B,0X20,0X00,0X10,0X01,0XD8,0XFF,0X8B,0X7E,0X30,0X00,
  0X00,0X01,0XFC,0X7F,0X83,0XB6,0X10,0X00,0X00,0X00,0XF7,0XFF,0XC7,0XBE,0X10,0X00,
  0X00,0X01,0X8F,0XFF,0XE3,0XF6,0X10,0X00,0X01,0X01,0X4F,0XFF,0XFF,0XFF,0X10,0X00,
  0X00,0X01,0XCF,0XFF,0XFF,0XDF,0X10,0X00,0X00,0X01,0XC3,0XFF,0XFF,0XDF,0X70,0X00,
  0X01,0X03,0XE3,0XFF,0XFF,0XDF,0XE0,0X00,0X04,0X01,0XE7,0XFF,0XFF,0XDF,0XE4,0X00,
  0X07,0X00,0XFB,0XFF,0XFF,0XDF,0XC0,0X00,0X07,0X00,0XFB,0XFF,0XFF,0XFE,0X00,0X00,
  0X13,0X00,0X7F,0XFF,0XFF,0XFC,0X00,0X00,0X01,0X20,0X3F,0XFF,0XFF,0XFC,0X00,0X00,
  0X00,0X00,0X3F,0XFF,0XFF,0XF8,0X00,0X0B,0X00,0X00,0X1F,0XFE,0X0F,0XF8,0X00,0X1F,
  0X00,0X00,0X1F,0XF8,0X6F,0XF0,0X00,0XFF,0X00,0X00,0X1F,0XE1,0XFF,0XF0,0X05,0XFF,
  0X00,0X00,0X0F,0XF3,0XFF,0XE0,0X03,0XFF,0X00,0X40,0X0F,0XF7,0XFF,0XC0,0X07,0XFF,
  0X00,0X00,0X07,0XFF,0XFF,0X80,0X07,0XFF,0X08,0X00,0X07,0XFF,0XFF,0X00,0X0F,0XFF,
  0X00,0X00,0X23,0XFF,0XFE,0X00,0X0F,0XFF,0X00,0X08,0X60,0XFF,0XFE,0X00,0X0F,0XFF,
  0X00,0X40,0X20,0X3F,0XFE,0X00,0X1F,0XFF,0X00,0X00,0X10,0X0B,0XFF,0X80,0X1F,0XFF,
  0X00,0X00,0X40,0X00,0X3F,0X00,0X1F,0XFF,0X00,0X00,0X10,0X00,0X3F,0X00,0X1F,0XFF,
  0X20,0X00,0X02,0X00,0X3F,0X00,0X3F,0XFF,0X00,0X00,0X00,0X00,0X7F,0X80,0X3F,0XFF,
  0X00,0X00,0X00,0X10,0X7F,0X80,0X7F,0XFF,0X00,0X00,0X00,0X80,0X7F,0X80,0X7F,0XFF,
  0X10,0X00,0X00,0X00,0X7F,0X80,0XFF,0XFF,0X30,0X00,0X00,0X00,0X7F,0X80,0XFF,0XFF,
  0X10,0X10,0X00,0X00,0X7F,0XC1,0XFF,0XFF,0X00,0X00,0X00,0X00,0X7F,0XF3,0XFF,0XFF,
  0X00,0X00,0X01,0X00,0X3F,0XFF,0XFF,0XFF,0X00,0X00,0X00,0X04,0X3F,0XFF,0XFF,0XFF,
  0X00,0X00,0X00,0X00,0X3F,0XFF,0XFF,0XFF,0X00,0X00,0X10,0X80,0X1F,0XFF,0XFF,0XFF,
  0X01,0X00,0X00,0X05,0X1F,0XFF,0XFF,0XFB,0X00,0X00,0X00,0X00,0X1F,0XF7,0XFF,0XFC,
  0X00,0X00,0X00,0X00,0X1F,0XFB,0XFF,0XFF,0X00,0X00,0X40,0X00,0X19,0XFF,0XFF,0XFF,
  };

  oled.clearDisplay();
  oled.drawBitmap(3, 1, gImage_1, 64, 64, WHITE);
  oled.display();
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4vppewusj21hc140qb3.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>申し訳ありません、戻ってきました！</title>
      <link>https://en.moejue.cn/ja/posts/199/</link>
      <pubDate>Sun, 16 Jun 2024 12:37:54 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/199/</guid>
      <description>&lt;p&gt;それは月明かりもなく、風雨が激しく、何も見えない暗い夜でした。何か起こりそうな予感がしました。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;「事故」とパンデミックの影響で、私は一時的に「植物状態」になり、二次元の世界に旅立つ寸前でしたが、幸いにも「救出」されました。この数年間、私を探してくれたメッセージも受け取れていません。まだ私を気にかけてくれている方々に感謝します。ありがとうございます。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;悪いのは私ではなく、この運命づけられた世界なのです。&lt;/p&gt;
&lt;p&gt;この数年間、私を探してくれた人々や出来事についても、私は全く知りません。QQやWeChatのメッセージも、長期間受け取れていません &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4vdznohjj20o01hcwhc.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4ve8b6brj20o01hc77a.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4veexa2aj20d80qe7az.jpg&#34;&gt; 何年も更新されていなかった私のアイコンが再び点灯したのを見て、多くの友人がどうしたのかと尋ねてきました。会ったことのないネット上の友人たちに、いや、友人という方が親しい呼び方かもしれませんね、感謝しています。あなたがたが私のことを覚えていてくれたことに、私はとても感動しています。&lt;/p&gt;
&lt;p&gt;探し続けてくれたこと、三年 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4vensbt0j20o016sadq.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4vf3ihduj20om1hcwgu.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4vfam36bj20hj0lwwj3.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4vfl7tlnj20ma0g779p.jpg&#34;&gt; 世界中を探してくれた &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4vfvqzapj20o01hcn47.jpg&#34;&gt; 感動して言葉になりません。以下が本文です。&lt;/p&gt;
&lt;h3 id=&#34;ブログについて&#34;&gt;ブログについて&lt;/h3&gt;
&lt;p&gt;ブログが初めて開設されたのは2016年6月9日です。もうすぐ8年になります。様々な困難の中でも、たくましく生き残ってきました。この間、たくさんの仲間と出会い、一緒に議論し、共に進歩し、共に成長してきました。だから、このブログをここで終わらせたくありません &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4vjnz7adj2089065my6.jpg&#34;&gt; ブログのデータは元々七牛雲に自動バックアップされていましたが、今になって知ったのですが、何らかの理由で19年10月頃にバックアップが停止していました。「インターネットには記憶がある」と言われますが、「頭は断たれても血は流れても、データは失ってはならない」という精神で、数日間、広大なインターネットを探し回り、ついにブログのウェブサイトアーカイブを見つけました。私のブログの過去のバージョンはこちらからご覧いただけます &lt;a href=&#34;https://web.archive.org/web/20211025163233/https://www.52ecy.cn/&#34;&gt;archive&lt;/a&gt; （有名なウェブサイトアーカイブプロジェクトです）&lt;/p&gt;
&lt;p&gt;そこで、記事とコメントのデータをスクレイピングするPythonスクリプトを作成しました。スクレイピングした後、すでに誰かがバックアップしてくれていることに気づきました（私のブログは以前3年間、誰かにスポンサーしてもらっていました）。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4vilc3l4j20o01hc0w3.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;ブログの移転&#34;&gt;ブログの移転&lt;/h3&gt;
&lt;p&gt;ブログを博客園に移転したのは、やむを得ない選択でした。&lt;/p&gt;
&lt;p&gt;ブログの元のドメイン（52ecy.cn, moeins.cn, moeins.com）が期限切れ後に他人に取得されてしまい、交渉しても取り戻すことができませんでした。やむを得ず、一時的に博客園にブログを移転することにしました（将来的に自分で構築するかどうかは検討中です）。また、現在では自分のシステムをいじる時間がそれほどなく、博客園に置く方がより手間がかからず楽かもしれません。しかし、コメントはそれほど便利ではなく、投稿するにはログインが必要です。もちろん、何か問題があれば&lt;a href=&#34;https://jq.qq.com/?_wv=1027&amp;amp;k=5cvR0GN&#34;&gt;グループで私にメンション&lt;/a&gt;してください。&lt;/p&gt;
&lt;p&gt;実は、18年末にはすでにテーマを変更したいと考えていました -&amp;gt; &lt;a href=&#34;https://www.cnblogs.com/Ajue/p/18202418&#34;&gt;今度こそ本当に延期します&lt;/a&gt; （私は本当に遅延癖があります、自分に感心します）。しかし、以前のemlogシステムには適切な既成テーマがなく、自分で移植するのが面倒だったので、ずっと延期していました。&lt;/p&gt;
&lt;p&gt;以前のテーマは、見た目が良くなく、個性に欠け、ただ真面目なだけで、私の個性やスタイルに合わないと思っていたので、ずっと変えたいと思っていました。しかし、私の美的センスは素晴らしいのですが、私の美意識に合ったテーマを自分で一から書くとなると、少し難しいのです。&lt;/p&gt;
&lt;p&gt;その後、博客園ユーザーの&lt;a href=&#34;https://www.cnblogs.com/zouwangblog&#34;&gt;不忘编码&lt;/a&gt;さんのブログを偶然見て、博客園でもこのように自分で美化できることを知りました。「私のブログも失われたり、アクセスできなくなったりするのは嫌だ」という思いから、一時的に博客園に移行することを決めました。 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4vi3f9dlj20n10b5dn2.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;ずっとこのような二次元風のテーマに変えたかったのです。現在、このブログの美化スタイルは、&lt;a href=&#34;https://2heng.xin/&#34;&gt;桜荘のペットな彼女&lt;/a&gt;のWordPressテーマSakuraをベースに、不忘编码さんが移植したものですが、バグや細部の問題が多く、さらに2日間かけて最適化しましたが、まだ多くのページが最適化されていません。後でゆっくりと進めていきます。（明日できることを、なぜ明日の自分に残しておかないのか？）&lt;/p&gt;
&lt;p&gt;以前のemlogブログではHTMLのTinyMCEエディタ、しかも古いバージョンを使用していたため、生成される記事のHTMLコードは非常に混乱していました。そのため、博客園のmarkdown形式に移行した際に、多くのスタイル互換性の問題が発生しました。できる限り修正しましたが、すべての記事が正常に表示されることを保証することはできません。見つけたら、ゆっくりと修正していきます。&lt;/p&gt;
&lt;p&gt;博客園は、自作ブログシステムのワンクリック移行機能をサポートしていないため、記事の公開時間やコメント情報を一緒に移行することはできませんでした。しかし、元の状態をそのまま残したいと思ったので、この記事にすべて書き込みました。プライベートコメントも非表示のままです。（自作ブログシステムの件は博客園チームともコミュニケーションを取りましたが、後期の開発で追加するとのことでした。彼らを困らせるつもりはありません。彼らも経営が苦しいようです。記事の公開にはCnblogのVScodeプラグインを使用しました。）&lt;/p&gt;
&lt;p&gt;友情リンクも個別のページとして移行しましたが、多くのリンク先のウェブサイトがアクセスできなくなったり、すでにリンクを削除したりしていました。今は独立したドメインを持っていないので、友情リンクを申請するのも申し訳ない気持ちになります…。&lt;/p&gt;
&lt;p&gt;以前のブログの画像はすべて新浪に保存されていましたが、いつか失われるのではないかと心配していました。そのため、普段は七牛雲と新浪の両方に保存していましたが、今ではすべて博客園に移行しました。&lt;/p&gt;
&lt;h3 id=&#34;なぜブログを書くのか&#34;&gt;なぜブログを書くのか？&lt;/h3&gt;
&lt;p&gt;これらのことがそんなに重要なのかと思う人もいるかもしれません。時々、何かを言いたい、何かを書きたいと思うのですが、誰も話を聞いてくれず、書く場所もなく、ただそのような場所が必要なのです。ブログをやっているのは、トラフィックやお金のためではなく、自分の小さな世界を作り、自分の小さなコミュニティで気ままに過ごしたいだけなのです。おそらく、この情熱があるからこそ、私はゆっくりと続けることができたのでしょう。しかし、事態は思い通りにはいかず、事故が起こってしまいました。&lt;/p&gt;
&lt;p&gt;以前のブログ仲間の多くは、姿を消したか、更新をやめてしまいました。本当に残念です。彼らと知り合う前にそうなってしまいました。（特に月宅というやつ）&lt;/p&gt;
&lt;p&gt;@寒穹 というやつは私にこう言いました。「阿珏、ずいぶん経つのに、どうしてまだそんなに二次元なんだ？」 長年変わらないのは、私自身なのかもしれません。&lt;/p&gt;
&lt;p&gt;まだ私を覚えていてくれて、私に良くしてくれる人がたくさんいることに、とても嬉しく、そして感謝しています。 &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn/large/78350c19ly8hu4vhtml2cj20a10hqafk.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;こんなにたくさんの画像を投稿すべきではなかったかもしれません。失われたブログを偲んで、私の127（おそらくPCのストレージを指している）の中で永遠に生き続けます。&lt;/p&gt;
&lt;h3 id=&#34;pythonコード&#34;&gt;Pythonコード&lt;/h3&gt;
&lt;p&gt;移行に使用したPythonコードです。あまり役に立たないかもしれませんが、記録として、必要とする人の学習のために残しておきます。&lt;/p&gt;
&lt;p&gt;コードを表示 ``` import os import re import time import requests from bs4 import BeautifulSoup from urllib.parse import urlparse, parse_qs # ファイルパスを指定 file_path = &amp;ldquo;C:\\Users\\Administrator\\Desktop\\blog\\content.txt&amp;rdquo; save_folder = &amp;ldquo;C:\\Users\\Administrator\\Desktop\\blog\\content\\&amp;rdquo; def save_to_file(data, file_name): try: file_path = os.path.join(save_folder, file_name + &amp;ldquo;.txt&amp;rdquo;) with open(file_path, &amp;lsquo;a&amp;rsquo;, encoding=&amp;lsquo;utf-8&amp;rsquo;) as file: file.write(data) print(&amp;ldquo;データは正常にファイルに保存されました:&amp;rdquo;, file_path) except Exception as e: print(&amp;ldquo;ファイルの保存中にエラーが発生しました:&amp;rdquo;, e) def remove_html_tags(text): soup = BeautifulSoup(text, &amp;lsquo;html.parser&amp;rsquo;) return soup.get_text() def comment(html_content): comment_matches = re.findall(r&amp;rsquo;&lt;div class=&#34;comment (.\*?)&#34; id=&#34;comment-\\d+&#34;&gt;[\s\S]*?&amp;lt;img .*?inal=&amp;quot;.*?202.*?/([^&amp;quot;]+)&amp;quot;/&amp;gt;[\s\S]*?&amp;lt;div &amp;rsquo; + &amp;lsquo;class=&amp;ldquo;comment-content&amp;rdquo;&amp;gt;(.*?)&lt;/div&gt;[\s\S]*?itle=&amp;quot;.*?&amp;quot;&amp;gt;(.*?)&lt;/span&gt;[\s\S]*?&lt;span class=&#34;comment-time&#34;&gt;(.*?)&lt;/span&gt;&amp;rsquo;, html_content, re.DOTALL) article_comments = &amp;rsquo;&amp;rsquo; if comment_matches: i = 0 for comment_match in comment_matches: if &amp;lsquo;comment-children&amp;rsquo; in comment_match[0]: i += 1 is_reply_comment = &amp;lsquo;&amp;gt;&amp;rsquo; * i else: is_reply_comment = &amp;lsquo;&amp;gt;&amp;rsquo; i = 1 # アバター サイズは40に制御 # gravatarアバターに対応 &lt;a href=&#34;https://secure.gravatar.com/avatar/&#34;&gt;https://secure.gravatar.com/avatar/&lt;/a&gt; if &amp;lsquo;gravatar.com&amp;rsquo; in comment_match[1]: avatar_url = &amp;lsquo;![](&amp;rsquo; + str(re.sub(r&amp;rsquo;(\?|&amp;amp;)s=\d+&amp;rsquo;, &amp;lsquo;\\1s=40&amp;rsquo;, str(comment_match[1]))) + &amp;lsquo;) &amp;rsquo; else: parsed_url = urlparse(comment_match[1]) query_params = parse_qs(parsed_url.query) dst_uin = query_params.get(&amp;lsquo;dst_uin&amp;rsquo;, [&amp;lsquo;1638211921&amp;rsquo;]) avatar_url = &amp;lsquo;![](&amp;rsquo;+&amp;lsquo;&lt;a href=&#34;https://q1.qlogo.cn/g?b=qq&amp;amp;nk=%27&amp;#43;str%28dst&#34;&gt;https://q1.qlogo.cn/g?b=qq&amp;nk=&#39;+str(dst&lt;/a&gt;_uin[0])+&amp;rsquo;&amp;amp;s=40&amp;rsquo;+&amp;rsquo;) &amp;rsquo; comment_content = comment_match[2].strip() nickname = comment_match[3].strip() comment_time = comment_match[4].strip() link_url = re.search(r&#39;030.*?/(.*?)&amp;quot; .*? rel&amp;rsquo;, nickname) # コメントのmarkdown形式を構築 comment_content = is_reply_comment + comment_content.replace(&amp;rsquo;\n&amp;rsquo;, &amp;lsquo;&amp;gt;&amp;rsquo;) comment_content = comment_content.replace(&amp;rsquo;##このコメントはプライベートコメントです##&amp;rsquo;, &amp;lsquo;[#このコメントはプライベートコメントです#]&amp;rsquo;) # 絵文字画像を置換 soup = BeautifulSoup(comment_content, &amp;lsquo;html.parser&amp;rsquo;) for img in soup.find_all(&amp;lsquo;img&amp;rsquo;): title_text = img.get(&amp;rsquo;title&amp;rsquo;, &amp;lsquo;&amp;rsquo;) img.replace_with(&amp;rsquo;[#&amp;rsquo;+title_text+&amp;rsquo;]&amp;rsquo;) comment_content = soup.get_text() # コメント投稿者のURLを保存 if link_url: nickname = &amp;lsquo;[&amp;rsquo;+remove_html_tags(nickname)+&amp;rsquo;]&amp;rsquo; link_url = &amp;lsquo;(&amp;rsquo; + link_url[1] + &amp;lsquo;) &amp;rsquo; else: link_url = &amp;rsquo;&amp;rsquo; nickname = remove_html_tags(nickname) + &amp;rsquo; &amp;rsquo; if i == 1: article_comments += &amp;lsquo;\n&amp;rsquo; article_comments += is_reply_comment + avatar_url + nickname + link_url + comment_time + &amp;lsquo;\n&amp;rsquo; + comment_content + &amp;lsquo;\n&amp;rsquo; return article_comments else: return &amp;rsquo;&amp;rsquo; def process_article(url): print(&amp;ldquo;現在実行中====&amp;quot;+url) response = requests.get(url) if response.status_code == 200: html_content = response.text soup = BeautifulSoup(html_content, &amp;lsquo;html.parser&amp;rsquo;) article_title = soup.find(&amp;lsquo;h1&amp;rsquo;, class_=&amp;lsquo;article-title&amp;rsquo;) article_mate = soup.find(&amp;lsquo;div&amp;rsquo;, class_=&amp;lsquo;article-meta&amp;rsquo;) article_article = soup.find(&amp;lsquo;article&amp;rsquo;, class_=&amp;lsquo;article-content&amp;rsquo;) soup_content = BeautifulSoup(article_article.prettify(), &amp;lsquo;html.parser&amp;rsquo;) img_tags = soup_content.find_all(&amp;lsquo;img&amp;rsquo;) pattern = r&amp;quot;https://web.*?_/&amp;rdquo; for img_tag in img_tags: if &amp;lsquo;data-original&amp;rsquo; in img_tag.attrs: original_url = img_tag[&amp;lsquo;data-original&amp;rsquo;] else: original_url = img_tag[&amp;lsquo;src&amp;rsquo;] cleaned_url = re.sub(pattern, &amp;lsquo;&amp;rsquo;, original_url) new_url = &amp;lsquo;&lt;a href=&#34;https://image.baidu.com/search/down?url=%27&#34;&gt;https://image.baidu.com/search/down?url=&#39;&lt;/a&gt; + cleaned_url img_tag[&amp;lsquo;src&amp;rsquo;] = new_url del img_tag[&amp;lsquo;data-original&amp;rsquo;] article_comment = soup.find(&amp;lsquo;div&amp;rsquo;, class_=&amp;lsquo;article_comment_list&amp;rsquo;) data = &amp;ldquo;###### `このメッセージが表示されている場合、現在の記事は元のemlogブログシステムから移行されたものです。記事の公開時期が古すぎるため、構成や内容が完全でない場合があります。ご了承ください。`\n\n&amp;rdquo; + &amp;lsquo;###&amp;rsquo; + article_title.text.strip()+&amp;rsquo;\n\n&amp;rsquo;+article_mate.text.strip().replace(&amp;rsquo;\n&amp;rsquo;, &amp;lsquo;&amp;rsquo;).replace(&amp;rsquo;\r&amp;rsquo;, &amp;lsquo;&amp;rsquo;).replace(&amp;rsquo;\t&amp;rsquo;, &amp;lsquo;&amp;rsquo;)+&amp;rsquo;\n&amp;rsquo; + soup_content.prettify().replace(&amp;rsquo;&lt;article class=&#34;article-content&#34;&gt;&amp;rsquo;, &amp;lsquo;&amp;rsquo;).replace(&amp;rsquo;&lt;/article&gt;&amp;rsquo;, &amp;lsquo;&amp;rsquo;) save_to_file(data + &amp;lsquo;\n网友评论：\n\n&amp;rsquo;, article_title.text.strip()) data = comment(html_content) if not data: return save_to_file(data, article_title.text.strip()) if article_comment: comment_links = re.findall(r&amp;rsquo;&amp;lt;a\s+href=&amp;quot;(.*?)nts&amp;quot;&amp;rsquo;, str(article_comment)) if comment_links: print(&amp;lsquo;ページネーションコメントデータがあります&amp;rsquo;) for link in comment_links: url = link +&amp;ldquo;nts&amp;rdquo; print(url) response = requests.get(url) if response.status_code == 200: html_content = response.text data = comment(html_content) if not data: return save_to_file(data, article_title.text.strip()) print(&amp;ldquo;ページネーションコメントデータを書き込んでいます&amp;rdquo;) else: print(&amp;ldquo;Failed to retrieve the webpage.&amp;rdquo;) def main(): with open(file_path, &amp;lsquo;r&amp;rsquo;, encoding=&amp;lsquo;utf-8&amp;rsquo;) as file: for line in file: segments = line.strip().split(&amp;quot;&amp;mdash;-&amp;quot;) if len(segments) &amp;gt; 0: url = segments[0] process_article(url) else: print(&amp;ldquo;行にURLが見つかりませんでした。&amp;rdquo;) print(&amp;lsquo;次の記事を開始します&amp;rsquo;) time.sleep(4) if __name__ == &amp;ldquo;__main__&amp;rdquo;: main() ```&lt;/p&gt;</description>
    </item>
    <item>
      <title>2020年末のまとめ</title>
      <link>https://en.moejue.cn/ja/posts/25/</link>
      <pubDate>Tue, 26 Jan 2021 07:54:37 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/25/</guid>
      <description>&lt;p&gt;年末の総括を書くべきかどうか、何を書くべきか、ずっと悩んでいた。&lt;/p&gt;
&lt;p&gt;数日前、楊潔さんがゲームをしていて、&amp;ldquo;年末のまとめは書いたの？&amp;ldquo;と聞いてきた。 これがきっかけで、書かなければならないと決心した。
昨年の2020年は、流行り病のせいで、一年があっという間に過ぎてしまい、書き始める前にすべてが終わってしまったような気がした！
また、まとめるべきことがあまりないような気がして、何から始めたらいいのかわからなかった。&lt;/p&gt;
&lt;p&gt;18年の年末のまとめはこちら→&lt;a href=&#34;https://www.52ecy.cn/post-97.html&#34;&gt;お金持ちになれると思ったけど、なれなかった。&lt;/a&gt;
今年は例年のような素晴らしいコピーライティングができなかった。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.52ecy.cn/post-12.html&#34;&gt;記事アーカイブ&lt;/a&gt; 2020年から月刊ブロガーになりますが、変わらないのは毎日チェックしていることです。&lt;/p&gt;
&lt;h3 id=&#34;ブログ&#34;&gt;ブログ&lt;/h3&gt;
&lt;p&gt;ブログがオープンボックスブログとして息を吹き返し、私がオープンボックスUPマスターになった年のような気がするが、実際にはオープンボックスは2018年まで遡ることができ、それはすでにあった。つまり、私は2年前からオープンボックスをしていたことになる
他のタイプの記事もたくさん書いてきたとはいえ、1年間NEWで、まだ自分のためのモノをNEWにできていないのは、ちょっと空しい気がする！&lt;/p&gt;
&lt;h3 id=&#34;人生&#34;&gt;人生&lt;/h3&gt;
&lt;p&gt;流行り病で仕事が滞り、あと数ヶ月は家にいることになったのも、虚しさを感じた理由の一つかもしれない。
後半は、もう意味のない残業はしたくないと、自分をほめて会社を辞めた。
2ヶ月間部屋を借り、2ヶ月間テイクアウトを食べ、2ヶ月間運転を習い、運転免許を取得して広東を離れた。  (この段落は波乱万丈の調子で読んでください）&lt;/p&gt;
&lt;h3 id=&#34;2021&#34;&gt;2021&lt;/h3&gt;
&lt;p&gt;ここ数カ月、パスポートを取得するために入国管理局に行ったが、やはり流行のせいで、うまくいかなかった。
2021年は流行が緩和されて、パスポートを取得できるようになるといいな。
来年か再来年には海外に行こうと思っている。なぜかと聞かれたことがあるが、私の答えは &amp;ldquo;いつもの電車の旅とは逆で、見たことのない景色を見るため &amp;ldquo;だ。
人生の瞬間を記録し、旅にプレイバックを加えるためにGoProを手に入れる！&lt;/p&gt;
&lt;p&gt;2020年は少し空虚な一年で、あまり何もできなかったけれど、新しい年は夢に向かって前進し、まだ始めていないことを少しずつ終わらせていこうと思う！&lt;/p&gt;</description>
    </item>
    <item>
      <title>メリークリスマス 礼物</title>
      <link>https://en.moejue.cn/ja/posts/120/</link>
      <pubDate>Fri, 25 Dec 2020 04:31:28 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/120/</guid>
      <description>&lt;p&gt;メリークリスマス メリークリスマス
私のクリスマスプレゼントです&lt;/p&gt;
&lt;p&gt;あっという間に2020年末を迎え、今年のハードウェアメーカーの相次ぐ勢力は、かつてのIntelの費用対効果戦争がIntel第10世代デスクトップクラスプロセッサの価格を上げないボリュームをリリースした後、Nvidia RTX3070が独自のコンシューマーグレードのフラッグシップグラフィックスカードの最後の世代を襲撃し、活気がないと良いことが言え、ハードウェアの性能の可能性を再生するために、優れたマザーボードも当然不可欠である。Asus TUF GAMINGゲーミングエージェントマザーボードは、しっかりとした素材、スタイリッシュなデザイン、手頃な価格で人気があり、今年、ミドルレンジ市場に位置づけられるようにリリースされたばかりのHeavy Gunnerシリーズは、より堅牢な電源構成、2.5G有線NIC、強化された装甲など、フラッグシップ製品から発展した新機能を誇りながら、価格は他のミドルレンジ製品と同じで、当然DIY愛好家の間で人気がある。DIY愛好家の間では当然人気のシリーズだ。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/78350c19ly1glyypqzcbyj20u01hctft.jpg&#34;&gt;。
ステッカー &amp;hellip;&amp;hellip;
TUOの後継機であるヘビーガンナーを継承したヘビーガンナーシリーズ。
ヘビーガンナーシリーズは、TUF GAMINGシリーズ本来のタフガイスタイルを継承し、ブラックとグリーンを基調としたボディに、TUF GAMING特殊部隊の通常スタイルであるイエローカラーのロゴをあしらい、高い認知度を誇ります。
マザーボードの外観は、大きな冷却アーマーにTUF GAMINGのロゴがプリントされ、ゲーミングの雰囲気が満載です。
TUF GAMINGロゴは大型のクーリングアーマーにプリントされています。
新しいLAG1200インターフェイスは第10世代以前のプロセッサーには対応していないが、それ以降の第11世代には対応しているようだ。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/78350c19ly1glyyow9uy8j20u01hc465.jpg&#34;&gt;。
メモリスロットに関しては、ASUS TUF GAMING B460M-PRO Heavy Gunnerマザーボードは4つのDDR4メモリスロットを提供し、最大2933MHzの周波数で、ASUS独自のOptiMemメモリ最適化技術を搭載し、メモリのオーバークロック空間と安定性を大幅に向上させることができます。最大128GBのメモリをサポートする。ASUSはまた、このマザーボードの1 3と2 4の位置を異なる色でマークし、2本のRAMスティックを使用する際にメモリを挿入するようユーザーに促している。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/78350c19ly1glyyoyvkqlj20u01hc10z.jpg&#34;&gt; MATXバージョンでは、ASUSは128GBメモリに対応しています。
MATX バージョンでは、ASUS TUF GAMING B460M-PRO Heavy Gunner マザーボードは、発熱がより深刻な電源とチップセットのサーマルアーマーに多数のつや消し表面処理を採用しています。このデザインは、マザーボードの熱を素早く奪うだけでなく、マザーボードに非常に強い洗練されたデザインとセンスをもたらします。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/78350c19ly1glyyp3xfioj21hc0u0n4v.jpg&#34;&gt;。
グラフィックスカードスロットに関しては、マザーボードは2つのPCIeロングスロットを提供します。そのうち1つは、グラフィックスカードの抜き差しによる偶発的な損傷を防ぐために金属製の装甲が装備されており、このスロットはX16モードなので、グラフィックスカードを1枚しか使用しないユーザーは、このスロットにグラフィックスカードを接続することをお勧めします。
マザーボードのI/Oも非常に簡単です。
ASUS TUF GAMING B460M-PROマザーボードのI/Oバッフルはマザーボードに統合されており、マザーボードを取り付ける際のバックプレーンの取り付けステップを減らし、マザーボードの一体感がより強くなっています。統合されたI/Oバッフルのデザインは、以前のASUSハイエンドマザーボードでしか見ることができませんでしたが、現在ではB460チップセットマザーボードにも配置され、取り付け漏れを防ぎ、またホコリや汚れの落下を防ぎます。このマザーボードは2つのUSB 2.0ポートを提供します。
このマザーボードは、2つのUSB 2.0ポート、4つのUSB 3.1Gen1ポート、HDMIポート、DPポートに加え、2.5Gbネットワークポートと5つの通常のオーディオポートを提供します。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/78350c19ly1glyypap9o5j21hc0u0wk0.jpg&#34;&gt;があります。
SATAポートは3つ並んで6つあり、2つ目のスロットセットは水平に配置されているため、大型グラフィックスカードが長すぎてポートを塞いでしまうことはありません。
大型グラフィックスカードがポートを塞がないように、2番目のスロットは水平に配置されている。
最後に、オーディオに関して、このマザーボードは、出力108dB SNR、SNR103dBのRealtek S1200A高品質オーディオチップを使用しており、利用可能なサウンドカードチップの中でトップクラスとなっています。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/78350c19ly1glyypnqppfj20u01hcgs5.jpg&#34;&gt;
箱の裏側のプレビュー
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/78350c19ly1glyypgz0y5j20u01hc47e.jpg&#34;&gt; ボックス裏面のプレビュー。
i5-10600kfの中国製ボックスには3年間の全国保証がついており、「K」という接尾辞がついているため、このCPUにはクーラーが付属しておらず、自分で購入する必要があることも側面からわかります。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/78350c19ly1glyyp8lonnj20u01hcdjn.jpg&#34;&gt;。&lt;/p&gt;</description>
    </item>
    <item>
      <title>ネット回線速度の速遅による違い</title>
      <link>https://en.moejue.cn/ja/posts/119/</link>
      <pubDate>Sat, 07 Nov 2020 14:09:07 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/119/</guid>
      <description>&lt;p&gt;ネット速度の速遅による違いについて&lt;/p&gt;
&lt;p&gt;ネットワークの普及に伴い、ユーザーは応答速度の速遅をますます重視するようになっています。ウェブサイトが速ければ速いほど、ユーザーの定着率とコンバージョン率も高まります。
簡単に言えば、スピードアップが重要です！ウェブサイトの速度に影響を与える要因はたくさんあります。例えば&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;.&lt;/p&gt;
&lt;p&gt;真面目な話は私のスタイルではありません。さて、私のパフォーマンスをご覧ください。
&lt;strong&gt;アイデアの起源&lt;/strong&gt;：
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gkgf5kosbfj30bl0l4mzm.jpg&#34;&gt;
最初は純粋なCSSで実装することを考えました。背景画像をbase64エンコードしてbackground-imageに直接配置すれば、背景画像がウェブページと一緒に読み込まれる効果が得られるだろうと。&lt;/p&gt;
&lt;p&gt;ステップ1：
まず、事前に準備した素材画像を処理し、水着と水着のスカートを脱がせます &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gkgfdqj354j302s033dfn.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gkgf79od99j31fv0m47wh.jpg&#34;&gt;
ステップ2：
新しいHTMLファイルを作成します
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gkgf9om2ylj30b306q3zf.jpg&#34;&gt;
ステップ3：&lt;/p&gt;
&lt;div class=&#34;裸体&#34;&gt;
        &lt;div class=&#34;泳衣&#34; id=&#34;泳衣&#34;&gt;&lt;/div&gt;
        &lt;div class=&#34;泳裙&#34; id=&#34;泳裙&#34;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;完了。。
すると問題が見つかりました。私の背景画像ファイルサイズが12MBに達していたため、エンコード後の文字列が大きすぎ、ウェブページの読み込みが重く遅くなり、まったくユーザー体験がありませんでした。
さらに、この方法で読み込まれた背景画像は突然表示され、唐突すぎて効果が良くありませんでした。&lt;/p&gt;
&lt;p&gt;その後、変更しました：
CSS+JavaScriptで実装することにしました。background-imageで背景画像を直接読み込むことで、徐々に表示される効果が得られ、背景画像の読み込みが完了した後、JSで動的に画像を挿入します。&lt;/p&gt;
&lt;p&gt;window.onload = function(){
var img=new Image();
img.src=&amp;lsquo;裸体.jpg&amp;rsquo;;
if(img.width==0){
alert(&amp;lsquo;图片加载失败&amp;rsquo;)
}else{
document.getElementById(&amp;ldquo;泳衣&amp;rdquo;).style.backgroundImage=&amp;ldquo;url(泳衣.png)&amp;rdquo;;
document.getElementById(&amp;ldquo;泳裙&amp;rdquo;).style.backgroundImage=&amp;ldquo;url(泳裙.png)&amp;rdquo;;
}
}&lt;/p&gt;
&lt;p&gt;思わず一言漏らしました。「なんてひどいネットワークだ、遅すぎて人物画像の服すら読み込めないなんて！」&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/dynKiyrFtak?si=6UFLhBK7VMgbLWPE&#34; title=&#34;YouTube video player&#34; frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; referrerpolicy=&#34;strict-origin-when_cross-origin&#34; allowfullscreen=&#34;&#34;&gt;&lt;/iframe&gt;</description>
    </item>
    <item>
      <title>今日はお祝いしましたか？</title>
      <link>https://en.moejue.cn/ja/posts/117/</link>
      <pubDate>Sat, 24 Oct 2020 09:24:03 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/117/</guid>
      <description>&lt;p&gt;一は二を生み、二は四を生み、コードは万物を生み出す……プログラマーたちが創造した世界は、人類により多くの可能性をもたらしました。&lt;br&gt;
年に一度の1024プログラマーの日がまたやってきました。毎年この時期はどんなに忙しくても、時間通りに記事を一本投稿するようにしています。&lt;br&gt;
今年はオープンソースプロジェクトは特に書きませんでしたが、それでもたくさんのコードを書きました。繋ぎ合わせれば地球を二周できるほどです。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gk0k3r18bej30rs123t9y.jpg&#34;&gt;&lt;br&gt;
2020-1024=996？？&lt;br&gt;
昨年、大きな話題となった996ですが、これはまさか、運命づけられていたのでしょうか。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gk0k3r045uj30vo0hsmy5.jpg&#34;&gt;&lt;br&gt;
今年は皆さんと分かち合えるような良いネタがあまりないようです。。&lt;br&gt;
それなら、ACG指向プログラミングと行きましょう~~！&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gk0k3rou4nj31kw0w0jyj.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;過去の記事も見てみましょう&lt;a href=&#34;https://www.52ecy.cn/post-118.html&#34;&gt;&lt;br&gt;
2019年 1024プログラマーの日、最高のコーディングで、一番クールなエンジニアになろう&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://www.52ecy.cn/post-93.html&#34;&gt;2018年 1024プログラマーの日おめでとう&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://www.52ecy.cn/post-49.html&#34;&gt;2017年 1024プログラマーの日おめでとう&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://www.52ecy.cn/post-10.html&#34;&gt;2016年 プログラマーの祭典1024！今日はお祝いしましたか〜&lt;br&gt;
&lt;/a&gt;&lt;br&gt;
これはつまり、私のブログが5年間も私に寄り添ってくれたということです。この道のりを共に歩んでくれたあなたと私に感謝します！&lt;/p&gt;</description>
    </item>
    <item>
      <title>真の現実逃避</title>
      <link>https://en.moejue.cn/ja/posts/116/</link>
      <pubDate>Fri, 18 Sep 2020 06:17:34 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/116/</guid>
      <description>&lt;p&gt;ずっとVR機器が欲しいという願いがあったのですが、今日ついに叶いました。
@本群吉祥物 のおすすめで、OculusブランドのVR一体型ヘッドセットを購入しました。&lt;/p&gt;
&lt;p&gt;カードを開設して節約カードを入手 -&amp;gt; クーポンを取得 -&amp;gt; チャージ -&amp;gt; 注文 -&amp;gt; 一気に完了（心が痛む）
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gius6o43luj30im0im0w1.jpg&#34;&gt;
Oculusブランドが中国市場に参入していないなどの理由で、ギガビットルーターもセットで購入しました。
届いたのは大きな箱が2つでした&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gius8qrdgbj31hc0u0gqr.jpg&#34;&gt;
1つはVR本体が入っていて、販売店からUSB充電バッテリーが追加でプレゼントされていました。SMARTOOOLSというスペインブランドで、なかなか良さそうです&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1giusi2qqxej31hc0u0jwj.jpg&#34;&gt;
もう1つの箱には、ギガビットルーターと数百元もするUSB3.0リンクケーブルが入っていました。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1giusm81bmtj31hc0u0dkw.jpg&#34;&gt;
ピーナッツの殻のような形をしたルーターです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1giusn2c05tj30u01hcafe.jpg&#34;&gt;
読めない説明書がたくさん、しかも外付けファン付き（#泣き笑い）。このルーターブランドも海外製なので、3ピンのプラグはヨーロッパ規格で、国内の3穴コンセントには変換アダプターが必要です。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1giusn4g1sgj31hc0u0gql.jpg&#34;&gt;
外箱 - 裏面、下には人気ゲームのおすすめがいくつか載っています。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1giut1x3dwpj31hc0u0aet.jpg&#34;&gt;
正面、シンプルでクールです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1giut2ajwujj30u01hctbt.jpg&#34;&gt;
パッケージの中の箱には、Oculusのロゴが印刷されています。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1giut3pv2esj30u01hcdii.jpg&#34;&gt;
蓋を開けると、わぁ！
Oculus Quest 6DoF VR、現在市場で最も強力なVR一体型ヘッドセットです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1giut3ugoa8j30u01hcn20.jpg&#34;&gt;
公式にはコントローラー用の電池が1組、デバイスの基本的な操作説明書、そして分厚くて詳細すぎて読めない説明書が付属しています。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1giut3ykg0oj30u01hc0wf.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1giut4b7xeoj30u01hcdk1.jpg&#34;&gt;
ポーズを決めて撮影、本体＋左右コントローラー。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1giut4ctdjuj31hc0u0wjh.jpg&#34;&gt;
さて、電源を入れて使い始め、ずっと楽しみにしていたBeat Saber、VRChatなどをダウンロードして……現実逃避の旅を始めます……。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1giut4iexgwj30mf0sgtcc.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;後日談：
普段、開封レビューはしません。なぜなら、専門的なレビューには専門的な学術知識が必要で、すごい専門用語を使いこなす必要もあるからです。しかし、私にはそれができませんし、私の記事を読んだ人を、真面目な顔をしてデタラメを言うことで誤解させたくもありません。私はただ、言いたいことを言っているだけです。
VRChatで皆さんをお待ちしています。後で時間があれば、私が遊んでいる動画をBilibiliにもアップロードします。&lt;/p&gt;
&lt;p&gt;もしOculus Questについてさらに詳しく知りたい方がいれば、専門的なレビュー動画をおすすめします。
Oculus Quest VRは私たちを「ソードアート・オンライン」「レディ・プレイヤー1」からどれだけ近づけるのか？
&lt;a href=&#34;https://www.youtube.com/watch?v=2z-QyogFp9o&amp;amp;list=LL7N4D2xapjcfH_WEdH-Z0Tg&amp;amp;index=13&amp;amp;t=27s&#34;&gt;https://www.youtube.com/watch?v=2z-QyogFp9o&lt;/a&gt; (もし開けるなら)&lt;/p&gt;</description>
    </item>
    <item>
      <title>「ジャンカー」が来た</title>
      <link>https://en.moejue.cn/ja/posts/115/</link>
      <pubDate>Tue, 18 Aug 2020 07:38:27 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/115/</guid>
      <description>&lt;p&gt;CEOに就任し、才色兼備の女性と結婚、人生の頂点へ。
その第一歩は、まずサーバーを買うことから。&lt;/p&gt;
&lt;p&gt;グラフィックボード搭載のサーバー
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurjtstokj31hc0u00yi.jpg&#34;&gt; マザーボード
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurjx92j8j30u01hcdr3.jpg&#34;&gt; メモリ
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurk4h5r4j31hc0u0wma.jpg&#34;&gt; CPUファン
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurk63bjkj31hc0u00zd.jpg&#34;&gt; ハードディスク + CPU
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurkmfdqmj30zk0hh410.jpg&#34;&gt; その後、電源ケーブル、LANケーブル、電力計などの細かい部品が続々と届きました。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurkgoxkrj30u01hctdx.jpg&#34;&gt; 部品がだいたい揃ったところで、組み立てて電源を入れます。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurk8xfnbj30u01hcwlb.jpg&#34;&gt; キーボード、モニター、OSインストール用のUSBメモリはすべて借り物で、起動したらすぐに返却です。
起動プロセスは決して順調ではなく、正常に起動して稼働するまで2、3週間かかりました。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurjzwbouj31hc0u0n5e.jpg&#34;&gt; 停電でシャットダウンした後、復旧しても誰も起動できない事態に備え、Wi-Fi経由で遠隔起動できるモジュールを購入。これで通電時に自動で起動します。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurjp3sjsj30u01hc108.jpg&#34;&gt; その後、停電対策として新品のUPS（無停電電源装置）を直接購入しました。停電時のデータ保護、継続的な電力供給、電圧の安定化で、サーバーを守ります。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurk2zgqhj30u01hcq7d.jpg&#34;&gt; その後、スペックが追いつかなくなったため、新しいCPUを導入しました。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurkc79d8j30d40qogn2.jpg&#34;&gt; そして新しいグラフィックボードも。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurkffzirj31hc0u044j.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurkif5voj31401hctfy.jpg&#34;&gt; 新しいマザーボード。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurkk1bi5j31hc140jyz.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurk1s38pj30u01hcth6.jpg&#34;&gt; 最後に、特製のケースに収めます。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ghurkdpd3nj30u01hc7a7.jpg&#34;&gt; これが、皆さんが使っている数千万件クラスのデータを処理するサーバーかもしれません（笑）
現在、サーバーは数ヶ月間、問題なく連続稼働しています。&lt;/p&gt;</description>
    </item>
    <item>
      <title>2020端午節団体旅行</title>
      <link>https://en.moejue.cn/ja/posts/114/</link>
      <pubDate>Sun, 05 Jul 2020 04:20:26 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/114/</guid>
      <description>&lt;p&gt;やっとブログを投稿する時間が出来ました。&lt;br&gt;
この端午節は無駄ではなかった。私たちのチームは恵州市双岳湾へ2泊3日の楽しい旅行に行ってきました。&lt;/p&gt;
&lt;p&gt;険しい道のりの概要は説明しません&amp;hellip;.&lt;/p&gt;
&lt;p&gt;双岳湾展望台 早朝にホテルが提供する朝食を済ませた後、双岳湾全体を一望できる展望台へ向かいました。&lt;br&gt;
黄色い小さな車に乗って、渋滞の中をスイスイと歩いて、すぐに山の麓に到着しました。亀の博物館は人が多くてマスクをしていなかったので、このアトラクションはパスしてそのまま山に登りました。&lt;br&gt;
数時間の登山を経て、ついに山の頂上に到着しました
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ggfzdho8pnj31hc0m7k04.jpg&#34;&gt;
向かい合う二つの三日月のように
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ggfzdpg9f7j31400u0grj.jpg&#34;&gt;
山のふもとの景色は美しいでしょう？メイ、なぜここでそんなに時間を費やすのですか？&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ggfze5bs5dj31400u0gqk.jpg&#34;&gt;
小興山でのシュノーケリングは、ボートをレンタルして一緒に海に出て、道具を持って海に飛び込みます。 ……救命胴衣を着て、救命浮輪をつけて、監視員にしがみついていると、とても潜れない……ががぁぁぁぁぁぁぁぁぁぁぁぁ
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ggfzek187fj30u01hcwmh.jpg&#34;&gt;
遠い海の島々の近くの水は確かに海岸よりもはるかに透明です &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ggfzevzki1j31hc0u0ao8.jpg&#34;&gt;
側面の岩礁は岩と呼ばれることもあります。 『軽声少女』の秋山澪を思い出します。よく見ると怖い…ああ…ああ
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ggfzf1cf72j31400u0gwk.jpg&#34;&gt;
日没時に戻り、海に沈む夕日を楽しみます
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ggfzf3j2fej31hc0u0jyh.jpg&#34;&gt;は時々海水を一口飲みます、うわー、しょっぱい、バーバーバーバー
水滴が脈打っている
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ggfzeq0w35j31400u0q97.jpg&#34;&gt;
夜はアワビとロブスターを提供
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ggfzet8fxdj31hc0u0483.jpg&#34;&gt;
まるで財布から血が出る音が聞こえるかのように、私たちはそれを「アワビ・ロブスター局」と呼んでいます。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ggfzemvpmmj31400u0jz6.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ggfzeytd9xj31400u00yq.jpg&#34;&gt;
ふと夜景の写真を撮り忘れたことに気づいたら終わってました…。&lt;/p&gt;
&lt;p&gt;注意！ ！ ！ ！次の旅行を楽しみにしています&lt;/p&gt;</description>
    </item>
    <item>
      <title>618 Xiaomi Mi Band 5が発売</title>
      <link>https://en.moejue.cn/ja/posts/113/</link>
      <pubDate>Sun, 21 Jun 2020 10:05:43 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/113/</guid>
      <description>&lt;p&gt;618 何か買わないといつも自分が残念に思う。 。&lt;br&gt;
ビーフンだから雑穀。&lt;br&gt;
必ず良いことが起こると信じてください
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gg02q4au89j31hc0u0q5r.jpg&#34;&gt;
時間を確認するために時計を購入したいとずっと思っていたのですが、たまたま Xiaomi Mi Band 5 の発売に追いつき、秒で購入しました。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gg02qkz8w7j31hc0u043u.jpg&#34;&gt;
パッケージ全体はかなり単調で、見るべきものはあまりありません。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gg02rhanjvj30u01hcdk2.jpg&#34;&gt;
ブレスレットはオフにできないようで、取り出してホームボタンを押すとすぐに表示されます。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gg02qpv7wij30u01hc774.jpg&#34;&gt;
バインド後のアップグレードは面倒です。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gg02qz51clj30l718sq3m.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gg02r2vrvjj30u01hcwhq.jpg&#34;&gt;
最初のオープナー
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gg02r5oimej30u01hcadb.jpg&#34;&gt;
かわいいテーマに変更
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gg02r8y0gyj30u01hctc2.jpg&#34;&gt;
それでは紹介するものがありません。機能などは公式サイトで確認できます。なぜそれらを紹介する必要があるのでしょうか?
夏だし、手も裸だし、何かしなきゃ。&lt;/p&gt;</description>
    </item>
    <item>
      <title>小杰さんからいただいた、小米（シャオミ）の2-in-1モバイルバッテリー</title>
      <link>https://en.moejue.cn/ja/posts/112/</link>
      <pubDate>Sun, 07 Jun 2020 06:39:10 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/112/</guid>
      <description>&lt;p&gt;まず、&lt;a href=&#34;https://blog.youngxj.cn/&#34;&gt;杨小(姐)杰&lt;/a&gt;さんからいただいたXiaomiの2-in-1モバイルバッテリーに感謝します。 ღ( ´･ᴗ･` )♡&lt;br&gt;
モバイルバッテリー + ACアダプター（充電器）。デュアルポートのモバイルバッテリーであり、デュアルポートの充電器でもあり、急速充電と低電流モードに対応しています。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gfjpxlu1e3j30u01hcn0d.jpg&#34;&gt;&lt;br&gt;
宝塔のロゴ + カスタム刻印、Nice&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gfjpxmdw97j30u01hcadc.jpg&#34;&gt;&lt;br&gt;
差し込み&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gfjpxlu3nhj30u01hcdjp.jpg&#34;&gt;&lt;br&gt;
ナイス&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gfjpzuc3fyj30u01hcgov.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>新しい趣味を見つけたい</title>
      <link>https://en.moejue.cn/ja/posts/111/</link>
      <pubDate>Wed, 13 May 2020 14:59:10 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/111/</guid>
      <description>&lt;p&gt;2020年、新しい趣味を始めたいと思いました。&lt;br&gt;
少し前に『響け！ユーフォニアム』をずっと見ていて、誰かからプレミアム会員アカウントを借りてまで全部見てしまうほどでした。&lt;br&gt;
そして、久美子に深く感銘を受けました。何事にも無関心だった彼女が、「これのために頑張りたい」と思うようになるその過程に、僕は深く心を動かされたのです。&lt;br&gt;
僕も、たぶん久美子と同じで、学生時代から平々凡々な日々を送り、何事にも無関心で、何かのために必死に頑張ったこともなく、「世界がどうなろうと自分には関係ない」という態度で生きてきました。&lt;/p&gt;
&lt;p&gt;だからこそ、久美子の変化の過程に深く感動し、僕も何かのために頑張ってみたいと思うようになりました。&lt;br&gt;
それで、楽器を習ってみようという考えが芽生えたのです。&lt;br&gt;
なぜユーフォニアムではなくギターを選んだのかというと、多分『けいおん！』の影響でしょう。&lt;br&gt;
だって、僕は本当に管楽器が吹けないかもしれないから。学生時代に「殺人スオナ」を吹こうとしたことがあります。その時、学校が楽団のメンバーを選考していたのですが、僕は全く選ばれたくなかったので、全力で吹きませんでした。こんな骨折り損のくたびれ儲けみたいなことは、心の底からやりたくなかったのです。&lt;/p&gt;
&lt;p&gt;では、開封の儀です。&lt;br&gt;
なんだか変な形をした大きな箱。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ger3s1t8vyj30tp1gswiw.jpg&#34;&gt;&lt;br&gt;
オープン。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ger3sjgo9xj31ax0qe0w3.jpg&#34;&gt;&lt;br&gt;
ギターのマニュアル、楽譜、たくさんの付属品、そしてギターケース。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ger3slq20wj31c00r0n0y.jpg&#34;&gt;&lt;br&gt;
ギター本体。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ger3sriipvj30ss1f7q71.jpg&#34;&gt;&lt;br&gt;
スケールステッカー、カズー、ストリングワインダー、クリーニングクロス、予備の弦、ブリッジピン、カポタスト、ピックガード、フィンガープロテクター、ピックケース、ギターストラップ、べっ甲ピックなどなど。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ger3tad88tj31c00r0n28.jpg&#34;&gt;&lt;br&gt;
このサウンドホール。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ger3tcoyt0j31bg0qpn0t.jpg&#34;&gt;&lt;br&gt;
ヘッド。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ger3tfcwkcj30u01hcq84.jpg&#34;&gt;&lt;br&gt;
そうだ、このギターはカスタムオーダーしたものなんです。見て、名前も入ってるでしょう。&lt;br&gt;
ギターをマスターして、将来路上ライブで生計を立てるかもしれない時のために備えておきます。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ger3thwguzj31b20qgdhk.jpg&#34;&gt;&lt;br&gt;
最後に全体の写真を何枚か。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ger3tkh84yj30t31fqwii.jpg&#34;&gt;&lt;br&gt;
この子に「ギー太」と名付けることにしました。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ger5lqttzyj30f00qoabg.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ger5lzs0bdj30f00qomzu.jpg&#34;&gt;&lt;br&gt;
次の機会があれば、『響け！ユーフォニアム』と僕について、改めて記事を書きたいと思います。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Android APK インストール パッケージの AndroidManifest.xml ファイルを表示します。</title>
      <link>https://en.moejue.cn/ja/posts/110/</link>
      <pubDate>Sun, 19 Apr 2020 09:15:54 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/110/</guid>
      <description>&lt;p&gt;&lt;strong&gt;原因&lt;/strong&gt;
先週、私は Android システムのファクトリープッシュ機能に取り組んでいました。一部のモデルは工場出荷時にオフラインにプッシュできないため、apk を解凍し、パッケージ化パラメータに問題があるかどうかを確認します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;序文&lt;/strong&gt;
Android 開発では、自分のアプリケーションから他のアプリケーションのインターフェイスにジャンプする必要がある場合がありますが、他のアプリケーションのパッケージ名とクラス名が分からないと、これを行うのは困難です。最も簡単な方法は、アプリケーションの apk ファイルをダウンロードし、拡張子を zip または rar に変更して、ファイルを解凍することです。解凍したファイルの中に AndroidManifest.xml ファイルがあるのですが、開いてみると文字化けしていて恥ずかしいです。どうすればいいですか？&lt;/p&gt;
&lt;p&gt;AXMLPrinter2.jar は、一般的に使用される APK 逆コンパイル ツールです。これは主に、パッケージ名、バージョン番号、アイコン、その他の情報を含む apk ファイルを逆コンパイルするために使用されます。 AXMLPrinter2 を使用して androidmanifest.xml を逆コンパイルし、プレーン テキストで表示できます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;使用方法&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ダウンロードツール AXMLPrinter2.jar ツールのアドレス: &lt;a href=&#34;https://code.google.com/archive/p/android4me/downloads&#34;&gt;https://code.google.com/archive/p/android4me/downloads&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;表示する AndroidManfist.xml ファイルをツールと同じフォルダーにコピーします。&lt;/li&gt;
&lt;li&gt;現在のフォルダーで DOS ウィンドウを開きます。&lt;/li&gt;
&lt;li&gt;以下のコマンドを実行します。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;java -jar AXMLPrinter2.jar AndroidManifest.xml &amp;raquo; AndroidManifest.txt&lt;/p&gt;
&lt;p&gt;このコマンドを実行すると、フォルダー内にデコードされたファイルである AndroidManifest.txt ファイルが生成されます。&lt;/p&gt;
&lt;p&gt;もちろん、実行後にエラーが発生するものもあります。「java」は内部コマンドでも外部コマンドでも、操作可能なプログラムやバッチ ファイルでもありません。&lt;br&gt;
これは、Java 環境がインストールされていないか、環境変数が設定されていないことが原因で発生します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;JDK をインストールします&lt;/strong&gt;
まず、JDK のインストールプロセスを確認してみましょう&lt;/p&gt;
&lt;p&gt;1\。 JDKをダウンロードしてインストールします&lt;/p&gt;
&lt;p&gt;JDK1.6、1.7、または 1.8 をダウンロードすることを選択できます。使いたいものをダウンロードしてください。
JDK をダウンロードするための公式 Web サイト &lt;a href=&#34;https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html&#34;&gt;https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html&lt;/a&gt;
インストールは非常に簡単で、次のステップは簡単です。ここでは詳細には触れません。&lt;/p&gt;
&lt;p&gt;2\。 JDK環境変数を構成する&lt;/p&gt;
&lt;p&gt;(1) コンピュータの「マイ コンピュータ」を右クリックし、Win10 では「このコンピュータ」を選択し、「プロパティ」を選択し、システムの詳細設定を選択し、新しいインターフェースで「環境変数」を選択します。「システム変数」を編集するだけです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gdz8ohzbxnj30y10hz435.jpg&#34;&gt;
(2) 「新規」をクリックして「JAVA_HOME」という名前の変数を追加します。変数の値は「C:\Program Files\Java\jdk1.8.0_60」です。この値は、インストールした JDK パスです。インストールした場所にそのアドレスを使用するだけです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gdz8ozylg5j30m20lldi6.jpg&#34;&gt;「CLASSPATH」という名前の新しい変数を作成します。変数値は「.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar」です。必ず保存してください。 「.;」を見逃さないように注意してください。値にすべての記号を含める必要があります。&lt;/p&gt;</description>
    </item>
    <item>
      <title>支付宝対面決済連携</title>
      <link>https://en.moejue.cn/ja/posts/107/</link>
      <pubDate>Sat, 04 Apr 2020 02:35:18 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/107/</guid>
      <description>&lt;p&gt;当面付（対面支払い）は、その名の通り対面での支払いを指し、店舗がオフラインの消費シーンで迅速な集金を可能にするものです。当面付製品は、バーコード支払いとQRコード決済の2種類の支払い方法をサポートしています。
ここで連携するのはQRコード決済です。
QRコード決済とは、ユーザーがAlipayウォレットの「スキャン」機能を開き、店舗がレジのシーンで提示するQRコードをスキャンして支払いを行うモードを指します。このモードは、オフラインの実店舗での支払い、対面支払いなどのシナリオに適しています。ビジネスフローは以下の図の通りです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gciwmfk760j30kf071dfz.jpg&#34;&gt;
当面付の契約は非常に簡単で、個人事業主/個人商店の契約が許可されています。そのため、この方法はオンラインのQRコード決済にも大量に利用されていますが、Alipayの関連規約に違反するため、一定のリスクがあります。技術交流として、この問題は一旦置いておきましょう。&lt;/p&gt;
&lt;p&gt;技術連携としては、当面付製品を契約していなくても開発を進めることができます。
支払い機能は取引と資金に直接関わるため、開発者が支払い機能をデバッグしやすいように、オープンプラットフォームはサンドボックス環境（サンドボックス環境アカウントとサンドボックス版Alipayウォレットを含む）を用意しています。これにより、開発者はサンドボックス環境でデバッグできます。&lt;a href=&#34;https://docs.open.alipay.com/200/105311&#34;&gt;サンドボックスへの接続方法&lt;/a&gt;と&lt;a href=&#34;https://openhome.alipay.com/platform/appDaily.htm&#34;&gt;サンドボックス環境への接続&lt;/a&gt;をクリックして詳細を確認してください。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gciwn0aa2ej30sq0ptwi3.jpg&#34;&gt;
そのため、私の開発ではサンドボックス環境を使用しています。何しろ中にはたくさんのお金があるので、自由に使えますからね。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gciwlx66oxj30cn0qo0tj.jpg&#34;&gt;
まず、対応する開発言語のSDKをダウンロードします。ダウンロード：https://docs.open.alipay.com/194/105201/
QRコード決済ドキュメント：https://docs.open.alipay.com/194/106078/&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;キーの設定&lt;/strong&gt;
取引当事者（加盟店とAlipay）の身元とデータセキュリティを確保するため、開発者はインターフェースを呼び出す前に、双方のキーを設定し、取引データの双方検証を行う必要があります。
&lt;a href=&#34;https://docs.open.alipay.com/291/105971&#34;&gt;Alipayオープンプラットフォーム開発アシスタント&lt;/a&gt;をダウンロードしてキーを生成してください。
キー生成後、開発者はオープンプラットフォーム開発者センターでキー設定を行う必要があります。設定完了後、Alipay公開鍵を取得できます。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gciwnhq0ztj30u00lo0y6.jpg&#34;&gt;
&lt;strong&gt;設計と連携&lt;/strong&gt;
私の設計ではポーリング（後述）を使用する必要がないため、追加していません。
以下は私の業務における関連コードです。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;public function pay(){

    if (request()-&amp;gt;isPost()) {
        
        // (必填) 商户网站订单系统中唯一订单号，64个字符以内，只能包含字母、数字、下划线，
        // 需保证商户系统端不能重复，建议通过数据库sequence生成，
        $uid = Session::get(&#39;sq.uid&#39;);
        $outTradeNo = order\_num() . $uid;

        // (必填) 订单标题，粗略描述用户的支付目的。如“xxx品牌xxx门店当面付扫码消费”
        $subject = &#39;聚合平台用户积分充值&#39;;

        // (必填) 订单总金额，单位为元，不能超过1亿元
        // 如果同时传入了【打折金额】,【不可打折金额】,【订单总金额】三者,则必须满足如下条件:【订单总金额】=【打折金额】+【不可打折金额】
        $totalAmount = input(&#39;post.pay\_money/f&#39;);
        if($totalAmount &amp;lt; 1){
            return \[&#39;status&#39; =&amp;gt; 1, &#39;msg&#39; =&amp;gt; &#39;最低充值金额1元&#39;\];
        }
        if($totalAmount &amp;gt; 9999999){
            return \[&#39;status&#39; =&amp;gt; 1, &#39;msg&#39; =&amp;gt; &#39;充值最大金额不能超过9999999元&#39;\];
        }


        // (不推荐使用) 订单可打折金额，可以配合商家平台配置折扣活动，如果订单部分商品参与打折，可以将部分商品总价填写至此字段，默认全部商品可打折
        // 如果该值未传入,但传入了【订单总金额】,【不可打折金额】 则该值默认为【订单总金额】- 【不可打折金额】
        //String discountableAmount = &amp;quot;1.00&amp;quot;; //

        // (可选) 订单不可打折金额，可以配合商家平台配置折扣活动，如果酒水不参与打折，则将对应金额填写至此字段
        // 如果该值未传入,但传入了【订单总金额】,【打折金额】,则该值默认为【订单总金额】-【打折金额】
        // $undiscountableAmount = &amp;quot;0.01&amp;quot;;

        // 卖家支付宝账号ID，用于支持一个签约账号下支持打款到不同的收款账号，(打款到sellerId对应的支付宝账号)
        // 如果该字段为空，则默认为与支付宝签约的商户的PID，也就是appid对应的PID
        //$sellerId = &amp;quot;&amp;quot;;

        // 订单描述，可以对交易或商品进行一个详细地描述，比如填写&amp;quot;购买商品2件共15.00元&amp;quot;
        $body = &amp;quot;聚合平台用户积分充值&amp;quot; . $totalAmount . &#39;元&#39;;

        //商户操作员编号，添加此参数可以为商户操作员做销售统计
        // $operatorId = &amp;quot;&amp;quot;;

        // (可选) 商户门店编号，通过门店号和商家后台可以配置精准到门店的折扣信息，详询支付宝技术支持
        // $storeId = &amp;quot;&amp;quot;;

        // 支付宝的店铺编号
        // $alipayStoreId= &amp;quot;&amp;quot;;

        // 业务扩展参数，目前可添加由支付宝分配的系统商编号(通过setSysServiceProviderId方法)，系统商开发使用,详情请咨询支付宝技术支持
        // $providerId = &amp;quot;&amp;quot;; //系统商pid,作为系统商返佣数据提取的依据
        // $extendParams = new ExtendParams();
        // $extendParams-&amp;gt;setSysServiceProviderId($providerId);
        // $extendParamsArr = $extendParams-&amp;gt;getExtendParams();

        // 支付超时，线下扫码交易定义为5分钟
        $timeExpress = &amp;quot;5m&amp;quot;;

        // 商品明细列表，需填写购买商品详细信息，
        // $goodsDetailList = array();

        // // 创建一个商品信息，参数含义分别为商品id（使用国标）、名称、单价（单位为分）、数量，如果需要添加商品类别，详见GoodsDetail
        // $goods1 = new GoodsDetail();
        // $goods1-&amp;gt;setGoodsId(&amp;quot;apple-01&amp;quot;);
        // $goods1-&amp;gt;setGoodsName(&amp;quot;iphone&amp;quot;);
        // $goods1-&amp;gt;setPrice(3000);
        // $goods1-&amp;gt;setQuantity(1);
        // //得到商品1明细数组
        // $goods1Arr = $goods1-&amp;gt;getGoodsDetail();

        // // 继续创建并添加第一条商品信息，用户购买的产品为“xx牙刷”，单价为5.05元，购买了两件
        // $goods2 = new GoodsDetail();
        // $goods2-&amp;gt;setGoodsId(&amp;quot;apple-02&amp;quot;);
        // $goods2-&amp;gt;setGoodsName(&amp;quot;ipad&amp;quot;);
        // $goods2-&amp;gt;setPrice(1000);
        // $goods2-&amp;gt;setQuantity(1);
        // //得到商品1明细数组
        // $goods2Arr = $goods2-&amp;gt;getGoodsDetail();

        // $goodsDetailList = array($goods1Arr,$goods2Arr);

        //第三方应用授权令牌,商户授权系统商开发模式下使用
        $appAuthToken = &amp;quot;&amp;quot;;//根据真实值填写

        // 创建请求builder，设置请求参数
        $qrPayRequestBuilder = new AlipayTradePrecreateContentBuilder();
        $qrPayRequestBuilder-&amp;gt;setOutTradeNo($outTradeNo);
        $qrPayRequestBuilder-&amp;gt;setTotalAmount($totalAmount);
        $qrPayRequestBuilder-&amp;gt;setTimeExpress($timeExpress);
        $qrPayRequestBuilder-&amp;gt;setSubject($subject);
        $qrPayRequestBuilder-&amp;gt;setBody($body);
        // $qrPayRequestBuilder-&amp;gt;setUndiscountableAmount($undiscountableAmount);
        // $qrPayRequestBuilder-&amp;gt;setExtendParams($extendParamsArr);
        // $qrPayRequestBuilder-&amp;gt;setGoodsDetailList($goodsDetailList);
        // $qrPayRequestBuilder-&amp;gt;setStoreId($storeId);
        // $qrPayRequestBuilder-&amp;gt;setOperatorId($operatorId);
        // $qrPayRequestBuilder-&amp;gt;setAlipayStoreId($alipayStoreId);

        $qrPayRequestBuilder-&amp;gt;setAppAuthToken($appAuthToken);


        // 调用qrPay方法获取当面付应答
        require ROOT\_PATH.&#39;extend/f2fpay/config/config.php&#39;;
        $qrPay = new AlipayTradeService($config);
        $qrPayResult = $qrPay-&amp;gt;qrPay($qrPayRequestBuilder);

        //  根据状态值进行业务处理
        switch ($qrPayResult-&amp;gt;getTradeStatus()){
            case &amp;quot;SUCCESS&amp;quot;:
                $response = $qrPayResult-&amp;gt;getResponse();

                Db::name(&#39;order&#39;)
                    -&amp;gt;insert(\[
                        &#39;uid&#39; =&amp;gt; $uid,
                        &#39;pay\_id&#39; =&amp;gt; $outTradeNo,
                        &#39;money&#39; =&amp;gt; $totalAmount,
                        &#39;creat\_time&#39; =&amp;gt; time(),
                        &#39;subject&#39; =&amp;gt; $subject
                    \]);

                return \[&#39;status&#39; =&amp;gt; 0, &#39;msg&#39; =&amp;gt; &#39;支付宝创建订单二维码成功!!!&amp;quot;&#39;,&#39;data&#39; =&amp;gt; \[
                    &#39;qr\_code&#39; =&amp;gt; $response-&amp;gt;qr\_code,
                    &#39;outTradeNo&#39; =&amp;gt; $outTradeNo
                \]\];
                // $qrcode = $qrPay-&amp;gt;create\_erweima($response-&amp;gt;qr\_code);
                // echo $qrcode;
                // print\_r($response);
                break;
            case &amp;quot;FAILED&amp;quot;:
                return \[&#39;status&#39; =&amp;gt; 1, &#39;msg&#39; =&amp;gt; &#39;支付宝创建订单二维码失败!!!&amp;quot;&#39;\];
                // if(!empty($qrPayResult-&amp;gt;getResponse())){
                //     print\_r($qrPayResult-&amp;gt;getResponse());
                // }
                break;
            case &amp;quot;UNKNOWN&amp;quot;:
                return \[&#39;status&#39; =&amp;gt; 1, &#39;msg&#39; =&amp;gt; &#39;系统异常，状态未知!!!&amp;quot;&#39;\];
                // echo &amp;quot;系统异常，状态未知!!!&amp;quot;.&amp;quot;&amp;lt;br&amp;gt;--------------------------&amp;lt;br&amp;gt;&amp;quot;;
                // if(!empty($qrPayResult-&amp;gt;getResponse())){
                //     print\_r($qrPayResult-&amp;gt;getResponse());
                // }
                break;
            default:
                return \[&#39;status&#39; =&amp;gt; 1, &#39;msg&#39; =&amp;gt; &#39;不支持的返回状态，创建订单二维码返回异常!!!&#39;\];
                break;
        }
        return ;
    }


}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;以上が当面付の事前注文コードです。
このSDKについては、どうしても文句を言いたいです。誰が書いたデモなのか、PHPの例にlotusphpフレームワークを導入していて、大量の不要なものが含まれており、私たち開発者が受け入れられるかどうかを全く考慮していません。
私も少し時間をかけてSDKを簡素化し、必要な部分だけを取り出して自分のフレームワークに組み込み、namespaceとオートロードを追加しました。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gciwodh05dj30af0egdho.jpg&#34;&gt;
QRコード決済には独自の機能があります&amp;mdash;-非同期通知です。
これはオンライン決済で最も必要とされる機能でもあります。
レジが事前注文リクエストAPIを呼び出してQRコードを生成しユーザーに表示した後、ユーザーが携帯電話でQRコードをスキャンして支払いを行うと、Alipayは当該注文の変更情報を、加盟店が事前注文リクエストを呼び出した際に渡した非同期通知アドレス &lt;code&gt;notify_url&lt;/code&gt; に沿って、POSTリクエストの形式で支払い結果をパラメータとして加盟店システムに通知します。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gciwouog84j30o10cu768.jpg&#34;&gt;
この非同期通知アドレスは、アプリケーション側で設定する必要があることを覚えておいてください。&lt;/p&gt;</description>
    </item>
    <item>
      <title>Discuz!フォーラム 個人スペースのCSSカスタマイズ</title>
      <link>https://en.moejue.cn/ja/posts/109/</link>
      <pubDate>Tue, 24 Mar 2020 13:23:51 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/109/</guid>
      <description>&lt;p&gt;先日、暇だったのでDiscuzフォーラムの脆弱性を探してみたところ、本当に見つかりました。ついでにツールを作成し、勢いでこの記事を書いています。
以下が事の経緯です。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gd4tebhwgwj309s0aojss.jpg&#34;&gt;
この脆弱性はウェブサイトに大きな危害を与えるものではなく、個人スペースのCSSスタイルをカスタマイズできるだけで、サイトのデータに脅威を与えることはありませんので、ご安心ください。&lt;/p&gt;
&lt;p&gt;このツールを使えば、Discuzの個人スペースのCSSスタイルをカスタマイズでき、個人スペースを豊かに美化し、単調さをなくすことができます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;テストしたDiscuzのバージョンはX3.4です。他のバージョンはご自身でテストしてください。&lt;/li&gt;
&lt;li&gt;全球主机交流论坛（管理人さん、お許しを）でのみテストしました。同じバージョンのDiscuzであれば理論上は共通で使えるはずです。&lt;/li&gt;
&lt;li&gt;個人スペースが開設されていないフォーラムでは使用できません。&lt;/li&gt;
&lt;li&gt;カスタムCSSは多すぎないようにし、失敗を避けるために一行に圧縮することをお勧めします。&lt;/li&gt;
&lt;li&gt;プロトコルヘッダーは通常、変更する必要はありません。テキストボックスを設置したのは、主に拡張性を考慮したためです。&lt;/li&gt;
&lt;li&gt;もしlocフォーラムで操作する場合、デフォルトで阿珏ちゃんをフォローし、友達に追加します。[#手動でニヤリ + 保身のための犬アイコン]&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;本ソフトウェアはローカルでリクエストを送信するのみで、サーバーにデータをアップロードすることはありません。
ソフトウェアはパック（圧縮・暗号化）されているため、ウイルス対策ソフトが誤検知する可能性がありますが、安心してご使用ください&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gd46ipbb1uj30jl0drac8.jpg&#34;&gt;
&lt;strong&gt;Cookieの取得&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;ブラウザで開発者ツール（F12）を開き、対象のウェブサイトにアクセスします。ログイン状態であればどのページでも構いません。開発者ツールで「Network」タブに切り替え、ページを更新（F5）します。現在のドメインのリクエストデータを見つけてクリックし、「Headers」タブの「Request Headers」にあるcookieを探します。皆さんが私の言っていることを理解できないだろうと思ったので、特別に図を用意しました。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gd47v5klf2j30iq0hhjw1.jpg&#34;&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;2つ目の方法はより簡単で迅速ですが、どのcookieが必要か分かっている場合に適しています。下の図のように操作します。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gd47uobcsaj30nj0ammz9.jpg&#34;&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;1つ目の方法で使う開発者ツールは、以前のブログ記事でも使用しましたが、cookieの取得方法については説明していませんでした。やはり1つ目の方法をお勧めします。cookieは多くても問題ありませんが、少ないと動作しません。
&lt;strong&gt;免責事項&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;本ソフトウェアは学習と交流のみを目的としています！&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;本ソフトウェアの作者は一切の責任を負いません！&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;本ソフトウェアを使用した場合、本規約に同意したものとみなします！&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;ダウンロード&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;以下のダウンロードスタイルは何年も使っていませんでしたが、今日ついに復活させました。
.down_link{background:url(&amp;lsquo;&lt;a href=&#34;https://www.52ecy.cn/content/uploadfile/201707/md-bg.jpeg%27&#34;&gt;https://www.52ecy.cn/content/uploadfile/201707/md-bg.jpeg&#39;&lt;/a&gt;) no-repeat 100% 0% #fffdff; border: 1px solid #faf8fb; border-radius: 2px; color: #666; font-size: 14px; margin-bottom: 10px; padding: 5px 20px;}.downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downlink a{text-decoration:none;} .downlink a{text-decoration:none;font-size:15px;} .downlink a:link{color: #ffffff;} .downlink a:visited{color: #ffffff;} .downlink a:hover{color: #ffffff;} .downlink a:active{color: #ffffff;} .downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF !important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .yanshibtn{background: none repeat scroll 0 0 #d33431; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downbtn:hover,.yanshibtn:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .downbtn a:hover,.yanshibtn a:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;}&lt;/p&gt;</description>
    </item>
    <item>
      <title>ランダム二次元画像API第三弾</title>
      <link>https://en.moejue.cn/ja/posts/108/</link>
      <pubDate>Tue, 10 Mar 2020 08:51:35 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/108/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gcoxw1p6y1j30ya0o74qp.jpg&#34;&gt;&lt;br&gt;
本来、第二弾をトップに固定していたので、第三弾を出すつもりはありませんでした。しかし、考えているうちにまたたくさんの言葉が溢れてきて、出さないのはもったいないと思い、こうして公開することにしました。&lt;/p&gt;
&lt;p&gt;前回の更新から2年が経ち、APIも2年数ヶ月間安定して稼働しています。今回の主な更新は、チュートリアル画像1枚と、3000枚以上のランダムな二次元API画像の追加、そしてインターフェースの最適化です。だいたいこんな感じです。&lt;/p&gt;
&lt;p&gt;すべての画像は新浪雲サーバーにホストされており、グローバルCDNアクセラレーションを備えています。&lt;a href=&#34;https://img.52ecy.cn&#34;&gt;幻想領域&lt;/a&gt;が提供するアップロードサービスに感謝します。&lt;/p&gt;
&lt;h2 id=&#34;インターフェースアドレス&#34;&gt;インターフェースアドレス：&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://random.52ecy.cn/randbg.php&#34;&gt;https://random.52ecy.cn/randbg.php&lt;/a&gt; (推奨)&lt;/p&gt;
&lt;h2 id=&#34;パラメータ&#34;&gt;パラメータ&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;パラメータ名&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;説明&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;size (オプション)&lt;/p&gt;
&lt;p&gt;値：0～7、返される画像のサムネイル（サイズ）レベル。数字が大きいほど画像はぼやけ、画像サイズは小さくなります。デフォルトは0です。例：https://random.52ecy.cn/randbg.php?size=4&lt;/p&gt;
&lt;p&gt;type (オプション)&lt;/p&gt;
&lt;p&gt;値：pc、mobile、返される画像のタイプ。pcはPC版壁紙、mobileはモバイル版壁紙（縦画面）です。デフォルトはpcです。例：https://random.52ecy.cn/randbg.php?type=mobile&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;番外編&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;多くの人からAPIをオープンソースにするかどうか尋ねられましたが、必要ないと思っています。オープンソースと呼ぶことすらできません。数行のコードと2つのコマンドだけなので、公開するのは恥ずかしいくらいです。&lt;/p&gt;
&lt;p&gt;$file_arr = file(&amp;lsquo;data.php&amp;rsquo;);
$key = array_rand($file_arr);&lt;/p&gt;
&lt;p&gt;このような書き方には効率性の問題があると言う人もいるかもしれませんが、私は、画像が数十万枚に達しておらず、ファイルサイズが数十メガバイトを超えない限り、効率性を考慮する必要はないと言います。&lt;br&gt;
方法は多種多様であり、自分に合ったものが最善です。&lt;/p&gt;
&lt;p&gt;ちなみに、最初のインターフェースは負荷に耐えきれず、無期限に停止しました。&lt;br&gt;
一枚の画像がきっかけで更新することになるとは、本当に偶然ですね（強制更新）。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gcnwd5cq1tj31hc0u0h80.jpg?referrer=https://cdn.sinaimg.cn.52ecy.cn&#34;&gt;&lt;br&gt;
&lt;strong&gt;更新履歴&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;2020年3月23日&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;typeパラメータを更新。値：pc、mobile&lt;/li&gt;
&lt;li&gt;モバイル画像1000枚を追加&lt;/li&gt;
&lt;li&gt;PC画像1000枚を追加&lt;/li&gt;
&lt;/ol&gt;</description>
    </item>
    <item>
      <title>『プラスティック・メモリーズ』時は流れ、いつか大切な人と巡り会えますように</title>
      <link>https://en.moejue.cn/ja/posts/106/</link>
      <pubDate>Sun, 01 Mar 2020 03:26:48 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/106/</guid>
      <description>&lt;p&gt;まず結論から言うと、僕は永遠にアイラが大好きです
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gcejh2w7yaj30k00b9dgl.jpg&#34;&gt;
『プラスティック・メモリーズ』は僕がとても好きなアニメです。素晴らしく、胸が張り裂けるような涙あり、笑いあり、萌えありの作品です。全話見終わった後、他に類を見ない感動があったとしか言えません。
初めて『プラスティック・メモリーズ』を観たのは、実家へ帰る新幹線の中でした。まさか第一話だけで号泣させられるとは。そうです、新幹線で泣いてしまいました ˚‧º·(˚ ˃̣̣̥᷄⌓˂̣̣̥᷅ )‧º·˚
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gcejmalij1j31hc0xc7kk.jpg&#34;&gt;
もし自分の寿命の長さが、最初から決まっていたとしたら、私たちなら、その事実をどう受け止めるでしょうか？もし私たちなら、自分の終焉が近づいていると知った時、どう向き合うでしょうか？かつての些細な出来事を思い出し、悲しいことも、楽しいことも、私たちは苦しみに身を沈めて死期を待つことを選ぶのか、それとも残されたわずかな時間で愛する人と共に思い出を作ることを選ぶのか？
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gcejjrowqbj30yg0je42n.jpg&#34;&gt;あなたはこの世界にやってきた。
現代科学と経験則はあなたに告げる：
あなたの平均寿命は85年。あなたはいつか必ず死ぬ。誰も死を免れることはできない。
あなたの記憶はあなただけのもの。複製することはできず、死ぬ時に、これらの記憶は自動的に消去される。
あなたは生きている間に、様々な友人や親族との間の感情を目撃し、自分自身の記憶を築き上げた。
幸か不幸か、彼らはあなたより一足先に、一人、また一人とこの世を去っていき、あなたはその死を見届けた。
80代になったある日、あなたは自分の死期が迫っていることに気づく。
あなたの記憶も一緒に消え去る。今度はあなたの番だ。結末はとっくに決まっているけれど。
あなたは…
————————————
これは平凡な物語。とても平凡な。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gcejotnaphj31e00u0jyp.jpg&#34;&gt;
思い出は残酷だ。鋭い棘のように人の心を貫き、息が詰まるほどの痛みを与える。しかし、思い出はまた、非常に温かいものでもある。人に生きる力と勇気を与え、ある信念を抱いて前進させてくれる。人間であれギフティアであれ、誰もが思い出に縛られる。他人の別れであれ、自分が直面しなければならないタイムリミットであれ、思い出はいつもその時に最もリアルな痛みを与える。現実、無力感、名残惜しさ、そして起こり得ない奇跡。これらが『プラスティック・メモリーズ』が伝えたかったことなのかもしれない。しかし、人生とはそういうものだ。悲しみも喜びも、すべての過去は風の音に消え、すべてが跡形もなく去っていく。誰もそれを捕まえることはできない。僕たちはそうやって生きている。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gcejtq4l98j31hc0u0q6n.jpg&#34;&gt;
際立ったキャラクターデザインも、意味深長なプロットもありません。あるのはただ、日常の温かさと純粋な愛だけ。運命のような出会い、
この出会いを、僕は絶対に忘れない。
君とパートナーになれて、本当に良かった。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gcejyiviz7j31c50u3go7.jpg&#34;&gt;
『プラスティック・メモリーズ』は、最高の思い出とは何かを教えてくれます。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gcejjcdchxj31ha0tymzc.jpg&#34;&gt;
結局、このアニメは誰もが予想できたけれど、あまり見たくはなかった結末を迎えてしまいました……
もし自分の未来の寿命の長さを知っていたら、僕はきっと精一杯生きるだろう。そんな信念があれば、楽しいことはきっと辛いことより多くなると信じている。好きな人と一緒にいることほど幸せなことはない。そして最後に、あなたがいつか大切な人と再会できることを願っています。&lt;/p&gt;
&lt;p&gt;“
大切な人と、いつかまた巡り会えますように
”
――アイラ
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gcejin6d2jj30yg0jedi2.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ESP8266 シリアル WiFi モジュール - WiFi キラー</title>
      <link>https://en.moejue.cn/ja/posts/105/</link>
      <pubDate>Mon, 03 Feb 2020 06:59:55 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/105/</guid>
      <description>&lt;p&gt;私はしばらく前に ESP8266 を購入し、それで遊ぶつもりでした。実際には数カ月間停滞し、その後2020年まで延期された。
ESP8266 は、幅広い実用的なアプリケーションを備えた WiFi モノのインターネット モジュールです。簡単に言えば、その機能は次のとおりです。Wi-Fi からデータを受信し、シリアル ポート経由で出力します。シリアルポートからデータを受信し、Wi-Fi経由でデータを出力します。&lt;/p&gt;
&lt;p&gt;このものの技術は成熟しており、コストが低いため、価格はわずか数十元です。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gbjav59u52j30p90alq42.jpg&#34;&gt;
開封 ここで買ったのは有機EL液晶画面付きパッケージ（将来のお楽しみに備えて）
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gbjb22mijhj310a0r741n.jpg&#34;&gt;
最も古典的なのは WiFi キラーです。それでは、まずお楽しみとして WiFi キラーのファームウェアをフラッシュしてみましょう。
ファームウェア: &lt;a href=&#34;https://github.com/samdenty/Wi-PWN?wi-pwn=7.0&#34;&gt;https://github.com/samdenty/Wi-PWN?wi-pwn=7.0&lt;/a&gt;
原理は、認証解除メッセージを送信して、ルーター自体を切断する必要があるとクライアントに認識させ、Wi-Fi から切断することです。偽造ルーターは認証解除メッセージをクライアントに送信し、クライアントが Wi-Fi から積極的に切断されるようにします。また、カスタム ホットスポット フォージェリ (偽の Wi-Fi 信号をバッチで生成する) もサポートしています。&lt;/p&gt;
&lt;p&gt;パソコンとの接続には、データ通信が可能なデータケーブルを使用してください。デスクトップ コンピュータを背面ポートに接続してみます。
接続後、Windows システム コンピュータは、下の図に示すように、ドライバを自動的にインストールします。この COM を覚えておいてください。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gbjb5v538uj308i0250st.jpg&#34;&gt;
また、ch341ser ドライバーと、USB 用の WINDOWS ドライバー インストール パッケージをシリアル ポート CH341/CH340 にインストールする必要があります。プロンプトに従ってインストールするだけです。これは別途ダウンロードする必要があります&lt;/p&gt;
&lt;p&gt;ファームウェアの書き込み
ここで使用するのは、NodeMcu FIRMWARE PROGRAMMER 書き込みツールです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ここの COM ポートとして、前に見たものを選択します。または、デバイス マネージャーで ESP8266 開発ボードがどのポートに接続されているかを確認してください。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gbjbx2zsdgj30fw099q4f.jpg&#34;&gt;&lt;/li&gt;
&lt;li&gt;config でファームウェア アドレスを選択し、その他はデフォルトで変更しないままにします。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gbjbw32lcdj30fw099myz.jpg&#34;&gt;&lt;/li&gt;
&lt;li&gt;詳細 - ボーレート ボーレートは、開発ボードの裏面に書かれている内容によって異なります。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gbjbw7qovhj30fw099dhg.jpg&#34;&gt;
写真の通り、丸で囲った部分が
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gbjc12jibpj30u4145n0l.jpg&#34;&gt;
設定後、フラッシュ (F) キーをクリックして書き込みを開始します。このプロセスには時間がかかる場合がありますので、そのままお待ちください。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;書き込みが完了したら、一度抜き差ししてください。書き込みが成功すると、wi-pwn という名前のパブリック WiFi が表示されます。
リンク後、ブラウザーでこの背景 http://192.168.4.1/ が開き、ガイダンスに従ってください。&lt;br&gt;
ここで WiFi をバッチで偽造する方法を説明しましょう。 「Beacom」をクリックして作業を開始します。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gbjcar7sraj317j0kf106.jpg&#34;&gt;
動作ステータス、実行中、青色のインジケータライトが点滅して点灯したまま
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gbjcavnorvj30ys1aegps.jpg&#34;&gt;
なぜ長い間携帯電話でいくつかしか検索できないのかわかりません。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gbjccbz1u2j30lp19vzm7.jpg&#34;&gt;
他にもたくさんの機能があるので、一つずつ試していくつもりはありません。
要約: 要約するものは何もありません。私も初めてのプレイです。プレイの全プロセスを記録し、私の経験を共有します。&lt;br&gt;
今回は他人が書いたファームウェアを使用しました。次回は私が自分で書く番です。&lt;/p&gt;</description>
    </item>
    <item>
      <title>美しすぎるAlibaba Cloud画像ホスティングツール</title>
      <link>https://en.moejue.cn/ja/posts/104/</link>
      <pubDate>Sun, 12 Jan 2020 08:42:16 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/104/</guid>
      <description>&lt;p&gt;一度サボると気持ちいい、ずっとサボればずっと気持ちいい。うっかりまた一ヶ月も更新をサボってしまい、元旦にさえ顔を出すこともなく、お恥ずかしい限りです。&lt;br&gt;
その埋め合わせとして、今日の週末にAlibaba画像アップローダーを一つ公開します。&lt;/p&gt;
&lt;p&gt;以前のプログラムは多くの方からインストールが難しいと言われましたが、今回のAlibaba画像アップローダーは非常にシンプルです。サーバーにアップロードしてアクセスするだけで利用でき、設定は一切不要。本当にこれだけです。（決して手抜きで何も書いていないわけではありません）&lt;br&gt;
インターフェースをご覧ください。とても美しいでしょう？&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gatvrtj7qwj30g00ohtdt.jpg&#34;&gt;&lt;br&gt;
非常にシンプルなため、今のところデモサイトはありません。もし設置が完了した方がいらっしゃれば、下部のコメント欄にご自身のアップローダーのURLを投稿して、他の方々の参考にしていただけると幸いです。&lt;br&gt;
&lt;a href=&#34;https://github.com/iAJue/Alibaba_pic&#34;&gt;プロジェクトページ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ここ数日で新しいロゴに変更しました。これもまた綺麗でしょう？（会社のPhotoshopの達人にお願いして作ってもらいました）&lt;br&gt;
&lt;a href=&#34;https://img.52ecy.cn&#34;&gt;幻想領域&lt;/a&gt;画像アップローダーも認証コードを導入しました。皆さん、不適切な画像をアップロードしないようにお願いしますね。&lt;/p&gt;
&lt;p&gt;最後に&lt;br&gt;
遅くなってしまいましたが、それでも言わせてください。皆様の新しい一年が、楽しく幸せなものでありますように！&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1gatw2vof1hj31w32pf7wh.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>『ヨスガノソラ』 春日野 穹 和服 フィギュア</title>
      <link>https://en.moejue.cn/ja/posts/103/</link>
      <pubDate>Fri, 13 Dec 2019 02:11:13 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/103/</guid>
      <description>&lt;p&gt;『ヨスガノソラ』有名な〇〇アニメ……のヒロイン、春日野穹&lt;br&gt;
&amp;mdash;-妹がいない者は穹が妹でないことを嘆き、妹がいる者は妹が穹でないことを嘆く&lt;br&gt;
箱は実に大きく、以前買ったいくつかのものよりずっと大きいです&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx3qn12j31hc140ah8.jpg&#34;&gt;&lt;br&gt;
外箱の絵と中身は違いますが &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx1smanj31hc140gss.jpg&#34;&gt;&lt;br&gt;
開封すると、ナイフを持ったもう片方の手も入っており、手が取り外し可能であることがわかります&lt;br&gt;
でも、付け替えたことはありません。女の子はやっぱり扇子を持っている方が可愛いですからね&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfxacp8aj31hc140aht.jpg&#34;&gt;&lt;br&gt;
この値段で扇子を買うのも、やりすぎじゃないですよね&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx62a22j31hc140wmv.jpg&#34;&gt;&lt;br&gt;
うわー、この脚、あぁ、真っ白だ。そ、パン…、ゴホンゴホン&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx59ybzj31401hcwnt.jpg&#34;&gt;&lt;br&gt;
起こして座らせて、ポーズを整えて。この角度…いいですね&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx7lwm9j31401hcth7.jpg&#34;&gt;&lt;br&gt;
顔&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx18ppxj31401hcag0.jpg&#34;&gt;脚&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx6rkt2j31401hctes.jpg&#34;&gt;&lt;br&gt;
ディテール&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx35sbwj31401hcq7u.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx2inyrj31hc1400x9.jpg&#34;&gt;&lt;br&gt;
これはマジでえっちぃですね&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx25hpcj31401hcn34.jpg&#34;&gt;注目すべきは、ビーチサンダルが本物の靴と同じプラスチック素材で作られている点です&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx8erz8j31401hc0yo.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx8ziuej31401hc44y.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfxb8th4j31401hcn5y.jpg&#34;&gt;&lt;br&gt;
夜に開封したので光が足りなかったので、昼間にもう何枚か撮ってみました&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx4ga5qj31hc140ahc.jpg&#34;&gt;遥かなる空、その穹の果てで、&lt;br&gt;
私たちはやがて出会い、そして知り合う&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfx9jx67j31hc1407a8.jpg&#34;&gt;&lt;br&gt;
「どこにいても、どんなときでも、私たちの頭の上には同じ遥かな穹が広がっている。まるで永遠に引き離されることのない絆のように。」&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g9vfxbsx5mj31hc140gsb.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>小愛スピーカー ユニバーサルリモコン版</title>
      <link>https://en.moejue.cn/ja/posts/102/</link>
      <pubDate>Wed, 20 Nov 2019 14:11:38 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/102/</guid>
      <description>&lt;p&gt;またしてもXiaomi製品です。今回開封するのは、Xiaomiスピーカーの万能リモコン版。従来の家電をあっという間にスマートホーム化させます。
開封。想像していたよりずっと小さいです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g93pky0ndwj30u0140780.jpg&#34;&gt;
新発売のXiaomi AIスピーカーHDはかなり大きいですが、Xiaomiストアで抱えてみたことがあります(〃&amp;rsquo;▽&amp;rsquo;〃)
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g93pkuzx1nj30u0140q6r.jpg&#34;&gt;
パッケージ内容：本体＋電源アダプター＋データケーブル＋取扱説明書
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g93pkw08xhj31400u0gpu.jpg&#34;&gt;
下の周りにあるのは本物の穴です。最初は写真で見たとき、ただの模様だと思っていました。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g93pkvewhhj30u014042u.jpg&#34;&gt;
内部の中央には、円錐形のダブルピラミッドのようなものがあります。分かりやすく言うと、コマみたいな感じでしょうか。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g93pkxi1poj30u0140adl.jpg&#34;&gt;
マイクミュートボタン（上）は10秒長押しで工場出荷時設定にリセット、音量+/-ボタン（左右）、一時停止/再生ボタンは長押しで設定モードに入ります。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g93pkwkjapj30u014042x.jpg&#34;&gt;
次に、Mi AIスピーカーアプリをダウンロードして、一連の設定を行います。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g93pkx5wf6j30cn0qojrn.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g93pkumgvtj30cn0qojrl.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g93pktxq7nj30cn0qoaaf.jpg&#34;&gt;
QQ Musicが内蔵されていますが、管理はできず、QQ Music上で行う必要があります。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g93pkub4y6j30cn0qomxu.jpg&#34;&gt;
これで、遊べるようになります。&lt;/p&gt;
&lt;p&gt;お使いの小愛同学に「自爆モード起動」と言うと、新しいスキルをゲットできます（注意！！）&lt;/p&gt;
&lt;p&gt;また、一つ厄介な設定というかバグがあります。Bluetoothに接続して設定すると、ネットに繋がらなくなるのです。（意味不明？？）&lt;/p&gt;</description>
    </item>
    <item>
      <title>感熱ブルートゥースプリンター開発</title>
      <link>https://en.moejue.cn/ja/posts/100/</link>
      <pubDate>Tue, 05 Nov 2019 14:49:50 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/100/</guid>
      <description>&lt;p&gt;最近、レシート印刷の作業をしており、プロジェクトの要件としてiOSとAndroidの両方で実装する必要がありました。最初は全く分からず、インターネットで多くの資料を探し、たくさんの落とし穴にはまり、多くの記事を読みましたが、結果的にはうまくいきました。
Bluetoothプリンターは一般的に、レシート印刷とラベル印刷の2種類の印刷モードに分けられます。&lt;/p&gt;
&lt;p&gt;会社が購入した粗悪なプリンターには開発ドキュメントすらなく、多くの落とし穴にはまる羽目になりました。開発担当者に購入時に相談してくれればよかったのに。
現在、WeChatミニプログラムでBluetoothプリンターに接続する &lt;code&gt;wx.createBLEConnection&lt;/code&gt; は、iOSデバイスでは問題なく動作しますが、一部のAndroidスマートフォンでは異常が発生します（接続時にシステムペアリングボックスがポップアップ表示され、キャンセルをタップしても、ペアリングコードを入力して確定をタップしても、すぐに接続が切断されます。入力もキャンセルもしない場合、30秒以内にBluetoothプリンターから自動的に切断されます）。&lt;/p&gt;
&lt;p&gt;現在採用している方法は、AndroidとiOSそれぞれにBluetooth印刷コマンドのセットを作成することです。
&lt;strong&gt;IOS&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// ====================蓝牙操作==================  //初始化蓝牙模块
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;openBluetoothAdapter&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;sysinfo&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;provider&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;// 开启蓝牙
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;onBluetooth&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;setTimeout&lt;/span&gt;(() =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;android_search&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }, &lt;span style=&#34;color:#ae81ff&#34;&gt;2000&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;closeBluetoothAdapter&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;openBluetoothAdapter&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;success&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;初始化蓝牙模块: &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;JSON&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;stringify&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;));
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;startBluetoothDevicesDiscovery&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        },
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;fail&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;errCode&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;===&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;10001&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;onBluetoothAdapterStateChange&lt;/span&gt;((&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;监听蓝牙适配器状态变化事件&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;available&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;connected&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;chs&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;canWrite&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;available&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;startBluetoothDevicesDiscovery&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;errCode&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;alert&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;初始化蓝牙失败，错误码：&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;errCode&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;alert&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;errMsg&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//获取本机蓝牙适配器状态
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getBluetoothAdapterState&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getBluetoothAdapterState&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;success&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;获取本机蓝牙适配器状态。&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;JSON&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;stringify&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;discovering&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;onBluetoothDeviceFound&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            } &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;available&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;startBluetoothDevicesDiscovery&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        },
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;fail&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;error:获取本机蓝牙适配器状态失败&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;JSON&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;stringify&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;setTimeout&lt;/span&gt;(() =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getBluetoothAdapterState&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }, &lt;span style=&#34;color:#ae81ff&#34;&gt;500&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//开始搜寻附近的蓝牙外围设备
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;startBluetoothDevicesDiscovery&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;discoveryStarted&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;discoveryStarted&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;开始搜索蓝牙设备&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;discoveryStarted&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;onBluetoothDeviceFound&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;setTimeout&lt;/span&gt;(() =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;startBluetoothDevicesDiscovery&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;allowDuplicatesKey&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;success&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;startBluetoothDevicesDiscovery success&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;JSON&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;stringify&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            },
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;fail&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;errCode&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;10001&amp;#39;&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;alert&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;当前蓝牙适配器不可用&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                } &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;alert&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;搜索蓝牙失败,状态码：&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;errCode&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }, &lt;span style=&#34;color:#ae81ff&#34;&gt;500&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// 停止搜索
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;stopBluetoothDevicesDiscovery&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;stopBluetoothDevicesDiscovery&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;discoveryStarted&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//寻找到新设备的事件的回调函数
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;onBluetoothDeviceFound&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;寻找到新设备的事件的回调函数&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;onBluetoothDeviceFound&lt;/span&gt;((&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;devices&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;forEach&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;device&lt;/span&gt; =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;device&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;device&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;localName&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;foundDevices&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;devices&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;idx&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;inArray&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;foundDevices&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;deviceId&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;device&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;idx&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;===&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;devices&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;push&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;device&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            } &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;devices&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;idx&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;device&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//连接低功耗蓝牙设备
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;createBLEConnection&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;e&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;showLoading&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;title&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;设备连接中&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;mask&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    });
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ds&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;e&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;currentTarget&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;dataset&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ds&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ds&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;sysinfo&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;provider&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;ds&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;pair&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;!==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;android_search&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        } &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;已配对&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;device&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;BAdapter&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;BluetoothAdapter&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;uuid&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;bluetoothSocket&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;mac_address&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;main&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;plus&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;android&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;runtimeMainActivity&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;BluetoothAdapter&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;plus&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;android&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;importClass&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;android.bluetooth.BluetoothAdapter&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;UUID&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;plus&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;android&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;importClass&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;java.util.UUID&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;uuid&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;UUID&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;fromString&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;00001101-0000-1000-8000-00805F9B34FB&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;BAdapter&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;BluetoothAdapter&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getDefaultAdapter&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;device&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;BAdapter&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getRemoteDevice&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;mac_address&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;plus&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;android&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;importClass&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;device&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;bluetoothSocket&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;device&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;createInsecureRfcommSocketToServiceRecord&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;uuid&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;plus&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;android&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;importClass&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;bluetoothSocket&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;bluetoothSocket&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;isConnected&lt;/span&gt;()) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;检测到设备未连接，尝试连接....&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;bluetoothSocket&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;connect&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;connected&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;canWrite&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;saveData1&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;global_printing&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;hideLoading&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;createBLEConnection&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;success&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;connected&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;onBLEConnectionStateChange&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;// 防止获取失败
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;setTimeout&lt;/span&gt;(() =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getBLEDeviceServices&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }, &lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        },
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;fail&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;hideLoading&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;Toast&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;设备连接失败&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;蓝牙连接失败:&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;stopBluetoothDevicesDiscovery&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//获取蓝牙设备所有服务(service)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getBLEDeviceServices&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getBLEDeviceServices&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;success&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;获取蓝牙服务成功：&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;JSON&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;stringify&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;services&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;hideLoading&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;alert&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;没有获取到蓝牙服务，无法打印001&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;services&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;services&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt;].&lt;span style=&#34;color:#a6e22e&#34;&gt;isPrimary&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getBLEDeviceCharacteristics&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;services&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt;].&lt;span style=&#34;color:#a6e22e&#34;&gt;uuid&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        },
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;fail&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;setTimeout&lt;/span&gt;(() =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getBLEDeviceServices&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }, &lt;span style=&#34;color:#ae81ff&#34;&gt;500&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;获取蓝牙服务失败：&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;JSON&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;stringify&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//获取蓝牙设备某个服务中所有特征值(characteristic)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getBLEDeviceCharacteristics&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;serviceId&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;获取蓝牙设备某个服务中所有特征值&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;serviceId&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getBLEDeviceCharacteristics&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;serviceId&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;success&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;获取蓝牙设备某个服务中所有特征值 success&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;JSON&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;stringify&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;hideLoading&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;characteristics&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;alert&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;没有获取到蓝牙服务，无法打印002&amp;#39;&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;characteristics&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt;; &lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;++&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;item&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;characteristics&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;i&lt;/span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;item&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;properties&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;read&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;readBLECharacteristicValue&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#a6e22e&#34;&gt;serviceId&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#a6e22e&#34;&gt;characteristicId&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;item&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;uuid&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;item&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;properties&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;write&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;canWrite&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;_deviceId&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;_serviceId&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;serviceId&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;_characteristicId&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;item&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;uuid&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;saveData1&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;global_printing&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#75715e&#34;&gt;//this.writeBLECharacteristicValue()
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;                }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;item&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;properties&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;notify&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;item&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;properties&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;indicate&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;notifyBLECharacteristicValueChange&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#a6e22e&#34;&gt;serviceId&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#a6e22e&#34;&gt;characteristicId&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;item&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;uuid&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                        &lt;span style=&#34;color:#a6e22e&#34;&gt;state&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        },
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;fail&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;error&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;获取特征值失败：&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;// 操作之前先监听，保证第一时间获取数据
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;onBLECharacteristicValueChange&lt;/span&gt;((&lt;span style=&#34;color:#a6e22e&#34;&gt;characteristic&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;chs&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;idx&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;inArray&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;chs&lt;/span&gt;, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;uuid&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;characteristic&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;characteristicId&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;idx&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;===&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;chs&lt;/span&gt;[&lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;chs&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;uuid&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;characteristic&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;characteristicId&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;value&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ab2hex&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;characteristic&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;value&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        } &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;chs&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;idx&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;uuid&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;characteristic&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;characteristicId&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;value&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ab2hex&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;characteristic&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;value&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;onBLEConnectionStateChange&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;onBLEConnectionStateChange&lt;/span&gt;((&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) =&amp;gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;// 该方法回调中可以用于处理连接意外断开等异常情况
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;`蓝牙连接状态改变device &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt; state has changed, connected: &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;connected&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;`&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;connected&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;connected&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;chs&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;canWrite&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//断开与低功耗蓝牙设备的连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;closeBLEConnection&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;closeBLEConnection&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;connected&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;chs&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; []
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;canWrite&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//关闭蓝牙模块
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;closeBluetoothAdapter&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;closeBluetoothAdapter&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;discoveryStarted&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//发送数据
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;sendStr&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;bufferstr&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;success&lt;/span&gt;, &lt;span style=&#34;color:#a6e22e&#34;&gt;fail&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;that&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;uni&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;writeBLECharacteristicValue&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;deviceId&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;_deviceId&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;serviceId&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;_serviceId&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;characteristicId&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;global_printing&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;_characteristicId&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;value&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;bufferstr&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;success&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;success&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;发送的数据：&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;bufferstr&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;// console.log(&amp;#39;message发送成功&amp;#39;)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;        },
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;fail&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;fail&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;数据发送失败:&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;JSON&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;stringify&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;))
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        },
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;complete&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;res&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#75715e&#34;&gt;// console.log(&amp;#34;发送完成:&amp;#34; + JSON.stringify(res))
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//遍历发送数据
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;printCode&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;arr&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;that&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;arr&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;length&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;sendStr&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;arr&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;], &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;success&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;arr&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;shift&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;that&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;printCode&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;arr&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }, &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;error&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;alert&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;打印失败，错误码：&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;error&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;errCode&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;printing_status&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;error&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        });
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;setTimeout&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;printing_status&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;打印结束&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }, &lt;span style=&#34;color:#ae81ff&#34;&gt;1000&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;},
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Android&lt;/strong&gt;
比較的シンプルで便利です。Native.jsを使用してNative Javaインターフェースチャネルを直接呼び出し、&lt;code&gt;plus.android&lt;/code&gt;を介してAndroidネイティブシステムAPIを呼び出します。
ネイティブAndroidドキュメント &lt;a href=&#34;https://developer.android.google.cn/reference/android/bluetooth/BluetoothAdapter?hl=en&#34;&gt;https://developer.android.google.cn/reference/android/bluetooth/BluetoothAdapter?hl=en&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>1024 プログラマーの日、最高のコーディングを書き、最も可愛い男の子になろう！</title>
      <link>https://en.moejue.cn/ja/posts/101/</link>
      <pubDate>Thu, 24 Oct 2019 12:44:49 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/101/</guid>
      <description>&lt;p&gt;またもやお馴染みのヘッドライン・ホリデー&lt;/p&gt;
&lt;p&gt;親愛なるプログラマーの皆さん、強風と明るい日差しが降り注ぐこの秋の日に、1024プログラマーの日を一緒にお祝いしましょう。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g89lbhr5wjj3073073glh.jpg&#34;&gt; です。
1024これは特別な数字の集合で、2の10乗であり、2進数計算の基本単位の1つであり、すべてのプログラマのコードの出発点です！
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g89lbi08i4j309q0923yn.jpg&#34;&gt;。
この世の果てまでバグに絡め取られ、コードと共に生き、コードと共に死に、諦めず、休日も心にあるバイナリを忘れず、真に恋するプログラマに相応しい！
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g89lbj9iyaj308c08c74k.jpg&#34;&gt;。
休みはなく、残業もあるかもしれませんが！
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g89lbiqqd1j308s08iglu.jpg&#34;&gt;。
でも、せっかくの休日なんだから、お祝いしないのは血みどろの恥だと思いませんか？
今日は10月24日、プログラマの日です、このメッセージを5つのグループに転送してください、あなたは永遠にバグなしでコードを書く能力を得ることができます、私は試しました、これは偽物です、何度も送ると追放されるかもしれませんが、今日は本当にプログラマの日です！
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g89lbia9osj30cl0gwab4.jpg&#34;&gt;。
ブログ主も仕事が忙しいので、ブログを書く（シュイ）ために出てくる時間を持つために夕方まで待つことしかできないので、とにかく、私はすべてのプログラマ1024プログラマの日が幸せであることを祈る、最高のコーディングを書く、最も美しい少年を行う！&lt;/p&gt;
&lt;p&gt;この時点で例年では
&lt;a href=&#34;https://www.52ecy.cn/post-93.html&#34;&gt;2018ハッピー1024プログラマの日&lt;/a&gt;
&lt;a href=&#34;https://www.52ecy.cn/post-49.html&#34;&gt;2017年1024プログラマの日おめでとう&lt;/a&gt;
&lt;a href=&#34;https://www.52ecy.cn/post-10.html&#34;&gt;2016年 プログラマの日1024！ 今日はお祝いですか～？&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>西部数码様からお送りいただいた国慶節のプレゼントに感謝。</title>
      <link>https://en.moejue.cn/ja/posts/99/</link>
      <pubDate>Fri, 18 Oct 2019 13:58:48 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/99/</guid>
      <description>&lt;p&gt;事の経緯はこんな感じです&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g82pgtp0f9j30a306r0sn.jpg&#34;&gt;&lt;br&gt;
そして、こうなりました&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g82pgr2cnyj30u01rctca.jpg&#34;&gt;&lt;br&gt;
最後にこれを手に入れました。強運三部作、PCバッグをゲットです（私のPCは入らないし、しかもこの間新しいPCバッグを買ったばかりなんですが）&lt;br&gt;
上に書いてあるのは：スタートアップ時代のドメイン選び yi.co&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g82pgp0fu2j30u0140kgg.jpg&#34;&gt;&lt;br&gt;
もちろん、これで終わりだと、ただの水増し記事だと思われてしまいます&lt;br&gt;
なので、ついでに開封レビューでもしてみようと思います(うっかり開封ブログになってしまいましたw)&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g82pgqfd4ij30u0140wrm.jpg&#34;&gt;&lt;br&gt;
XXカメラを買って、XXな場所に設置しました&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g82pgrz5baj31400u0jzz.jpg&#34;&gt;&lt;br&gt;
説明書をチラッと見てみると、￥…**（）*……￥%@￥&amp;amp;%……￥@￥&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g82pgtf78xj30u014017l.jpg&#34;&gt;&lt;br&gt;
スペック：128GBメモリカード+赤外線ナイトビジョン+60mm+1080p&lt;br&gt;
WiFiまたは有線接続に対応、双方向音声、動体検知、自動録画、アラーム録画、タイマー録画などをサポート&amp;hellip;&amp;hellip;.&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g82pguvkv6j30u01jxdtq.jpg&#34;&gt;&lt;br&gt;
パッケージ内容：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;128GBメモリカード、容量偽装品かどうかは未検証&lt;/li&gt;
&lt;li&gt;スタンド+ネジ&lt;/li&gt;
&lt;li&gt;電源ケーブル+電源アダプター&lt;/li&gt;
&lt;li&gt;5m電源延長ケーブル&lt;/li&gt;
&lt;li&gt;ルーターみたいな見た目のカメラ&lt;/li&gt;
&lt;li&gt;説明書&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g82pgwqojqj30u0140ask.jpg&#34;&gt;&lt;br&gt;
以上です。本当にこれだけ。&lt;br&gt;
プレビューできる実際の写真はありません&amp;hellip;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>55インチのXiaomiモニターを開封</title>
      <link>https://en.moejue.cn/ja/posts/98/</link>
      <pubDate>Tue, 08 Oct 2019 12:30:06 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/98/</guid>
      <description>&lt;p&gt;忠実で理性的なシャオミファンが、またしてもMi Home製品、Xiaomi E55C フルスクリーン 4K HD AIテレビをお届けします&lt;/p&gt;
&lt;p&gt;国慶節の前夜に予約し、配達予定日は30日でしたが、まさか29日に届くとは。その時、私は実家へ向かう高速鉄道に乗っていたため、一番最初の開封と通電確認には立ち会えませんでした。&lt;/p&gt;
&lt;p&gt;「新国貨」という文字は正直ちょっとダサくて、ブランドイメージがガクッと落ちますね
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g7r3f5lcb6j31400u0dlq.jpg&#34;&gt;
それに比べて、背面はとても美しい仕上がりです
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g7r3f1xvrhj31400u0wjh.jpg&#34;&gt;
スペック表、4コア2GB+8GBフラッシュメモリ&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g7r3f3ayo3j31400u0djp.jpg&#34;&gt;
梱包内容：スクリーン：1台 | スタンド：2個 | 取扱説明書：1部 | リモコン：Bluetooth音声リモコン（電池付属） | ネジセット：1個
12キーのBluetooth音声リモコンは、Xiaomiテレビの大きな特徴です。シンプルですが、ただシンプルなだけではありません。小愛同学（シャオアイ）とPatchWall OSを内蔵し、操作は簡単でインターフェースも美しいです&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g7r3ezmqncj31400u0dk6.jpg&#34;&gt;
取り出して一息つかせます
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g7r3f0029xj31400u078u.jpg&#34;&gt;
正面から一枚。背面は撮り忘れました…
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g7r3f2ls7aj30u0140jv6.jpg&#34;&gt;
自宅の客間が改装中なので、とりあえず壁には掛けていません
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g7r3f3uypgj30xc0p0q43.jpg&#34;&gt;
初回起動時には、いくつかの簡単な設定が必要です。システムアップデート -&amp;gt; Bluetoothリモコンの接続 -&amp;gt; Wi-Fiに接続 -&amp;gt; Xiaomiアカウントにログイン（スキップ） -&amp;gt; デスクトップ画面へ
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g7r3f0yv6sj31400u00vz.jpg&#34;&gt;
そして、軍事パレードを鑑賞します（アニメに夢中になりすぎて、写真を撮り忘れたなんてことはありませんよ）
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g7r3f0hamij30xc0p0juw.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;ちなみに、広告なんかは、私のような怠け者にとっては大した問題ではありません。
完。。&lt;/p&gt;</description>
    </item>
    <item>
      <title>3周年記念謎解きゲーム</title>
      <link>https://en.moejue.cn/ja/posts/97/</link>
      <pubDate>Sun, 22 Sep 2019 05:38:52 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/97/</guid>
      <description>&lt;p&gt;まずは、ご来訪、ご参加いただいた皆様、誠にありがとうございました。おかげさまで3周年記念イベントも無事終了し、N+1個の福袋を発送することができました。&lt;/p&gt;
&lt;p&gt;3周年記念イベントでは、福袋を手に入れる方法を2種類用意しました。その一つ目は、怪しげなリンクを残しておくというものでした……&lt;br&gt;
あなたがそれをクリックした瞬間から、ゲームは始まります。Link start！&lt;br&gt;
クリックすると、&lt;a href=&#34;https://www.moeins.cn/read/712.html&#34;&gt;萌音社区&lt;/a&gt;のある記事にジャンプします…&lt;br&gt;
一見、特に変わったところはありません。しかし、注意深い方ならコメントを見たときに、そう簡単ではないことに気づくでしょう。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g789h6e5h0j30ii070mxr.jpg&#34;&gt;&lt;br&gt;
コメントはあなたの心の声を代弁し、次のステップへの方向を示してくれます。&lt;/p&gt;
&lt;p&gt;ブロガーとフレンドになっている方ならご存知かもしれませんが、記事中の画像は私のアイコンです。彼女の名前は高坂桐乃、14歳の中学生で、容姿端麗、成績優秀、スポーツ万能な少女です……もちろん、これらは問題とは何の関係もありません。&lt;/p&gt;
&lt;p&gt;賢い人なら、まず画像ステガノグラフィを思いつくでしょう。思いついたことは何でも試してみましょう。自分でアルゴリズムを書いて解読するか、オンラインツールで解読することができます。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g78a2rgzjzj30ec0fv3z8.jpg&#34;&gt;&lt;br&gt;
案の定、Baidu企業版クラウドストレージのアドレスと、謎のコード文字列が手に入ります。&lt;br&gt;
賢いひらめきがあれば、これらを組み合わせてURLにすればいいとわかるはずです。&lt;a href=&#34;https://eyun.baidu.com/s/3kWo9zan&#34;&gt;https://eyun.baidu.com/s/3kWo9zan&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;アクセスするとmp3のダウンロードリンクが表示されるので、ダウンロードしましょう。そして聴いてみてください……&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g78abbojlij30dp0l8jrz.jpg&#34;&gt;&lt;br&gt;
そうです、これは『俺の妹がこんなに可愛いわけがない』の主題歌です。聴き終わったら閉じて寝る。これで終わりです。さようなら！&lt;/p&gt;
&lt;p&gt;ちょっと待って、本当に最後まで聴きましたか？&lt;br&gt;
もし本当に最後まで聴いたなら、異変に気づくはずです。そう、これはただの音声ファイルではありません。&lt;/p&gt;
&lt;p&gt;プロ向けの音声編集ソフト（Adobe Auditionなど）で分析してみましょう。&lt;br&gt;
スペクトル周波数表示を開くと、やはり、事態はそう単純ではないことがわかります。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g78agi57qij31hc0smhdt.jpg&#34;&gt;&lt;br&gt;
なんとスペクトルの中に文字が隠されています。これを考えた人もなかなかのものです。&lt;/p&gt;
&lt;p&gt;またしてもURLと謎のコード文字列が手に入ります。組み合わせてアクセスしましょう。&lt;a href=&#34;https://img.52ecy.cn/0072Vf1ply1g6s3uhuge0j30hs0hs3z8&#34;&gt;https://img.52ecy.cn/0072Vf1ply1g6s3uhuge0j30hs0hs3z8&lt;/a&gt;&lt;br&gt;
幻想領域の画像アップローダーにたどり着きました。またしても一枚の画像です。しかもまた桐乃で、同じ可愛いポーズです。&lt;/p&gt;
&lt;p&gt;幻想領域の画像アップローダーはSina（新浪）のものをベースにしています。後半の謎のコードはSinaの画像アドレスとそっくりです。これを解読しましょう。&lt;br&gt;
画像アドレスからアップロードしたユーザーのUIDを割り出します。具体的なアルゴリズムは以下を参考にしてください：[谁是Po主？&lt;/p&gt;
&lt;p&gt;](&lt;a href=&#34;https://www.52ecy.cn/post-81.html&#34;&gt;https://www.52ecy.cn/post-81.html&lt;/a&gt;)最終的に得られるのはこちら：&lt;a href=&#34;https://weibo.com/u/6456124939&#34;&gt;https://weibo.com/u/6456124939&lt;/a&gt;&lt;br&gt;
すると、最初の投稿がはっきりと見えます。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g78as0dq7mj30kv0cs402.jpg&#34;&gt;&lt;br&gt;
ここで特に注意が必要なのは、【コメントを見る】ということです。最初の仕掛けの時からヒントはありました。時にはコメントをよく見るのも悪いことではありません。&lt;/p&gt;
&lt;p&gt;タイムスタンプ、どうやって取得するのか？しかも13桁？これはミリ秒単位の精度が必要だということです。Webページ上の時間は分までで、秒すらありません。&lt;br&gt;
PC版のWebページでは確かに表示されません。しかし、モバイル版のWebページに切り替えると、Webページのソースコードから投稿の作成日時（created_at）を見つけることができます。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g78b39i8gmj30s90lo405.jpg&#34;&gt;&lt;br&gt;
これで本当に終わりです。皆さん、楽しんでいただけましたか？もし見つけられなかったのなら、それはあなたの発想力が足りなかっただけで、私の企画がダメだったわけでは決してありません。&lt;/p&gt;
&lt;p&gt;1ヶ月以上かけて企画したイベントも、ついに無事終了しました！これにて完結、お疲れ様でした！また次の3周年でお会いしましょう！&lt;/p&gt;</description>
    </item>
    <item>
      <title>【終了】阿珏Blog三周年特別記念イベント</title>
      <link>https://en.moejue.cn/ja/posts/94/</link>
      <pubDate>Fri, 13 Sep 2019 13:47:47 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/94/</guid>
      <description>&lt;p&gt;2016年9月19日、初めてのドメインとサーバーを購入し、ブログの構築を始めました。&lt;br&gt;
たくさんのことを経験し、たくさんの人々と出会い、たくさんの記事を書いてきました。&lt;br&gt;
瞬く間にブログが誕生してから1089日が経ち、もうすぐ3周年を迎えます……&lt;br&gt;
特別な記念イベントを開催して、長年私を支えてくれた仲間たちに感謝を伝えたいと思います！&lt;/p&gt;
&lt;p&gt;イベント期間：9月13日～9月19日&lt;br&gt;
イベント場所：このブログのコメント欄（本ページ）&lt;br&gt;
イベント賞品：二次元福袋＆お菓子詰め合わせ＆その他ミステリアスなアイテム。あなたが正統なヨーロッパ人の血を引いているか試す時が来ました！&lt;br&gt;
参加方法その1：&lt;a href=&#34;https://www.moeins.cn/read/712.html&#34;&gt;阿珏Blog三周年活動 - 萌音社区&lt;/a&gt;&lt;br&gt;
参加方法その2：ご自身のブログで「阿珏ちゃんをどう評価するか」というテーマの記事を投稿してください。阿珏への祝福、阿珏のブログへの評価、阿珏に言いたいこと、阿珏との思い出など、何でも書いてください。もし阿珏を感動させることができたら、おめでとうございます、当選です！&lt;/p&gt;
&lt;p&gt;**賞品の受け取り方法&lt;br&gt;
**&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;阿珏から当選の通知が届いたら、コメント時に使用したメールアドレスから &lt;code&gt;master@moeins.cn&lt;/code&gt; または &lt;code&gt;admin@52ecy.cn&lt;/code&gt; 宛に、以下の内容をプライベートメッセージでお送りください。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;お届け先住所、受取人氏名、受取人の連絡先電話番号&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;任意項目：性別、年齢、恋人の有無、自撮り写真、スマートフォンの機種など。福袋の中身の参考にさせていただきます。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;すべてのやり取りは非公開で行われ、第三者に情報が漏れることはありません。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;配送業者はランダムで、全世界送料無料です。業者の指定はできません。もしお住まいの地域で受け取れなかった場合は…私には関係ありませんので悪しからず。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;賞品はイベント終了後、7営業日以内に発送を手配します。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;**イベントルール&lt;br&gt;
**&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;知り合い限定&lt;/li&gt;
&lt;li&gt;個人ブログをお持ちのブロガーさん限定&lt;/li&gt;
&lt;li&gt;この記事を読んだ方限定&lt;/li&gt;
&lt;li&gt;人柄が良い方限定&lt;/li&gt;
&lt;li&gt;イケメン限定&lt;/li&gt;
&lt;li&gt;可愛い人限定&lt;/li&gt;
&lt;li&gt;私がルールだ！&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;福袋プレビュー&lt;/strong&gt;(以下の内容が含まれますが、これに限りません)&lt;br&gt;
フィギュア、ぬいぐるみ、キーホルダー、ペン、イヤホン、カードステッカー、缶バッジ、ポストカード、ノート、扇子、ネックレス、スマホフィルム、ブレスレット、指輪、マット、ミニクッション、マスコット、変身ステッキ、ZWB、H漫画、彼女、ちまき、月餅、ゴミ、カード、阿珏ちゃんなど。&lt;br&gt;
これらの賞品の中から1つ、または複数が入っています。ポストカードは100%当選し、阿珏があなたに宛てて手書きしたメッセージも付いてきます。&lt;/p&gt;
&lt;p&gt;賞品はどれも高価なものではありませんが、阿珏からのささやかな気持ちです。これまで長い間、私を応援し、支えてくれた仲間たちに心から感謝しています。&lt;br&gt;
皆さん、中秋節おめでとうございます。楽しんでくださいね～ どんどんコメントしてください～&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6xznzbvm9j30m80m814g.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>初音ミク、12周年のお誕生日おめでとう！</title>
      <link>https://en.moejue.cn/ja/posts/96/</link>
      <pubDate>Mon, 02 Sep 2019 15:23:02 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/96/</guid>
      <description>&lt;p&gt;初音ミク「マジカルミライ 2019」ライブ - フューチャーサーカス&lt;br&gt;
姫殿下にご挨拶！&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6lk329jehj30xo0haawx.jpg&#34;&gt;&lt;br&gt;
等身大のミクちゃん&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6ljx9ncz8j30zf0nv4qp.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6ljxdnxvsj312a0mee81.jpg&#34;&gt;&lt;br&gt;
あっ、床が滑って転んじゃった&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6lkbrivzfj31770oidrc.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6ljxmexurj315s0oonpd.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6ljvoju75j316k0n34qp.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6ljzgo1zmj310w0o7qrn.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6ljzlnjzsj316j0ogqv5.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6ljzpipy8j31660nz7wh.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6ljztp3wdj317q0o6e81.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6ljzygn4hj317c0ognpd.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6lk2wpfvgj317o0o7qv5.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6lk2zwfphj317l0o71kx.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;初音ミク ポストカードコレクション&lt;br&gt;
予告：今月はブログ3周年記念イベント。これらのポストカードを発送する予定です………続く&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6kfnpuekyj30u0140kag.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6kfj6r696j31400u04qp.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6kfq0g5rdj30u0140au1.jpg&#34;&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1g6kfq1ymi7j30u0140aps.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>サボっていた主が、新版の三合一を持って帰ってきました。</title>
      <link>https://en.moejue.cn/ja/posts/15/</link>
      <pubDate>Sun, 04 Aug 2019 01:42:18 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/15/</guid>
      <description>&lt;p&gt;5月20日の告白以来、ハト主は行方不明の状態が続いていました&amp;hellip;&amp;hellip;.
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g5nlxy8to3j306o05b75f.jpg&#34;&gt;
何ヶ月ぶりか分かりませんが、三合一がまた更新されました。2ヶ月前にグループで立てた目標を、今日達成しました。間の2ヶ月間何をしていたかは聞かないでください-.-（大規模なハトの集会に参加するのに忙しかった）&lt;/p&gt;
&lt;h2 id=&#34;正文&#34;&gt;正文&lt;/h2&gt;
&lt;p&gt;ネットワーク認識が頻繁にダウンし、非常に不安定であるというフィードバックを多くの仲間から受けていたため、今回特別にローカル認識を更新しました。
1G以上のメモリを搭載したマシンへのインストールを推奨します。推奨構成は2コア2G、最適構成は16コア32Gです [#手動顔文字]&lt;/p&gt;
&lt;h4 id=&#34;v20&#34;&gt;v2.0&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;ローカルQRコード認識と生成を追加&lt;/li&gt;
&lt;li&gt;ネットワーク認識インターフェースを削除&lt;/li&gt;
&lt;li&gt;既知のバグを修正&lt;/li&gt;
&lt;li&gt;その他のいくつかの詳細な最適化&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;詳細な説明とインストールチュートリアルは、&lt;a href=&#34;https://www.52ecy.cn/post-88.html&#34;&gt;こちら&lt;/a&gt;をクリックして以前のバージョンをご覧ください。
新しいバージョンのウェブサイトはすべて古いバージョンのデータを保持しており、以前のユーザーの使用には影響せず、スポンサー版のデータとも同期されています。&lt;/p&gt;
&lt;h4 id=&#34;スポンサー版&#34;&gt;スポンサー版&lt;/h4&gt;
&lt;p&gt;旧バージョンの海賊版が横行していたため、新版の三合一にはスポンサー版が追加されました。
デモサイト：&lt;a href=&#34;https://qr.moeins.cn/&#34;&gt;https://qr.moeins.cn&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;スポンサー版の主な特徴：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;QRコードの認識と生成を最適化し、認識精度を大幅に向上させ、認識速度を高速化し、CPUとメモリを占有せず、より安定しています。&lt;/li&gt;
&lt;li&gt;21種類の三合一生成テンプレートを新規追加し、無限拡張をサポートします。追加チュートリアルは文末にあります。&lt;/li&gt;
&lt;li&gt;外部APIインターフェースを新規追加しました。このプログラムに限定されず、どのプログラムからでも呼び出し可能です。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;入手方法：
&lt;a href=&#34;https://pay.52ecy.cn/?cid=23&#34;&gt;こちら&lt;/a&gt;をクリックして18.88元以上をプロジェクトに寄付すると、決済コード三合一のスポンサー限定版を入手できます。ぜひお試しください！&lt;/p&gt;
&lt;p&gt;スポンサー版に関するいくつかの小さな説明（これまでは特に説明していませんでした）
これまでのところ、私のすべてのスポンサー版プロジェクトはドメインに縛られず、暗号化されておらず、自由に拡張でき、二次開発をサポートしており、スポンサー金額も低く設定されています。そのため、スポンサーしてくださった方々は、入手したソースコードを安易に共有しないようお願いいたします。これは作者への敬意であり、ご自身の権利の保護でもあります。売買関係ではないため、重大なバグがない限り、作者は不定期に更新するか、無期限に更新を延期する場合があります。小さな問題が発生した場合、作者が空いている時間であれば指導や修正を手伝う用意がありますが、大規模な新機能の追加といった場合には、協力を拒否するか、別途料金をいただく権利があります。&lt;/p&gt;
&lt;h4 id=&#34;スポンサー版テンプレート拡張チュートリアル&#34;&gt;スポンサー版テンプレート拡張チュートリアル&lt;/h4&gt;
&lt;p&gt;テンプレートの推奨サイズは：900*1200&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;テンプレート画像を&lt;code&gt;/public/static/images/template/&lt;/code&gt;テンプレートディレクトリに配置します。注意点として、中国語名を使用せず、jpg拡張子のみをサポートします。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ルートディレクトリの&lt;code&gt;config.php&lt;/code&gt;にある&lt;code&gt;qr_template&lt;/code&gt;項目に関連データを以下のような形式で設定します。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;001&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; [
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;默认模板&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;data&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; [
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#ae81ff&#34;&gt;150&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;200&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;title&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;size&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;パラメータ説明&#34;&gt;パラメータ説明&lt;/h4&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;名称&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;変数名&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;必須&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;型&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;例&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;説明&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;テンプレートID&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;なし&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;はい&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;001&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;テンプレートのファイル名。数字を推奨し、重複不可。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;エイリアス&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;name&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;はい&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;string&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;デフォルトテンプレート&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;フロントエンドに表示されるテンプレートのエイリアス&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;X,Y&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;data&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;はい&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;array&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;[150,200]&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;QRコード生成の左上隅の開始X（横座標）、Y（縦座標）座標。負の値は不可で、テンプレートサイズより小さいこと。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;テンプレートタイトル&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;title&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;いいえ&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;bool&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;false&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;テンプレートタイトルを有効にするかどうか。テンプレートがサポートしている場合（デフォルトテンプレートなど）に使用。空でも可。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;サイズ&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;size&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;いいえ&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;int&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;20&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;QRコードの生成サイズ。デフォルトは20。空でも可。&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;はい、とても簡単です！
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g5nlv1bwkrj311d0llgts.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>私は二次元が好きです。</title>
      <link>https://en.moejue.cn/ja/posts/87/</link>
      <pubDate>Mon, 20 May 2019 02:27:13 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/87/</guid>
      <description>&lt;p&gt;二次元が好きだ、
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g36kgwxxibj30jg0nmacw.jpg&#34;&gt;
あの世界が好きだから。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g36ki1xxb3j30nl0xcn3s.jpg&#34;&gt;
その純粋さに感動し、
その夢に励まされ、
そのひたむきさに勇気づけられる。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g36kixybzuj30u018bu0x.jpg&#34;&gt;
夢のような、存在するかもしれないし、しないかもしれない、そんな美しいものたち。
三次元の世界では、その多くがもう見つけられない。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g36kjswcrkj316f0u0n6c.jpg&#34;&gt;
次元のトンネルを抜けられたら、
愛する人たちと一緒にいられるのに。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g36kkuuz3ij30rs14e7bb.jpg&#34;&gt;
でも、次元は超えられないから、
僕はいつも二次元と三次元の間を彷徨っている。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g36klhg3q7j31hc0u0ndf.jpg&#34;&gt;
どんなに君を愛していても、
やっぱり「ごめんね」としか言えない。
だって僕は、三次元に生きているから……
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g36kp5uwd4j31400u07wn.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ミニプログラムアーキテクチャ</title>
      <link>https://en.moejue.cn/ja/posts/92/</link>
      <pubDate>Fri, 17 May 2019 06:59:47 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/92/</guid>
      <description>&lt;p&gt;皆さんがミニプログラムをどのように書いているかは分かりませんが、数ヶ月前にWeChatミニプログラムを書いていた時、自分で考えたアーキテクチャ、あるいはフレームワークと呼べるものがあります。
WeChatネイティブのアーキテクチャは次のようになっています。&lt;/p&gt;
&lt;p&gt;├── app.js
├── app.json
├── app.wxss
├── pages
│   │── index
│   │   ├── index.wxml
│   │   ├── index.js
│   │   ├── index.json
│   │   └── index.wxss
│   └── logs
│       ├── logs.wxml
│       └── logs.js
└── utils&lt;/p&gt;
&lt;p&gt;なぜWeChatネイティブの書き方を使わないのか？
ミニプログラムはスマホアプリに似ていて、tabBarがありますよね。WeChat公式のtabBarはapp.jsonでグローバルに設定されます。一般的な開発では何の問題もありませんが、複雑なtabBarを実装する場合、公式のネイティブな方法では実現できず、動的に読み込むこともできません。例えば、ある動画アプリの中央にある撮影・録画機能のようなものです。
これは、公式が提供するtabBarを使えず、自作する必要があることを意味します。
最初の私のアプローチは、ネイティブの構造を維持しつつ、tabBarだけを自作するというものでした。そのため、ページのコードはすべて1つのファイルに書き、デフォルトで最初の画面を表示し、他は非表示にします。ページを切り替える際に、対応するページを表示し、他を非表示にして、データを動的にレンダリングします。しかし、これには問題がありました。小規模なプロジェクトなら大した問題はありませんが、大規模なプロジェクトでコード量が膨大になると、すべてを1つのファイルに書くのは後のメンテナンスが困難になります。そのため、この方法は最終的に却下されました。&lt;/p&gt;
&lt;p&gt;その後、ページの切り替え方法を（&lt;code&gt;wx.switchTab&lt;/code&gt;などを使った）画面遷移に変更し、異なるページのコードを別々のファイルに分けました。しかし、まだ問題がありました。切り替え時に画面がちらつくのです。ページを切り替えるたびに、まるで新しいウェブページを開くかのように、tabBarが再レンダリングされるため、ちらつきが発生します。これも却下です。&lt;/p&gt;
&lt;p&gt;そこで、現在の全く新しいアーキテクチャ方式が生まれました：
&lt;code&gt;/pages/index/&lt;/code&gt;以下のファイルをすべてエントリーファイル（JSエントリー、CSSエントリー、ビューエントリー）として定義します。異なるページのファイルは、管理しやすいように、やはり別の場所に置きます。新しく&lt;code&gt;template&lt;/code&gt;というフォルダを作成し、異なるページ間のコードを格納します。その構造は公式の単一ページの構造と同じです。
ルートディレクトリの&lt;code&gt;app.js&lt;/code&gt;はグローバル関数を格納するために使用し、他のページからは&lt;code&gt;getApp()&lt;/code&gt;で呼び出すだけです。
JSのエントリーファイル&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;const&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;app&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getApp&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;index_js&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;require&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;../../template/index/index.js&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;types_js&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;require&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;../../template/types/types.js&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Global_Data&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; [];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Page&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;active&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;show&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;index&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;types&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;course&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;user&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    },
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;onLoad&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;options&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;setData&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;Global_Data&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;index_js&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getData&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    },
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;// 下部ナビゲーションの切り替え
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;tabbar_onChange&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;event&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;key&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;show&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;index&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;types&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;course&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;user&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        };
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;event&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;switch&lt;/span&gt; (&lt;span style=&#34;color:#a6e22e&#34;&gt;event&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;detail&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;case&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;key&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;index&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;Global_Data&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;index_js&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getData&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;break&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;case&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;key&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;types&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;Global_Data&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;types_js&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getData&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;break&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;case&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;key&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;course&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;Global_Data&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;index_js&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getData&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;break&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#66d9ef&#34;&gt;case&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;key&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;user&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#a6e22e&#34;&gt;Global_Data&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;index_js&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;getData&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                &lt;span style=&#34;color:#66d9ef&#34;&gt;break&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;show&lt;/span&gt;[&lt;span style=&#34;color:#a6e22e&#34;&gt;key&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#a6e22e&#34;&gt;console&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;log&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;Global_Data&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;setData&lt;/span&gt;({
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;show&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;data&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;show&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#a6e22e&#34;&gt;Global_Data&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Global_Data&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        })
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    },
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;});
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;wxmlエントリーファイル&lt;/p&gt;</description>
    </item>
    <item>
      <title>フォームをスマートに送信するには</title>
      <link>https://en.moejue.cn/ja/posts/91/</link>
      <pubDate>Mon, 06 May 2019 07:28:33 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/91/</guid>
      <description>&lt;p&gt;これは非常に基本的なHTMLフォームの送信に関する問題ですが、非常に実用的なテクニックでもあります。
私の業務シーンは次のとおりです：
inputを動的に作成できるフォームです。下の図のように。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g1v9kcon30j30l007bdgd.jpg&#34;&gt;
これは、inputのnameを固定値にできないことを意味します。さもなければ、間違いなく上書きされてしまいます。&lt;/p&gt;
&lt;p&gt;1つ目は、従来の一般的な送信方法で、送信する各inputに一意のnameを付けます。&lt;/p&gt;
&lt;form id=&#34;form1&#34; action=&#34;./index.php&#34; method=&#34;get&#34;&gt;
    &lt;div class=&#34;form-control&#34;&gt;
        &lt;input type=&#34;text&#34; name=&#34;name1&#34; /&gt;
        &lt;input type=&#34;text&#34; name=&#34;num1&#34; /&gt;
        &lt;input type=&#34;text&#34; name=&#34;img1&#34; /&gt;
    &lt;/div&gt;
    &lt;br&gt;
    &lt;div class=&#34;form-control&#34;&gt;
        &lt;input type=&#34;text&#34; name=&#34;name2&#34; /&gt;
        &lt;input type=&#34;text&#34; name=&#34;num2&#34; /&gt;
        &lt;input type=&#34;text&#34; name=&#34;img2&#34; /&gt;
    &lt;/div&gt;
    &lt;br&gt;
    &lt;div class=&#34;form-control&#34;&gt;
        &lt;input type=&#34;text&#34; name=&#34;name3&#34; /&gt;
        &lt;input type=&#34;text&#34; name=&#34;num3&#34; /&gt;
        &lt;input type=&#34;text&#34; name=&#34;img3&#34; /&gt;
    &lt;/div&gt;
    ......
  &lt;input type=&#34;submit&#34; value=&#34;Submit&#34; /&gt;
&lt;/form&gt;
&lt;p&gt;ブラウザが送信したデータをキャプチャした形式は次のようになります。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g1va4e7vtmj30bx04zdg1.jpg&#34;&gt;
サーバー側で取得して出力するとこのようになり、バックエンドでのデータ処理には非常に不親切です。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g1va3y1ep2j309805i0sk.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;2つ目は、配列形式でのフォーム送信です。&lt;/p&gt;
&lt;form id=&#34;form1&#34; action=&#34;./index.php&#34; method=&#34;get&#34;&gt;
    &lt;div class=&#34;form-control&#34;&gt;
        &lt;input type=&#34;text&#34; name=&#34;infos\[1\]\[name\]&#34; /&gt;
        &lt;input type=&#34;text&#34; name=&#34;infos\[1\]\[num\]&#34; /&gt;
        &lt;input type=&#34;text&#34; name=&#34;infos\[1\]\[img\]&#34; /&gt;
    &lt;/div&gt;
    &lt;br&gt;
    &lt;div class=&#34;form-control&#34;&gt;
        &lt;input type=&#34;text&#34; name=&#34;infos\[2\]\[name\]&#34; /&gt;
        &lt;input type=&#34;text&#34; name=&#34;infos\[2\]\[num\]&#34; /&gt;
        &lt;input type=&#34;text&#34; name=&#34;infos\[2\]\[img\]&#34; /&gt;
    &lt;/div&gt;
    &lt;br&gt;
    &lt;div class=&#34;form-control&#34;&gt;
        &lt;input type=&#34;text&#34; name=&#34;infos\[3\]\[name\]&#34; /&gt;
        &lt;input type=&#34;text&#34; name=&#34;infos\[3\]\[num\]&#34; /&gt;
        &lt;input type=&#34;text&#34; name=&#34;infos\[3\]\[img\]&#34; /&gt;
    &lt;/div&gt;
    ......
  &lt;input type=&#34;submit&#34; value=&#34;Submit&#34; /&gt;
&lt;/form&gt;
&lt;p&gt;ブラウザとバックエンドでの出力はそれぞれ次のようになります。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g1va7ioy7qj30cg0c3q2s.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g1va7js1u3j30bd04v74j.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;よく見ると、送信されたnameの値が変化し、同じような？配列？になっていることがわかります。
バックエンドに送信すると、データが以前よりもずっと整理されていることがわかります。
ただし、ここで注意すべき点は、送信する配列のキーに引用符を使用する必要はないということです。さもなければ、引用符もキーの一部になってしまいます。&lt;/p&gt;
&lt;p&gt;もちろん、実際の開発では、送信するグループの数（上記の1、2、3のような）が不確定で、フロントエンドで自由に追加できるという問題に遭遇することもあります。このような場合、どうやって配列を使ってこれらの内容を送信すればよいのでしょうか？
以下が私の業務での実際の解決策です&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g1v9o6jon8j316g0fwwh3.jpg&#34;&gt;
このようにすれば、2次元配列のキーを自分で管理する必要がなくなり、ブラウザが自動的に生成してくれます。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g1v9o5uhnuj30a109igli.jpg&#34;&gt;
バックエンドで受信したデータはこのようになり、非常に処理しやすくなります。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g1vaez0ltqj30730bya9y.jpg&#34;&gt;
この方法は、不確定な数の関連データセットをまとめて送信する場合に適しています。
一件落着！〜&lt;/p&gt;</description>
    </item>
    <item>
      <title>人生はなぜいつも私に辛く当たるのか？</title>
      <link>https://en.moejue.cn/ja/posts/93/</link>
      <pubDate>Mon, 22 Apr 2019 08:47:46 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/93/</guid>
      <description>&lt;p&gt;パジャマでデリバリーを受け取りに出かけたら、
知り合いには会いたくなかったのに、よりによってたくさんの知り合いに見られてしまった。
映画を見ている時に眠くて、
途中でトイレに行ったら、ちょうど見どころのシーンを見逃してしまった。
観光地でチケットを買うために並んだら、
どちらの列に並んでも、もう片方の列の方がいつも早く進む…&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g288djddjqj303l03lweu.jpg&#34;&gt;言うまでもなく、雨が降るたびに傘を持たずに出て、傘を持っている時には雨が降らない、
買ったばかりのものが値下げされ、授業をサボったらすぐに点呼され、
欲しいカードは引けず、好きな人には好きになってもらえない…&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g288e7wfbuj303u03wmx9.jpg&#34;&gt;なぜいつも人生は私に意地悪をするのだろう？
運命のせいではなく、全ては「マーフィーの法則」のせいだ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;マーフィーの法則&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ある事柄が起こる確率がどんなに小さくても、&lt;/p&gt;
&lt;p&gt;常に起こる可能性があり、&lt;/p&gt;
&lt;p&gt;そして、ある状況が起こることを心配すればするほど、&lt;/p&gt;
&lt;p&gt;それはより起こりやすくなる。&lt;/p&gt;
&lt;p&gt;俗に言うように、
恐れていることほど、起こりやすい。
ウェブサイトがどんどん良くなり、目立つと攻撃されやすいと心配していたら、
案の定DDoSやCC攻撃を受けた。
サーバーがまだ「丸裸」の状態で、ハッカーに狙われるのを恐れていたら、
うっかりしているうちに、トロイの木馬やウイルスに深く「縛り付けられて」しまった。
ビジネスのセキュリティを心配し、毎日細心の注意を払っていたのに、
まさか、操作ミスでデータを失ってしまった…&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g288fgy2vjj305o04r74i.jpg&#34;&gt;なぜいつもこのような問題が起こるのだろう？
なぜなら、確率自体が一種の「オカルト」だからだ。
最先端のデータ事件や、プログラマーがデータベースを削除して逃走する事件のように、
発生する前には誰も予測できないが、
一度遭遇すれば100%であり、その打撃は特に致命的だ…
そして残念なことに、これらの結果は本来避けられたはずなのだ…&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g288gr02s8j306o05ajre.jpg&#34;&gt;想像してみてほしい、もしあなたが事前にセキュリティ対策をしっかり行っていれば、
DDoSやCC攻撃に打ち負かされることはなかっただろう。
そして、&lt;a href=&#34;https://cloud.tencent.com/redirect.php?redirect=1023&amp;amp;cps_key=2aed6076dbae3172c0dc334fb67ec869&amp;amp;from=console&#34;&gt;ファイアウォール&lt;/a&gt;を導入し、システムパッチを適用していれば、
ハッカーもつけ入る隙はなかっただろう。
さらに極端な話、たとえプログラマーがデータベースを削除して逃走したとしても、
&lt;a href=&#34;https://cloud.tencent.com/redirect.php?redirect=10540&amp;amp;cps_key=2aed6076dbae3172c0dc334fb67ec869&#34;&gt;スナップショットバックアップ&lt;/a&gt;が残っていれば、復旧の余地があるだろう…&lt;/p&gt;
&lt;p&gt;だから、たとえ低確率の「危険な」事象であっても、
私たちは同様に無視してはならない。
あらゆる準備を整えてこそ、
99%の安全を確保し、1%の損害を避けることができるのだ。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g288hcnv54j303x031q2x.jpg&#34;&gt;大規模なトラフィック攻撃が来たら、
&lt;a href=&#34;https://cloud.tencent.com/redirect.php?redirect=1024&amp;amp;cps_key=2aed6076dbae3172c0dc334fb67ec869&amp;amp;from=console&#34;&gt;DDoS高防&lt;/a&gt; / &lt;a href=&#34;https://cloud.tencent.com/redirect.php?redirect=1030&amp;amp;cps_key=2aed6076dbae3172c0dc334fb67ec869&amp;amp;from=console&#34;&gt;BGP高防IP&lt;/a&gt;で侵入を隔離し、
ウェブページの改ざんやアクセス速度の低下の問題に遭遇したら、
&lt;a href=&#34;https://cloud.tencent.com/redirect.php?redirect=1023&amp;amp;cps_key=2aed6076dbae3172c0dc334fb67ec869&amp;amp;from=console&#34;&gt;Webアプリケーションファイアウォール&lt;/a&gt;や&lt;a href=&#34;https://cloud.tencent.com/redirect.php?redirect=10502&amp;amp;cps_key=2aed6076dbae3172c0dc334fb67ec869&#34;&gt;CDNアクセラレーション&lt;/a&gt;で解決できる。
データセキュリティと通信暗号化は、&lt;a href=&#34;https://cloud.tencent.com/redirect.php?redirect=1015&amp;amp;cps_key=2aed6076dbae3172c0dc334fb67ec869&amp;amp;from=console&#34;&gt;クラウドディスク&lt;/a&gt;や&lt;a href=&#34;https://cloud.tencent.com/redirect.php?redirect=1009&amp;amp;cps_key=2aed6076dbae3172c0dc334fb67ec869&amp;amp;from=console&#34;&gt;SSL証明書&lt;/a&gt;に任せればよい。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g288iazfcwj304s048t8z.jpg&#34;&gt;もし上記の点をすべて実行できれば、
おめでとうございます。ウェブサイトのセキュリティのフラグはすでに達成され、
たとえ不運にも「被害に遭った」としても、
安心して、何も恐れることはないでしょう。&lt;/p&gt;</description>
    </item>
    <item>
      <title>水着の女の子はやっぱり最高</title>
      <link>https://en.moejue.cn/ja/posts/80/</link>
      <pubDate>Fri, 19 Apr 2019 12:50:15 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/80/</guid>
      <description>&lt;p&gt;冴えない彼女の育てかた &amp;ndash; 澤村・スペンサー・英梨々 &amp;ndash; 略称エリカ
ゆうパック
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g23m6q2ngej30u0140gq0.jpg&#34;&gt;
開封
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g23m6v668qj30u0140k1i.jpg&#34;&gt;
外箱を一周、外箱もコレクションする価値がある
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g23m726z6aj31400u0wni.jpg&#34;&gt;
見てはいけないものを見てしまった
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g23m7eke4fj30u01407f4.jpg&#34;&gt;
箱から取り出す、水着がちゃんと着れてないみたい、これは…（目を覆う）子供には見せられない、モザイク処理、モザイク処理
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g23m8b56xhj31400u0gtu.jpg&#34;&gt;
やっと女の子に水着を着せてあげられた
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g23m7hnlkqj31400u0156.jpg&#34;&gt;
この足は白い、舐めたい
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g23m7lf3noj30u0140qeq.jpg&#34;&gt;
一周
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g23m7vesi9j31400u013k.jpg&#34;&gt;
小さな八重歯が最高
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g23m81zjglj31400u0akb.jpg&#34;&gt;
角度が刁
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g23m88q153j30u0140q9v.jpg&#34;&gt;
一人称（笑-。-
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g23m180gq0j30u0140grt.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g23m18d6q8j30u0140gsi.jpg&#34;&gt;
開封終了、完璧Ψ(￣∀￣)Ψ&lt;/p&gt;</description>
    </item>
    <item>
      <title>よく使われる機能のクエリSQL</title>
      <link>https://en.moejue.cn/ja/posts/90/</link>
      <pubDate>Wed, 10 Apr 2019 09:33:11 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/90/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g1xv7hy779j30d6097glr.jpg&#34;&gt; &lt;strong&gt;1、シーン：ある選手のランキングと、1つ上の順位の選手との票差をクエリする&lt;/strong&gt;&lt;br&gt;
方法2（重複を除外してソートし、自分より票の少ない数をクエリする）&lt;/p&gt;
&lt;p&gt;$temp = DB::fetch_first(&amp;ldquo;SELECT distinct total+jewel_vote+forge_vote  ,COUNT(*)+1 AS RANK FROM &amp;quot; . DB::table(&amp;lsquo;vote_competition&amp;rsquo;) .&amp;rdquo; WHERE total+jewel_vote+forge_vote&amp;gt;&amp;quot; . $competition[&amp;lsquo;all&amp;rsquo;] . &amp;quot; and aid={$aid} ORDER by forge_vote desc&amp;quot;);
$rank = $temp[&amp;lsquo;RANK&amp;rsquo;];
1つ上の順位の選手の票数を直接クエリすることはできない
if ($temp[&amp;rsquo;total+jewel_vote+forge_vote&amp;rsquo;]) {
//ここでクエリされるのは1位の選手との票差です
$up = $temp[&amp;rsquo;total+jewel_vote+forge_vote&amp;rsquo;]-$competition[&amp;lsquo;all&amp;rsquo;];
}&lt;/p&gt;
&lt;p&gt;方法1（変数を定義して累加ソート）&lt;/p&gt;
&lt;p&gt;$temp = DB::fetch_all(&amp;ldquo;SELECT a.cid,a.total,a.forge_vote,a.jewel_vote,(@rowNum:=@rowNum+1) AS rank FROM pre_vote_competition AS a, (SELECT (@rowNum :=0) ) b WHERE aid={$aid} ORDER BY (a.total+a.forge_vote+a.jewel_vote) DESC &amp;ldquo;);
foreach ($temp as $key =&amp;gt; $value) {
if ($value[&amp;lsquo;cid&amp;rsquo;] == $cid) {
//現在の自分のランキング
$rank = $value[&amp;lsquo;rank&amp;rsquo;];
if ($up) {
$up = $up - ($value[&amp;rsquo;total&amp;rsquo;] +  $value[&amp;lsquo;forge_vote&amp;rsquo;] + $value[&amp;lsquo;jewel_vote&amp;rsquo;]);
}
break;
}
//1つ上の順位の選手との票差
$up = $value[&amp;rsquo;total&amp;rsquo;] +  $value[&amp;lsquo;forge_vote&amp;rsquo;] + $value[&amp;lsquo;jewel_vote&amp;rsquo;];
}&lt;/p&gt;</description>
    </item>
    <item>
      <title>WeChatでログイン</title>
      <link>https://en.moejue.cn/ja/posts/88/</link>
      <pubDate>Fri, 05 Apr 2019 09:29:45 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/88/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://res.wx.qq.com/mpres/htmledition/weui-desktopSkin/svg/buildless/bg_logo_primary4247a9.svg&#34;&gt; ドキュメント：&lt;a href=&#34;https://mp.weixin.qq.com/wiki?t=resource/res_main&amp;amp;id=mp1421135319&#34;&gt;https://mp.weixin.qq.com/wiki?t=resource/res_main&amp;amp;id=mp1421135319&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;WeChatの認証ログインは、QQやSinaなどのプラットフォームの認証ログインとほぼ同じで、いずれもOAuth2.0認証方式を採用しています。&lt;br&gt;
WeChatの認証は2種類に分かれています：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;サイレント認証&lt;/li&gt;
&lt;li&gt;ポップアップ認証、ユーザーの手動同意が必要&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;2種類のscopeの違いについて&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;snsapi_base&lt;/code&gt;をscopeとして開始されるウェブ認証は、ページにアクセスしたユーザーのopenidを取得するためのもので、サイレント認証であり、自動的にコールバックページにリダイレクトされます。ユーザーは直接コールバックページ（通常は業務ページ）にアクセスしたように感じます。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;snsapi_userinfo&lt;/code&gt;をscopeとして開始されるウェブ認証は、ユーザーの基本情報を取得するためのものです。この認証はユーザーの手動同意が必要ですが、一度同意すれば、公式アカウントをフォローしていなくても、認証後にそのユーザーの基本情報を取得できます。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ユーザー管理関連のAPIにおける「ユーザー基本情報取得API」は、ユーザーが公式アカウントとメッセージのやり取りをするか、フォローした後のイベントプッシュがあって初めて、ユーザーのOpenIDに基づいて基本情報を取得できます。このAPIを含む他のWeChat APIは、すべて対象ユーザー（openid）が公式アカウントをフォローしている場合にのみ、正常に呼び出すことができます。&lt;/p&gt;
&lt;p&gt;具体的には、ウェブ認証のフローは4つのステップに分かれています：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ユーザーを認証ページに誘導し、同意を得てcodeを取得する&lt;/li&gt;
&lt;li&gt;codeを使用してウェブ認証用のaccess_tokenを取得する（基本サポートのaccess_tokenとは異なる）&lt;/li&gt;
&lt;li&gt;必要に応じて、開発者はウェブ認証用のaccess_tokenを更新し、期限切れを回避する&lt;/li&gt;
&lt;li&gt;ウェブ認証用のaccess_tokenとopenidを使用してユーザーの基本情報を取得する（UnionIDメカニズムをサポート）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;以下はカプセル化されたWeChat操作クラスです。access_tokenとticketを保存するために2つのデータテーブルを使用します。これらには有効期限があり、1日あたりのリクエスト数に上限があるため、開発者は自身で保存する必要があります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;*   WeChat操作テーブル
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;*   wxtoken テーブル構造
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;*   id
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;*   access_token
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;*   addtime
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;*   wxticket テーブル構造
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;*   id
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;*   ticket
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;*   addtime
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;WX&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; $appid;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; $appserect;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; $curl;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;private&lt;/span&gt; $msg;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;protected&lt;/span&gt; $errs &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;array&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;-1&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;システムがビジーです。開発者はしばらくしてから再試行してください&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;0&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;リクエスト成功&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;40001&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;AppSecretが間違っているか、この公式アカウントのものではありません。開発者はAppSecretが正しいことを確認してください&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;40002&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;grant_typeフィールドの値がclient_credentialであることを確認してください&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;40164&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;APIを呼び出したIPアドレスがホワイトリストにありません。APIのIPホワイトリストで設定してください。&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;__construct&lt;/span&gt;($appid, $appserect) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;appid&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $appid;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;appserect&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $appserect;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;curl&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Curl&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#75715e&#34;&gt;/*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;	WeChatウェブ認証ログイン 公式アカウント設定 - 機能設定 - ウェブ認証ドメインでの設定が必要
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;	第一歩：ユーザーが認証に同意し、codeを取得
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;	scope : snsapi_base openidのみ取得可能、直接リダイレクト
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;	snsapi_userinfo
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;	*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getCode&lt;/span&gt;($redirect_uri, $scope &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;snsapi_userinfo&amp;#39;&lt;/span&gt;,$state &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;1&amp;#39;&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://open.weixin.qq.com/connect/oauth2/authorize?appid=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;appid&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;amp;redirect_uri=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$redirect_uri&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;amp;response_type=code&amp;amp;scope=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$scope&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;amp;state=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$state&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;#wechat_redirect&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#a6e22e&#34;&gt;header&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Location:&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$url&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;exit&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#75715e&#34;&gt;/*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;	第二歩：codeを使用してウェブ認証用のaccess_tokenを取得
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;	*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getAccessTokenByCode&lt;/span&gt;($code) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://api.weixin.qq.com/sns/oauth2/access_token?appid=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;appid&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;amp;secret=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;appserect&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;amp;code=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$code&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;amp;grant_type=authorization_code&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#75715e&#34;&gt;// exit($url);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;		&lt;span style=&#34;color:#75715e&#34;&gt;// $curl = new Curl();
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;		$result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;curl&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;doGet&lt;/span&gt;($url);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;$result) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#75715e&#34;&gt;// $this-&amp;gt;curl-&amp;gt;getError()
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;			$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;msg&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;トークンの取得に失敗しました&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;json_decode&lt;/span&gt;($result, &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($result[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;errcode&amp;#39;&lt;/span&gt;]) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;msg&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $result[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;errmsg&amp;#39;&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; $result;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#75715e&#34;&gt;// 第三歩：access_tokenを更新（必要な場合） code経由でopenidを取得 $type 0サイレント認証 1ポップアップ認証
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getUserInfo&lt;/span&gt;($code, $type &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, $lang &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;zh_CN &amp;#39;&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getAccessTokenByCode&lt;/span&gt;($code);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;$result) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$member &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;C&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;t&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;PT_USER&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getByOpenid&lt;/span&gt;($result[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;openid&amp;#39;&lt;/span&gt;]);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($member) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; $member;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	} &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($type) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://api.weixin.qq.com/sns/userinfo?access_token=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$result[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;access_token&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;amp;openid=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$result[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;openid&amp;#39;&lt;/span&gt;]&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;amp;lang=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$lang&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#75715e&#34;&gt;// $return = $this-&amp;gt;curl-&amp;gt;doGet($url);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;			&lt;span style=&#34;color:#75715e&#34;&gt;// このAPIは挙動がおかしく、強制的にファイルヘッダーを表示します
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;			$return &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;file_get_contents&lt;/span&gt;($url);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;$return) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;msg&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ユーザー情報の取得に失敗しました&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$return &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;json_decode&lt;/span&gt;($return, &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;$return) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;msg&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ユーザー情報の取得リターンに失敗しました&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#75715e&#34;&gt;// file_put_contents(&amp;#39;ccc.txt&amp;#39;,print_r($return,true),FILE_APPEND);
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;			$data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;array&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;openid&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; $return[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;openid&amp;#39;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; $return[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;nickname&amp;#39;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sex&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; $return[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;sex&amp;#39;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;province&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; $return[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;province&amp;#39;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; $return[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;city&amp;#39;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;country&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; $return[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;country&amp;#39;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;img&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; $return[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;headimgurl&amp;#39;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;bindtel&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		} &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$data &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;array&lt;/span&gt;(
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;openid&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; $result[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;openid&amp;#39;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;username&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;WeChatユーザー_&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;random&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$name &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;rand&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;100000&lt;/span&gt;, &lt;span style=&#34;color:#ae81ff&#34;&gt;1000000000&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$e &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $name &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;@qq.com&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$password &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $e;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$id &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;UserAddEdit&lt;/span&gt;(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;, $data[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;username&amp;#39;&lt;/span&gt;], $password, $e,&lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;,&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;,&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;, $msg);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($id &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;msg&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $msg;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#a6e22e&#34;&gt;C&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;t&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;PT_USER&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;update&lt;/span&gt;($data, $id);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$member &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;C&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;t&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;PT_USER&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;get&lt;/span&gt;($id);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; $member;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#75715e&#34;&gt;/*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;	公式アカウント セキュリティセンターでIPホワイトリストを設定
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;	公式アカウントのグローバルでユニークなAPI呼び出し資格情報。公式アカウントが各APIを呼び出す際にはaccess_tokenを使用する必要があります。開発者は適切に保存する必要があります。access_tokenの保存には少なくとも512文字のスペースを確保してください。access_tokenの有効期間は現在2時間で、定期的に更新する必要があります。重複して取得すると、前回取得したaccess_tokenが無効になります。
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;	*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getAccessToken&lt;/span&gt;($type) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$addtime &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;TIMESTAMP&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;7200&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&amp;amp;appid=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;appid&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;amp;secret=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;appserect&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$row &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;C&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;t&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;PT_WXTOKEN&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getNew&lt;/span&gt;($addtime, $type);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($row) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; $row[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;access_token&amp;#39;&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		} &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;curl&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;doGet&lt;/span&gt;($url);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;$result) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;msg&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;トークンコンテンツを取得できません&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;json_decode&lt;/span&gt;($result, &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;$result) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;msg&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;トークンコンテンツの解析に失敗しました&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($result[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;access_token&amp;#39;&lt;/span&gt;]) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#a6e22e&#34;&gt;C&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;t&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;PT_WXTOKEN&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;addToken&lt;/span&gt;($result[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;access_token&amp;#39;&lt;/span&gt;], $type);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; $result[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;access_token&amp;#39;&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			} &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;msg&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;トークンの取得に失敗しました&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#75715e&#34;&gt;// JSチケットを取得 公式アカウント設定 - 機能設定 - JSインターフェースセキュアドメインでの設定が必要
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getJsTicket&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$addtime &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;TIMESTAMP&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;7200&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$row &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;C&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;t&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;PT_WXTICKET&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getNew&lt;/span&gt;($addtime);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($row) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; $row[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ticket&amp;#39;&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		} &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$token &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getAccessToken&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;$token) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$url &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;{&lt;/span&gt;$token&lt;span style=&#34;color:#e6db74&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;amp;type=jsapi&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;curl&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;doGet&lt;/span&gt;($url);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;$result) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;msg&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;JSチケットを取得できません&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$result &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;json_decode&lt;/span&gt;($result, &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;$result) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;msg&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;JSチケットコンテンツの解析に失敗しました&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($result[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ticket&amp;#39;&lt;/span&gt;]) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#a6e22e&#34;&gt;C&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;::&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;t&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;PT_WXTICKET&lt;/span&gt;)&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;addTicket&lt;/span&gt;($result[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ticket&amp;#39;&lt;/span&gt;]);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; $result[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;ticket&amp;#39;&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			} &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				$this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;msg&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;JSチケットの取得に失敗しました&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#75715e&#34;&gt;// js sdk チケット署名 現在のウェブページのURL、#およびそれ以降の部分は含まない
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;jsSign&lt;/span&gt;($data) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#75715e&#34;&gt;// 1.署名対象のすべてのパラメータをフィールド名のASCIIコード順（辞書順）でソートする
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;		&lt;span style=&#34;color:#a6e22e&#34;&gt;ksort&lt;/span&gt;($data);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#75715e&#34;&gt;// 2.URLキー・バリューペアの形式（つまりkey1=value1&amp;amp;key2=value2…）で文字列string1に連結する。元の値を使用し、URLエンコードは行わない
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;		$string1 &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ToUrlParams&lt;/span&gt;($data);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#75715e&#34;&gt;// echo &amp;#34;string1:{$string1}&amp;lt;br/&amp;gt;&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;		&lt;span style=&#34;color:#75715e&#34;&gt;// 3.string1をsha1で暗号化する
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;		$sign &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;sha1&lt;/span&gt;($string1);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#75715e&#34;&gt;// echo &amp;#34;signature:{$sign}&amp;lt;br/&amp;gt;&amp;#34;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; $sign;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#75715e&#34;&gt;// メッセージ内容を取得
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getMsg&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; $this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;msg&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#e6db74&#34;&gt;/**
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;	* パラメータをURLパラメータ形式にフォーマットする
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;	*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;public&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ToUrlParams&lt;/span&gt;($data) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$buff &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;foreach&lt;/span&gt; ($data &lt;span style=&#34;color:#66d9ef&#34;&gt;as&lt;/span&gt; $k &lt;span style=&#34;color:#f92672&#34;&gt;=&amp;gt;&lt;/span&gt; $v) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($k &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;sign&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; $v &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;is_array&lt;/span&gt;($v)) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				$buff &lt;span style=&#34;color:#f92672&#34;&gt;.=&lt;/span&gt; $k &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;=&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; $v &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;amp;&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		$buff &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;trim&lt;/span&gt;($buff, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;amp;&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; $buff;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// WeChatログイン
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;wxlogin&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;global&lt;/span&gt; $_G,$identifier,$config,$wx;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;$_G[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;uid&amp;#39;&lt;/span&gt;]) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($_GET[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;state&amp;#39;&lt;/span&gt;]) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#75715e&#34;&gt;//コールバック
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;			$member &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $wx&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getUserInfo&lt;/span&gt;($_GET[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;code&amp;#39;&lt;/span&gt;]);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;$member) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#66d9ef&#34;&gt;exit&lt;/span&gt;($wx&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getMsg&lt;/span&gt;());
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;function_exists&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;setloginstatus&amp;#34;&lt;/span&gt;)) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;				&lt;span style=&#34;color:#66d9ef&#34;&gt;include_once&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;libfile&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;function/member&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#75715e&#34;&gt;// ログイン状態を設定$wx
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;			&lt;span style=&#34;color:#a6e22e&#34;&gt;setloginstatus&lt;/span&gt;($member, &lt;span style=&#34;color:#ae81ff&#34;&gt;2592000&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#a6e22e&#34;&gt;checkfollowfeed&lt;/span&gt;();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$_G[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;uid&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $member[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;uid&amp;#39;&lt;/span&gt;];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$_G[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;member&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $member;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		} &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			&lt;span style=&#34;color:#75715e&#34;&gt;//認証をリクエスト パラメータをエンコード
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&lt;/span&gt;			$redirect &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;urlencode&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;getProtocol&lt;/span&gt;() &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; $_SERVER[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;HTTP_HOST&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; $_SERVER[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;REQUEST_URI&amp;#39;&lt;/span&gt;]);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;			$wx&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;getCode&lt;/span&gt;($redirect, &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;snsapi_base&amp;#39;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;getProtocol&lt;/span&gt;() {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;is_HTTPS&lt;/span&gt;() &lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;https://&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;http://&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;function&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;is_HTTPS&lt;/span&gt;() {  &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($_SERVER[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;HTTPS&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;===&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; $_SERVER[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;HTTPS&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;===&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;on&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;||&lt;/span&gt; $_SERVER[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;SERVER_PORT&amp;#39;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;443&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;true&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;false&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>WeChat JSAPI 決済</title>
      <link>https://en.moejue.cn/ja/posts/89/</link>
      <pubDate>Sat, 30 Mar 2019 09:30:21 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/89/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g1l3k211blj30ia04x74e.jpg&#34;&gt; 以前からWeChat関連の業務を行っていましたが、新しい技術ではないものの、これまで触れる機会がなく、いくつかの落とし穴にはまりました。そこで、時間を取って整理し、記録しておきます。
WeChat Payは全部で7種類あり、それぞれ：支払いコード決済、JSAPI決済、Native決済、APP決済、H5決済、ミニプログラム決済、顔認証決済です。
今回の業務で使用したのはWeChat JSAPI決済です。ユーザーがWeChatスキャン、公式アカウントのフォローなどの方法で販売者のH5ページに入り、&lt;strong&gt;WeChat内で&lt;/strong&gt;JSSDKを呼び出して支払いを完了します。&lt;/p&gt;
&lt;p&gt;ドキュメント：&lt;a href=&#34;https://pay.weixin.qq.com/wiki/doc/api/index.html&#34;&gt;https://pay.weixin.qq.com/wiki/doc/api/index.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;SDK：[https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=11_1&lt;/p&gt;
&lt;p&gt;](&lt;a href=&#34;https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=11_1%29JSAPI&#34;&gt;https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=11_1)JSAPI&lt;/a&gt;決済は、WeChat内のブラウザで開くことでWeChat Payを起動できます。効果は以下の図の通りです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g1l36yn1sej30p91hc40b.jpg&#34;&gt;
インターフェースコードを添付します。
コードではテンプレートエンジンを使用しています。
html：&lt;/p&gt;
&lt;div class=&#34;am-modal-bd&#34;&gt;
	&lt;img src=&#34;{$competition\[&#39;avatar&#39;\]}&#34; alt=&#34;&#34;&gt;&lt;br&gt;
	&lt;span style=&#34;font-size: 13px;color: #72c6ef&#34;&gt;{$competition\[&#39;username&#39;\]}&lt;/span&gt;&lt;br&gt;
	&lt;span id=&#34;tips&#34; style=&#34;font-size: 13px&#34;&gt;&lt;/span&gt;
  &lt;ul class=&#34;ul\_box&#34;&gt;
	&lt;li&gt;
		&lt;div&gt;&lt;/div&gt;
		&lt;div class=&#34;label\_box&#34;&gt;
			&lt;label&gt;
				&lt;input type=&#34;radio&#34; name=&#34;price&#34; value=&#34;{$prices\[0\]}&#34; checked=&#34;&#34;&gt;
				&lt;div class=&#34;active&#34;&gt;&lt;span class=&#34;am-icon-diamond&#34;&gt;&lt;/span&gt; {$prices\[0\]}钻&lt;/div&gt;
			&lt;/label&gt;
			&lt;label&gt;
				&lt;input type=&#34;radio&#34; name=&#34;price&#34; value=&#34;{$prices\[1\]}&#34;&gt;
				&lt;div&gt;&lt;span class=&#34;am-icon-diamond&#34;&gt;&lt;/span&gt; {$prices\[1\]}钻&lt;/div&gt;
			&lt;/label&gt;
			&lt;label&gt;
				&lt;input type=&#34;radio&#34; name=&#34;price&#34; value=&#34;{$prices\[2\]}&#34;&gt;
				&lt;div&gt;&lt;span class=&#34;am-icon-diamond&#34;&gt;&lt;/span&gt; {$prices\[2\]}钻&lt;/div&gt;
			&lt;/label&gt;
		&lt;/div&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;div&gt;&lt;/div&gt;
		&lt;div class=&#34;label\_box&#34;&gt;
			&lt;label&gt;
				&lt;input type=&#34;radio&#34; name=&#34;price&#34; value=&#34;{$prices\[3\]}&#34;&gt;
				&lt;div&gt;&lt;span class=&#34;am-icon-diamond&#34;&gt;&lt;/span&gt; {$prices\[3\]}钻&lt;/div&gt;
			&lt;/label&gt;
			&lt;label&gt;
				&lt;input type=&#34;radio&#34; name=&#34;price&#34; value=&#34;{$prices\[4\]}&#34;&gt;
				&lt;div&gt;&lt;span class=&#34;am-icon-diamond&#34;&gt;&lt;/span&gt; {$prices\[4\]}钻&lt;/div&gt;
			&lt;/label&gt;
			&lt;label&gt;
				&lt;input type=&#34;number&#34; name=&#34;price&#34; id=&#34;price&#34; class=&#34;input&#34; placeholder=&#34;自定义&#34;&gt;
			&lt;/label&gt;
		&lt;/div&gt;
	&lt;/li&gt;
  &lt;/ul&gt;
  &lt;span style=&#34;font-size: 13px&#34;&gt;注：1钻=1元，1钻={$activity\[&#39;offset&#39;\]}票&lt;/span&gt;&lt;br&gt;
  &lt;button type=&#34;button&#34; class=&#34;am-btn am-btn-primary  am-radius&#34; onclick=&#34;callpay()&#34; style=&#34;margin-top: 5px;&#34;&gt;立即微信支付&lt;/button&gt;
&lt;/div&gt;
&lt;p&gt;JavaScript：&lt;/p&gt;
&lt;p&gt;// 投票
var offset = {$activity[&amp;lsquo;offset&amp;rsquo;]};
$(&amp;rsquo;#tips&amp;rsquo;).html(&amp;lsquo;正在给{$competition[&amp;lsquo;code&amp;rsquo;]}号赠送{$prices[0]}钻=&amp;rsquo;+({$prices[0]}*offset)+&amp;lsquo;票&amp;rsquo;);
$(&amp;rsquo;#vote&amp;rsquo;).click(function(){
$.post(&amp;rsquo;/index/index/detailed.html?cid={$cid}&amp;amp;aid={$aid}&amp;rsquo;,{
formhash :&amp;rsquo;{FORMHASH}&amp;rsquo;,
submit:&amp;lsquo;1&amp;rsquo;,
type:1,
openid:&amp;rsquo;{$_G[&amp;lsquo;member&amp;rsquo;][&amp;lsquo;openid&amp;rsquo;]}&amp;rsquo;
},function(res){
alert(res.msg);
if (res.code == 0) {
$(&amp;rsquo;.box-1 span&amp;rsquo;).text(res.data.all);
$(&amp;rsquo;.box-2 span&amp;rsquo;).text(res.data.rank);
$(&amp;rsquo;.box-3 span&amp;rsquo;).text(res.data.up + &amp;lsquo;票&amp;rsquo;);
}
});
})
/* jQuery对象级别プラグイン拡張 */
$.fn.extend({
/* 単選框 */
hlRadio:function () {
var radioEl=$(this);
radioEl.click(function () {
var price = 0;
price = $(&amp;lsquo;input:radio:checked&amp;rsquo;).val();
$(&amp;rsquo;#price&amp;rsquo;).val(&amp;rsquo;&amp;rsquo;);
$(&amp;rsquo;#tips&amp;rsquo;).html(&amp;lsquo;正在给{$competition[&amp;lsquo;code&amp;rsquo;]}号赠送&amp;rsquo;+price+&amp;lsquo;钻=&amp;rsquo;+(price*offset)+&amp;lsquo;票&amp;rsquo;);
radioEl.siblings(&amp;ldquo;div&amp;rdquo;).removeClass(&amp;ldquo;active&amp;rdquo;);
$(this).siblings(&amp;ldquo;div&amp;rdquo;).addClass(&amp;ldquo;active&amp;rdquo;);
});
},
});
$(&amp;ldquo;input[name=&amp;lsquo;price&amp;rsquo;]&amp;rdquo;).hlRadio();
$(&amp;rsquo;#price&amp;rsquo;).bind(&amp;lsquo;input propertychange&amp;rsquo;, function(){
var price = 0;
price = $(&amp;rsquo;#price&amp;rsquo;).val();
$(&amp;rsquo;#tips&amp;rsquo;).html(&amp;lsquo;正在给{$competition[&amp;lsquo;code&amp;rsquo;]}号赠送&amp;rsquo;+price+&amp;lsquo;钻=&amp;rsquo;+(price*offset)+&amp;lsquo;票&amp;rsquo;);
})&lt;/p&gt;</description>
    </item>
    <item>
      <title>中国製邪神フィギュアの開封</title>
      <link>https://en.moejue.cn/ja/posts/86/</link>
      <pubDate>Thu, 14 Mar 2019 12:08:55 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/86/</guid>
      <description>&lt;p&gt;&lt;strong&gt;「邪神」とは、表情がとんでもなく崩壊し、ディテールが目を覆いたくなるほど酷いフィギュアを指す言葉である。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;「邪神」と言えば、皆さんが真っ先に思い浮かべるのは「邪神四姉妹」かもしれませんが、実はどれも崇拝の対象となる存在です。四大邪神の名声は永遠に語り継がれ、魔除けになるだけでなく、飾っておくだけで自慢できる、血を見ずに人を殺せる強力な武器なのです。&lt;/p&gt;
&lt;p&gt;注文する前は、今回のタイトルを『水着フィギュアは最高だ』にしようと、すでに決めていました。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g12l2ucjoqj30u0140afw.jpg&#34;&gt;&lt;br&gt;
こんなに小さなパッケージを見た時、すでに嫌な予感がしていました。箱もたった4面しかない簡素なものでした。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g12l42zpr6j30u0140djm.jpg&#34;&gt;&lt;br&gt;
プチプチの中からちらりと見えるその姿。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g12l4cszmsj31400u0tg9.jpg&#34;&gt;&lt;br&gt;
パッと見は 괜찮そうですが、じっくり見るものではありません。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g12l4kslxuj30u0140grt.jpg&#34;&gt;&lt;br&gt;
パッケージをぐるっと見てみましたが、特に大きな問題はなく、標準的な仕様です。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g12l4vviptj30u0140q8j.jpg&#34;&gt;&lt;br&gt;
かろうじて楪いのりだと分かります。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g12l4xflmwj30u0140tdw.jpg&#34;&gt;&lt;br&gt;
こ…この角度、なんとも絶妙です。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g12l4yxnbrj30u0140q7d.jpg&#34;&gt;&lt;br&gt;
この手、非の打ち所がありません。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g12l503ebyj30u0140wj1.jpg&#34;&gt;&lt;br&gt;
この白っちゃけた髪。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g12l51pfquj30u0140jwc.jpg&#34;&gt;&lt;br&gt;
しかし、こういう言葉もあります。「物極まれば必ず反す」と。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;邪神も極まると、かえってやみつきになってしまうものです……&lt;/strong&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g12l52zb97j30u0140n2h.jpg&#34;&gt;&lt;br&gt;
商品が届いた今、タイトルを修正せざるを得ないかもしれません。&lt;br&gt;
中国産で最も有名な邪神といえば「大邪神セイバー」ですが、その姿は気分を害する可能性があるため、画像は掲載しません。&lt;br&gt;
**&lt;br&gt;
しかし、邪神の持つ影響力は、かえってそれらを真のコレクターズアイテムへと押し上げたのです。&lt;br&gt;
**&lt;br&gt;
要するに：&lt;strong&gt;「これは心を癒し、穏やかな気持ちにさせてくれる製品です。」&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>本当に流れてしまった。</title>
      <link>https://en.moejue.cn/ja/posts/85/</link>
      <pubDate>Fri, 01 Mar 2019 12:16:16 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/85/</guid>
      <description>&lt;p&gt;完了完了、本当にサボってしまった。先々月の年末総括では、去年は毎月まめにブログを投稿したと自分を褒めていたのに、やはりフラグは折るためにあるものだ。
実はまだそこまでサボってない（そんな数え方あり？（困惑））今日は実は2月29日だし（無理やり挽回）&lt;/p&gt;
&lt;p&gt;らららら〜〜〜
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g0nldjz554j31800u07wi.jpg&#34;&gt;
まあ、サボってしまった主な理由は、やはり仕事が忙しかったからだ。今夜もようやく残業なしで、ブログを書くことができた。普段は日中の仕事で疲れていて、仕事が終われば休みたいし、ブログの構想を練る余裕なんて全くない。どうかご容赦を。
どんな仕事をしているのかと聞かれれば、IT業界だ。今はとあるインターネット企業でプログラマー、フルスタックエンジニア（笑）をしている。だから残業は日常茶飯事、ご存知の通りだ。&lt;/p&gt;
&lt;p&gt;だから、もし今後時間があれば、学んだ技術やノウハウを整理してシェアするかもしれない（超有益な情報）。
でも、新しいプロジェクトについては、構想を練る時間がないかもしれない。
しかし、ブログ主の髪の毛の問題は心配ご無用。僕らは違うんだ。僕はACG（アニメ、コミック、ゲーム）向けにプログラミングしているから、生え際の問題はないよ。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g0nlfxlavqj31gd0u0qv5.jpg&#34;&gt;
それからブログについてだけど、実は去年の終わり頃からずっとテーマを変えたいと思っていた。いくつか気に入ったものを見つけたんだけど、emlogのテーマじゃないし、そう簡単に変えられるわけでもない。今のテーマはごく普通で真面目なテンプレートで、ちょっと美的疲労を感じている。それに、僕のブログのテーマとは全く合っていないんだ。でも、派手なテーマだと多くの人が慣れないかもしれないし、好きじゃないかもしれないと心配で、ずっと悩んでいる。自分で移植して、今のテーマも残しつつ、ユーザーが自由に切り替えられるようにするかどうか。でもね。。。。。。。怠い。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g0nkozwpojj317q0u0x6p.jpg&#34;&gt;
だいたいこんな感じかな。何事も後回しにできないことなんてないし、主にただの雑談記事だよ、逃げろ〜〜
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1g0nkmsjtoaj30ni0xcq6j.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Xiaomi 8 青春版 開封</title>
      <link>https://en.moejue.cn/ja/posts/84/</link>
      <pubDate>Fri, 25 Jan 2019 01:47:52 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/84/</guid>
      <description>&lt;p&gt;Xiaomi 8 青春版 6G + 64G (一生Xiaomiファンでいるしかないかも)&lt;br&gt;
定価1699元、年始セールで200元引き、入手価格は1499元&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyod4p5aj30zk0qo76d.jpg&#34;&gt;注文した翌日に発送され、輸送に1日かかり、3日目に到着しました&lt;br&gt;
おまけにMi Fanカードも付いてきましたが、私には使い道がなさそうです&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyodr27rj30zk0qo0vn.jpg&#34;&gt;6.26インチ 19:9 フルスクリーンディスプレイ&lt;br&gt;
2280 x 1080 FHD+、403 PPI、1500:1 コントラスト比&lt;br&gt;
Snapdragon 660 AIE オクタコアプロセッサー、最大クロック周波数 2.2GHz&lt;br&gt;
Adreno 512 グラフィックプロセッサー、最大クロック周波数 650 MHz&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyodccmaj30zk0qodi2.jpg&#34;&gt;&lt;br&gt;
64Gは小さいと言う人もいるかもしれませんが、私が以前使っていたXiaomiは32Gしかなく、2年間使っても使い切りませんでした。購入してから気づいたのですが、Xiaomi 8は外部SDカードにも対応しているので、手持ちの32GのSDカードを挿せば十分です。足りていればそれでいい。わざわざ大容量メモリにお金を無駄遣いする必要はありません&amp;hellip;&lt;/p&gt;
&lt;p&gt;スマートフォン本体 / 電源アダプター / USB Type-C データケーブル / Type-C to Audio 変換ケーブル / SIM取り出しピン / 高透明ソフトケース / スタートガイド / 三包保証書&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyobybupj30qo0zkmyu.jpg&#34;&gt;&lt;br&gt;
電源オン&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyodmzd6j30qo0zkq4l.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyocwvh3j30qo0zk405.jpg&#34;&gt;続いて、初回起動時の設定です&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyodgwcbj30qo0zk764.jpg&#34;&gt;ジェスチャー操作の学習&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyodnvftj30qo0zkdh3.jpg&#34;&gt;指紋の登録&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyod3t7cj30qo0zkabh.jpg&#34;&gt;長くも楽しい設定を終えて&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyoc7712j30qo0zkmye.jpg&#34;&gt;ホーム画面へ&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyocvcclj30qo0zk760.jpg&#34;&gt;スペックを確認&lt;br&gt;
MIUI9です。MIUI10は最速バージョンと言われていますが、あまり好きではない部分もあるので、今のところアップグレードするつもりはありません&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyoc2ad5j30qo0zktah.jpg&#34;&gt;&lt;br&gt;
3350mAh（typ）/ 3250mAh ( min )&lt;br&gt;
QC3.0 急速充電に対応&lt;br&gt;
5V2A充電器が標準付属&lt;br&gt;
USB Type-C 充電ポート&lt;br&gt;
背面はガラス製ですが、ワイヤレス充電には対応していません。ケースをつけないととても滑りやすく、落としてしまいそうで怖いです&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyod9wgmj30qo0zkacm.jpg&#34;&gt;&lt;br&gt;
AIデュアルカメラ&lt;br&gt;
フロント 24MP、SONY IMX576、4-in-1、1.8μm ラージピクセル&lt;br&gt;
リア 12MP、SONY IMX363、1.4μm ラージピクセル、f/1.9 大口径、Dual PD デュアルピクセルオートフォーカス&lt;br&gt;
リア 5MP、SAMSUNG S5K5E8、1.12μm ラージピクセル&lt;br&gt;
デュアルカメラと本体の薄さのため、カメラ部分が突出しており、机に置くとガタつきます。付属のケースをつけるとちょうど平らになります&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fzhyofltewj30u0140qlm.jpg&#34;&gt;&lt;br&gt;
総じて、Xiaomiのスマートフォンはコストパフォーマンスが高く、購入する価値があります。おすすめです！&lt;/p&gt;</description>
    </item>
    <item>
      <title>友達を一人失ったようだ。</title>
      <link>https://en.moejue.cn/ja/posts/82/</link>
      <pubDate>Thu, 17 Jan 2019 14:00:39 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/82/</guid>
      <description>&lt;p&gt;ある人は言う。&lt;br&gt;
アニメを完走するのは、まるで親友を一人失ったかのようだ、と。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u4r5cnjj30zk0k0abl.jpg&#34;&gt;&lt;br&gt;
そう、アニメを見ている時、誰もが感情を注ぎ込み、自分を二次元の世界に投影する。たとえ「傍観者」にすぎなくても、二次元で起こるすべての出来事を、私たちは見届けているのだ。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u4shsz4j31hc0u0n0a.jpg&#34;&gt;&lt;br&gt;
次々と出会い、理解を深めていく仲間たち、共に立ち向かった出来事、喜び、楽しみ、憂い、戸惑い、辛さ、悲しみ、怒り、切なさ。そのすべてが、二次元の仲間たちと共有した思い出なのだ。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u4szwy1j315o0mz78g.jpg&#34;&gt;&lt;br&gt;
そして最終回を迎える時、忘れがたい人や出来事ともお別れを告げなければならない。それは本当の生き別れ、死に別れ。私たちはもう二度と会えないのかもしれない。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u4ufvjpj30q510wq7u.jpg&#34;&gt;&lt;br&gt;
でも、彼らは消えてしまったわけじゃない。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u4vcbboj31hc0u0aft.jpg&#34;&gt;&lt;br&gt;
彼らはいなくなったわけじゃない。結ばれた絆が、私たちをより強く結びつけている。そう、彼らは私たちに想いを伝え、永遠に記憶の中に留まっている。彼らはいなくなったわけじゃない。いつでも私たちのそばにいて、励まし、助けてくれている。どんな時も。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u4vmy6pj314b0sg44z.jpg&#34;&gt;&lt;br&gt;
彼らは過去の存在かもしれない。でも、とっくに私たちの力になっている。人生という道の上で前を向き、前へ進み、未来を、素晴らしい物事を抱きしめるようにと、私たちを励まし、助けてくれる力に。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u4zz56uj31hc0u013v.jpg&#34;&gt;&lt;br&gt;
そうすれば、私たちはきっとまた彼らのような仲間に出会い、再び忘れられない思い出を手にすることができるだろう。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u53c46bj31hc0u0nf0.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u545yixj31hc0u0k8x.jpg&#34;&gt;&lt;br&gt;
そして私たちはまた同じ感謝の気持ちを胸に、元気いっぱいに、前へ進み続ける。彼らがいなければ、きっとそれはできなかったと思う。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u55jvbjj31hc0u0kan.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u55s4fzj31hc0u049w.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u5681boj31c00u0479.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u56gnnlj31hc0u0gvg.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u57xgvyj31hc0u0tpg.jpg&#34;&gt;&lt;br&gt;
これこそが、忘れられない素晴らしいアニメ作品一つ一つの意義なのだと思う。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u58ahd9j31hc0u0k5c.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u5e2boyj31hc0u0198.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u5e48u0j31hc0u0e0q.jpg&#34;&gt;&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fz9u5fnq51j31hc0u0nhm.jpg&#34;&gt;&lt;br&gt;
改めて、みんなさん、&lt;br&gt;
さよなら，ありがと。&lt;br&gt;
&lt;a href=&#34;https://www.52ecy.cn/content/uploadfile/201901/dfd51547727091.png&#34;&gt;&lt;img alt=&#34;pkg09.png&#34; loading=&#34;lazy&#34; src=&#34;https://www.52ecy.cn/content/uploadfile/201901/dfd51547727091.png&#34; title=&#34;点击查看原图&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>大金持ちになれると思ったが、そうはならなかった。</title>
      <link>https://en.moejue.cn/ja/posts/83/</link>
      <pubDate>Wed, 02 Jan 2019 11:05:50 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/83/</guid>
      <description>&lt;p&gt;2018年ももう終わりを迎えました&lt;br&gt;
大金持ちになるという願いは叶わず&lt;br&gt;
さらに悲惨なことに、年次大作を完成させなければなりません&lt;/p&gt;
&lt;p&gt;――年末総括&lt;/p&gt;
&lt;p&gt;そういえば、この世にはもともと年末総括なんてありませんでした&lt;br&gt;
KPIができてからというもの&lt;br&gt;
尽きることのない恨みつらみが生まれました&lt;/p&gt;
&lt;p&gt;以下、本文です&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.52ecy.cn/post-12.html&#34;&gt;記事アーカイブ&lt;/a&gt;では、すべての記事と投稿日時をはっきりと確認できます。2018年は毎月記事を投稿し、ほぼ毎日チェックしに来ていました。&lt;/p&gt;
&lt;h1 id=&#34;振り返り&#34;&gt;振り返り&lt;/h1&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;1月：初めての自作ブログシステムを開発&lt;/li&gt;
&lt;li&gt;2月：初めてのフィギュア（嫁）を購入&lt;/li&gt;
&lt;li&gt;3月：幻想領域画像アップローダーの初版をリリース&lt;/li&gt;
&lt;li&gt;4月：幻想領域画像アップローダーの正式版を更新、emlogの新浪（Sina）プラグインを統合&lt;/li&gt;
&lt;li&gt;5月：萌音カード販売プラットフォームをローンチ&lt;/li&gt;
&lt;li&gt;6月：長らく放置していたプレイリストを修正&lt;/li&gt;
&lt;li&gt;7月：わー、萌音コミュニティが登場&lt;/li&gt;
&lt;li&gt;8月：三位一体決済コードをリリース&lt;/li&gt;
&lt;li&gt;9月：萌音映像サイトをローンチ&lt;/li&gt;
&lt;li&gt;10月：3回目のプログラマーの日（1024）を過ごす&lt;/li&gt;
&lt;li&gt;11月：Xiaomiのノートパソコンを購入＆萌音クラウドノートをリリース&lt;/li&gt;
&lt;li&gt;12月：遠くへ旅立ったが、二次元だけは諦められない&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;2019年&#34;&gt;2019年&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;2019年は、忙しく、学び、そして成長する一年になるでしょう。年始の抱負は裏切らず、今年は大小さまざまなプロジェクトを数多くこなし、多くのことを学びました。初めてのQQグループを作り、私を愛してくれる仲間たちと出会いました。&lt;/p&gt;
&lt;p&gt;今年もまたまたブログの定時投稿を忘れてしまいましたが、去年のような賢(厚)い(顔)で投稿時間を修正するようなことはもうしません。過ぎ去った時間は、畢竟戻ってこないのですから。&lt;br&gt;
この2ヶ月で学んだことは、萌音クラウドノートに記録しており、ブログには投稿していません。興味のある方はぜひご覧ください。一体何があったのか、以前は1、2ヶ月かけてプロジェクトを一つ生み出していましたが、今では週に一つ作り上げています。これはただの愚痴で、不満ではありません。&lt;br&gt;
去年の抱負は敬業福（去年来てくれた方ならご存知のはず）に書いたのですが、今年もそれを掲げようと思ったら、ソースコードが遥か彼方にあることに気づき、諦めました。まあ、ブログを一本投稿すればいいだけのことです。&lt;br&gt;
この2ヶ月で、C、C++、Java、node.jsにも入門し、discuzのプラグイン＆テンプレート、Baidu＆WeChatのミニプログラム、公式アカウントなどにも手を出しました&amp;hellip;&amp;hellip;&lt;br&gt;
2019年も引き続き頑張ります&amp;hellip;.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fysiqc2sndj30jf0eodgp.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>最初に、二次元に入ったのはいつですか？</title>
      <link>https://en.moejue.cn/ja/posts/81/</link>
      <pubDate>Mon, 24 Dec 2018 13:25:40 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/81/</guid>
      <description>&lt;p&gt;最初に、二次元に入ったのはいつだろうか？
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fyh2rokd61j31hc0u0he3.jpg&#34;&gt;
魅力的なアニメ、かっこいいキャラクター、ふとしたきっかけ、あるいは友人の強い勧め。
数えきれないほどの「もしも」の中で、
変わらないのは、それを見たときの喜び。まるで人生に色が満ちたかのように。
まるで天使の扉が開いたかのように。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fyh2ztdbv2j316f0u0npd.jpg&#34;&gt;
深夜までアニメを見て、この回が終わったら必ず寝ると自分に言い聞かせた。
好きなキャラクターのために必死に投票した。
昼食代を貯めて課金したり、フィギュアを買ったりした。
給料日を数えていた。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fyh2zablgtj317q0u0x6p.jpg&#34;&gt;あるストーリーに涙した。
自分には関係ない物語なのに、声を上げて泣いた。
そして、主人公の奮起に胸を熱くした。
まるで彼らと共に虚構の時空で戦っているかのように。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fyh30qr1wej31bq0u0b29.jpg&#34;&gt;かつて、携帯の壁紙は好きなキャラクターでいっぱいだった。QQのプロフィールには彼らの言葉が並んでいた。
一人で布団の中でアニメの笑い声を聞きながら、声を出さずに一人で笑った。
あるアニメを見終わった後、名残惜しく、
まるで人がいなくなったような喪失感を抱いた。
数えきれないほどの夜をアニメと共に過ごし、
二次元の炎で孤独を追い払った。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fyh30xjtvrj30ze0u0b0a.jpg&#34;&gt;
それらの仲間がいたからこそ、
私の青春は、これほど無力で迷うことはなかった。
QQグループで夜明けまでチャットした。
「中二病は永遠に終わらない」と話した。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fyh3798qugj30xb0u0hdu.jpg&#34;&gt;
私はあなたの名前を知らない。
あなたが現実でどのような役割を担っているのか知らない。
今、あなたが失意の中にいるのか知らない。
しかし、今、私たちはたとえ千山万水隔てていても、
まるで手の届くところにいるかのようだ。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fyh30i0z4jj31he0u0e81.jpg&#34;&gt;私たちは冗談で言った。「ナルトは火影になれない」と。
しかし、彼はついに七代目という燃えるような戦袍をまとった。
私たちは言った。「この人生で二次元に入ったことを後悔しない」と。
しかし、いつか静かに去り、別れを告げる人もいる。
前進する道の中で、結局は同じ道に戻ることは難しい。
いつか私たちは携帯からアニメの画像をすべて削除し、手を繋いで年少の頃を忘れるだろう。
いつか、私たちは人生の戦場に赴き、
過去の孤高と無力さを埋葬するだろう。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fyh3091bcxj31gd0u0hdt.jpg&#34;&gt;夏目の友人帳はまだすべて読み終えていない。
工藤新一はまだ小蘭に愛を伝えられていない。
神話のような聖杯戦争はまだ終わっていない。
司と艾拉はまだ再会できていない。
立華奏はまだ音無結弦に出会えていない。
あの野球ボールはまだ少女の窓を破れていない。
まだ十年後に面麻に会える夏ではない。
少年はまだ華麗な演奏ホールに立っていない。
絶世の協奏曲で、あの少女を弔うために。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fyh3016hnhj31hc0u0kjl.jpg&#34;&gt;英雄たちは依然として、あの遥かな理想の都市のために戦っている。
自由の彼岸で、人類はまだあの高い壁を突破できていない。
……私たちはかつて皇帝のように傲慢で、
かつては落ちぶれて、野良犬のようだった。
かつては兄弟と共に千軍万馬を率いた。
かつては孤軍奮闘し、吹雪の中を一人で進んだ。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fyh310ysj3j31bv0t3qbj.jpg&#34;&gt;もし、ある夜に
突然、あの無力だった頃を思い出し、
不意に二次元の扉を開き、
前進する中で唯一の光を見つけたなら。
それで、十分だ。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fyh31649vaj30rs0joqkq.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>シャオミ ノートパソコン 15.6 開封</title>
      <link>https://en.moejue.cn/ja/posts/79/</link>
      <pubDate>Sun, 25 Nov 2018 05:30:20 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/79/</guid>
      <description>&lt;p&gt;達人のブログに倣って開封レビューをしてみる(:-&lt;br&gt;
最近はちょっと遠出していたので、ブログを更新する時間がありませんでした。これからしばらくはこんな感じだと思います。パソコンすらないのに、更新なんてできるわけないですよね。&lt;br&gt;
そこで、どさくさに紛れてノートパソコンを一台、とりあえず買ってみました。&lt;/p&gt;
&lt;p&gt;この間ちょうど安くなっていたので、なけなしの貯金をはたいてシャオミのノートパソコンを一台購入しました。（実は私、たぶん小米ファンなんです&lt;br&gt;
そして翌日の夜にはもう届きました。（配送が本当に遅いですね（:-笑&lt;br&gt;
正面からの写真&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fxk9flayx7j30zk0qojtp.jpg&#34;&gt;&lt;br&gt;
正規版Windows 10と、Office Home &amp;amp; Studentがプリインストールされています。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fxk9jcshyej30qo0zk0u4.jpg&#34;&gt;&lt;br&gt;
厳重に梱包されています。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fxk9irwxraj30qo0zkwgc.jpg&#34;&gt;&lt;br&gt;
製品説明書と充電器（なんか寂しいですね&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fxk9izyy3cj30zk0qo766.jpg&#34;&gt;&lt;br&gt;
スペースグレーです。本当はシルバーが欲しかったのですが、残念ながら在庫切れでした。&lt;br&gt;
表面はロゴなしのデザインなので、Appleのロゴシールでも貼れそうですね（:笑 もちろん、私はそんなことしませんが。私ならこんな感じにします。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fxkaijv7fnj30jv0fwtmk.jpg&#34;&gt;&lt;br&gt;
3-in-1カードリーダー、USB 2.0、ギガビットイーサネットポート、HDMIポート、USB 3.0が2つ、ヘッドホン・マイクジャックと、合計7つのインターフェースを搭載しているので、そこまで薄くはありません。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fxk9in4b2zj30zk0qogn5.jpg&#34;&gt;&lt;br&gt;
アクティベーションは、全行程を「小愛同学」が案内してくれ、音声入力にも対応しています。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fxk9iwc6tyj30zk0qowgp.jpg&#34;&gt;&lt;br&gt;
テンキー付きのデザインです。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fxk9j5dif6j30zk0qo76w.jpg&#34;&gt;&lt;br&gt;
数十分後、デスクトップ画面が表示されました。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fxk9j9ceaqj30zk0qo77w.jpg&#34;&gt;&lt;br&gt;
何はともあれ、まずは壁紙を変更します。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fxkb4gpa6ij31400u0k7b.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;開封レビューはこんなところでしょうか。ブログがまだ生きていることを証明するために、時々ひょっこり顔を出します。&lt;br&gt;
では、この辺で。カードの支払いに行ってきます。&lt;/p&gt;</description>
    </item>
    <item>
      <title>萌音クラウドノートプラットフォーム</title>
      <link>https://en.moejue.cn/ja/posts/78/</link>
      <pubDate>Tue, 06 Nov 2018 09:36:32 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/78/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://note.52ecy.cn/&#34; title=&#34;公式サイト&#34;&gt;公式サイト&lt;/a&gt; | &lt;a href=&#34;http://shang.qq.com/wpa/qunwpa?idkey=826e8e5961b8acf3eb7bb4fd8595a59e38deb618deaee70912dd0c4cd9f7457&#34; title=&#34;公式交流グループ&#34;&gt;公式交流グループ&lt;/a&gt; | &lt;a href=&#34;https://www.52ecy.cn/&#34; title=&#34;Blog&#34;&gt;ブログ&lt;/a&gt; | &lt;a href=&#34;https://github.com/178146582/note&#34; title=&#34;GitHub&#34;&gt;GitHub&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;エレガントなLaravel &lt;code&gt;+&lt;/code&gt; 非常に使いにくいMDUI &lt;code&gt;=&lt;/code&gt; 萌音クラウドノート。効率的なオンラインクラウドノートであり、技術文書のオンライン作成、閲覧、共有、ホスティングに特化しています。&lt;/p&gt;
&lt;h4 id=&#34;プロジェクトの起源&#34;&gt;プロジェクトの起源&lt;/h4&gt;
&lt;p&gt;ある日、&lt;a href=&#34;http://shang.qq.com/wpa/qunwpa?idkey=826e8e5961b8acf3eb7bb4fd8595a59e38deb618deaee70912dd0c4cd9f7457&#34; title=&#34;某コミュニティ公式交流グループ&#34;&gt;某コミュニティ公式交流グループ&lt;/a&gt;で、グループオーナーのRBQがこう言いました：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;クラウドノートを書いてくれない？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;また、ブロガーに残された時間が少ないため、多くの計画中の機能は断念されました&amp;hellip;..残念╮(╯▽╰)╭
まあ、私は通常プロジェクトの機能を紹介するのが好きではないので、ご自身で発見してください！&lt;/p&gt;
&lt;p&gt;これは今年書いた最後のプロジェクトになるかもしれません。なぜなら、ブログのサブタイトルに書かれているように、私は夢を追いかけるからです。
今年も年初の目標を達成しました。完璧〜！&lt;/p&gt;
&lt;h2 id=&#34;インストール要件&#34;&gt;インストール要件&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;LNMP/AMP PHP5.6.4+&lt;/li&gt;
&lt;li&gt;OpenSSL、PDO、Mbstring、Tokenizer、XML、fileinfo&lt;/li&gt;
&lt;li&gt;Composer&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;ダウンロード&#34;&gt;ダウンロード&lt;/h2&gt;
&lt;h4 id=&#34;1-このプロジェクトをクローン&#34;&gt;1. このプロジェクトをクローン&lt;/h4&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;git clone https://github.com/178146582/note.git
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;2-composerで拡張パッケージをインストール&#34;&gt;2. composerで拡張パッケージをインストール&lt;/h4&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;composer install
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;3-laravelのインストールを参照&#34;&gt;3. Laravelのインストールを参照&lt;/h4&gt;
&lt;blockquote&gt;
&lt;p&gt;途中の1万ステップは省略&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&#34;xx-完了&#34;&gt;xx. 完了&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;このプロジェクトにStarを付けてください〜（注意、これは特に重要です）&lt;/li&gt;
&lt;li&gt;あなたのドメインにアクセスするだけです&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;寄付ここをクリック&#34;&gt;&lt;a href=&#34;https://pay.52ecy.cn/?cid=23&amp;amp;pid=22&#34; title=&#34;寄付&#34;&gt;寄付❤ここをクリック&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fwxbu85mz8j30tl0owtas.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fwxbudsr9cj30u00gwjs5.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>1024 プログラマーの日おめでとう</title>
      <link>https://en.moejue.cn/ja/posts/77/</link>
      <pubDate>Wed, 24 Oct 2018 07:52:36 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/77/</guid>
      <description>&lt;p&gt;1024プログラマの日プログラムが世界を変える&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fwjd7sq91ij30p00dwjs7.jpg&#34;&gt;10月24日はプログラマの日とされている。
1024は2の10乗で、2進数の基本単位の一つです。
プログラマー（英語のProgrammer）は、プログラムの開発と保守に従事する専門家で、1024のように、この技術世界を構築するための、最も目立たない、地に足の着いた、核となる機能モジュールを持っています。&lt;/p&gt;
&lt;p&gt;プログラマーという職業を形容する次のような格言がある。
10年間のプログラミング、短い納期、長い要求。
何千行ものコード、どこにバグを隠すか。
たとえ新しいバージョンが稼動しても、忙しさは続く。
白と黒は逆さま、床で寝て、食堂で食べる。
夜中に目を覚ますと、誰もいない。
電気が消えたらケータイが鳴ってパニックになりそうで怖い。
｛間に合うかどうかわからない。&lt;/p&gt;
&lt;p&gt;if job == &amp;ldquo;プログラマー&amp;rdquo;.
print (&amp;ldquo;ハッピー1024#プログラマーデー&amp;rdquo;)
else: print (&amp;ldquo;1024#プログラマーデーおめでとう&amp;rdquo;)
print (&amp;ldquo;1024、1GB、ファーストクラスを楽しんでください！&amp;rdquo;)&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fwjd7i81oyj30u0140dk1.jpg&#34;&gt; [1024プログラマの日おめでとうございます。
&lt;a href=&#34;https://www.52ecy.cn/post-49.html&#34;&gt;2017年1024プログラマの日おめでとう&lt;/a&gt;
&lt;a href=&#34;https://www.52ecy.cn/post-10.html&#34;&gt;2016年1024プログラマの日おめでとうございます
&lt;/a&gt; 2018年、3年目の1024プログラマの日おめでとうございます！
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fwjd7ieij8j31hc141jxh.jpg&#34;&gt;。
プログラマーに属するこの特別な日には、プログラマー社員のために一連の限定特典がカスタマイズされます。&lt;/p&gt;
&lt;p&gt;祝日はありませんが、今日の仕事も元気いっぱいのアカ.コ.サー.ミ.ス.が、すべての技術的な弟の到着を歓迎します。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fwjeirdmkgj30dx0kl3zf.jpg&#34;&gt;。
朝早く起きたら、まずは元気いっぱいのコスプレイヤー嬢に一発やってもらいましょう！&lt;/p&gt;
&lt;p&gt;コードの奈落の底に埋もれるべく、コードだらけのピットに戻らねばならないが、可愛らしいお嬢さんが出迎えてくれるので、プログラマー仲間はやはり純粋な笑顔の花を咲かせた。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fwjeirompgj30fa0a67cc.jpg&#34;&gt;。
この世にプログラマがいてくれてありがとう！&lt;/p&gt;
&lt;p&gt;プログラマーがいなければ、今のカラフルなインターネットはなかった。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fwjeirrdjbj30fa0a6ahl.jpg&#34;&gt;。
プログラマーはコーディングを通して世界を変え、より良い生活を創造します。彼らはまた、せっかちな世の中で知識、技術、革新の追求を主張するために実践的な行動をとる。&lt;/p&gt;
&lt;p&gt;ミステリアスで控えめ、地に足がついていてゴールド。口下手で黙々と仕事をこなすが、興味やロマンがないわけではなく、ただ単にあなたを自分の世界に入れたくないだけなのかもしれない。&lt;/p&gt;</description>
    </item>
    <item>
      <title>このライトノベルがすごい！</title>
      <link>https://en.moejue.cn/ja/posts/76/</link>
      <pubDate>Sun, 07 Oct 2018 11:39:48 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/76/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fvzwa15s7pj30zj0mwdl6.jpg&#34;&gt;
数日前、隣の小さなサイトで『十年を経て、禁書目録が帰還』というキャッチコピーを見かけた。もちろん、今日のテーマは『とある魔術の禁書目録』ではないが、第三期を待っていたのはとても嬉しい。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fvzwa1hunoj30k00zk0wu.jpg&#34;&gt;
誰か気づいた人がいるだろうか、このキャッチコピーの作品紹介で触れられている「このライトノベルがすごい！」に。
数あるライトノベルのランキングや選考の中で、「このライトノベルがすごい！」は最も有名だと言える。そう、それは「年間作品」および「年間男性キャラクター・女性キャラクター」のランキングだ（05年版は04年の小説を評価するもので、毎年同様）。&lt;/p&gt;
&lt;p&gt;まず最初に触れておかなければならないこと：
『やはり俺の青春ラブコメはまちがっている。』が「このライトノベルがすごい！」で3年連続首位を獲得した！『俺ガイル』の強さは反則級で、当時、比企谷八幡は男性キャラクター部門で1位だっただけでなく、全キャラクターランキングでも1位を獲得した。
&amp;mdash;-さすがは俺の『俺ガイル』だ
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fvzx2wcm0tj31c00u0q7l.jpg&#34;&gt;
そのため、以下の出来事が起こった：
『俺ガイル』は「このラノ」公式によって特例リストに入れられ、翌年以降の「このライトノベルがすごい！」の選考には参加しなくなった。だから、それ以降『俺ガイル』がランキングに載らなかったのは、実力不足が原因ではなく、純粋にその実力がずば抜けていたからだ。&lt;/p&gt;
&lt;p&gt;渡航（『やはり俺の青春ラブコメはまちがっている。』『ガーリッシュナンバー』『クオリディア・コード』のライトノベル原作者）はこれについて、こう答えている――&lt;/p&gt;
&lt;p&gt;「&lt;strong&gt;この国、病気だろ（笑）。&lt;/strong&gt;」&lt;/p&gt;
&lt;p&gt;もし可能なら、『青春ラブコメ』も第三期が出てほしい 祈願～&lt;/p&gt;
&lt;p&gt;それでは、今年ランクインした作品を見てみよう。なお、私がよく知っているものだけを取り上げる。見ていないものについては、どうすることもできない。&lt;/p&gt;
&lt;p&gt;まず
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fvzxhc8qwxj31hc11q456.jpg&#34;&gt;
驚くべきことに、1位はまたも『りゅうおうのおしごと！』だった。たかが2016年の新作が2度も1位に輝くとは、一体どんな魔力があるのだろうか？&lt;/p&gt;
&lt;p&gt;まあ、ロリだ。&lt;/p&gt;
&lt;p&gt;続いては電撃文庫の『ソードアート・オンライン』
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fvzxmuds4ej311y0lcjuo.jpg&#34;&gt;
もうおなじみで、数年連続で上位にランクインしている。
ちなみに、『ソードアート・オンライン』第三期が本日放送開始、おめでたい、拍手喝采！
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fvzxmv75vjj31kw0w0183.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;そして、残念女神アクアの『この素晴らしい世界に祝福を！』
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fvzxvkr0hjj31kw0zoai9.jpg&#34;&gt;
第三期も出る機会があればいいなと心から願う。個人的には今後のストーリー展開が非常に楽しみだ。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fvzxvoui4hj311y0lc1kx.jpg&#34;&gt;
2016年の神作、『Re：ゼロから始める異世界生活』
そして、多くの人が「嫁」を乗り換え始めた（嫁は一生乗り換えることはない、増えるだけだ）。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fvzy9vpg4yj30t20gedhk.jpg&#34;&gt;
ああ、すみません、画像を間違えました。下の画像が正しいです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fvzyj2eb8rj31hc0u00y2.jpg&#34;&gt;
第二期はずっと確かな情報がなく、今年はOVAでごまかされた。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fvzy9x34x7j31hc0u0gvi.jpg&#34;&gt;
もういい、これ以上は言わない。さようなら。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fvzyind342j31kw0znk92.jpg&#34;&gt;
最後に、もう8102年（2018年）にもなったのに、『デート・ア・ライブ』第三期もついに来る。この10月に、私が6年間待ち焦がれた琴里が。
なんといっても約束された『ソードアート・オンライン』第三期、『とある魔術の禁書目録』第三期、『デート・ア・ライブ』第三期だ。これは不思議な10月だ。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fvzyvw1avnj31hc0xc14r.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>萌音影视 - オンライン動画アプリ</title>
      <link>https://en.moejue.cn/ja/posts/75/</link>
      <pubDate>Tue, 25 Sep 2018 07:41:02 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/75/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.52ecy.cn/&#34;&gt;ブログ&lt;/a&gt; | &lt;a href=&#34;https://www.moeins.cn/&#34;&gt;デモサイト&lt;/a&gt; | &lt;a href=&#34;http://shang.qq.com/wpa/qunwpa?idkey=618c7f3214a5c5ed06c9343a395371a8b27318e5190491bf7283fbf7468e35d7&#34;&gt;QQグループ&lt;/a&gt; | &lt;a href=&#34;https://github.com/178146582/moeins&#34;&gt;GitHub&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;洗練されたLaravelフレームワークと、全然可愛くないMeizi UIに基づいたオンライン動画アプリケーション&lt;/p&gt;
&lt;h4 id=&#34;作者より&#34;&gt;作者より&lt;/h4&gt;
&lt;p&gt;オンライン動画サイトはどこにでも溢れていますが、それは私が自分で一つ書くことを妨げるものではありません。こうすれば、後で自分でアニメを見るのも便利になりますし、結局、自分で手を動かしてこそ豊かになれるものです。さらに新しい知識も学べるのですから、なんと素晴らしいことでしょう。&lt;/p&gt;
&lt;p&gt;ページデザインは一部のウェブサイトを参考にしました。動画リソースはすべてインターネットからのものです。もし著作権侵害がありましたら、速やかにご連絡ください。&lt;/p&gt;
&lt;p&gt;一緒にあのうんざりする60秒広告を捨てましょう〜&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;データベースなし、バックエンドモードなし、設定ファイルは一つだけ(&lt;code&gt;config/web.php&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;広告なし、VIP解析をサポート、公式ソース、高速、多チャンネル、多カテゴリ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To-do:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;独立したチャンネルホームページ&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;テレビ局ライブ配信&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;複数の解析インターフェース&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;追加予定&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;スポンサー限定版&#34;&gt;スポンサー限定版&lt;/h4&gt;
&lt;p&gt;これはデュアルバージョンアプリケーションです。つまり、2つの異なるバージョンがあります。スポンサー版は通常版を最適化したもので、機能とパフォーマンスが大幅に向上し、実行速度が大幅に向上し、優先的な更新が維持されます。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;さて、問題です。スポンサー限定版はどのように入手できますか？&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/178146582/qr#author&#34;&gt;ここ&lt;/a&gt; または &lt;a href=&#34;https://pay.52ecy.cn/&#34;&gt;ここ&lt;/a&gt; でプロジェクトに58元以上を寄付することで入手できます。&lt;/p&gt;
&lt;p&gt;もちろん、もしプロジェクトがあなたのお役に立てたなら、またはあなたが必要とするなら、私たちを支援することを選択できます。たとえわずかな金額でも、それは愛です。&lt;/p&gt;
&lt;p&gt;オープンソースプロジェクトを書く人が利益のために書くことはないと思います。結局のところ、それはレンガ工場で一日レンガを運ぶよりも稼げないからです。&lt;/p&gt;
&lt;h2 id=&#34;インストール要件&#34;&gt;インストール要件&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;LNMP/AMP (PHP5.6+が必要)&lt;/li&gt;
&lt;li&gt;curl、OpenSSL拡張機能&lt;/li&gt;
&lt;li&gt;Composer&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;composerによるメインプログラムのインストール&#34;&gt;Composerによるメインプログラムのインストール&lt;/h2&gt;
&lt;h4 id=&#34;1-composerを使用してmoeinsをインストール&#34;&gt;1. Composerを使用してmoeinsをインストール&lt;/h4&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ composer create-project a-jue/moeins 
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#依存ライブラリのインストール後、インストールスクリプトが自動的に実行されます
#以下のプロンプトが表示されたらインストール完了です

&amp;gt; Illuminate\Foundation\ComposerScripts::postInstall
&amp;gt; php artisan optimize
Generating optimized class loader
The compiled services file has been removed.
&amp;gt; php artisan key:generate
Application key [base64:Hx0I9UUQg7OyIz8lpDYG6Y/gW1uxS760ERdWfGG2jyQ=] set successfully. 
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;2-ディレクトリ権限&#34;&gt;2. ディレクトリ権限&lt;/h4&gt;
&lt;p&gt;&lt;code&gt;public&lt;/code&gt;サブディレクトリを公開Webディレクトリとして設定します&lt;/p&gt;
&lt;h4 id=&#34;3-urlリライト&#34;&gt;3. URLリライト&lt;/h4&gt;
&lt;p&gt;Apacheサーバーの場合、プロジェクトディレクトリ内の&lt;code&gt;.htaccess&lt;/code&gt;にはすでにリライトルールが設定されています。必要に応じて適宜修正してください。Nginxサーバーの場合、以下は参考となる設定です：&lt;/p&gt;</description>
    </item>
    <item>
      <title>放課後茶会</title>
      <link>https://en.moejue.cn/ja/posts/74/</link>
      <pubDate>Fri, 14 Sep 2018 11:36:21 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/74/</guid>
      <description>&lt;iframe frameborder=&#34;no&#34; border=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; width=&#34;298&#34; height=&#34;52&#34; src=&#34;https://music.163.com/outchain/player?type=2&amp;amp;id=514543069&amp;amp;auto=0&amp;amp;height=32&#34;&gt;&lt;/iframe&gt;  
ねぇ  
ねぇ  
![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9brmegayj31kw0zkdq6.jpg)  
思い出のかけらに   
名前をつけて保存するなら   
「宝物」が一番ふさわしいと思う   
そうだね 私たちが一緒に過ごした時間は    
心の容量を   
いっぱいに満たすほど充実してた    
![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9btv9wj9j31kw0zkwk9.jpg)  ときめき色の毎日    
見慣れた制服と上履き    
ホワイトボードの落書き    
そのすべてを置いていかなきゃいけないのかな   
明日への入り口に    
![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9buq2brdj30zk0k0q6c.jpg)  
でもね 出会えたんだ！    
素敵な天使に  ![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9bv0prdvj31hc0xc7aq.jpg)卒業は終わりじゃない   
これからも私たちは仲間だから ![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9doy7odnj30sg0g074y.jpg)  
一緒に撮った写真   
おそろいのキーホルダー   
それは永遠の輝き    
ありがとう いつも変わらない笑顔でいてくれて    
![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9bvapw38j31jk15oqcw.jpg)    
ねぇ 桜の木も   
少し背が伸びたみたい    
私たちの目には見えないくらい   
ゆっくりなスピードだけど   
でもあの大空は きっとずっと見守ってくれてたんだ   
![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9bxcxy2jj30w30i20uo.jpg)  
何度転んでも  
私たちは最後まで歩き続けた   
![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9c2ivlwqj31hc0xc0z6.jpg) 放課後の廊下で  
音符の羽が舞い散る  
全部が積もる前に   
![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9by0lsm5j31kw0w07ch.jpg)  
もっとここにいられたらって、どれだけ思ったことか   
でもね 触れられたんだ！    
愛すべき天使に  
![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9c03plcpj30dw0k7q4f.jpg)  
思わず「ただいま」って言いたくなる   
この場所はあの頃のまま   
![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9c0dd5vuj31kw0zkdq6.jpg) メールの受信箱    
○印をつけたカレンダー   
音楽に感謝してる   
こんなに素敵な夢に出会わせてくれたから    
駅のホーム 河川敷の道  
離れ離れになっても   
同じ空を見上げて    
私たちの歌を一緒に歌おう！    
でもね 出会えたんだ！   
![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9c1oq5w3j30dw0dw74t.jpg) 大好きな天使に   
卒業は終わりじゃない  
これからも私たちは仲間だから   
![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9c2c56maj31hc0xcwny.jpg)  
「大好き」って言ってくれたら   
「大大大好き」って返すから    
忘れたものなんて何もない   
私たちは 永遠に 一つだよ  
![](https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fv9c18ka3hj31kw0w07ch.jpg)  
冒頭のは、唯、澪、律、紬が最終回で梓ちゃんのために書いた『天使との出会い』。本当に泣きそうになりました。  
&lt;p&gt;彼女たちは、最高の青春とは何かを教えてくれたから。&lt;/p&gt;</description>
    </item>
    <item>
      <title>QQ、支付宝（アリペイ）、微信支付（WeChat）の3つの決済コードが1つに</title>
      <link>https://en.moejue.cn/ja/posts/73/</link>
      <pubDate>Fri, 24 Aug 2018 06:23:20 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/73/</guid>
      <description>&lt;h2 id=&#34;receive-the-money&#34;&gt;Receive the money&lt;/h2&gt;
&lt;p&gt;ラ受け取りは、アリペイ、ウィーチャット、QQキャッシュコードの3つの統合システムです。&lt;/p&gt;
&lt;p&gt;thinkPHP5.0 + MySQL + layuiで完成しました。&lt;/p&gt;
&lt;p&gt;デモサイト：&lt;a href=&#34;https://qr.52ecy.cn&#34;&gt;Paypal&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;プロジェクトアドレス: &lt;a href=&#34;https://github.com/178146582/qr&#34;&gt;GitHub&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;序文&#34;&gt;序文&lt;/h2&gt;
&lt;p&gt;チュートリアルも既成のコードも、インターネット上ではほとんどどこにでもある。&lt;/p&gt;
&lt;p&gt;QRコードのアップロード、QRコードの識別、3-in-one支払いコードの生成、プロセスサービスの完全なセットを含む&lt;code&gt;セット&lt;/code&gt;という言葉の具体化です。&lt;/p&gt;
&lt;p&gt;3 in 1の大部分は個人的な使用のためだけであり、お金ラのコレクションは、複数のユーザーに3 in 1のサービスを提供することができます。&lt;/p&gt;
&lt;p&gt;しかし、それは背景を持っていない、2つの主な理由があります：&lt;/p&gt;
&lt;p&gt;1.頻繁に表示したり、構成、構成、生涯使用を変更する必要はありません。&lt;/p&gt;
&lt;p&gt;2.著者の怠惰な癌の攻撃（また、インストールウィザードの不在を促した）&lt;/p&gt;
&lt;p&gt;3.あなたが本当にそれを必要とする場合は、後でそれについて話します&lt;/p&gt;
&lt;p&gt;コード自体は比較的軽量で、フレームワークを使っているためにサイズが大きくなっている。&lt;/p&gt;
&lt;p&gt;まあ、技術的な内容自体はなく、ほとんど使われない、人間の必要性に応じて書かれている、ちなみに、水水テキスト〜〜エスケープ（-）。&lt;/p&gt;
&lt;h2 id=&#34;原則&#34;&gt;原則&lt;/h2&gt;
&lt;p&gt;3つのコードが1つになった領収書、とても魔法のように聞こえるし、感じるが、実際には、原理は非常に簡単です！&lt;/p&gt;
&lt;p&gt;QRコードは、実際には一連の文字列を含む単なる画像である。アリペイであれWeChatの支払いコードであれ、基本的には支払いリンクを含むQRコードなのだ。つまり、アリペイの閲覧ページであればアリペイの決済リンクを、WeChatであればWeChatのリンクを&amp;hellip;&amp;hellip;という具合だ。&lt;/p&gt;
&lt;p&gt;そして、ここには「ユーザーエージェント」というナレッジポイントがあり、例えばウェブビューの大手メーカーは独自のUA情報を持っている：&lt;/p&gt;
&lt;p&gt;QQ: &lt;code&gt;MQQBrowser/6.2 TBS/043221 Safari/537.36 QQ/7.0.0.3135&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;WeChat: &lt;code&gt;MQQBrowser/6.2 TBS 043220 Safari/537.36 MicroMessenger/6.5.8.1060 NetType/4G Language/zh_CN&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Alipay: &lt;code&gt;UCBrowser/11.5.0.939 UCBS/2.10.1.6 Mobile Safari/537.36 AliApp(AP/10.0.15.051805) AlipayClient/10.0.15.051805 Language/zh-Hans&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;これでQQなのかWeChatなのかアリペイのスキャンなのか一目瞭然：&lt;/p&gt;
&lt;p&gt;ユーザーエージェント`にQQ/が含まれている。&lt;/p&gt;
&lt;p&gt;MicroMessengerを含む&lt;code&gt;User-Agent&lt;/code&gt;はWeChatです。&lt;/p&gt;
&lt;p&gt;User-Agent` には AlipayClient が含まれています。&lt;/p&gt;
&lt;p&gt;各ソフトウェアを区別できるので、URLを作成し、QRコード生成でURLをスキャンし、ブラウザのUAを判別して異なる決済コードを配信することができる。&lt;/p&gt;
&lt;p&gt;大まかには以下のような流れになる：&lt;/p&gt;
&lt;p&gt;クライアントがコードをスキャン → サーバが &lt;code&gt;User-Agent&lt;/code&gt; によってクライアントの種類を判別 → 異なる処理を返す&lt;/p&gt;
&lt;p&gt;これも注目に値する：&lt;/p&gt;
&lt;p&gt;QQ: httpsプロトコルは、QQを起こすことができない。&lt;/p&gt;
&lt;p&gt;アリペイ：httpsプロトコル、直接アリペイAPPを起動することができます。&lt;/p&gt;</description>
    </item>
    <item>
      <title>独身哈士奇からの福利</title>
      <link>https://en.moejue.cn/ja/posts/72/</link>
      <pubDate>Fri, 17 Aug 2018 05:57:37 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/72/</guid>
      <description>&lt;p&gt;ここは大きな背景画像のはずです
画像には七夕の祝福の言葉があります&lt;/p&gt;
&lt;p&gt;(スペーススペース)ここは祝福の言葉とイベントの始まりです！〜！&lt;/p&gt;
&lt;p&gt;イベントテーマ：この場所はイベントテーマです
（七夕には何か贈るべきでしょう）
イベント期間：イベント期間
（この1〜2日でしょう）
イベント内容：ここではイベントと七夕、そして特典を紹介します
（Pixiv 1-10000 id の画像パック、合計5.93G、一万枚、不可解な内容が含まれる可能性が非常に高い）&lt;/p&gt;
&lt;p&gt;去年のイベントを見てみましょう
&lt;a href=&#34;https://www.52ecy.cn/post-43.html&#34;&gt;七夕 - 彼氏/彼女を連れてきました - 幸せ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最後に、言いたいことを言います。
バレンタインギフトを探したが見つからなかった&amp;hellip;..
バレンタインデーには何も贈るものがない。彼氏/彼女を贈ることはできない。自分自身もいない。どうしてもだめなら、自分で新しいものを一つ作るしかない。
他に何もありません、画像パックを贈るだけです。&lt;/p&gt;
&lt;p&gt;注釈：この記事の内容は自分で想像する必要があります。この記事をとても美しく、とても高級なものだと考えてください。ありがとうございます。
.down_link{background:url(&amp;lsquo;&lt;a href=&#34;https://www.52ecy.cn/content/uploadfile/201707/md-bg.jpeg%27&#34;&gt;https://www.52ecy.cn/content/uploadfile/201707/md-bg.jpeg&#39;&lt;/a&gt;) no-repeat 100% 0% #fffdff; border: 1px solid #faf8fb; border-radius: 2px; color: #666; font-size: 14px; margin-bottom: 10px; padding: 5px 20px;}.downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downlink a{text-decoration:none;} .downlink a{text-decoration:none;font-size:15px;} .downlink a:link{color: #ffffff;} .downlink a:visited{color: #ffffff;} .downlink a:hover{color: #ffffff;} .downlink a:active{color: #ffffff;} .downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF !important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .yanshibtn{background: none repeat scroll 0 0 #d33431; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downbtn:hover,.yanshibtn:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .downbtn a:hover,.yanshibtn a:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;}&lt;/p&gt;</description>
    </item>
    <item>
      <title>【あの夏】蛍火の森</title>
      <link>https://en.moejue.cn/ja/posts/71/</link>
      <pubDate>Wed, 15 Aug 2018 08:17:44 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/71/</guid>
      <description>&lt;p&gt;もし、いつか消えてしまうと分かっている恋が目の前にあったら、あなたはそのために努力しますか？&lt;/p&gt;
&lt;p&gt;多くの人は、別れるために恋をする人はいない、と言います。&lt;/p&gt;
&lt;p&gt;でも、それは間違いです。&lt;/p&gt;
&lt;p&gt;なぜなら、恋の魅力とは、きっとその中に深く溺れて、自分をコントロールできなくなることにあるのでしょう……&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fuagpcp7z1j30z10lwq47.jpg&#34;&gt;&lt;br&gt;
一年、また一年と、彼がいたから、毎年の夏は盛大なお祭りのようでした。明るい日差し、せせらぎの音、蝉の声、木陰、アイスキャンディー、スイカ、大木の周りを追いかけっこして笑い合い、草の上に寝転んで一休み……&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fuah77386lj31hc0u8tbk.jpg&#34;&gt;彼と一緒にいると、どんなにつまらないことでも面白くなり、どんなに長い時間もあっという間に過ぎていきました。少女は、お祭りを心待ちにするように、何度も何度も夏の訪れを待ち望み、何度も何度も夏が永遠に終わらないことを願いました。だから彼女は泣きながら彼と約束をしました――&lt;/p&gt;
&lt;p&gt;何があっても、絶対に私に触れてはだめだよ！&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fuah83eemxj30zk0k0jt5.jpg&#34;&gt;&lt;br&gt;
少女は知っていました、いつか時が二人を分かつことを。だから、彼女は怖かったのです。仮面の下のあの輝く瞳に二度と会えなくなることが。蝶が仮面に止まった時の、彼の微笑む横顔に二度と会えなくなることが。二人が戯れる時の、彼の不器用な姿に二度と会えなくなることが。彼に、二度と会えなくなることが……&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fuah9rjmn5j30v22wyq9t.jpg&#34;&gt;&lt;br&gt;
ホタル、やっと君を抱きしめられる！&lt;br&gt;
一方、少女はとっくに感動で胸がいっぱいになり、目に涙を浮かべ、ずっと焦がれていたその胸に飛び込みました。蛍火の中で、短く、そして最初で最後の抱擁を感じながら。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fuahn8usk3j31kw0w00xd.jpg&#34;&gt;&lt;br&gt;
誰もが心の中に一つの「蛍火の杜」を持っています。それはおとぎ話のように、あなたが少しずつ大人になるにつれて、ギンのように砕け散り、蛍火のように飛び散っていくのです。そしてそれこそが、成長の代償なのです。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fuah7708r1j30xc0iw75d.jpg&#34;&gt;&lt;br&gt;
恋とは、いつも心残りに満ちています。もしかしたら、それこそが恋の美しさなのかもしれません。そして蛍火は、か弱く、おぼろげで、神秘的で、日の目を見ることのできない、束の間の恋を象徴しているのです。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fuah77ymb1j30zk0k0q4n.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>世界はこんなに広い、私が連れて行ってあげる 123</title>
      <link>https://en.moejue.cn/ja/posts/70/</link>
      <pubDate>Wed, 01 Aug 2018 06:09:21 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/70/</guid>
      <description>&lt;p&gt;賢い人にしかこの文章は見えないそうです。パスワードは記事タイトルの後ろにあります&lt;br&gt;
人生は短く、世界は広い。&lt;br&gt;
小飞机助手は、S*h·a·d·o·w·s·o·c·k·sをベースにしたVPNプロキシソフトウェアアシスタントです。複数のノードが内蔵されており、可用率は80%にも達します。ワンクリックでグレートファイアウォールを回避し、科学的なインターネットアクセスという目的を達成できます。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ftu6v4ddnoj30an07q0u3.jpg&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;免責事項&#34;&gt;&lt;strong&gt;免責事項&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;とある月のない嵐の夜、プログラマーである某ブロガーは、資料検索や学習のために頻繁にインターネットを利用する必要がありました。しかし、国内のBaiduでは英語の検索結果が不十分なため、Googleを使う必要があります。そして、中国大陸ではGoogleに直接アクセスできないため、やむを得ず「梯子」（VPNなどの迂回ツール）を使い、グレートファイアウォールを乗り越えるしかありませんでした。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;本ソフトウェアはフリーソフトです。無断で販売しないでください！&lt;/li&gt;
&lt;li&gt;本ソフトウェアは学習と交流のみを目的としています。違法な用途には使用しないでください。&lt;/li&gt;
&lt;li&gt;本ソフトウェアを使用したことによるいかなる行為も作者とは無関係であり、作者は一切の法的責任を負いません！&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ftu7wpigt9j30go0hngm6.jpg&#34;&gt;&lt;/p&gt;
&lt;h4 id=&#34;動作環境&#34;&gt;&lt;strong&gt;動作環境&lt;/strong&gt;&lt;/h4&gt;
&lt;p&gt;.NET Framework 4.6.2 と Microsoft Visual C++ 2015 Redistributable (x86) のインストールが必要です。&lt;/p&gt;
&lt;h4 id=&#34;基本的な使い方&#34;&gt;&lt;strong&gt;基本的な使い方&lt;/strong&gt;&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;小飞机助手をダブルクリックして実行すると、内蔵のS·h·a·d·o·w·s·o·c·k·sが自動的に展開されます（ウイルス対策ソフトにご注意ください）。&lt;/li&gt;
&lt;li&gt;小飞机助手はデフォルトで高可用性モードを使用していますが、モードを切り替えたり、お好みのノードを選択したりすることもできます。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;システムプロキシを有効にする&lt;/code&gt; を選択して、システムプロキシを有効にします。ブラウザのプロキシプラグインを無効にするか、システムプロキシを使用するように設定してください。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;サーバーの自由な切り替え&#34;&gt;&lt;strong&gt;サーバーの自由な切り替え&lt;/strong&gt;&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;負荷分散：サーバーをランダムに選択します。&lt;/li&gt;
&lt;li&gt;高可用性：遅延とパケットロス率に基づいてサーバーを自動的に選択します。&lt;/li&gt;
&lt;li&gt;累積パケットロス率：定期的なpingによって速度を測定し、選択します。この機能を使用するには、メニューの&lt;code&gt;可用性を統計&lt;/code&gt;を有効にしてください。&lt;/li&gt;
&lt;li&gt;IStrategyインターフェースを実装して切り替えルールをカスタマイズし、pull requestを送信することもできます。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;現在のノードが利用できない場合は、ご自身でノードの切り替えをお試しください。&lt;/p&gt;
&lt;p&gt;ウイルス対策ソフトがウイルスとして検出する可能性があります。信頼リストに追加してください。ご心配な場合は、仮想マシンで実行してください。&lt;br&gt;
Haboレポート：https://habo.qq.com/file/showdetail?pk=AD0GYV1oB2UIP1s9#pephoto .down_link{background:url(&amp;lsquo;&lt;a href=&#34;https://www.52ecy.cn/content/uploadfile/201707/md-bg.jpeg%27&#34;&gt;https://www.52ecy.cn/content/uploadfile/201707/md-bg.jpeg&#39;&lt;/a&gt;) no-repeat 100% 0% #fffdff; border: 1px solid #faf8fb; border-radius: 2px; color: #666; font-size: 14px; margin-bottom: 10px; padding: 5px 20px;}.downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downlink a{text-decoration:none;} .downlink a{text-decoration:none;font-size:15px;} .downlink a:link{color: #ffffff;} .downlink a:visited{color: #ffffff;} .downlink a:hover{color: #ffffff;} .downlink a:active{color: #ffffff;} .downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF !important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .yanshibtn{background: none repeat scroll 0 0 #d33431; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downbtn:hover,.yanshibtn:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .downbtn a:hover,.yanshibtn a:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;}&lt;/p&gt;</description>
    </item>
    <item>
      <title>Woothosting 6ドル/年 vps测评</title>
      <link>https://en.moejue.cn/ja/posts/69/</link>
      <pubDate>Sun, 22 Jul 2018 08:28:06 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/69/</guid>
      <description>&lt;p&gt;**Woothostingは2019年4月1日に買収されました、もう買わないでください(リンク切れ) **【テンセントのクラウドサーバーは安心・信頼・高性能、多彩な構成から選べます】(&lt;a href=&#34;https://cloud.tencent.com/redirect.php?redirect=1001&amp;amp;cps_key=%292aed6076dbae3172c0dc334fb67ec869&amp;amp;from=consol&#34;&gt;https://cloud.tencent.com/redirect.php?redirect=1001&amp;cps_key=)2aed6076dbae3172c0dc334fb67ec869&amp;from=consol&lt;/a&gt;e)
私は上記からサーバーを購入しましたので、ぜひウェーブをお勧めします。
ヨーグルトを構築するために年間3.99ドルを購入することもクールです（構築することはできませんああ私に来ることができます）
暖かいヒント：&lt;/p&gt;
&lt;p&gt;1.登録するQQメールボックスを使用しないでください。
2.サービスプロバイダは、米国、昼間の仕事の受注であり、彼らはその夜オフ、そう返信されません
3.マシン名は、サーバーを使用する場合は自動的に開かれます。他の名前は手動で開くことができます。&lt;/p&gt;
&lt;p&gt;VPS: OpenVZ&lt;/p&gt;
&lt;p&gt;CPU&lt;/p&gt;
&lt;p&gt;RAM&lt;/p&gt;
&lt;p&gt;ハードドライブ&lt;/p&gt;
&lt;p&gt;流量&lt;/p&gt;
&lt;p&gt;ポート&lt;/p&gt;
&lt;p&gt;年間支払額（クリックして購入）&lt;/p&gt;
&lt;p&gt;1&lt;/p&gt;
&lt;p&gt;96M&lt;/p&gt;
&lt;p&gt;5G&lt;/p&gt;
&lt;p&gt;250G&lt;/p&gt;
&lt;p&gt;100M&lt;/p&gt;
&lt;p&gt;[$3.99] (javascript:˶˙ᵕ˙˶)&lt;/p&gt;
&lt;p&gt;1&lt;/p&gt;
&lt;p&gt;192M&lt;/p&gt;
&lt;p&gt;10G&lt;/p&gt;
&lt;p&gt;1T&lt;/p&gt;
&lt;p&gt;100M&lt;/p&gt;
&lt;p&gt;[5本のナイフ] (javascript:￤)&lt;/p&gt;
&lt;p&gt;1&lt;/p&gt;
&lt;p&gt;0.5G&lt;/p&gt;
&lt;p&gt;15G&lt;/p&gt;
&lt;p&gt;1.5T&lt;/p&gt;
&lt;p&gt;100M&lt;/p&gt;
&lt;p&gt;[6本のナイフ] (javascript:⋈◍＞◡＜◍)。&lt;/p&gt;
&lt;p&gt;1&lt;/p&gt;
&lt;p&gt;1G&lt;/p&gt;
&lt;p&gt;20G&lt;/p&gt;
&lt;p&gt;2T&lt;/p&gt;
&lt;p&gt;100M&lt;/p&gt;
&lt;p&gt;[6本のナイフ] (javascript:˶˙ᵕ˙˶)&lt;/p&gt;
&lt;p&gt;1&lt;/p&gt;
&lt;p&gt;0.5G&lt;/p&gt;
&lt;p&gt;20G&lt;/p&gt;
&lt;p&gt;1.5T&lt;/p&gt;
&lt;p&gt;1000M&lt;/p&gt;
&lt;p&gt;[8本のナイフ] (javascript:⋈◍＞◡＜◍)。&lt;/p&gt;
&lt;p&gt;1&lt;/p&gt;
&lt;p&gt;1G&lt;/p&gt;
&lt;p&gt;25G&lt;/p&gt;
&lt;p&gt;2.5T&lt;/p&gt;
&lt;p&gt;100M&lt;/p&gt;
&lt;p&gt;[8本のナイフ】(javascript:⋈◍＞◡＜◍)。&lt;/p&gt;
&lt;p&gt;1&lt;/p&gt;
&lt;p&gt;1G&lt;/p&gt;
&lt;p&gt;30G&lt;/p&gt;
&lt;p&gt;2T&lt;/p&gt;
&lt;p&gt;100M&lt;/p&gt;
&lt;p&gt;[9ドル] (javascript:˶˙ᵕ˙˶)&lt;/p&gt;
&lt;p&gt;1&lt;/p&gt;
&lt;p&gt;1G&lt;/p&gt;
&lt;p&gt;40G&lt;/p&gt;
&lt;p&gt;3T&lt;/p&gt;
&lt;p&gt;100M&lt;/p&gt;
&lt;p&gt;[9ドル] (javascript:˶˙ᵕ˙˶)&lt;/p&gt;
&lt;p&gt;2&lt;/p&gt;
&lt;p&gt;1G&lt;/p&gt;
&lt;p&gt;25G&lt;/p&gt;
&lt;p&gt;3T&lt;/p&gt;
&lt;p&gt;100M&lt;/p&gt;
&lt;p&gt;[9ドル] (javascript:˶˙ᵕ˙˶)&lt;/p&gt;
&lt;p&gt;2&lt;/p&gt;
&lt;p&gt;1G&lt;/p&gt;</description>
    </item>
    <item>
      <title>萌音コミュニティがやってきたよ〜！わぁ！</title>
      <link>https://en.moejue.cn/ja/posts/27/</link>
      <pubDate>Sat, 07 Jul 2018 07:41:09 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/27/</guid>
      <description>&lt;p&gt;2ヶ月の情熱を込めた作品、萌音コミュニティがついに登場！
新世代のオープンな二次元交流コミュニティとして、画像、動画、音声、さらにはブラックテクノロジーなど、許可された範囲内で、ほぼあらゆるコンテンツを投稿できます&amp;hellip;&lt;/p&gt;
&lt;p&gt;幻想領域は去り、萌音コミュニティがやってきた！女装男子、BL、百合、えええっなロリ、緩♀交探し、哲♂学談義など、何でもあり！古来より赤と青はCP（カップル）になり、百合かBLのどちらかだ。さあ、私たちと契約しよう！&lt;/p&gt;
&lt;p&gt;萌音コミュニティは、超楽しいACGN二次元交流コミュニティ、愛と調和に満ちた二次元コミュニティです。新作アニメ、旧作アニメ、日本のアニメ画像、福利アニメ、MMDなど、ACGNリソースが何でも揃っています。みんなでツッコミを入れ、弾幕を流し、コスプレ仲間を見つけ、二次元オタクの日常を共有し、二次元の素晴らしい世界へ飛び込もう！
&lt;a href=&#34;https://www.moeins.com&#34;&gt;主站点 www.moeins.com&lt;/a&gt;
&lt;a href=&#34;https://www.moeins.cn/&#34;&gt;备用站点 www.moeins.cn&lt;/a&gt;
&lt;strong&gt;# このコミュニティを作った目的について&lt;/strong&gt;
実は特に目的はありません。ただ、自分だけの二次元コミュニティが欲しかったんです。そして、二次元好きの仲間たちがそこで他愛もないおしゃべりをするような場所を。例えば、「俺の嫁が可愛いか、お前の嫁が可愛いか」みたいなことを。そうして、このコミュニティは誕生しました。
萌音コミュニティが成功するかどうかは分かりませんが、私たちは心を込めて作り上げていきます。
どうせドメインの更新料が増えるだけですし、現在、&lt;a href=&#34;http://bbs.76fx.com/&#34;&gt;齐乐分享&lt;/a&gt;が提供するロサンゼルスのデータセンターでホスティングされています。ドメインの登録（备案）をしていないので。
&lt;strong&gt;# 萌音コミュニティの誕生は以下のプロジェクトに感謝します&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;thinkPHP&lt;/li&gt;
&lt;li&gt;layui&lt;/li&gt;
&lt;li&gt;fly&lt;/li&gt;
&lt;li&gt;Onedrive&lt;/li&gt;
&lt;li&gt;layuiCMS 2.0&lt;/li&gt;
&lt;li&gt;video.js&lt;/li&gt;
&lt;li&gt;jQuery&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;上記の偉大な方々に敬意を表します！&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;# 恒例の画像公開&lt;/strong&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1ft1g3egd90j317t0pv7cl.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ft1g290p9bj31gt0p4div.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1ft1g2952ddj314h0p6di9.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>投稿者は誰？</title>
      <link>https://en.moejue.cn/ja/posts/68/</link>
      <pubDate>Mon, 25 Jun 2018 07:53:09 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/68/</guid>
      <description>&lt;p&gt;私が最初にWeiboのクラウドストレージを二次元ランダムAPIの画像ストレージとして使用して以来、ネット上には多くの類似した二次元ランダムAPIが派生しました。私が知っているものの中からいくつかを選んでアクセスしてみたところ、多くの画像が非常によく見知ったものでした。しかも、画像リンクは私のデータベースでも見つかるのです。これって、私がアップロードしたものじゃないですか？
彼らは皆、私のものを収集しているのでしょうか？
もちろん、口頭だけでは証拠になりません。根拠が必要です。
そこで、私が知っている10個のAPIインターフェースを選びました。これらはすべてSina画像ホスティングに保存されている二次元APIです。サーバーに接続して一晩中収集したところ、約10万枚の画像を収集しました。重複や無効なものをフィルタリングした後、約1万枚が残りました。驚くべきことに、これは10個のインターフェースのデータが基本的に同じであることを示しています。
次に、プログラムを使ってリンクのアップロード者を分析したところ、この1万枚のうち75%の画像が幻想領域画像ホスティングからのものでした。
Sina画像アドレスからSinaユーザーを特定することは、もはや秘密ではありませんが。
&lt;a href=&#34;https://sandbox.runjs.cn/show/fx9b4hyv&#34;&gt;オンラインデモアドレス&lt;/a&gt; これはJSバージョンで、コードは右クリックで直接取得できます。
特定することで、API内の大量の画像が幻想領域画像ホスティングのWeiboアップロード、つまり私自身がアップロードしたものであることがわかります。それらのいわゆるAPIが私のものを盗用しているかどうかは、彼ら自身がよく知っているでしょう。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fsnjxvkx9jj30fv08i0zn.jpg&#34;&gt;
原理の解明：
現在登録されているWeiboアカウントのUIDは非常に大きいため、アップロードされる画像は基本的に007で始まります。そのため、以下の画像は私がWeiboで適当に古いアカウントからコピーしてきたものです。
リンクは &lt;a href=&#34;https://wxt.sinaimg.cn/thumb300/9d0d09ably1fsn7m0jyzzj20m80cidgm.jpg&#34;&gt;https://wxt.sinaimg.cn/thumb300/9d0d09ably1fsn7m0jyzzj20m80cidgm.jpg&lt;/a&gt; の画像&lt;/p&gt;
&lt;p&gt;ファイル名 9d0d09ably1fsn7m0jyzzj20m80cidgm を抽出し、最初の8桁 9d0d09ab を16進数で変換すると 2634877355 になります。これがユーザーのUIDです。
そして、Weiboユーザーのホームページアドレス:https://weibo.com/u/+uid に連結します。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fsni85dka6j30ik06wjrb.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;もし &lt;a href=&#34;http://wx1.sinaimg.cn/mw690/0072Vf1pgy1foxkfv4t7bj31hc0u018w.jpg&#34;&gt;http://wx1.sinaimg.cn/mw690/0072Vf1pgy1foxkfv4t7bj31hc0u018w.jpg&lt;/a&gt; のような、005、006、007で始まるものが出現した場合は、62進数で変換します。
なぜこれが出現するかというと、8桁の16進数では保存しきれなくなったためだと思われます。
&lt;a href=&#34;https://weibo.com/u/6456124939&#34;&gt;https://weibo.com/u/6456124939&lt;/a&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fsnkgpcq7pj30il06vjrb.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>[ノート]Git常用コマンド大全</title>
      <link>https://en.moejue.cn/ja/posts/57/</link>
      <pubDate>Sat, 16 Jun 2018 08:56:21 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/57/</guid>
      <description>&lt;p&gt;前回に引き続き、時間を見つけてGitの主要なコマンドをまとめました。非常に素晴らしい、高解像度（1759*3162）のチートシートを見つけました。&lt;/p&gt;
&lt;p&gt;ファイルの表示、追加、コミット、削除、復元、変更のリセット&lt;/p&gt;
&lt;p&gt;git help &lt;command&gt; # &lt;command&gt;のヘルプを表示&lt;/p&gt;
&lt;p&gt;git show # 特定のコミットの内容を表示 git show $id&lt;/p&gt;
&lt;p&gt;git co &amp;ndash; &lt;file&gt; # ワークスペースの変更を破棄&lt;/p&gt;
&lt;p&gt;git co . # ワークスペースの変更を破棄&lt;/p&gt;
&lt;p&gt;git add &lt;file&gt; # 作業ファイルの変更をローカルのステージングエリアにコミット&lt;/p&gt;
&lt;p&gt;git add . # 変更されたすべての作業ファイルをステージングエリアにコミット&lt;/p&gt;
&lt;p&gt;git rm &lt;file&gt; # バージョン管理からファイルを削除&lt;/p&gt;
&lt;p&gt;git rm &lt;file&gt; &amp;ndash;cached # バージョン管理からファイルを削除するが、ファイル自体は削除しない&lt;/p&gt;
&lt;p&gt;git reset &lt;file&gt; # ステージングエリアから作業ファイルに復元&lt;/p&gt;
&lt;p&gt;git reset &amp;ndash; . # ステージングエリアから作業ファイルに復元&lt;/p&gt;
&lt;p&gt;git reset &amp;ndash;hard # 直近のコミットの状態に戻す。つまり、前回のコミット以降のすべての変更を破棄&lt;/p&gt;
&lt;p&gt;git ci &lt;file&gt; git ci . git ci -a # git add, git rm, git ciなどの操作を一度にまとめて実行　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　git ci -am &amp;ldquo;some comments&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ウェブパケットキャプチャ - 私のプレイリスト</title>
      <link>https://en.moejue.cn/ja/posts/31/</link>
      <pubDate>Tue, 05 Jun 2018 11:04:05 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/31/</guid>
      <description>&lt;p&gt;最近、多くの人のブログでウェブスクレイピング（パケットキャプチャ）のチュートリアルが公開されているのを見かけ、それが私の興(きょう)味(み)（かっこつけ）を刺激し、この記事が生まれました。&lt;/p&gt;
&lt;p&gt;ちょうど先日、&lt;a href=&#34;https://music.52ecy.cn/&#34;&gt;私のプレイリスト&lt;/a&gt;がKuGouのAPIとの連携が機能しなくなりました。この機会に修正し、ついでに画像付きのチュートリアルを作成することにしました。というわけで、KuGouを「メスを入れる（分析対象にする）」ことにします。&lt;/p&gt;
&lt;p&gt;パケットキャプチャの概念について&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;パケットキャプチャ（packet capture）とは、ネットワークで送受信されるデータパケットを傍受、再送信、編集、保存などの操作を行うことであり、ネットワークセキュリティのチェックにも使われます。また、データの傍受などにも頻繁に利用されます。&lt;/p&gt;
&lt;p&gt;——ゲイ百科より&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ここで話すのは、ウェブページで送受信されるデータの傍受であり、再送信や編集など、ネットワークセキュリティに影響を与える操作は含みません。
実は&lt;a href=&#34;https://www.52ecy.cn/tag/%E6%8A%93%E5%8C%85&#34;&gt;パケットキャプチャ&lt;/a&gt;に関する記事は、2016年にはすでに複数公開していましたが、記事が古くなりメンテナンスされていないため、画像は失われたり、破損したり、順序がめちゃくちゃになっています。
ウェブ開発者、特にバックエンド開発者にとって、パケットキャプチャはあまり馴染みがないかもしれません。しかし、私はデスクトップアプリケーション開発出身なので、使うのはお手の物です。&lt;/p&gt;
&lt;p&gt;目的：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;KuGouの楽曲直リンクの解析 - 私のプレイリストの修正&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;対象サイト：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&#34;http://t.kugou.com/1md5hf5t8V2&#34;&gt;http://t.kugou.com/1md5hf5t8V2&lt;/a&gt; KuGouの私のプレイリスト共有短縮URL&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;使用ツール：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Google ChromeのF12キー（または Ctrl + Shift + I、または右クリック &amp;gt; 「検証」）開発者ツール&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;（注意：以下のチュートリアルは画像と合わせてご覧ください。見えにくい場合は右クリックで新しいウィンドウで画像を開いてください）
ここではモバイル版のページをキャプチャします。なぜならPC版ではプレイリスト全体が直接ソースコードに返されるため、解析が不便だからです。モバイル版ではJSONが返されます。
Preserve Log：ページ遷移後も以前のログを保持する機能
左上隅の携帯電話アイコン：現在のブラウジングインターフェースのUAをモバイルUAに切り替える
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fs0iyxmmr1j30nz0fl0u2.jpg&#34;&gt;
URLを入力してEnterキーを押しアクセスすると、ウェブページがリダイレクトされます。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fs0iybcesaj314p0arn2j.jpg&#34;&gt;
ステータスコード302、リダイレクトアドレスを取得（必ず画像を確認してください。テキストの説明は簡略化されています）
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fs0iyb1qhdj30w00amjt6.jpg&#34;&gt;
パケットキャプチャはここまでで終了です。以下、分析を開始します：
確かなのは、KuGouサイトの音楽リンクは決して固定ではないということです。
これまでの経験からすると、これらはすべて疑わしいパラメータです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fs0j14h87ij30qr0bdmya.jpg&#34;&gt;
パケットキャプチャログを丹念に探すと、プレイリスト全体の取得方法である&lt;code&gt;list&lt;/code&gt;が見つかりました。そして、楽曲の基本情報も含まれています。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fs0iybbzb2j312a0e8afo.jpg&#34;&gt;
&lt;code&gt;list&lt;/code&gt;リンクを分析すると、ここのパラメータは以前のものと非常によく似ていることが明らかです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fs0iyb4b7bj30q50adwel.jpg&#34;&gt;
次に、各楽曲のリンクを分析します。
楽曲の直リンクの有効期限はだいたい24時間程度で、無効になります。
引き続きパケットキャプチャログを確認します。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fs0iyc2p8aj314a0ecn23.jpg&#34;&gt;
楽曲のハッシュ値を含めることで、楽曲の関連情報と直リンクを取得できます（ハッシュ値は前述の楽曲リストですでに返されています）。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fs0iza7xskj30mg06h3yi.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;まとめ：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;短縮URL -&amp;gt; ウェブリンクパラメータ -&amp;gt; プレイリストの取得 -&amp;gt; 楽曲の取得 （段階的に、前のステップで得られたパラメータを使って次のURLにアクセスします）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;関連コードは自分で書いてくださいね&amp;hellip;.-。-
このようなチュートリアル性の高い記事を投稿するのは久しぶりです。
最後に一言、Google開発者ツールは本当にめちゃくちゃ便利！
ちょっとした記事を書いて、逃げる〜〜&lt;/p&gt;
&lt;p&gt;関連推奨記事
（1）&lt;a href=&#34;https://mkblog.cn/492/&#34;&gt;PHPを使ってBingの今日の画像をスクレイピングし、自分のものとして利用する&lt;/a&gt;.孟坤ブログ.
（2）&lt;a href=&#34;https://mkblog.cn/1273&#34;&gt;パケットキャプチャ入門（一）&lt;/a&gt;
関連コード
（1）&lt;a href=&#34;https://www.youngxj.cn/507.html&#34;&gt;KuGouプレイリストの楽曲情報取得インターフェースのソースコード&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>CSS3ランダム背景画像切り替えエフェクト</title>
      <link>https://en.moejue.cn/ja/posts/4/</link>
      <pubDate>Wed, 16 May 2018 11:58:08 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/4/</guid>
      <description>&lt;p&gt;CSS3のランダム背景画像フェードイン・フェードアウト切り替えエフェクト デモ効果はこの記事の背景に表示されています&lt;br&gt;
皆さんが私の幻想領域二次元限定版のソースコードを解析するのに苦労しているようなので（30分以上もかけている人もいるようです）、時間を見つけて整理して公開することにしました&lt;br&gt;
当初はjQueryで実装する予定でしたが、CSS3の@keyframesルールに気づきました。CSS3は、かつてJSでしか実現できなかった効果を実装できるほど強力になっています&lt;/p&gt;
&lt;h2 id=&#34;定義と使い方&#34;&gt;定義と使い方&lt;/h2&gt;
&lt;p&gt;@keyframesルールを使用することで、アニメーションを作成できます。&lt;/p&gt;
&lt;p&gt;アニメーション作成の原理は、あるCSSスタイルを別のスタイルに徐々に変化させることです。&lt;/p&gt;
&lt;p&gt;アニメーションの過程で、このCSSスタイルを複数回変更することができます。&lt;/p&gt;
&lt;p&gt;変化が起こるタイミングは、パーセンテージで指定するか、キーワード「from」と「to」（それぞれ0%と100%に相当）で指定します。&lt;/p&gt;
&lt;p&gt;0%はアニメーションの開始時点、100%はアニメーションの終了時点です。&lt;/p&gt;
&lt;p&gt;最高のブラウザサポートを得るためには、常に0%と100%のセレクタを定義する必要があります。&lt;/p&gt;
&lt;p&gt;注：アニメーションの見た目を制御するには、アニメーション関連のプロパティを使用し、アニメーションをセレクタにバインドしてください。&lt;/p&gt;
&lt;p&gt;CSSのコア部分（画像アドレスの変更を忘れないでください）&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-css&#34; data-lang=&#34;css&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;body&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;background&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;#000&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;background-attachment&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;fixed&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;word-wrap&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;break-word&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;background-size&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;cover&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-moz-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;background-size&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;cover&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;background-size&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;cover&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;background-repeat&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;no-repeat&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;ul&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;list-style&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;none&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;nth-child&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;background-image&lt;/span&gt;: url(&lt;span style=&#34;color:#e6db74&#34;&gt;https://random.52ecy.cn/randbg.php?v=1520341099&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;nth-child&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;background-image&lt;/span&gt;: url(&lt;span style=&#34;color:#e6db74&#34;&gt;https://random.52ecy.cn/randbg.php?v=1520341159&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;nth-child&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;3&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;background-image&lt;/span&gt;: url(&lt;span style=&#34;color:#e6db74&#34;&gt;https://random.52ecy.cn/randbg.php?v=1520341149&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;nth-child&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;4&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;background-image&lt;/span&gt;: url(&lt;span style=&#34;color:#e6db74&#34;&gt;https://random.52ecy.cn/randbg.php?v=1520341139&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;nth-child&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;background-image&lt;/span&gt;: url(&lt;span style=&#34;color:#e6db74&#34;&gt;https://random.52ecy.cn/randbg.php?v=1520341129&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;nth-child&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;6&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;background-image&lt;/span&gt;: url(&lt;span style=&#34;color:#e6db74&#34;&gt;https://random.52ecy.cn/randbg.php?v=1520341119&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;,&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;after&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;position&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;fixed&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;width&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;%&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;height&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;%&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;top&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;left&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;z-index&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;-2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;after&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;content&lt;/span&gt;: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;width&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;%&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;height&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;%&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;position&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;absolute&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;top&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;left&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;color&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;transparent&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;background-size&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;cover&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;background-position&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;%&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;background-repeat&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;none&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;opacity&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;z-index&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;-2&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;backface-visibility&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;hidden&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation&lt;/span&gt;: imageAnimation &lt;span style=&#34;color:#ae81ff&#34;&gt;36&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;linear&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;infinite&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-moz-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation&lt;/span&gt;: imageAnimation &lt;span style=&#34;color:#ae81ff&#34;&gt;36&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;linear&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;infinite&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-o-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation&lt;/span&gt;: imageAnimation &lt;span style=&#34;color:#ae81ff&#34;&gt;36&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;linear&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;infinite&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-ms-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation&lt;/span&gt;: imageAnimation &lt;span style=&#34;color:#ae81ff&#34;&gt;36&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;linear&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;infinite&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;animation&lt;/span&gt;: imageAnimation &lt;span style=&#34;color:#ae81ff&#34;&gt;36&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;linear&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;infinite&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;nth-child&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-moz-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-o-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-ms-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;nth-child&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;3&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-moz-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-o-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-ms-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;nth-child&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;4&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-moz-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-o-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-ms-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;18&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;nth-child&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-moz-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-o-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-ms-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;24&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cb-slideshow&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;li&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;nth-child&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;6&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;span&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-moz-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-o-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;-ms-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-delay&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;30&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-keyframes&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;imageAnimation&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#f92672&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;opacity&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-timing-function&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;ease-in&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#f92672&#34;&gt;8&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;opacity&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;transform&lt;/span&gt;: scale(&lt;span style=&#34;color:#ae81ff&#34;&gt;1.05&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;animation-timing-function&lt;/span&gt;: &lt;span style=&#34;color:#66d9ef&#34;&gt;ease-out&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#f92672&#34;&gt;17&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;opacity&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;transform&lt;/span&gt;: scale(&lt;span style=&#34;color:#ae81ff&#34;&gt;1.1&lt;/span&gt;) rotate(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#f92672&#34;&gt;25&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;opacity&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;-webkit-&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;transform&lt;/span&gt;: scale(&lt;span style=&#34;color:#ae81ff&#34;&gt;1.1&lt;/span&gt;) rotate(&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#f92672&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;%&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;		&lt;span style=&#34;color:#66d9ef&#34;&gt;opacity&lt;/span&gt;: &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;もちろん、HTMLコードと組み合わせる必要があります&lt;br&gt;
HTML部分（中のテキスト部分と&lt;li&gt;の数は自由に変更可能です）&lt;/p&gt;</description>
    </item>
    <item>
      <title>萌音全自動カード発行プラットフォーム、リリース</title>
      <link>https://en.moejue.cn/ja/posts/67/</link>
      <pubDate>Sat, 12 May 2018 10:52:02 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/67/</guid>
      <description>&lt;p&gt;萌音自動カード発行プラットフォーム（以下「萌音発券」）は、個人ユーザーに仮想商品のオンライン購入および全自動配送サービスを提供します。
開発の目的は、私自身にはあまり必要なく、市場には多くの類似製品がありますが、友人が欲しがっていたため、これが誕生しました。
可能な限りシンプルな原則で最も基本的な機能を実現したため、インターフェースは非常にミニマルで、将来の拡張も非常に簡単です。
&lt;a href=&#34;http://pay.52ecy.cn&#34;&gt;デモサイト&lt;/a&gt;  （サーバーは米国オレゴン州にあり、速度が少し遅いですが、デモンストレーション専用です）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;資金は即時入金&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;第三者による持ち逃げを心配する必要はありません。資金は直接入金され、第三者を介しません。迅速な資金回収で、競合他社を凌駕します。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;複数ユーザー無制限&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;いかなるアカウント、ドメイン、CPUにも縛られず、完全に自由に利用でき、いつでも変更可能です。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;複数の支払い方法&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;WeChat Pay、Alipay、QQウォレット、Tenpay。PCとモバイルの両方に対応しています。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;非同期通知&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;同期＋非同期通知を採用しているため、支払い完了後にページが閉じられて注文が無効になる心配はありません。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;萌音発券のソースコードを入手するには？
現在、以下の方法でのみ提供しています：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ブロガーの知人、友人、またはプロジェクトに貢献した方（萌音発券に限らず）&lt;/li&gt;
&lt;li&gt;優秀な幻想領域画像ホスティングユーザー&lt;/li&gt;
&lt;li&gt;プロジェクトに58元以上寄付することで入手できます。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;何かご質問があれば、デモサイト右上の「お問い合わせ」をクリックして、私と詳しく話し合ってみてください。&lt;strong&gt;よくある質問&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;1、萌音発券は何をするものですか、どんな用途がありますか？&lt;/p&gt;
&lt;p&gt;萌音発券は、プロフェッショナルな仮想カードコード自動配送サービスを提供します。&lt;/p&gt;
&lt;p&gt;2、萌音発券プラットフォームに登録して、加盟店になるにはどうすればよいですか？&lt;/p&gt;
&lt;p&gt;プロジェクトに58元以上寄付することで入手できます。&lt;/p&gt;
&lt;p&gt;3、注文/カードコードを照会するにはどうすればよいですか？&lt;/p&gt;
&lt;p&gt;プラットフォームの注文照会機能を通じて、注文時に記入した連絡先または注文番号を入力して照会してください。&lt;a href=&#34;http://pay.52ecy.cn/search.html&#34;&gt;こちらをクリックして照会&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;4、プラットフォームでは何を販売できますか？&lt;/p&gt;
&lt;p&gt;ゲーム内仮想通貨、アイテム、会員カード、ソフトウェア使用権など&lt;/p&gt;
&lt;p&gt;5、現在、御社のプラットフォームには何種類の支払い方法がありますか？&lt;/p&gt;
&lt;p&gt;現在、Alipay、WeChat、QQウォレットの3種類です。&lt;/p&gt;
&lt;p&gt;6、萌音発券加盟店の料金はどのように計算されますか？&lt;/p&gt;
&lt;p&gt;全額無料、手数料は一切かかりません。&lt;/p&gt;
&lt;p&gt;7、購入者はどのようにカードコード情報を取得しますか？&lt;/p&gt;
&lt;p&gt;商品購入ページで希望の商品を選択し、支払いチャネルを選択して支払いを完了すると、自動的に配送ページにリダイレクトされます。対応するカードコードが届かない場合は、注文番号を保存し、カードコード照会アドレスを開いてください： &lt;a href=&#34;http://pay.52ecy.cn/search.html&#34;&gt;こちらをクリック&lt;/a&gt; 注文時に記入した注文連絡先または注文番号を入力して照会してください。&lt;/p&gt;
&lt;p&gt;8、出金申請の最低金額はいくらですか？申請後、どのくらいの時間で入金されますか？&lt;/p&gt;
&lt;p&gt;萌音発券の金額はリアルタイムで入金され、第三者を介する必要はありません。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fr7mpdap67j30w80ejq3p.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fr7mpda3o7j30ow0n3wgj.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fr7mpdcon8j30w70f374u.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fr7mpdesjuj30vs0qgdhv.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fr7mpduxw8j30wn0lkgng.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>LinuxでのPHP環境のインストール</title>
      <link>https://en.moejue.cn/ja/posts/65/</link>
      <pubDate>Mon, 07 May 2018 06:52:32 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/65/</guid>
      <description>&lt;p&gt;学习环境：Centos 7.2 正式版&lt;/p&gt;
&lt;p&gt;# 更新源
yumアップデート&lt;/p&gt;
&lt;h1 id=&#34;安装-nginx&#34;&gt;安装 nginx&lt;/h1&gt;
&lt;p&gt;yum install nginx -y&lt;/p&gt;
&lt;h1 id=&#34;安装mysql&#34;&gt;安装mysql&lt;/h1&gt;
&lt;p&gt;wget &lt;a href=&#34;https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm&#34;&gt;https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm&lt;/a&gt;
yum localinstall mysql57-community-release-el7-11.noarch.rpm&lt;/p&gt;
&lt;h1 id=&#34;安装php72&#34;&gt;安装PHP7.2&lt;/h1&gt;
&lt;p&gt;rpm -Uvh &lt;a href=&#34;https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm&#34;&gt;https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm&lt;/a&gt;
rpm -Uvh &lt;a href=&#34;https://mirror.webtatic.com/yum/el7/webtatic-release.rpm&#34;&gt;https://mirror.webtatic.com/yum/el7/webtatic-release.rpm&lt;/a&gt;
yumアップデート
yum install -y php72w-cli php72w-common php72w-dba php72w-devel php72w-fpm php72w-gd php72w-imap php72w-mbstring php72w-mysql php72w-pdo php72w-pdo_dblib php72w-pear php72w-pecl-igbinary php72w-pecl-xdebug php72w-process php72w-xml php72w-xmlrpc php72w-opcache php72w-pecl-memcached php72w-pecl-mongodb php72w-pecl-redis&lt;/p&gt;
&lt;h1 id=&#34;启动服务&#34;&gt;启动服务&lt;/h1&gt;
&lt;p&gt;サービス nginx スタート
サービス mysql 開始
php-fmp サービス開始
/usr/sbin/php-fpm &amp;ndash;nodaemonize &amp;ndash;fpm-config /etc/php-fpm.conf &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&lt;/p&gt;
&lt;h1 id=&#34;编辑配置文件&#34;&gt;编辑配置文件&lt;/h1&gt;
&lt;p&gt;vim /etc/nginx/nginx.conf
:q!#不保存退出
wq #保存退出&lt;/p&gt;</description>
    </item>
    <item>
      <title>幻想領域画像ホスティングシステム更新停止のお知らせ</title>
      <link>https://en.moejue.cn/ja/posts/56/</link>
      <pubDate>Mon, 30 Apr 2018 12:28:37 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/56/</guid>
      <description>&lt;p&gt;不完全な統計によると、軽量Sina画像ホスティングシステム「幻想領域」は、バージョン1.0のリリース（2018-03-08）から現在（2018-04-30）まで、累計インストール数は2000回を超え、さらに毎日数十件のペースで急増しています。そのうち、海賊版ユーザーは5%以下です（あなた方は恥を知りなさい）。この間、大小さまざまなウェブサイト、ブログ、フォーラム、ソフトウェア配布サイトなどで100回以上転載・公開されました。海賊版を広めるものも含め、さらには某プラットフォームで販売されることさえありました。&lt;/p&gt;
&lt;p&gt;幻想領域 非商業バージョン（永久無料、商用版なし）は、GPLライセンスおよび付属条項を遵守して公開されています。
もしあなたが私のGPLソフトウェアを使用し、改変した場合、あなたのソフトウェアもオープンソースにしなければなりません。さもなければ、私のソフトウェアを使用することはできません。
幻想領域をベースにしたすべての改変版または二次開発版は、オープンソースでなければなりません。関連条項を遵守しない場合は、使用を停止し、幻想領域に関連するすべてのものを削除してください。
一度GPL契約に違反しても、直接的な結果はないかもしれません。しかし、それはあなた方がこれから異なる方向、危険な方向へ進むことを意味します。どうかご理解いただき、自重してくださることを願います。&amp;mdash;-海賊版を作成し、広める人々へ
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqp7dw64zlj30m80dwdgr.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqp6xk8reoj30gn0gpaav.jpg&#34;&gt;
バージョン1.2.3の時点で、機能はかなり完成されており、バグもありません。軽量な画像ホスティングシステムとしては十分です。そもそもこのシステムは、自分自身が便利に使うためだけに開発したものです。つきましては、幻想領域の外部向け更新サービスを停止することを決定しました。今後は、交流グループ内の&lt;strong&gt;優秀な&lt;/strong&gt;幻想領域で構築された画像ホスティングシステムサイトにのみ更新を提供します。関連するプラグインインターフェースファイルは、グループ内で私に個人メッセージを送って請求することができます。
最後に、これまでの皆様のサポートとご関心に感謝いたします！グループ内で私の権利を守ってくれた方々にも感謝します！&lt;/p&gt;
&lt;p&gt;余談ですが、この記事は数日前に書き上げていました。公開すべきかどうかずっと悩んでいましたが、様々な理由から、やはり葛藤がありました。でも、せっかく書いたのだから公開することにしました。主な理由は、メンテナンスにあまり多くのエネルギーを割けないこと、そしてまた新しいプロジェクトを始めてしまったことです……続く&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5月5日追記&lt;/strong&gt;
今日、友人から画像付きでフィードバックがありました。要するに、私の幻想領域がChevereto（海外の有名な画像ホスティングシステムで、国内でどれだけの人がこのクラック版を使っているかは知りませんが）を盗用しているという内容でした。主に以下の2つの問題について回答します。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fr0i1um0psj30jj0bjt9b.jpg&#34;&gt;
あの代物？そんなもの、お前が書いてみろよ？幻想領域の最も中心的な機能は、画像をSina Cloud Storageにアップロードすることであり、ローカルアップロード機能は提供していません。Cheveretoにこの機能があるのか？100%盗用？何も理解していないくせに、どうしてそんなに無責任に非難できるんだ？
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fr0i1um2lsj30kf0axq3h.jpg&#34;&gt;
いわゆる幻想領域？インターフェースはどのプログラムを参考にしたって？幻想領域のトップページのインターフェースは、bootcss V3が提供するテンプレートを使用しています。参考にしたなどという話はどこから出てきたのですか？
&lt;a href=&#34;https://v3.bootcss.com/examples/cover/&#34;&gt;https://v3.bootcss.com/examples/cover/&lt;/a&gt; まず調べてからにしてください。むやみに他人を中傷しないでください。私は論争を起こしたくありません。これを見ても何も言わないでください。&lt;/p&gt;
&lt;p&gt;**6月24日追記
**今日、またグループのメンバーから@メンションがあり、画像が送られてきました。画像を見て判断してください。
同じプログラマーとして、そんなことをして良心が痛まないのか？だからお前はただの海賊版野郎だ。海賊版を広める者は、使う者よりもさらに悪質だ。お前の人間性も人格も、その行動と同じくらい汚らわしく、唾棄すべきものであることは想像に難くない。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fsmkn4goqlj30ri0f574s.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>emlog Sina アップロードプラグイン &#43; API V1.1</title>
      <link>https://en.moejue.cn/ja/posts/7/</link>
      <pubDate>Sat, 21 Apr 2018 11:02:22 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/7/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqkhhzq5raj30zv0kf124.jpg&#34;&gt;&lt;br&gt;
emlog管理画面 記事作成用Sina画像アップロードプラグイン&lt;br&gt;
初めてemlogプラグインを作成しました。七牛クラウドストレージの書き方を参考にしました（そうです、管理画面にあるあれです）。二つを一緒に使うことをお勧めします。&lt;br&gt;
プラグインをダウンロードした後、解凍せずに直接emlogの管理画面にアップロードするだけです。（誰がこんなこと言ったんだ、出てこい、殴らないから）&lt;br&gt;
具体的な使用方法はプラグインの設定画面に記載されています。ダウンロードアドレスは記事の最後にあります。&lt;br&gt;
どなたかemlogの開発者アカウントをお持ちの親切な方、emlogアプリセンターへの提出を手伝っていただけませんか。&lt;/p&gt;
&lt;p&gt;注意： GitHubからダウンロードしたzip圧縮パッケージのファイル名には&lt;code&gt;-master&lt;/code&gt;が追加され、中のサブフォルダも同様です。アップロードするには&lt;code&gt;SinaUpload&lt;/code&gt;にリネームする必要があります。そうしないとemlogでエラーが発生します。&lt;/p&gt;
&lt;p&gt;このプラグインはemlogブログシステム専用です。他のブログシステムでは使用できません。&lt;br&gt;
以下は公開APIです。ご自身で他のシステムのプラグインを作成することができます。&lt;/p&gt;
&lt;h2 id=&#34;apiアドレス&#34;&gt;APIアドレス：&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://img.52ecy.cn/home/Interface&#34;&gt;https://img.52ecy.cn/home/Interface&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;リクエストパラメータ説明&#34;&gt;リクエストパラメータ説明：&lt;/h2&gt;
&lt;p&gt;名称&lt;/p&gt;
&lt;p&gt;説明&lt;/p&gt;
&lt;p&gt;username&lt;/p&gt;
&lt;p&gt;幻想領域のアカウント&lt;/p&gt;
&lt;p&gt;password&lt;/p&gt;
&lt;p&gt;幻想領域のパスワード&lt;/p&gt;
&lt;p&gt;multipart(任意)&lt;/p&gt;
&lt;p&gt;false/true、ローカルアップロードかリモートアップロードかを選択します。デフォルトはローカルアップロード(true)です。&lt;/p&gt;
&lt;p&gt;url(任意)&lt;/p&gt;
&lt;p&gt;転送が必要な画像のURL。multipartがfalseの場合、urlは必須です。&lt;/p&gt;
&lt;h2 id=&#34;標準jsonデータ返却&#34;&gt;標準JSONデータ返却&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;code&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;0000&amp;#34;&lt;/span&gt;,  &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;#ステータスコード&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;msg&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://www.52ecy.cn/randbg.png&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;#画像URL&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;成功した場合はステータスコード0000と画像URLを返します。失敗した場合はステータスコードと原因を返します。&lt;/p&gt;
&lt;p&gt;.down_link{background:url(&amp;lsquo;&lt;a href=&#34;https://www.52ecy.cn/content/uploadfile/201707/md-bg.jpeg%27&#34;&gt;https://www.52ecy.cn/content/uploadfile/201707/md-bg.jpeg&#39;&lt;/a&gt;) no-repeat 100% 0% #fffdff; border: 1px solid #faf8fb; border-radius: 2px; color: #666; font-size: 14px; margin-bottom: 10px; padding: 5px 20px;}.downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downlink a{text-decoration:none;} .downlink a{text-decoration:none;font-size:15px;} .downlink a:link{color: #ffffff;} .downlink a:visited{color: #ffffff;} .downlink a:hover{color: #ffffff;} .downlink a:active{color: #ffffff;} .downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF !important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .yanshibtn{background: none repeat scroll 0 0 #d33431; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downbtn:hover,.yanshibtn:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .downbtn a:hover,.yanshibtn a:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;}&lt;/p&gt;</description>
    </item>
    <item>
      <title>幻想領域画像ホスティングシステムV1.2正式版リリース</title>
      <link>https://en.moejue.cn/ja/posts/66/</link>
      <pubDate>Wed, 11 Apr 2018 11:40:25 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/66/</guid>
      <description>&lt;h1 id=&#34;幻想領域12&#34;&gt;幻想領域1.2&lt;/h1&gt;
&lt;p&gt;これは最終的なソリューションとして生まれたものではなく、開発の目的は単に自分自身の利便性を高めるためです。
&lt;a href=&#34;https://img.52ecy.cn/&#34;&gt;プロジェクトホームページ&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://github.com/178146582/Fantasy-field&#34;&gt;プロジェクトアドレス&lt;br&gt;
&lt;/a&gt;&lt;a href=&#34;https://www.52ecy.cn/post-68.html&#34;&gt;幻想領域V1.0&lt;/a&gt; ☜(詳細はこちらをクリック)&lt;/p&gt;
&lt;h1 id=&#34;ダウンロード&#34;&gt;ダウンロード&lt;/h1&gt;
&lt;p&gt;最新の正式版&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://codeload.github.com/178146582/Fantasy-field/zip/master&#34;&gt;今すぐダウンロード&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;インストール&#34;&gt;インストール&lt;/h1&gt;
&lt;p&gt;幻想領域のソースコードを解凍し、ウェブサイトのルートディレクトリにアップロードする必要があります。ウェブサイトのドメインにアクセスすると、自動的にインストーラーにリダイレクトされますので、ウィザードの指示に従ってインストールしてください。リダイレクトされない場合は、手動で http://あなたのドメイン/install.php にアクセスしてインストールを行ってください。
初回インストールが成功した後、管理者バックエンドにログインして画像ホスティングの基本設定を行う必要があります。
バックエンドアドレス：http://あなたのドメイン/admin しかし皮肉なことに、ログインはフロントエンドで行う必要があります。&lt;/p&gt;
&lt;h4 id=&#34;動作環境&#34;&gt;動作環境&lt;/h4&gt;
&lt;p&gt;注意：幻想領域はバージョン1.0からPHPバージョン≥5.6のみをサポートしています。お使いのPHPバージョンを更新してください。
幻想領域はバージョン1.2から上書きインストール方式を採用します。つまり、過去のデータは保持されます。データを削除する必要がある場合は、手動で空にしてください。&lt;/p&gt;
&lt;h1 id=&#34;更新内容&#34;&gt;更新内容&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;探索インターフェース（最近、ランダム）の改善&lt;/li&gt;
&lt;li&gt;画像ホームページの追加&lt;/li&gt;
&lt;li&gt;HTML、BBcode、Markdownなどのコードをワンクリックで生成&lt;/li&gt;
&lt;li&gt;自動更新システムの追加（ただし、使用できるとは限りません）&lt;/li&gt;
&lt;li&gt;よりフレンドリーなアップロード進捗表示（ただし、正確ではありません）&lt;/li&gt;
&lt;li&gt;各種デフォルト設定をより合理的に変更&lt;/li&gt;
&lt;li&gt;システムの重大な脆弱性を修正（現行バージョンは必ず更新してください）&lt;/li&gt;
&lt;li&gt;登録関連の制限を追加&lt;/li&gt;
&lt;li&gt;互換性の向上、マルチプラットフォームでの実行、PHP7.0+をサポート&lt;/li&gt;
&lt;li&gt;既知のバグを修正&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fq8ylxd9ilj30ud0lzb29.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fq8ylvspsbj30tx0lqtrl.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Git の簡単な使用手順</title>
      <link>https://en.moejue.cn/ja/posts/64/</link>
      <pubDate>Tue, 03 Apr 2018 12:04:32 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/64/</guid>
      <description>&lt;p&gt;この記事では概念的な知識については詳しく説明しません。ただのメモです。これは単なるステップバイステップのガイドです。障害に遭遇した場合は、Google で調べてください。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SSH を使用して Git と GitHub 間のバインドを完了します&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;1\。 「SSHキー」を生成する&lt;/p&gt;
&lt;p&gt;ssh-keygen-trsa&lt;/p&gt;
&lt;p&gt;RSA アルゴリズムを指定してキーを生成すると、id_rsa と id_rsa.pub という 2 つのファイル、つまりキー id_rsa と公開キー id_rsa.pub が生成されます。これら 2 つのファイルについては、&lt;/p&gt;
&lt;p&gt;2\。 SSHキーを追加する
github.com -&amp;gt; 設定 -&amp;gt; SSH と GPG -&amp;gt; 新しい SSH キー
公開キー id_rsa.pub の内容をキーの場所に貼り付け (タイトルの内容を入力しなくても問題ありません)、[SSH キーの追加] をクリックします。&lt;/p&gt;
&lt;p&gt;3\。バインドが成功したかどうかを確認する&lt;/p&gt;
&lt;p&gt;ssh -T &lt;a href=&#34;mailto:git@github.com&#34;&gt;git@github.com&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ローカルプロジェクトをgithubにプッシュするコマンド&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(1) ディレクトリを開きます&lt;/p&gt;
&lt;p&gt;CDデモ&lt;/p&gt;
&lt;p&gt;(2) gitファイルを生成するためにバージョンライブラリを初期化する&lt;/p&gt;
&lt;p&gt;gitの初期化&lt;/p&gt;
&lt;p&gt;(3) 全ファイルをキャッシュ領域に追加&lt;/p&gt;
&lt;p&gt;git add *&lt;/p&gt;
&lt;p&gt;(4) 現在のワークスペースに変更を送信します。&lt;/p&gt;
&lt;p&gt;git commit -m &amp;ldquo;最初のコミット&amp;rdquo;&lt;/p&gt;
&lt;p&gt;(5) 倉庫をリモートサーバーに接続する&lt;/p&gt;
&lt;p&gt;git Remote addorigin &lt;server&gt; (上記のウェアハウスのアドレスです)&lt;/p&gt;
&lt;p&gt;(6) 追加したサーバーに変更をプッシュします&lt;/p&gt;</description>
    </item>
    <item>
      <title>新浪微博テーマ静的テンプレートホイール</title>
      <link>https://en.moejue.cn/ja/posts/62/</link>
      <pubDate>Tue, 20 Mar 2018 13:09:30 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/62/</guid>
      <description>&lt;p&gt;フロントエンドのものはすべて張り子の虎であり、本当に剥がしたいのであれば、持ち去れないものはありません。&lt;/p&gt;
&lt;p&gt;はい、このテーマは私が剥がしたものです。&lt;a href=&#34;https://www.52ecy.cn/post-64.html&#34;&gt;ミニマルブログ新テーマSina上线 - 魔改新浪&lt;/a&gt; 記事でも言及しましたが、&lt;a href=&#34;https://www.52ecy.cn/post-64.html&#34;&gt;
&lt;/a&gt;いわゆる元の作者（彼も他人のものを改変している）のサイトから直接剥がしたわけではありません。盗んだのは、私の記事を盗んで出典を明記せず、さらに私に尋ねてきた**です。&lt;/p&gt;
&lt;p&gt;彼のが有料テーマであることを考慮し、オープンソースにしなかったのです。本来ならこれで終わったはずですが、彼は私が漏洩させるのではないかと心配し、嘲笑までしてきました。インターフェース一つで、どうしろというのでしょう。Ctrl+Sで保存できるものを漏洩させることを恐れるのですか？&lt;/p&gt;
&lt;p&gt;おそらく、なぜいわゆる作者が知って私のブログに来たのか、賢い人ならわかるでしょう。卑劣な人間ですね。&lt;/p&gt;
&lt;p&gt;あの**についても話しましょう。私の記事を転載して出典を明記しないだけでなく、私にコードを尋ねてきました。もちろん、この記事はすでに削除されています。
さらに、私の有料テーマを盗むのは本当に良いことなのかと尋ねてきました。では、私の記事を盗むときは、自分にそれが良いことなのかと問いかけなかったのですか？
その後、さらに気持ちの悪い記事を投稿しましたが、彼のウェブサイトはすでに閉鎖されているため、スクリーンショットはありません。
大まかな内容は以下の通りです。
彼は、多くの人が某某のものをオープンソースにしているのを見たが、自分は彼らのようになりたくないので、何か「本物」を公開したいと言いました。そして、私のコードを自分のものだと偽って公開しました。本当に技術があるなら自分で書けばいいのに、私が改変したJavaScriptを圧縮しただけで自分のものになるなんて、すごいですね。
なぜ私のものだと断言できるのか。彼が圧縮したJavaScriptの中に &lt;code&gt;var tao = Math.floor(Math.random()*44);&lt;/code&gt; というコードがあります。変数名の&lt;code&gt;tao&lt;/code&gt;は、私が淘宝をぶらぶらしているときに適当に書いたものです。これは乱数を生成するもので、なぜ後ろの&lt;code&gt;44&lt;/code&gt;まで私と全く同じなのかというと、彼は私の画像まで収集していったからです。
このような人間が最も気持ち悪い。技術がないのに、知ったかぶりをする。
本来、記事の盗用は中国では非常に一般的で、何も言いません。もしそのまま丸ごとコピーされたとしても、私は何も言いません。しかし、私が改変したものを自分のものだと言い、さらに顔を洗って出直せと言いたい。&lt;/p&gt;
&lt;p&gt;この間、ブログにたくさんの仲間が来てくれました。私の記事を何も言わずに転載している人もたくさん見かけました。&lt;/p&gt;
&lt;p&gt;これくらいにしておきます。ブログという純粋な場所を汚したくありません。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://178146582.github.io/SinaTemplate/&#34;&gt;プレビューアドレス&lt;/a&gt;
皆さんが自分で様々なウェブサイトに組み込めるように、車輪をオープンソースで提供します。（100%の類似度ではありません。一部の機能は私が独自に追加したものです）
&lt;a href=&#34;https://codeload.github.com/178146582/SinaTemplate/zip/master&#34;&gt;ダウンロードはこちら&lt;/a&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqeqef0tvmj31h70pwb29.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>幻想領域 画像アップローダー ヘルプ</title>
      <link>https://en.moejue.cn/ja/posts/63/</link>
      <pubDate>Mon, 19 Mar 2018 11:56:29 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/63/</guid>
      <description>&lt;p&gt;インストールや使用中に問題が発生する方が多いため、ここにまとめます。それでも解決しない場合は、グループに参加して万能なメンバーに質問してください。&lt;/p&gt;
&lt;h2 id=&#34;認証コードが表示されない&#34;&gt;認証コードが表示されない&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;サーバーがGDグラフィックライブラリをサポートしているか確認してください。&lt;/li&gt;
&lt;li&gt;サーバーのWEB環境を確認してください。&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Apache：プログラムがサブディレクトリにインストールされている場合、プログラムのルートディレクトリにある&lt;code&gt;.htaccess&lt;/code&gt;ファイルを変更してください。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;lt;IfModule mod_rewrite.c&amp;gt;
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
Rewritebase /あなたのサブディレクトリ名/index.php
RewriteRule ^(.*)$ /あなたのサブディレクトリ名/index.php?/$1 [L]
&lt;/IfModule&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nginx：設定ファイル&lt;code&gt;nginx-conf&lt;/code&gt;を見つけ、&lt;code&gt;location /&lt;/code&gt;セクションに以下の内容を追加・変更してください。&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;try_files $uri $uri/ /index.php?$query_string;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;またはこちら&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;if (!-d $request_filename){
    set $rule_0 1$rule_0;
}
if (!-f $request_filename){
    set $rule_0 2$rule_0;
}
if ($rule_0 = &amp;#34;21&amp;#34;){
    rewrite ^/(.*)$ /index.php?/$1 last;
}
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;IISのURLリライトはApacheと同様です。&lt;/li&gt;
&lt;li&gt;宝塔パネル（BT Panel）を使用している場合は、既存のthinkPHPのURLリライト設定を使用してください。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;メール送信の失敗&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;まず、ポート25がブロックされていないか確認してください。ブロックされている場合は、ホスティングプロバイダーに有効化を依頼してください（有効化できない場合はサーバーを変更してください）。&lt;/li&gt;
&lt;li&gt;登録時の認証をオフにするか、次のバージョンの更新をお待ちください（注：ポートの変更は無意味です。ポート465はSSLサポートが必要です）。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;データインターフェースの異常&#34;&gt;データインターフェースの異常&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;URLリライトのリダイレクトに失敗しています。上記を参考にもう一度設定してください。&lt;/li&gt;
&lt;li&gt;Nginxサーバーの場合、&lt;code&gt;/framework/core/Framework.php&lt;/code&gt;の51行目から53行目をコメントアウトまたは削除してください。具体的なコードは以下の通りです（通常、この問題はApacheサーバーでは発生せず、Nginxサーバーでのみ発生します）。&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; ($path &lt;span style=&#34;color:#f92672&#34;&gt;!=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     $path &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;strstr&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;trim&lt;/span&gt;($_SERVER[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;REQUEST_URI&amp;#39;&lt;/span&gt;],&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/&amp;#39;&lt;/span&gt;),$path);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;画像のアップロード失敗&#34;&gt;画像のアップロード失敗&lt;/h2&gt;
&lt;p&gt;アップロード失敗時のヒント：アップロード中にちょっとした問題が発生しました。コントローラーを開いて原因を確認してください！&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;新浪（Sina）のアカウントとパスワードが正しいか確認してください。&lt;/li&gt;
&lt;li&gt;一度、手動でウェブ版の新浪微博（Sina Weibo）にログインしてください。&lt;/li&gt;
&lt;li&gt;新浪アカウントに微博を投稿する権限があるか確認してください。&lt;/li&gt;
&lt;li&gt;設定が成功した後は、新浪のいかなるプラットフォームにもログインしないでください（サブアカウントの使用を推奨します）。&lt;/li&gt;
&lt;li&gt;ここで新浪のサブアカウントを購入できます：&lt;a href=&#34;https://pay.52ecy.cn&#34;&gt;萌音发卡&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;アップロード画像のサイズ&#34;&gt;アップロード画像のサイズ&lt;/h2&gt;
&lt;p&gt;新浪の制限以外に、画像のアップロードはサーバーの設定にも依存します。&lt;/p&gt;</description>
    </item>
    <item>
      <title>軽量 新浪画像アップローダー 幻想領域1.0 リリース</title>
      <link>https://en.moejue.cn/ja/posts/61/</link>
      <pubDate>Thu, 08 Mar 2018 02:20:59 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/61/</guid>
      <description>&lt;h1 id=&#34;幻想領域&#34;&gt;幻想領域&lt;/h1&gt;
&lt;p&gt;やったー、ついに自分専用の画像アップローダーが手に入りました。
幻想領域は、PHP言語で開発された軽量なSina画像アップローダーシステムです。
その誕生は最終的な解決策ではなく、開発の目的は自分自身の利便性のためです。
&lt;a href=&#34;https://img.52ecy.cn/&#34;&gt;プロジェクトホームページ&lt;/a&gt;
&lt;a href=&#34;https://github.com/178146582/Fantasy-field&#34;&gt;プロジェクトアドレス&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;システム紹介&#34;&gt;システム紹介&lt;/h1&gt;
&lt;p&gt;幻想領域では、画像アップローダーの画像はすべてSina Cloudにホストされており、各画像には複数の異なるレベルのサムネイルがあります。これが幻想領域の最大の特徴の一つです。
比較的完成されたユーザーシステムと管理者システムを備えています。管理者はバックエンドで完全な権限を持ち、ウェブサイトのすべての基本設定を行うことができます。
「マイギャラリー」には、ユーザーがアップロードしたすべての画像が一覧表示され、管理者はシステムがホストするすべての画像を閲覧できます。ここでは画像を削除、プレビュー、またはコピーできますが、削除しても本システムに表示されなくなるだけで、画像自体はSina上に残ることをご承知おきください。
「探索」は、フロントエンドでのユーザー画像プレビュー機能です。ここでは、必要なものを見つけることができます。不要な場合は、バックエンドで設定をオフにできます。
Sina画像アップローダーへのアップロードには要件がないわけではありません。ログイン認証が必要ですが、当システムは拡張機能に依存しない独立したSinaログインプログラムを備えており、認証コードも不要で、Cookieの有効期限が切れると自動的にログインします。これにより、あらゆる心配事を解消します。したがって、正常に使用するにはバックエンドでSinaアカウントのパスワードを設定する必要があります。&lt;/p&gt;
&lt;h1 id=&#34;ダウンロード&#34;&gt;ダウンロード&lt;/h1&gt;
&lt;p&gt;最新正式版&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://codeload.github.com/178146582/Fantasy-field/zip/master&#34;&gt;今すぐダウンロード&lt;/a&gt;&lt;/p&gt;
&lt;h1 id=&#34;インストール&#34;&gt;インストール&lt;/h1&gt;
&lt;p&gt;幻想領域のソースコードを解凍し、ウェブサイトのルートディレクトリにアップロードする必要があります。ウェブサイトのドメインにアクセスすると、自動的にインストールプログラムにリダイレクトされますので、ウィザードの指示に従ってインストールしてください。リダイレクトされない場合は、手動で http://あなたのドメイン/install.php にアクセスしてインストールしてください。
初回インストール成功後、画像アップローダーを使用するには、管理者バックエンドにログインして基本的な設定を行う必要があります。
バックエンドアドレス：http://あなたのドメイン/admin しかし皮肉なことに、フロントエンドでログインする必要があります。&lt;/p&gt;
&lt;h4 id=&#34;環境サポート&#34;&gt;環境サポート&lt;/h4&gt;
&lt;p&gt;ご注意ください、幻想領域はバージョン1.0以降、PHPバージョン5.6以上のみをサポートしています。PHPバージョンを更新してください。&lt;/p&gt;
&lt;h1 id=&#34;更新予告&#34;&gt;更新予告&lt;/h1&gt;
&lt;p&gt;フロントエンドの独立した画像プレビューインターフェース
ワンクリックでHTML、BBSなどのコードを生成
人気、検索、ランダム、カテゴリなどの機能
短縮URLシステムの統合
&amp;hellip;&amp;hellip;&amp;hellip;など
これらはすべて将来のバージョンでサポートされる予定です。
より良い提案や意見、またはバグのフィードバックがありましたら、ここにメッセージを残すか、admin@52ecy.cn までメールを送信してください。&lt;/p&gt;
&lt;h1 id=&#34;ライセンス-faq&#34;&gt;ライセンス FAQ&lt;/h1&gt;
&lt;p&gt;幻想領域の非商用バージョンは、GPLライセンスおよび関連条項に従ってリリースされており、以下の点にまとめられます。&lt;/p&gt;
&lt;h2 id=&#34;遵守事項&#34;&gt;遵守事項：&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;GPL V3ライセンスを、あなたが変更しオープンソース化したバージョンに含めること。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;与えられる権利&#34;&gt;与えられる権利：&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;幻想領域を自由にダウンロードして使用すること&lt;/li&gt;
&lt;li&gt;幻想領域を新しいオープンソースプロジェクトに含めること&lt;/li&gt;
&lt;li&gt;ソースコードを変更すること&lt;/li&gt;
&lt;li&gt;幻想領域の&lt;strong&gt;オリジナル版&lt;/strong&gt;を配布すること&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;禁止事項&#34;&gt;禁止事項：&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;商業目的で幻想領域を使用すること&lt;/li&gt;
&lt;li&gt;プログラムの著作権情報を削除または改ざんすること&lt;/li&gt;
&lt;li&gt;商業目的でオリジナル版または二次変更版を独占販売、販売すること&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;画面プレビュー&#34;&gt;画面プレビュー&lt;/h1&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fp4ju7716lj30lr0s8gmj.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fp4ju7bjjzj30kc09vglo.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fp4ju6keewj30zm0mpwge.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fp4ju7fu8gj31200mpn0a.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fp4ju7rr0hj31200mp76q.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fp4jtxb9bsj31200mpq76&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fp4ju6yg11j30xe0mp102.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ランダム二次元画像API第二弾</title>
      <link>https://en.moejue.cn/ja/posts/60/</link>
      <pubDate>Sun, 04 Mar 2018 11:01:46 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/60/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqeqjtrbj1j30tn0lrhdt.jpg&#34;&gt;&lt;br&gt;
約3ヶ月ぶり、最初のランダム二次元画像APIの公開からかなりの時間が経ちました。&lt;br&gt;
第二弾API、突然の登場です。&lt;/p&gt;
&lt;h2 id=&#34;更新内容&#34;&gt;更新内容：&lt;/h2&gt;
&lt;p&gt;前バージョンと比較して、今回の画像は、背景画像やデスクトップ壁紙などにより適しています。&lt;br&gt;
前バージョンはまさに寄せ集めで、あらゆる種類の画像があり、ひどいものでした（私自身も使っていません）。今回のバージョンでは、時間をかけて一部の画像（1080P以上）を選別し、新浪雲にアップロードしました。&lt;br&gt;
真の意味でHTTPSをサポートし、画像はすべて新浪雲でホストされており、速度も向上しました。&lt;br&gt;
あらゆる意味でのパラメータ設定を削除しました。&lt;br&gt;
画像コンテンツはすべてアニメ・二次元画像です（全年齢向け（笑））。&lt;/p&gt;
&lt;h2 id=&#34;apiエンドポイント&#34;&gt;APIエンドポイント：&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://random.52ecy.cn/randbg.php&#34;&gt;https://random.52ecy.cn/randbg.php&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;はい、呼び出しはこれほど簡単です。直接アクセスするだけで利用できます。どうぞお試しください。&lt;br&gt;
&lt;a href=&#34;https://www.52ecy.cn/post-56.html&#34;&gt;以前の簡易版&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://random.52ecy.cn/&#34;&gt;プロジェクトホームページ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ランダムアニメ壁紙、毎日更新して、毎回違う画像を楽しめます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://random.52ecy.cn/&#34;&gt;&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>二次元に勝るものなし。</title>
      <link>https://en.moejue.cn/ja/posts/55/</link>
      <pubDate>Mon, 12 Feb 2018 06:16:35 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/55/</guid>
      <description>&lt;p&gt;一つの画面が、一つの次元を隔てている
画面の中の君は、画面の外の僕を惹きつける
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0edmwwkj30y90qeq8f.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0edmwwkj30y90qeq8f.jpg&#34;&gt;&lt;/a&gt;
きっと、画面の中の君は、画面の外の僕に気づくことはないだろう
それでも、画面の中の君が好きだ
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0o6o2idj31kw0qek41.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0o6o2idj31kw0qek41.jpg&#34;&gt;&lt;/a&gt;
もしかしたら、存在しないものを好きだから、私たちは幼稚だと思われるのかもしれない
それでも、私は好きだ
二次元を好きではない人にとって、私の言葉は、ただの無駄話だろう
好きな人にとっては、「今生無悔、来世仍愿」でさえ足りない。
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0p4iqjhj31kw138kjl.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0p4iqjhj31kw138kjl.jpg&#34;&gt;&lt;/a&gt;
「ほとんどの時間を二次元に費やして、後悔しないか？」
「後悔はしない、二次元に出会うのが遅すぎたことを後悔している」&lt;/p&gt;
&lt;p&gt;「この世界に二次元が存在すると信じているか？」
「信じている。」「行ったことがあるのか？」「ない。」
「では、なぜ信じるのか？」
「信じていれば、もっと幸せだからだろう。」
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0pqi595j315o0jmjwe.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0pqi595j315o0jmjwe.jpg&#34;&gt;&lt;/a&gt;
どんなに努力しても、私たちが愛する二次元は、私たちがいる三次元に溶け込むことはできない。
私ができることは、二次元をますます好きになることだけだ。なぜなら、いつか、私の愛する二次元を認めてくれる人が現れると信じているからだ。
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0qf669vj311s1hctv6.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0qf669vj311s1hctv6.jpg&#34;&gt;&lt;/a&gt;
桜がどれくらい咲くのか、待つ価値があるのか、私は知らない；
アニメがどれくらい見られるのか、追い求める価値があるのか、私は知らない；
二次元がどれくらい私に寄り添ってくれるのか、共に歩む価値があるのか、私は知らない。
しかし、後悔はしない！！
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0qzt0npj310p1hc1kx.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0qzt0npj310p1hc1kx.jpg&#34;&gt;&lt;/a&gt;
私のことが好き？好き？好き？
もし私のことが好きなら、
それなら、
どんなことがあっても、
私が好きなアニメも一緒に好きになってください！
なぜなら、私が最も美しいと思うものを、あなたと一緒に分かち合いたいからだ。
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0rd7rfoj30rs18vtjh.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0rd7rfoj30rs18vtjh.jpg&#34;&gt;&lt;/a&gt;
アニメの中では、
気まずさ、恥ずかしさ、言葉にならない
といった表情はとても面白い。
しかし、実写ドラマでは、
面白いものが少し気まずく感じられ、
気まずいものが言葉にならないように感じられ、
恥ずかしそうなものがなんだか変に感じられる。
実写版よりも、私はアニメの中の展開の方が好きだ！
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0rzbwujj30h10qsgtw.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0rzbwujj30h10qsgtw.jpg&#34;&gt;&lt;/a&gt;
夜、静かな時にベッドに横たわり、ぎこちない文章を練る時、
彼らの点火によって私のインスピレーションが湧き、一節一節の文章を書く時、
称賛のコメントを一つ一つ受け取る時、そして、これは三次元の人々が決して理解できない領域だと知っている時。
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0shhy7qj318g0p0qv5.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0shhy7qj318g0p0qv5.jpg&#34;&gt;&lt;/a&gt;
もしかしたら、二次元を好きな人は少しオタクかもしれない。
もしかしたら、二次元を好きな人は友達が少ないかもしれない。
もしかしたら、二次元を好きな人は本当に幼稚なのかもしれない。
二次元の人は、いつも二次元に一生引きこもっていたいと言うが、
現実は残酷で、
二次元は三次元から離れることができない。
しかし、二次元を好きな人は、その虚幻な存在に固執する。なぜ？
なぜだろうか、それはおそらく三次元に証明するためだろう。
二次元ほど美しいものはない。
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0th916nj31kw147hda.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh0th916nj31kw147hda.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>初めてのフィギュア購入体験</title>
      <link>https://en.moejue.cn/ja/posts/59/</link>
      <pubDate>Fri, 02 Feb 2018 03:49:46 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/59/</guid>
      <description>&lt;p&gt;雪ノ下より、実は一色の方が好き。&lt;br&gt;
いやいや、これは絶対に告白じゃない。じゃないと、一色がまたこう言うに決まってる。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;もしかして、さっきのって私を口説こうとしてました？&lt;br&gt;
ごめんなさい、一瞬ちょっとキュンとしちゃいましたけど&lt;br&gt;
でも冷静に考えてみたら、やっぱり私たちってありえないですよね&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;それにしても、箱がでかいな。&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh02fwyx8j30qo0zkwh6.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh02fwyx8j30qo0zkwh6.jpg&#34;&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh03fyihfj30qo0zk41i.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh03fyihfj30qo0zk41i.jpg&#34;&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh03fu2umj30qo0zkjuc.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh03fu2umj30qo0zkjuc.jpg&#34;&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh03fy3w2j30qo0zk418.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh03fy3w2j30qo0zk418.jpg&#34;&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh03fzl62j30qo0zkdj9.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh03fzl62j30qo0zkdj9.jpg&#34;&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh03g2clhj30qo0zkjub.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh03g2clhj30qo0zkjub.jpg&#34;&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh03gi1fej30qo0zkn0k.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh03gi1fej30qo0zkn0k.jpg&#34;&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh03gxk5qj30qo0zkdii.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh03gxk5qj30qo0zkdii.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;こう聞きたいかもしれない。&lt;/p&gt;
&lt;p&gt;たかがプラスチックのフィギュアの何が面白いんだ？&lt;/p&gt;
&lt;p&gt;あるいは、うっかり数万円もする値段を見てしまったら&lt;/p&gt;
&lt;p&gt;フィギュアオタクは頭がおかしいんじゃないかって、きっとため息をつくだろう！！&lt;/p&gt;
&lt;p&gt;だからあなたには永遠に分からないだろう。&lt;/p&gt;
&lt;p&gt;大好きなキャラクターを机の前に飾り、&lt;/p&gt;
&lt;p&gt;画面以外で本命に会えるその満足感が、&lt;/p&gt;
&lt;p&gt;彼女がリップのフルセットをもらった時の喜びや、&lt;/p&gt;
&lt;p&gt;あなたのお母さんが満点の答案用紙を受け取った時の喜びに、決して劣らないということを。&lt;br&gt;
フィギュア集めは沼だと聞く。これは決してフラグではない。&lt;/p&gt;</description>
    </item>
    <item>
      <title>.htaccessを利用してサブドメインをサブディレクトリに紐付ける</title>
      <link>https://en.moejue.cn/ja/posts/58/</link>
      <pubDate>Mon, 22 Jan 2018 01:18:11 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/58/</guid>
      <description>&lt;p&gt;通常、1つの仮想ホストでは、ルートディレクトリにバインドできるドメインは1つだけです。
emlogを使用したことがある方なら、その静的リンク（パーマリンク）についてよくご存知のはずです。これは、.htaccessファイルを利用してウェブページをドメインリダイレクトする典型的な例です。
.htaccessを利用してドメインをサブディレクトリにバインドするには、前提として、お使いのホスティングサーバーがApacheのrewrite機能をサポートしている必要があります。そうでなければ.htaccessは使用できません。もしお使いのサーバーがLinuxサーバーであれば、通常はデフォルトで有効になっています。これにより、ドメインのサブディレクトリへのバインドや、1つのホスティングスペースで複数のサイトを運営することが可能になります。&lt;/p&gt;
&lt;p&gt;以下は、&lt;code&gt;link.52ecy.cn&lt;/code&gt; をサブディレクトリ &lt;code&gt;link&lt;/code&gt; にバインドする例の.htaccessコードです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-apache&#34; data-lang=&#34;apache&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;IfModule&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;mod_rewrite.c&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteEngine &lt;span style=&#34;color:#66d9ef&#34;&gt;On&lt;/span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteBase /  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# link.52ecy.cn をサブディレクトリ link にバインド&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteCond %{HTTP_HOST} ^link\.52ecy\.cn$ [NC]  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteCond %{REQUEST_URI} !^/link/  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteRule ^(.*)$ link/$1?Rewrite [L,QSA]  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 複数バインド可能。上の3行を繰り返し、ドメイン名とディレクトリ名を変更するだけです&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/IfModule&amp;gt;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;上記の手順を完了すると、サブドメインにアクセスできるようになるはずです。しかし、ブラウザで「メインドメイン + バインドしたディレクトリ」にアクセスしても表示されることに気づくでしょう。これは我々が望む動作ではありません。
次に、最後のステップを完了させます。バインドした各ディレクトリ（例えば&lt;code&gt;link&lt;/code&gt;ディレクトリ）にも、.htaccessファイルを追加します。
.htaccessのコードは以下の通りです。&lt;/p&gt;
&lt;p&gt;以下は、&lt;code&gt;music.xmgho.com&lt;/code&gt; をサブディレクトリ &lt;code&gt;music&lt;/code&gt; にバインドする例の.htaccessコードです。
これにより、ドメインのサブディレクトリへのバインドや、1つのホスティングスペースで複数のサイトを運営することが可能になります。これにより、ドメインのサブディレクトリへのバインドや、1つのホスティングスペースで複数のサイトを運営することが可能になります。これにより、ドメインのサブディレクトリへのバインドや、1つのホスティングスペースで複数のサイトを運営することが可能になります。これにより、ドメインのサブディレクトリへのバインドや、1つのホスティングスペースで複数のサイトを運営することが可能になります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-apache&#34; data-lang=&#34;apache&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;IfModule&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;mod_rewrite.c&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteEngine &lt;span style=&#34;color:#66d9ef&#34;&gt;On&lt;/span&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteBase /  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# バインドしたドメインからのアクセスのみを許可&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteCond %{HTTP_HOST} !^link\.52ecy\.cn$ [NC]  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteRule (.*) http://link.52ecy.cn/$1 [L,R=301]  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# バインドしたディレクトリ内の同名ディレクトリの処理&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteCond %{REQUEST_URI} ^\&lt;span style=&#34;color:#e6db74&#34;&gt;/link&lt;/span&gt;\/ [NC]  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteCond %{QUERY_STRING} !^(.*)?Rewrite  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA]  
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/IfModule&amp;gt;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;結び：
私のサーバー自体がサブドメインのサブディレクトリへのバインドをサポートしているため、自分ではテストできませんでした。しかし、友人にAlibaba Cloud（阿里云）のホストでテストしてもらったところ、成功しました。ただし、Alibaba Cloudには数量制限があり、多数バインドするとルートディレクトリにリダイレクトされるようです。このことから、すべてのホスティングプロバイダーがこの方法をサポートしているわけではないようで、ご自身でテストして確認する必要があります。
最後に、最も重要な点は、ドメインが正しく名前解決されていなければ意味がないということです[苦笑～]&lt;/p&gt;</description>
    </item>
    <item>
      <title>理想の世界 - 二次元</title>
      <link>https://en.moejue.cn/ja/posts/53/</link>
      <pubDate>Sat, 13 Jan 2018 06:33:50 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/53/</guid>
      <description>&lt;p&gt;九月一到，就有了秋意。それはつま先立ちで木々の梢をかすめ、数枚の葉を赤く染め、そして一陣の風に乗って谷を越え去っていく。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqi60f8le9j31hc0u0n8n.jpg&#34;&gt;
夏の日、畳の上にだらりと横たわり、レモンソーダ味のジュースをもう一杯飲みながら、こののんびりとした午後のひとときを満喫する。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi63pnup6j31hc0u0wlq.jpg&#34;&gt;
寝室に来て窓を開け、お気に入りの曲を奏でる。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqi62jhew4j31gs0tp7f2.jpg&#34;&gt;学生時代を思い出す。よく友達と椅子に座って美味しいランチを分け合ったものだ。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi64950e9j31hc0u0thl.jpg&#34;&gt;
陽光がガラス越しに差し込み木の床を照らす。音楽室はこれまでの静かな雰囲気を打ち破った。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi69kzpmpj30ri0fhn04.jpg&#34;&gt;
食堂へ入る。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqi6e9p123j30ri0fhn0c.jpg&#34;&gt;
日没時のグラウンド。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi6iejdztj30xc0i9adq.jpg&#34;&gt;
バスに乗り込み、サマーキャンプを始める。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi6i4gj46j30xc0i6tb6.jpg&#34;&gt;
さあ、近くの景色を見に行こう。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi6ot5rl1j31hc0u0wkp.jpg&#34;&gt;
山の中の夜は少し怖い。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi6l8lq5nj30tc0gidgs.jpg&#34;&gt;
しかし、夜の川辺は心を和ませる。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi6m7xmbcj30x30im0uy.jpg&#34;&gt;
サマーキャンプの洗面所。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi6nd4nrgj30x30imgp5.jpg&#34;&gt;
医務室。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi6kh7bumj30xc0i9go4.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;*記事中の画像素材は日本のイラストレーターArsenixc氏によるものです。&lt;/p&gt;</description>
    </item>
    <item>
      <title>シンプルなブログの新テーマ『Sina』が公開 - 新浪を魔改造</title>
      <link>https://en.moejue.cn/ja/posts/9/</link>
      <pubDate>Tue, 09 Jan 2018 12:21:19 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/9/</guid>
      <description>&lt;h1 id=&#34;はじめに余談&#34;&gt;はじめに（余談）&lt;/h1&gt;
&lt;hr&gt;
&lt;p&gt;先日、たまたまあるブログを開きました。わあ、一見すると、微博を開いたのかと思いました。ブログ全体はかなり気に入っていて、とても見栄えが良く、新浪のテーマを魔改造したようなスタイルでした。&lt;/p&gt;
&lt;p&gt;そして、そのまま引っ張ってきました。元の作者が誰なのかは分かりません。WPのプログラムなので、触ったことがなく、よく知らないからです。&lt;/p&gt;
&lt;p&gt;今回のテーマはおそらく、たぶん、もしかしたら最後になるかもしれません。ブログはもうやめるつもりです。2018年に新しいプロジェクトを始める予定で、現在企画中です。具体的な実施は早くても年明けになるでしょう。&lt;/p&gt;
&lt;p&gt;このシンプルなブログシステムは、フローがかなりごちゃごちゃしていて、本来は書き直したかったのですが、あまりにもごちゃごちゃしすぎていて書き直す気になれず（悪循環）、最終的に放置することになりました~~&lt;/p&gt;
&lt;p&gt;なので、このブログはオープンソースではありません（こんなにひどいものを書いたら、大御所に笑われるかもしれないので）。しかし、次の新しいプロジェクトはオープンソースにする予定です。結局のところ、オープンソースだけが人を成長させます（実際は格好つけですが）。&lt;/p&gt;
&lt;h1 id=&#34;テーマプレビュー過去のテーマも含む&#34;&gt;テーマプレビュー（過去のテーマも含む）&lt;/h1&gt;
&lt;hr&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.52ecy.cn/?mr&#34;&gt;デフォルトテーマプレビュー&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.52ecy.cn/?post=2&#34;&gt;シンプルブログ1.0バージョン&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.52ecy.cn/post-4.html&#34;&gt;シンプルブログ1.1バージョン&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.52ecy.cn/?D&#34;&gt;Dimensionテーマプレビュー&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;現在使用しているテーマが最新テーマで、仮に&lt;a href=&#34;https://blog.52ecy.cn/&#34;&gt;Sina&lt;/a&gt;と名付けました（くそっ、新浪に怒られるかな）。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;2345截图20180109193444.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/476b9968f4fcdf13934a39e41f374ca5.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;ヒント：大画面でのプレビューがより効果的です。&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;2345截图20180109194927.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/1f0b6bc6281010fe5af88323fe49db6c.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>2018年元旦おめでとう！ヘイヘイヘイ．</title>
      <link>https://en.moejue.cn/ja/posts/8/</link>
      <pubDate>Mon, 01 Jan 2018 06:15:10 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/8/</guid>
      <description>&lt;p&gt;emmm
まず、ご来訪の皆様に一言&lt;/p&gt;
&lt;h2 id=&#34;あけましておめでとうございます明けましておめでとうございます戌年もよろしくお願いします&#34;&gt;あけましておめでとうございます！明けましておめでとうございます！戌年もよろしくお願いします！&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqeqs242ouj30tz18en2z.jpg&#34;&gt;&lt;/h2&gt;
&lt;p&gt;次に、この記事は1月1日に投稿されたものではないので、2日前にここに来た人は見たはずだ。
もちろん、偉大なるブロガーとして、その好意を称えるためにこっそり日付を変えるのは構わない。&lt;/p&gt;
&lt;p&gt;それからここ数日、ブログにlyteboxの画像ポップアップレイヤーを追加し、画像のサイズを少し小さくした（元画像の70%~80%に）。
元々、このようなことをするつもりはなかった。すべての美しい画像のサイズを小さくするのは面倒だったのだ。
しかし、請求書を見て、ほとんど誰もほぼ100Mの消費量の画像のケースを訪問しないように、速度の問題もあり、各画像は400kかそこらの平均に達し、さらにサイトが面倒なプラグインの様々な追加、サイトを開くために遠隔地は問題ではないかもしれません！
ちなみに、祝福に乾杯の右上隅にもサイトがあり、見て引っ張る。&lt;/p&gt;</description>
    </item>
    <item>
      <title>メモ：Sublime Text3設定</title>
      <link>https://en.moejue.cn/ja/posts/54/</link>
      <pubDate>Thu, 28 Dec 2017 13:49:37 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/54/</guid>
      <description>&lt;p&gt;Sublime Text3の設定情報を保存しておきます。次回また見失わないように。&lt;/p&gt;
&lt;h2 id=&#34;設定&#34;&gt;設定：&lt;/h2&gt;
&lt;p&gt;{
&amp;ldquo;font_size&amp;rdquo;: 21,                        // フォントサイズを設定
&amp;ldquo;word_wrap&amp;rdquo;: true,                      // 自動折り返し
&amp;ldquo;update_check&amp;rdquo;: false,                  // 更新チェックを無効にする
&amp;ldquo;font_face&amp;rdquo;: &amp;ldquo;Courier New&amp;rdquo;,             // フォントを設定
&amp;ldquo;highlight_modified_tabs&amp;rdquo;: true,        // 変更されたファイルをハイライト
&amp;ldquo;create_window_at_startup&amp;rdquo;: false,      // 起動時に新しいウィンドウを自動で開かない
&amp;ldquo;open_files_in_new_window&amp;rdquo;: false,      // ファイルを開くときに新しいウィンドウを生成しない
&amp;ldquo;highlight_line&amp;rdquo;: true,                 // 現在の行をハイライト表示
&amp;ldquo;show_encoding&amp;rdquo;: true,                  // 右下隅にエンコーディングタイプを表示
&amp;ldquo;open_files_in_new_window&amp;rdquo;: false,      // 毎回新しいウィンドウで開くのを禁止
&amp;ldquo;caret_style&amp;rdquo;: &amp;ldquo;phase&amp;rdquo;,                 // カーソルの点滅方法を設定
&amp;ldquo;line_padding_top&amp;rdquo;: 5,                  // 行上部の余白
&amp;ldquo;line_padding_bottom&amp;rdquo;: 5,               // 行下部の余白
&amp;ldquo;fade_fold_buttons&amp;rdquo;: false,             // コード折りたたみアイコンを常に表示
&amp;ldquo;translate_tabs_to_spaces&amp;rdquo;: false       // Tabの代わりにスペースを使用
}&lt;/p&gt;
&lt;h2 id=&#34;プラグイン&#34;&gt;プラグイン：&lt;/h2&gt;
&lt;p&gt;プラグインマネージャーのインストール: ショートカットキー ctrl+` または View &amp;gt; Show Console メニューからコンソールを開きます&lt;/p&gt;</description>
    </item>
    <item>
      <title>あなたのブログにLive2D看板娘を設置しよう</title>
      <link>https://en.moejue.cn/ja/posts/2/</link>
      <pubDate>Sun, 24 Dec 2017 10:14:22 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/2/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqer4e0f8bj30nw0kkqos.jpg&#34;&gt;
先日、多くの人のブログでLive2Dの看板娘を見かけ、とても興味を持ちました！そこで、自分のブログにも追加するために、関連チュートリアルをいくつか調べました。&lt;/p&gt;
&lt;h2 id=&#34;はじめに&#34;&gt;はじめに&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;Live2Dは最先端の技術ではありません。その効果は、基本的な平行移動、回転、透明度、曲面変形などの操作によって実現されます。最終的な効果はテクスチャに大きく依存し、各動作は制作者による綿密な調整が必要です。これは膨大な時間と労力を要するプロセスであるため、質の良いモデルは多くなく、質の良いものは通常ゲーム内にあり、著作権で保護されているため、自由に使用することはできません。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;本記事で使用されているモデルは、&lt;a href=&#34;https://play.google.com/store/apps/details?id=com.sinsiroad.potionmaker&amp;amp;hl=zh_CN&#34; title=&#34;薬水制作师&#34;&gt;薬水制作师&lt;/a&gt;というモバイルゲームから解包されたものであり、著作権は公式に帰属します。（そうです、私もこのゲームを宣伝しに来ました）&lt;/p&gt;
&lt;h2 id=&#34;準備作業&#34;&gt;準備作業&lt;/h2&gt;
&lt;p&gt;「魚を与えるよりも、魚の釣り方を教える方が良い」とは言いますが、この魚は釣るのが難しいので、おとなしく小さな椅子に座って、釣られた魚を食べる側に回りましょう！
以下のコードは、私が&lt;a href=&#34;https://haremu.com/p/205&#34;&gt;後宫学长&lt;/a&gt;から堂々と盗んできた魚を調理したものです。&lt;/p&gt;
&lt;p&gt;まずは私の&lt;a href=&#34;https://github.com/178146582/live2d&#34; title=&#34;Github&#34;&gt;Github&lt;/a&gt;へ行き、私が再度整理したLive2Dのコード（二人の動作と初期の3種類のテクスチャを含む）をダウンロードしてください。やはり調理済みのものが美味しいですからね〜。&lt;/p&gt;
&lt;p&gt;ダウンロード後、コードを解凍してブログサイトのルートディレクトリに配置します。（ディレクトリの位置は自由に設定できます）&lt;/p&gt;
&lt;p&gt;そして、解凍したフォルダの名前を「live2d」に変更します。（名前は何でも構いませんが、見栄えが最も重要です）
（少女は盲目的に分析中）
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqer55sg1mj30sj0jkjyh.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqerbwulp3j30sh0jkqa4.jpg&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;使用方法&#34;&gt;使用方法&lt;/h2&gt;
&lt;p&gt;それでは、食べ方を教えましょう、いや、本当に食べ始めるわけではありませんが。&lt;/p&gt;
&lt;p&gt;ブログのヘッダーファイル（header.php）でインターフェーススタイルを読み込むために、&lt;code&gt;head&lt;/code&gt;タグ内に以下のコードを挿入します。&lt;/p&gt;
&lt;link rel=&#34;stylesheet&#34; href=&#34;https://en.moejue.cn/live2d/css/live2d.css&#34; /&gt;
&lt;p&gt;ブログのフッターファイル（footer.php）でスクリプトを読み込むために、&lt;code&gt;body&lt;/code&gt;タグの終了前に以下のコードを挿入します。&lt;/p&gt;
&lt;script type=&#34;text/javascript&#34;&gt;
    var message\_Path = &#39;/live2d/&#39;
    var home\_Path = &#39;https://www.52ecy.cn/&#39;  
&lt;/script&gt;
&lt;script type=&#34;text/javascript&#34; src=&#34;https://en.moejue.cn/live2d/js/live2d.js&#34;&gt;&lt;/script&gt;
&lt;script type=&#34;text/javascript&#34; src=&#34;https://en.moejue.cn/live2d/js/message.js&#34;&gt;&lt;/script&gt;
&lt;script type=&#34;text/javascript&#34;&gt;
    loadlive2d(&#34;live2d&#34;, &#34;/live2d/model/tia/model.json&#34;);
&lt;/script&gt;
&lt;p&gt;上記のコードで絶対パスを使用する際に注意すべき問題があります。
私のブログ&lt;code&gt;www.52ecy.cn&lt;/code&gt;と&lt;code&gt;52ecy.cn&lt;/code&gt;はどちらもアクセス可能ですが、参照時に&lt;code&gt;www&lt;/code&gt;を使用すると、&lt;code&gt;www.52ecy.cn&lt;/code&gt;にアクセスする際には問題ありませんが、&lt;code&gt;52ecy.cn&lt;/code&gt;に直接アクセスすると、クロスドメイン問題（サブドメインが異なる場合もクロスドメインに該当）によりjsonが読み込めなくなり、看板娘が表示されなくなります。
以下のコードに変更できます（キャラクターの切り替えも、対応するフォルダ名に変更するだけで済みます）。&lt;/p&gt;
&lt;script type=&#34;text/javascript&#34;&gt;
    loadlive2d(&#34;live2d&#34;, &#34;&lt;?php echo &#39;http://&#39;.$\_SERVER\[&#39;HTTP\_HOST&#39;\].&#39;/&#39;; ?&gt;live2d/model/Pio/model.json&#34;);
&lt;/script&gt;
&lt;p&gt;適切なページ位置にLive2D看板娘の要素を挿入します。ページ下部に配置できます。&lt;/p&gt;
&lt;div id=&#34;landlord&#34;&gt;
    &lt;div class=&#34;message&#34; style=&#34;opacity:0&#34;&gt;&lt;/div&gt;
    &lt;canvas id=&#34;live2d&#34; width=&#34;280&#34; height=&#34;250&#34; class=&#34;live2d&#34;&gt;&lt;/canvas&gt;
&lt;/div&gt;
&lt;p&gt;マウスをページの特定の要素に置いたときに、Live2D看板娘にヒントを表示させたい場合は、&lt;code&gt;message.json&lt;/code&gt;ファイルを変更してください。&lt;/p&gt;
&lt;p&gt;{
&amp;ldquo;mouseover&amp;rdquo;: [
{
&amp;ldquo;selector&amp;rdquo;: &amp;ldquo;.container a[href^=&amp;lsquo;http&amp;rsquo;]&amp;rdquo;,  // ここをページ要素のタグ名に変更
&amp;ldquo;text&amp;rdquo;: [&amp;quot;{text}を見てみますか？&amp;quot;]  // ここを必要なヒントのテキストに変更
},
{
&amp;ldquo;selector&amp;rdquo;: &amp;ldquo;.navto-search&amp;rdquo;,
&amp;ldquo;text&amp;rdquo;: [&amp;ldquo;何かお探しですか、お手伝いしましょうか？&amp;rdquo;]
}
],
&amp;ldquo;click&amp;rdquo;: [  // ここはLive2D看板娘のタッチイベントのヒント
{
&amp;ldquo;selector&amp;rdquo;: &amp;ldquo;#landlord #live2d&amp;rdquo;,
&amp;ldquo;text&amp;rdquo;: [&amp;ldquo;触らないで！手をどけて〜〜&amp;rdquo;, &amp;ldquo;ほ…本当に恥知らず！&amp;rdquo;, &amp;ldquo;これ以上触ったら通報しますよ！⌇●﹏●⌇&amp;rdquo;, &amp;ldquo;110番ですか、ここに変態がずっと私を触っています(ó﹏ò｡)&amp;rdquo;]
}
]
}&lt;/p&gt;</description>
    </item>
    <item>
      <title>ラブライブ - μ&#39;s</title>
      <link>https://en.moejue.cn/ja/posts/49/</link>
      <pubDate>Sat, 16 Dec 2017 01:50:55 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/49/</guid>
      <description>&lt;p&gt;μ&amp;rsquo;s（ミューズ
&amp;ldquo;1, 2, 3, 4, 5, 6, 7, 8, 9!&amp;rdquo;
&amp;ldquo;μ&amp;rsquo;s、ミュージック、START!!!&amp;rdquo;&lt;/p&gt;
&lt;p&gt;高坂園子、南ことり、園田海未、小泉花陽、星かり凛、西木野真姫、矢澤にこ、東條希、ゴージャスセット絵里。&lt;/p&gt;
&lt;p&gt;9人、3班、1グループ、μ&amp;rsquo;sと書いてミラクルと読む！
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqlpik2d8xj30p00e2q3g.jpg&#34;&gt;。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh11t4cmnj31ao0t6agh.jpg&#34;&gt;](&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh11t4cmnj31ao0t6agh.jpg&#34;&gt;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh11t4cmnj31ao0t6agh.jpg&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;最初のコンサートでは3人だったのが、6人になり、最後には9人になった。彼女たちは今日まで数え切れないほどの努力と忍耐を積み重ねてきた。
START：DASH!!!!(&lt;a href=&#34;https://www.bilibili.com/video/av16839468/#page=6&#34;&gt;https://www.bilibili.com/video/av16839468/#page=6&lt;/a&gt;)」を毎日練習し、いざステージに立つと誰もいない中、我慢して歌い続けた。(胸が苦しくなる。）
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh151q5kgj30vm0hs41l.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh151q5kgj30vm0hs41l.jpg&#34;&gt;&lt;/a&gt;
歌い続けたい、踊り続けたい。 海偉もことりも、きっと同じことを考えている。 こんな気持ち、初めてです。 やっててよかったと心から思う！ 今、この関係を信じたい！ もしかしたら、誰も見てくれないかもしれないし、応援してくれないかもしれない。 でも、頑張って広めていきたい！ 頑張って広めていこう！いつか必ず、この場所を満杯にする！ &amp;ndash;高坂浩永
(&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh16s21o5j30zk0k0dnu.jpg&#34;&gt;)(&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh16s21o5j30zk0k0dnu.jpg&#34;&gt;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh16s21o5j30zk0k0dnu.jpg&lt;/a&gt;)
START:DASH!μ&amp;rsquo;sが結成されたばかりで、高坂園子、南ことり、園田海未の3人しかいなかった頃の物語。
この「START:DASH」という曲は、あらゆる意味で非常に意味深い曲であり、その歌詞はμ&amp;rsquo;sの成長を象徴する「うぶ毛の小鸟たちも、いつか空に羽ばたく、大きな强い翼で飞ぶ」という非常に意味深いものである。この曲はハーモニー・バッキング・ボーカルが多く、このアニメソングをさらに成功させている！
メインは、「生まれたての鳥もいつかは羽を広げる」という歌詞に呼応するように、手を振ったり腕を振ったりしながら3人が交互に歌う。サビは3人のユニゾンで歌われ、決して諦めないことを象徴するように腕を上に振りながら伴奏する。ステージにいる限り、やるしかない」「誰もいなくても、歌い続けるしかない」という思いが伝わってくる。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh17o0t1tj31hc0xcdol.jpg&#34;&gt;](&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh17o0t1tj31hc0xcdol.jpg&#34;&gt;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh17o0t1tj31hc0xcdol.jpg&lt;/a&gt;)
彼らは当時の夢を実現し、会場を満員にした&lt;a href=&#34;https://www.bilibili.com/video/av16839468/index_7.html#page=7&#34;&gt;The&lt;/a&gt;&lt;a href=&#34;https://www.bilibili.com/video/av16839468/&#34;&gt;&lt;/a&gt;index_7.html#page=7) &lt;a href=&#34;https://www.bilibili.com/video/av16839468/#page=7&#34;&gt;START: DASH！(μ&amp;rsquo;s）&lt;/a&gt;
ファースト・ライヴはこの客席だった。
その時、いつかこのホールを満員にしようと思った。
全力で戦います。
今、ここにいる、この強い気持ちをいつかみんなに伝えよう。
あの時の夢が、今日ここで叶った。
だからこそ、これからも前進し続ける。
新たな夢を持って、これからも進んでいく。&lt;/p&gt;
&lt;p&gt;μ&amp;rsquo;sは小さな星の光から明るい光へと成長し、歌詞に9人の名前を書き、曲に想いを込め、決して離れることなく、たとえ別れても9人はずっと一緒にいる &amp;hellip;&amp;hellip;。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh18h6iyxj315o0ss7g1.jpg&#34;&gt;](&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh18h6iyxj315o0ss7g1.jpg&#34;&gt;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh18h6iyxj315o0ss7g1.jpg&lt;/a&gt;)
ノーブランド女子](&lt;a href=&#34;https://www.bilibili.com/video/av16839468/index_7.html#page=2&#34;&gt;https://www.bilibili.com/video/av16839468/index_7.html#page=2&lt;/a&gt;)
雨の日のライブで、ゴゴが体調を崩していることに誰も気づかず、1曲目の終わりまで粘って体調を崩してしまった(ゴゴには心苦しい)
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh1bqlq8jj30xc0irtdh.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh1bqlq8jj30xc0irtdh.jpg&#34;&gt;&lt;/a&gt;
どの役も魅惑的で、どの曲も前向きなエネルギーに満ちていて心地よく、どの経験も辛く大変なもので、どの機会も貴重で、どの足跡も考えさせられるもので、みんな一生忘れないだろう！
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh1a0t4olj30j60r6grk.jpg&#34;&gt;](&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh1a0t4olj30j60r6grk.jpg&#34;&gt;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh1a0t4olj30j60r6grk.jpg&lt;/a&gt;)
μ&amp;rsquo;s：
僕らのLIVE 君らのLIFE」という始まりがある。
START:DASH」というこだわりがある。
No brand girls」というパワーがある。
スメ→トウモロウ」という前進がある。
ソレかブティックの奇跡」というピークがある。
愛の翼の鐘」という励ましの言葉がある。
ダンシング・スタート・オン・ミー」という魔法がある。
スノーハレーション」という奇跡がある。
僕らは今のながで」というエネルギーがある。
アイシテタル ばんざーい」。
SUNNY DAY SONGという喜びがある。
僕たちはひとつの光だ。
サヨナラヘサヨナラ」という渋さがある！
コレガラ」という別れがある。
ミはμ&amp;rsquo;sicのミ」という永遠がある。
μ&amp;rsquo;sという組み合わせがある。
奇跡のオレンジという色がある。
μ&amp;rsquo;sicフォーエバー」という変わらないフレーズがある。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh1ailrwaj30ii0q1n4h.jpg&#34;&gt;](&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh1ailrwaj30ii0q1n4h.jpg&#34;&gt;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh1ailrwaj30ii0q1n4h.jpg&lt;/a&gt;)
μ&amp;rsquo;sの他の曲は&lt;a href=&#34;http://www.52ecy.cn/Music&#34;&gt;マイソングリスト&lt;/a&gt;の2番目のカテゴリにあります。
動画はアップロードできないので、他の動画は私のライブルームやスペースで見ることができます（見た後はコイン投票とブックマークを忘れずに）。
bilibili直播间：&lt;a href=&#34;http://live.bilibili.com/5655740&#34;&gt;http://live.bilibili.com/5655740
&lt;/a&gt;&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh1b4u9hpj31jk13cdxt.jpg&#34;&gt;&lt;/a&gt;0072Vf1pgy1fqh1b4u9hpj31jk13cdxt.jpg)
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh1db9wfpj31kw16onpd.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh1db9wfpj31kw16onpd.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ランダム二次元画像API公開</title>
      <link>https://en.moejue.cn/ja/posts/52/</link>
      <pubDate>Wed, 06 Dec 2017 14:52:50 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/52/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjcwlvnqzj30y40lnjzu.jpg&#34;&gt;&lt;br&gt;
&lt;a href=&#34;https://www.52ecy.cn/randbg&#34;&gt;ランダム二次元画像API公開 —— ランダムアニメ壁紙、毎日更新、毎回違う。&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;apiアドレス&#34;&gt;APIアドレス：&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://www.52ecy.cn/randbg/randbg.php&#34;&gt;https://www.52ecy.cn/randbg/randbg.php&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;リクエストパラメータの説明&#34;&gt;リクエストパラメータの説明：&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;名称&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;説明&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;type(オプション)&lt;/p&gt;
&lt;p&gt;json：標準のjsonデータ(画像アドレス)を返します&lt;br&gt;
302：画像アドレスにリダイレクトします(HTML画像挿入時に必ず使用してください)&lt;/p&gt;
&lt;p&gt;total(オプション)&lt;/p&gt;
&lt;p&gt;1-10 返される画像の数(jsonデータの場合のみ有効、最大10枚)&lt;/p&gt;
&lt;p&gt;style(オプション)&lt;/p&gt;
&lt;p&gt;1/2/3 返される画像のタイプ、&lt;br&gt;
1：webpサムネイル、&lt;br&gt;
2：jpgサムネイル、&lt;br&gt;
3：ウォーターマークなしのオリジナル画像、その他はすべてウォーターマーク付きのオリジナル画像&lt;/p&gt;
&lt;p&gt;https(オプション)&lt;/p&gt;
&lt;p&gt;true/false、返される画像アドレスがhttps形式であるかどうか(現在https証明書は未検証状態のため、httpの使用を推奨します)&lt;/p&gt;
&lt;h2 id=&#34;標準のjsonデータを返す&#34;&gt;標準のjsonデータを返す&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;total&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;1&amp;#34;&lt;/span&gt;,  &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;#画像の数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#34;img&amp;#34;&lt;/span&gt;:&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://www.52ecy.cn/randbg.png&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;#画像アドレス&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;呼び出し例&#34;&gt;呼び出し例&lt;/h2&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;background: url(http://www.52ecy.cn/randbg/randbg.php?type=302&amp;amp;style=3) no-repeat center;
&lt;/code&gt;&lt;/pre&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;img&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://www.52ecy.cn/randbg/randbg.php?type=302&amp;amp;style=3&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ウェブサイトでの呼び出しは、ウェブページのHTMLタグの呼び出し、動的言語の読み込み、アプリ内ウェブページの読み込みなどを含みますが、これらに限定されません。&lt;/p&gt;
&lt;h2 id=&#34;利用制限&#34;&gt;利用制限&lt;/h2&gt;
&lt;p&gt;APIは公開されたばかりで、オープンベータ段階にあるため、インターフェースの呼び出しに制限は設けていません。将来的に不可抗力な要因が発生した場合、インターフェースに制限を設けたり、他の対策を講じたりする可能性がありますので、ご了承ください。&lt;/p&gt;
&lt;h2 id=&#34;著作権およびプライバシーに関する声明&#34;&gt;著作権およびプライバシーに関する声明&lt;/h2&gt;
&lt;p&gt;阿珏ブログの二次元画像ランダムAPIを使用すると、関連するウェブサイト、IP、呼び出し元、呼び出し回数、呼び出し時間、トラフィックなどのデータが記録される場合があります。本APIの使用は本規約に同意したものとみなされます。当サイトは阿珏ブログのランダム二次元画像APIに対する最終的な解釈権を有し、特定の状況下では、阿珏ブログがあなたのウェブサイトからの呼び出しを禁止する権利を有します。&lt;/p&gt;</description>
    </item>
    <item>
      <title>ミニマルブログV1.1が公開されました &#43; 新しいテーマセット</title>
      <link>https://en.moejue.cn/ja/posts/51/</link>
      <pubDate>Thu, 30 Nov 2017 09:50:53 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/51/</guid>
      <description>&lt;h4 id=&#34;2ヶ月ぶりにミニマリストブログシステムが初のアップデートを迎えましたそして全く新しいテーマをもたらします&#34;&gt;2ヶ月ぶりに、ミニマリストブログシステムが初のアップデートを迎えました。そして、全く新しいテーマをもたらします。&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;デフォルトテーマの関連バグを修正&lt;/li&gt;
&lt;li&gt;バックエンドの関連詳細を修正&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://blog.52ecy.cn/?mr&#34;&gt;デフォルトテーマのプレビューはこちら&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blog.52ecy.cn/?post=2&#34;&gt;ミニマリストブログ1.0バージョン&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;2345截图20171130165426.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/dd8fc833fd4081b914c71bfabe90e383.png&#34;&gt;&lt;/p&gt;
&lt;h1 id=&#34;バックエンドのseo設定機能を改善しました&#34;&gt;バックエンドのSEO設定機能を改善しました&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;疑似静的URLに対応&lt;/li&gt;
&lt;li&gt;HTTPS強制アクセスを設定&lt;/li&gt;
&lt;li&gt;メタ情報の変更&lt;/li&gt;
&lt;li&gt;ブラウザでの記事タイトル表示方法&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;2345截图20171130170102.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/162f36fb4789bf17037cfe255e71162f.png&#34;&gt;&lt;/p&gt;
&lt;h1 id=&#34;さてここからが本番です&#34;&gt;さて、ここからが本番です&lt;/h1&gt;
&lt;h4 id=&#34;全く新しいテーマファイル仮称dimension-次元&#34;&gt;全く新しいテーマファイル、仮称：&lt;a href=&#34;https://blog.52ecy.cn/?post=4&#34;&gt;Dimension&lt;/a&gt; (次元)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;全エフェクトテーマテンプレート&lt;/li&gt;
&lt;li&gt;コメントボックスに顔文字を追加&lt;/li&gt;
&lt;li&gt;サイドバーを削除&lt;/li&gt;
&lt;li&gt;スクロールでトップに戻る機能を追加&lt;/li&gt;
&lt;li&gt;そして様々なエフェクト、ご自身で発見してください&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;2345截图20171130171112.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/96483994ba1b2d33ac479461d841ae0f.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;カバー画像はラブライブ---μs石鹸ではありません-ラブライブテーマ&#34;&gt;カバー画像はラブライブ！ - μ&amp;rsquo;s、石鹸ではありません (ラブライブ！テーマ？)&lt;/h3&gt;
&lt;p&gt;&lt;img alt=&#34;2345截图20171130171855.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/b0b49664b4728ba41a19c226b9c60ef8.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;記事のトップページ表示と記事の詳細ページはインスピレーションを失ったため実際は怠惰のためデフォルトテーマのスタイルを採用しました&#34;&gt;記事のトップページ表示と記事の詳細ページは、インスピレーションを失ったため（実際は怠惰のため）、デフォルトテーマのスタイルを採用しました。&lt;/h3&gt;
&lt;h4 id=&#34;ええとだいたいこんな感じです細かい問題は使用中に少しずつ修正していきます&#34;&gt;ええと、だいたいこんな感じです。細かい問題は使用中に少しずつ修正していきます~~&lt;/h4&gt;</description>
    </item>
    <item>
      <title>やはり俺の青春ラブコメはまちがっている。</title>
      <link>https://en.moejue.cn/ja/posts/48/</link>
      <pubDate>Mon, 20 Nov 2017 09:23:46 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/48/</guid>
      <description>&lt;p&gt;私の青春ラブコメはまちがっている。数週間前にアニメを見終わったばかりですが、なぜわざわざ取り上げるのかというと、感触が多かったからでしょう。ある意味、視聴をおすすめします。&lt;/p&gt;
&lt;p&gt;青春。漢字で書くとたった二文字ですが、この言葉は人の心を深く打つことができます。
社会に出た人々には甘く苦い郷愁を呼び起こし、若い少女たちの永遠の憧れであり、私のような人間には強い嫉妬と深い憎悪を抱かせます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;比企谷八幡&lt;/strong&gt;、第一印象は、この主人公はあまり格好良くないな、むしろ醜いと言えるかもしれない、特にあの死んだ魚のような目をしているときは。
しかし、このアニメを見終わったとき、もうそのような感覚はなくなり、むしろ格好良いと思うようになりました。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqia0u4v2gj30g40923yv.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;雪ノ下雪乃、表向きは鉄壁の完璧な美少女で、最もよく見かけるのは侍奉部に静かに座って本を読んでいる姿です。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqia6a1zqzj30jg0yk412.jpg&#34;&gt;
由比ヶ浜結衣、アニメでは彼女に対する評価はひどい言葉のようですが、人には優しく善良です。小企（比企谷八幡）の言葉を借りれば、「そうだ、由比ヶ浜結衣は優しい女の子である。」（没错，由比滨结衣是一个善良的女孩。）
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqia9nqbyvj30go09ddgf.jpg&#34;&gt;
一色いろは、登場は遅いキャラクターですが、アニメ全体を通して非常に重要なキャラクターであり、全体の感情線の発展に影響を与えています。少しずる賢いがとても可愛く、小悪魔的な属性を持つ女の子で、可愛すぎて私も少し手に負えないほどです。小企（比企谷八幡）の彼女に対する評価は非常にわざとらしく、何度も小企（比企谷八幡）が告白してきたと思い込んで何度も断っています。しかし、何度も断る態度は徐々に変化し、比企谷八幡に対する感情の変化の過程。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqiabhj2k6j30dw07tdg4.jpg&#34;&gt;
比企谷小町、比企谷八幡の妹、兄妹ともに頭に一本の呆毛（アホ毛）があり、やはり親子ですね。口癖は「さっき小町として点数は高かったよ！」です。妹のためなら何でもする。愛情ではなく、家族としての愛情で兄を非常に好き（お互いに）。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqiac345caj30xc0iy0u5.jpg&#34;&gt;
他のキャラクターはここでは一人一人紹介しません。例えば、可愛い男の子の戸塚彩加とか。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqiadmasq5j30q70f70u0.jpg&#34;&gt;
このアニメは、二、三回は心を込めて見ないと本当の意味が分からないと言う人もいます。私も何度も場面を見返してきたので、それは良いと思います。
これまで見たアニメの中で、感情表現が最も繊細で精緻なものと言えるでしょう。彼の言葉、表情、仕草、視線の一つ一つが、キャラクターの内面と感情を表現しています。
おそらく日本語の文脈の問題で、アニメで説明されている一部の概念や言葉は、理解するのが難しいです。
小説が好きではない理由は、文字が多く挿絵がないと人物の感情を十分に描写できないからです。
漫画が好きではない理由は、文字が少なく動きがないと人物の性格を生き生きと表現できないからです。
アニメが好きである理由は、文字と動く画面の両方があり、各キャラクターの性格と感情を最大限に描くことができるからです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqiae24st1j31400zkqez.jpg&#34;&gt;
比企谷八幡の姿に、私は自分の影を見たような気がします。卒業後、かつてのクラスメートとは一切連絡を取っていません。今でも多くの心の傷が残っており、そのため、一人でクイズやなぞなぞを解いたり、時々独り言を言ったりしています。常に一人で、考え方は非常に成熟しているように見え、時折年齢を超えた言葉を口にし、時折非常に幼稚で、人間関係の複雑さと危険性を理解し、他人の本質を一目で見抜くことができます。しばしば自分を孤立させるのは、傷のせいではなく、その性格自体の選択です。黒歴史によって傷つくことに慣れてしまったため、その後の処世術に大きな影響を与えています。たとえ今では他のキャラクターたちと比較的友好的ですが、実際にはまだ密かに一定の距離を保っています。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqiaeu7hxtj313p0otk21.jpg&#34;&gt;
寂しいからこそ、他人の存在を気にするのです。孤独を隠すために、他人の存在に注目するのです。これは、自分も注目されたいという願望の表れかもしれません。人はよく、他人は自分自身の鏡だと言います。つまり、他人は自分が見たフィルターを通して見た幻想に過ぎないのです。だから、自分だけが真に存在するのです。結局のところ、人は自分のことしか考えていないのです。他人が何をしているのかを尋ねるのは、実は自分と他人を比較して論証しているだけであり、つまり自分の次の行動の参考です。他人を利用して自分の行動を証明するのは、実に不義理です。この求め方も議論の余地があります。だから、孤独は正義であり、孤高こそが正解なのです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqiaivianvj31hc0u0wqj.jpg&#34;&gt;
やはり私は何も願わない、何も期待しない。贈られたもの、与えられたもの、それらは結局すべて偽物で、遅かれ早かれ失われるのだろう。
願うものには形がなく、欲しいものは触れることができない。
あるいは、手に入れてもこの无比に美しいものを葬り去ってしまうのだろうか。
あの輝く舞台で見た「物語」の結末。
その後のことはまだ分からない。
だから、私は探し続けるだろう。
私も……
私も……&lt;/p&gt;
&lt;p&gt;「私も真物が欲しい」
私も侍奉部に私の依頼を聞いてほしい。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqiaj6003hj31c00u0q7l.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;賛同は共鳴ではない。
私たちは大先生とは似ていない。
私たちは大先生とは本当に似ていない。
大先生は人情世故を一目で見抜く能力を持っているが、私たちは持っていない。
大先生は自分の孤独を認め、慣れているが、私たちは同じ経験をしても、自分の孤独を受け入れていない。&lt;/p&gt;
&lt;p&gt;大先生が求めているのは真物だが、私たちはしばしば偽物を求めている。
そして、私たちがいる世界は現実であり、大先生は創造されたキャラクターである。&lt;/p&gt;
&lt;p&gt;だから、大先生は童話であり、私たちは大先生と同じ経験をしていると思っているが、実際には私たちはただ空想しているだけだ。
結局のところ、私たちが追求しているのは他人の理解であり、大先生と二小姐が追求しているのは他人の理解である。
私たちの心の痛みは、私たちが大先生になれないことだ。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqiajwkk84j31hc0u0qbt.jpg&#34;&gt;
大先生の論理について、雪ノ下の言葉を引用して評価したい。「推理過程はすべてでたらめなのに、結果は意外と正しい。」
しかし、この「正しい」には程度がある。実は大先生の言葉の多くは、私たちが看破しても言わないことだ。
偽りの関係を許せないから、人と付き合いたくない。たとえ嫌われてもどうとも思わない。これが大先生と雪ノ下が多くのキャラクターの中で異なっている根源だ。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqial8h9n3j31kw0ax4am.jpg&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;人生は生きているだけでどれほど苦しいか、だからコーヒーくらいは甘くあるべきだ。
——大先生
お兄ちゃん、一生懸命お金を稼いで、お兄ちゃんを老人ホームに入れてあげる。
——小町
比企谷君、あなたはバカなの？「美」そのものが主観的な感想です。だから、この二人きりの教室では、私の言葉だけが正しいのです。——雪ノ下雪乃
「しかし、これも仕方がない。誰も完璧ではないのだから。人間は弱く、心は醜く、嫉妬によって人を蹴落としやすい。奇妙なことに、優秀な人ほど苦しく生きている。皮肉だと思わないか？だから私は人間を変えたい、そしてこの世界を変えたい。」
——雪ノ下雪乃
壁に向かって反省することは、青春に不可欠な存在だ。
——大先生
「しかし、女の子と感情的な問題を話し合うのは、相手を牽制するためであることが多い。先に好きな相手を言えば、周りの人は配慮するだろう？これは所有権を主張するようなものだ。相手が誰を好きか知っていて、その人を追いかけるのは、当然女性の敵になるだろう。相手から告白されても同じだ。」
——雪ノ下雪乃
媚びへつらう時は、尊厳を捨てて全力で媚びへつらう。これが私の尊厳だ。
——大先生
真実が残酷だと言うなら、嘘はきっと優しいだろう。だから、優しさとはただの嘘だ。
——大先生
世の中に型にはまった悪人はいない。普段は皆善人、少なくとも皆普通の人だ。しかし、いざという時に突然悪人になるからこそ怖いのだ、だから油断できない。——夏目漱石
一人に全ての傷を負わせ、その奴を排除する。「One For All」、一人が皆のために。よくあることだろう。
——大先生、文化祭の標語決定会議でサンモクを諷刺して
誤解は解けないだろう。既然『解』已经得出了，那么问题就到此为止了。再解下去也解不了了。（誤解は解けないだろう。既然『解』が導き出されたのなら、問題はここまでだ。これ以上解こうとしても解けない。）
——大先生
「人の心の距離は、実際の距離によって具現化されたものだ。」
——大先生
努力は裏切らないと言うが、夢を裏切る可能性はある。……努力しても夢が叶うとは限らない、むしろ叶わないことの方が多い。しかし、努力したという事実があれば、たとえ叶わなくても、「自分は努力した」という感覚が生まれ、慰めになる。……私の考えでは、努力は最悪の解決策だ。
——大先生
この社会は私に厳しすぎる。あなたも含めてだ。だから、せめて自分には優しくしたい。皆も自分に優しくすべきだ。もし皆が堕落したら、誰も堕落したとは言えない。
——大先生、雪ノ下に対して
何と言えばいいか……比企谷君、標語を決める時も、相模さんの件も、結果的にあなたは尽力しすぎた。それによって、サンモクは機能し始め、あなたは相模さんの身代わりになった。しかし、褒められたいとは思えない。
比企谷、他人を助けることが、自分を傷つけても構わない理由にはならないよ……たとえ、あなたが傷つくことに慣れていても、あなたが傷つくのを見て誰かが痛むということを、そろそろ意識すべきだろう。
——平塚静先生、文化祭終了後
雪ノ下、責められることは悪いことではないよ。それは誰かがずっとあなたに注目している証拠だ。私はあなたをしっかり見るから、遠慮なく間違いを犯しなさい。
——平塚静先生、京都旅行二日目の夜、ラーメンから帰る車中&lt;/p&gt;</description>
    </item>
    <item>
      <title>1024 プログラマーの日おめでとう</title>
      <link>https://en.moejue.cn/ja/posts/47/</link>
      <pubDate>Tue, 24 Oct 2017 00:50:21 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/47/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh1o0w0x7j30m80cbwff.jpg&#34;&gt;
コーディング農家(複数)：一般的に、開発の見込みのないソフトウェア開発職を指し、コードを書くことを生業とする人々の集団。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.52ecy.cn/post-10.html&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://www.52ecy.cn/post-10.html&#34;&gt;2016年1024プログラマの日おめでとうございます&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;1024は2の10乗で、2進数の基本単位の一つです。
プログラマー(英語Programmer)とは、プログラムの開発や保守に携わる専門家のこと。1GB＝1024Mであり、1GBはレベル1と調和し、ファーストクラスの意味も持つ。
2014年以降は、毎年10月24日を「プログラマの日」と定めている。コーディングを通じて世界を変え、気まぐれな世の中で知識・技術・革新の追求を頑なに主張し、実践的な行動を続けてきたプログラマーに、お祭りという形で敬意を表します。&lt;/p&gt;</description>
    </item>
    <item>
      <title>ブログのドメインを52ecy.cnに変更しました。</title>
      <link>https://en.moejue.cn/ja/posts/28/</link>
      <pubDate>Fri, 20 Oct 2017 03:15:23 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/28/</guid>
      <description>&lt;p&gt;ブログのドメインをまた変更しました。あれ、どうして「また」って言ったんだろう&lt;br&gt;
まあまあ、サイト開設からまだ1年なのに、ドメインを2回も変更してしまいました。自分でもどうしようもないですね。もう次はないと保証します（たぶん）&lt;br&gt;
正確に言うと、今回はドメインのサフィックスを変更しただけです。元の 52ecy.pw &amp;ndash;&amp;gt; 52ecy.cn&lt;br&gt;
数日前、なぜかキャンペーン対象外のはずのクーポンがたくさん送られてきました。ドメインやサーバーなどのクーポンでしたが、なぜか使えたんです。不思議ですよね。使わないともったいないと思って。追伸：前のドメインが残り6ヶ月だったのはもったいなくない、みたいな言い方ですね。&lt;br&gt;
それで、今の新しいドメインになったわけです（ドメイン業者の罠にハマったような気がします）&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjd8rc477j30k909jwgf.jpg&#34;&gt;&lt;br&gt;
少し時間をかけて、あちこちのドメインをすべて新しいものに置き換えました&lt;br&gt;
そして、こちらが新しいビジネス用メールアドレスです&lt;br&gt;
&lt;a href=&#34;http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&amp;amp;email=admin@52ecy.cn&#34;&gt;admin@52ecy.cn&lt;/a&gt; &lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjd8n360vj30rx0dpjtw.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>萌え二次元 - 図鑑クライアントリリース</title>
      <link>https://en.moejue.cn/ja/posts/46/</link>
      <pubDate>Thu, 12 Oct 2017 02:44:18 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/46/</guid>
      <description>&lt;p&gt;萌化二次元 - あなたの二次元を萌え化&lt;/p&gt;
&lt;p&gt;ソフトウェアサイズ：1.08MB ソフトウェア言語：簡体字中国語 ソフトウェアタイプ：オリジナルソフトウェア
ソフトウェアカテゴリ：二次元系 更新日時：2017-10-12
ソフトウェアライセンス：無料版 動作環境：XP/Win7/Win8/Win10&lt;/p&gt;
&lt;p&gt;ソフトウェア紹介
萌化二次元ソフトウェアは、私のギャラリーのクライアントバージョンです。 &lt;a href=&#34;http://www.52ecy.cn/gallery&#34;&gt;ポータル
&lt;/a&gt;ローカルへの画像ダウンロード、ワンクリックでの壁紙設定に対応しています。高画質・透かしなしの独自インターフェースを提供します。
ダウンロードの際は、「概要」のヒントにご注意ください。
当初は複数のナビゲーション、ログイン機能、開発者モードをサポートする設計でしたが、後に手間がかかることと、そこまで多くの機能が必要ないことから廃止されました。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi9nkbe5kj30q70i2qay.jpg&#34;&gt;
.down_link{background:url(&amp;lsquo;&lt;a href=&#34;https://www.52ecy.cn/content/uploadfile/201707/md-bg.jpeg%27&#34;&gt;https://www.52ecy.cn/content/uploadfile/201707/md-bg.jpeg&#39;&lt;/a&gt;) no-repeat 100% 0% #fffdff; border: 1px solid #faf8fb; border-radius: 2px; color: #666; font-size: 14px; margin-bottom: 10px; padding: 5px 20px;}.downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downlink a{text-decoration:none;} .downlink a{text-decoration:none;font-size:15px;} .downlink a:link{color: #ffffff;} .downlink a:visited{color: #ffffff;} .downlink a:hover{color: #ffffff;} .downlink a:active{color: #ffffff;} .downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF !important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .yanshibtn{background: none repeat scroll 0 0 #d33431; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downbtn:hover,.yanshibtn:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .downbtn a:hover,.yanshibtn a:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;}&lt;/p&gt;</description>
    </item>
    <item>
      <title>シンプルブログシステム1.0バージョンが完成し、リリースされました。</title>
      <link>https://en.moejue.cn/ja/posts/45/</link>
      <pubDate>Sat, 30 Sep 2017 06:22:28 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/45/</guid>
      <description>&lt;ul&gt;
&lt;li&gt;はじめに&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;いつの間にか、最初の「亜子」のブログシステムからemlog、そして今自分で書いたシンプルなブログシステムまで、忙しくブログを構築して、もう1周年になります。&lt;/p&gt;
&lt;p&gt;自分の第一段階の目標も一段落ついたと言えるでしょう。&lt;/p&gt;
&lt;p&gt;非営利のウェブサイトとして、ただ普段、文章を書いたり、感情を表現したり、おしゃべりしたり、自慢したりする場所として、私はこれからも続けていきたいと思っています。どうせウェブサイトにかかる費用はそれほど大きくありませんから。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;紹介&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;シンプルブログ、それは「シンプルでありながら上品」という意味です。これはPHP言語とMySQLデータベースをベースにした、強力な個人ブログシステム(blog)です。迅速で安定しており、かつ非常にシンプルで快適なブログサービスを提供することを目指しています。インストールも使用も非常に簡単です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;画面表示&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;管理画面のスタイルはemlog 6.0のレイアウトを模倣して設計されており、Bootstrapフロントエンド開発フレームワークを採用しています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;シンプルブログ インストール画面&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;简约博客安装程序.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/f826a94934c6dcb7784b1e2c4a18de95.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;インストール完了&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;提示信息.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/8e9d4ad075e94b0eff092cccbec75658.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;管理画面トップ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;管理中心.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/d9f67401696147740ea67c07b1c2890a.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;記事作成&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;写文章.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/1087dc1db9d979464f49001a206f47e2.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;記事管理&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;文章.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/ba8c6ab02ce0001b30ef4d8f2927b19d.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;タグ管理&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;标签.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/f03464c194170091d9449e8b50d8d5d9.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;カテゴリ管理&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;分类.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/f8801ddf7ef7d168c8b8eb5d00990c60.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;コメント管理&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;评论.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/5d2ed7ea9f8f8a03ab20766fd659bac7.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ナビゲーション管理&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;导航.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/9dbc8933065d25bd415f3b6e604ff8fc.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;外部リンク管理&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;用户.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/d385956a7b6ba405b830c4ef3cdfed9d.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ユーザー管理&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;用户.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/be4e494c5908313623d4e72a55f00948.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;テーマ設定&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;主题.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/ff3146092a45efbd61dcdf2b26a49945.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;システム設定&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;设置.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/5a5d5b1b5d7a325a25f147acee2278c5.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;個人設定&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;个人设置.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/953a83d16f54dc939e29e61d2e01e275.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;管理画面ログインページ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;登录.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/712b77fc2fc6a0d325442758135908db.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;インストール後のデフォルトスタイル&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;简约博客.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/0ed2241d98f15f40f73b1c7af3f87a9a.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;モバイルページ、モバイル向けのスタイルは設計されておらず、デフォルトでこのようになります。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt=&#34;手机版.jpg&#34; loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/1028e457a49bac2505c9c682f0a79976.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>二次元と共に歩んだ日々</title>
      <link>https://en.moejue.cn/ja/posts/44/</link>
      <pubDate>Thu, 07 Sep 2017 07:32:10 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/44/</guid>
      <description>&lt;p&gt;二次元。文字、漫画、アニメで構成された次元。私たちが生きる三次元ほど豊かではない運命にある。しかし、そんな平面の次元でさえ、私に無限の力を与え、常に前へと推し進めてくれる。――序文&lt;/p&gt;
&lt;p&gt;「二次元は、現実的ではないけれど、人々の最も美しい理想、最も素晴らしい願いが常に託されているんだ。」アニメ好きの兄に、なぜそこまでアニメに執着するのかと尋ねたとき、いつもは冗談好きな彼が突然真剣な表情を浮かべ、夢うつつにそう語った。&lt;/p&gt;
&lt;p&gt;私は何かに熱狂するような人間ではない。これまで、一つの物事を真剣に、そして長く好きになったことはなかった。他の男子がマイケル・ジョーダンのダンクシュートに歓声を上げているときも、私は冷めていた。他の男子が応援するチームのゴール失敗に胸を叩いて悔しがっているときも、私はやはり冷めていた。&lt;/p&gt;
&lt;p&gt;しかし、二次元と出会ったとき、それは私にそうする理由を与えてくれた。&lt;/p&gt;
&lt;p&gt;何気なくこの世界に足を踏み入れた途端、私はそれに深く引き込まれた。様々なジャンルのアニメに目がくらむほどだった。しかし、それ以上に私を惹きつけたのは、その精神だった。それ以来、私はよく人にこう言う。「三次元で生きるくらいなら、二次元で死んだほうがましだ」と。これを消極的な生き方だと言う人もいるだろう。しかし、三次元には常に多くの不協和音が混じっていること、そしてバーチャルな世界こそが最も美しいものであることは、誰も否定できない。人には多くの考えや願いがあるが、中には実現不可能なものもある。だからこそ、人々はそれを二次元に託すのだ。その幻想が現実的であろうとなかろうと、それは人間の内面の真実の姿なのだ。&lt;/p&gt;
&lt;p&gt;ある公開授業で、先生に趣味を尋ねられたことを今でも覚えている。私はこう答えた。「暇なときにじっくりと二次元の世界に入り込み、架空のキャラクター一人ひとりの人生や物語を感じるのが好きです」。先生は私の答えに満足しなかったようだ。「でも、あなたは今、三次元に生きている。三次元で真面目に生きることが、あなたのすべきことです」。私はカッとなって言い返した。「文字であれ、漫画であれ、アニメであれ、それらは人々の心に残る最後の純粋さの現れであり、最も美しい幻想であり、力なんです」。私の声はきっと小さかっただろう。しかし、そこには力が満ち溢れていたはずだ。なぜなら、それは私の心の声だったからだ！&lt;/p&gt;
&lt;p&gt;私が二次元に足を踏み入れてから、もう三年になる。私はあの世界を、紙や画面の中にしか存在しないあの世界を愛している。しかし、それが私に与えてくれる力は本物であり、永遠だ。文字と絵を通して、私はいつも、そこにいるキャラクターたちの意志や精神を多かれ少なかれ感じ取ることができる。人の幻想は無限であり、二次元の世界では今もなお才能ある人々が次々と生まれている。二次元の力は三次元にも、私たち自身にも伝わり、私たち全員を前進させてくれると信じている。&lt;/p&gt;
&lt;p&gt;いつもこう感じる。二次元から力をもらい、再び立ち上がるとき、二次元のキャラクターたちが私の後ろに立ち、静かに微笑みながら私を見守ってくれている、と。彼らの物語が、どれほど多くの少年少女を勇気づけ、再び立ち上がらせてきたことだろう。彼らはきっと誇りに思っているはずだ。なぜなら、それこそが二次元の存在価値だからだ。二次元は単なる娯楽ではない。人々に力を与え、前進させることこそが、その真の存在価値なのだ。&lt;/p&gt;
&lt;p&gt;私は二次元を深く愛している。あの世界を、前向きな精神に満ちたあの世界を愛している。これまでも、今も、そしてこれからも、その愛が揺らぐことは決してない。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjczljfmwj30hs0pwq8g.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>七夕-恋人を届けに来たよ-ハッピー</title>
      <link>https://en.moejue.cn/ja/posts/43/</link>
      <pubDate>Mon, 28 Aug 2017 06:27:03 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/43/</guid>
      <description>&lt;p&gt;恋人がいる人が本当に羨ましい。私にはイケメンなこと以外、何もないんだ。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqje4v0qk9j30hs0lm0uq.jpg&#34;&gt;&lt;br&gt;
プログラマーに恋人ができないのには、大体3つのパターンがある：C#やJAVAには「オブジェクト」があるが、しょっちゅう「オブジェクト」が見つからない。ASMやCには直接「オブジェクト」がない。JavaScriptはすべて偽オブジェクトで、せいぜい曖昧な関係といったところだ。しかし、C++はずっと楽な暮らしをしている。なぜならC++は多重継承だから、まるで御曹司だ！！！&lt;br&gt;
ちぇっ、誰がプログラマーに恋人ができないなんて言ったんだ。&lt;br&gt;
さて、ここからは真面目な話をしよう。&lt;br&gt;
画像ギャラリーをまた更新しました。私のギャラリーの画像が欲しいという方が結構いるようですが、ウォーターマーク（盗用・収集防止）が入っているため、手が出せなかったようですね。&lt;br&gt;
そこで、七夕の今日、私が「オブジェクト（恋人）」をプレゼントします――196個のオブジェクトです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqje6prn59j30qn0fuwle.jpg&#34;&gt;&lt;br&gt;
リンク：&lt;a href=&#34;https://eyun.baidu.com/s/3c1Ynkh6&#34;&gt;Baidu Eyun、おすすめです&lt;/a&gt;&lt;br&gt;
パスワードは返信後に表示されます&lt;/p&gt;
&lt;p&gt;[cv]パスワード：zIqL[/cv]&lt;br&gt;
これで、私も「オブジェクト（恋人）」持ちだ。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqje54dv58j30jg0glmxu.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;.down_link{background:url(&amp;lsquo;&lt;a href=&#34;https://www.52ecy.cn/content/uploadfile/201707/md-bg.jpeg%27&#34;&gt;https://www.52ecy.cn/content/uploadfile/201707/md-bg.jpeg&#39;&lt;/a&gt;) no-repeat 100% 0% #fffdff; border: 1px solid #faf8fb; border-radius: 2px; color: #666; font-size: 14px; margin-bottom: 10px; padding: 5px 20px;}.downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downlink a{text-decoration:none;} .downlink a{text-decoration:none;font-size:15px;} .downlink a:link{color: #ffffff;} .downlink a:visited{color: #ffffff;} .downlink a:hover{color: #ffffff;} .downlink a:active{color: #ffffff;} .downbtn{background: none repeat scroll 0 0 #1BA1E2; border: 0 none; border-radius: 2px; color: #FFFFFF !important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .yanshibtn{background: none repeat scroll 0 0 #d33431; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;text-transform:none;text-decoration:none;} .downbtn:hover,.yanshibtn:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF!important; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;} .downbtn a:hover,.yanshibtn a:hover{background: none repeat scroll 0 0 #9B59B6; border: 0 none; border-radius: 2px; color: #FFFFFF; cursor: pointer; font-family: &amp;ldquo;Open Sans&amp;rdquo;,&amp;ldquo;Hiragino Sans GB&amp;rdquo;,&amp;ldquo;Microsoft YaHei&amp;rdquo;,&amp;ldquo;WenQuanYi Micro Hei&amp;rdquo;,Arial,Verdana,Tahoma,sans-serif; font-size: 14px; margin: -4px 20px 0 0; padding: 8px 30px;}&lt;/p&gt;</description>
    </item>
    <item>
      <title>私の研究室</title>
      <link>https://en.moejue.cn/ja/posts/18/</link>
      <pubDate>Tue, 22 Aug 2017 05:43:46 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/18/</guid>
      <description>&lt;p&gt;私のブログにいつも遊びに来てくれる方は、今日ナビゲーションバーに「ラボ」という新しい項目が追加されたことにお気づきでしょう。
よく達人たちのブログに「ラボ」という項目があるので、私も学習（と見せびらかし）のために作ってみました。
ここには、私が自分でいじくり回したものを置いていきます。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.52ecy.cn/Comic&#34;&gt;私のアニメの道&lt;/a&gt; (廃止)&lt;/p&gt;
&lt;p&gt;これまで見てきたアニメとその感想を記録するためのものです。
2017年10月11日: このページは廃止することにしました。長い間更新しておらず、主な原因は面倒くさがりだからです。テキストやら画像やら、本当に手間がかかるし、時々画像のURLもリンク切れになります。時間がある時に、もっとシンプルなものを作り直そうと思います。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blog.52ecy.cn/&#34;&gt;シンプルブログシステム&lt;/a&gt; (完成済み)
先月、ブログを新しく書こうとつぶやいていました。もっとシンプルで、複雑な機能は必要ないもの、ということでこの「シンプルブログ」という名のブログシステムが誕生しました。
そして今月は全く手をつけていません。来月、時間があれば書くかも（実は面倒なだけですが）。
emlog 6.0のフロントエンドとバックエンドを模倣して作ったテンプレートです。見た目がすっきりしたフロントエンドのテンプレートを2セット作る予定で、大体のデザインはもう考えてありますが、あとは実装するだけです-。-
バックエンドの管理者アカウントとパスワードは両方とも&lt;code&gt;root&lt;/code&gt;です。
&lt;img loading=&#34;lazy&#34; src=&#34;https://blog.52ecy.cn/content/upload/0ed2241d98f15f40f73b1c7af3f87a9a.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>再帰とは何か？</title>
      <link>https://en.moejue.cn/ja/posts/42/</link>
      <pubDate>Wed, 09 Aug 2017 05:45:16 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/42/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi9qqzftmj30hs0mwta7.jpg&#34;&gt;
画像はインターネットより&lt;/p&gt;
&lt;p&gt;最初、この文章を読むと、回りくどくて非常に分かりにくいと感じるでしょう。
実は、再帰を使って読むととても簡単になります：
再帰には終点（小さな鯉）が必要です。
再帰が終点に達するまで、関数は自身を繰り返し呼び出します。
明らかに、「私の小さな鯉」というフレーズを出力することが再帰の終了条件です。
これをコードで書くと、次のようになります：&lt;/p&gt;
&lt;p&gt;#include &amp;lt;stdio.h&amp;gt;
void Recursion(int depth){
printf(&amp;ldquo;抱着&amp;rdquo;);
if (!depth) printf(&amp;ldquo;我的小鲤鱼&amp;rdquo;);
else Recursion(&amp;ndash;depth);
printf(&amp;ldquo;的我&amp;rdquo;);
}
int main(){
printf(&amp;ldquo;吓得我抱起了\n&amp;rdquo;);
Recursion(2);
putchar(&amp;rsquo;\n&amp;rsquo;);
}&lt;/p&gt;
&lt;p&gt;私がこれまでに見つけた再帰の最も適切な例えは、辞書を引くことです。私たちが使う辞書自体が再帰的です。一つの単語を説明するために、より多くの単語が必要になります。ある単語を調べて、その説明の中にまだ分からない単語を見つけたとします。すると、あなたはその2番目の単語を調べ始めます。残念ながら、2番目の単語の説明にも分からない単語があり、3番目の単語を調べます。このように調べていき、完全に理解できる説明の単語にたどり着くまで続けます。その時点で再帰は終わりに達し、そこからあなたは後戻りを始め、以前に調べた各単語を一つずつ理解していき、最終的に、最初に調べた単語の意味を理解するのです。。。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi9r8xnwyj30k009et8z.jpg&#34;&gt;
矢印はプログラムの実際の実行ステップを表しています。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi9rou9ucj30k00e8jt9.jpg&#34;&gt;
上の多くの回答を見ましたが、そのほとんどが再帰という現象を説明することに偏っており、なぜ再帰を使うのか、再帰の考え方とは一体何なのかについては説明されていません。先日ちょうど関連するものを読んだので、整理してみたいと思います。もし間違いがあれば、ご指摘いただけると幸いです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;再帰とは何か？&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;1. 定義&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Wiki [1]:&lt;/strong&gt; &lt;strong&gt;Recursion&lt;/strong&gt; is the process of repeating items in a self-similar way.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;コンピュータ科学においては [2]:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;再帰&lt;/strong&gt;（英語：Recursion）、または&lt;strong&gt;遞迴&lt;/strong&gt;とも訳され、数学とコンピュータ科学において、関数の定義の中に関数自身を使用する方法を指します。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;英語のRecursionは語源的に分析すると「re- (再び)」+「curs- (来る、起こる)」であり、つまり繰り返し発生する、再び現れるという意味です。一方、対応する中国語の翻訳「递归」は、「递」（進む）＋「归」（帰る）という2つの意味を表しています。この2つの意味こそが、再帰という考え方の真髄です。この点から見ると、中国語の翻訳の方がかえって意味をよく表していると言えます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. ループとの違い&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;上記のWikiの定義だけを見ると、一般的に言われる無限ループと非常によく似ているように見えます。それらの違いは何でしょうか？&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;再帰は静中の動であり、行きと帰りがある。
ループは動静一如であり、行きっぱなしで帰りがない。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;例を挙げましょう。あなたに一本の鍵が与えられ、ドアの前に立っています。この鍵で何枚のドアを開けられるかと尋ねられます。&lt;/p&gt;
&lt;p&gt;再帰：あなたは目の前のドアを開け、部屋の中にもう一つのドアがあるのを見つけます（このドアは前に開けたドアと同じ大きさかもしれません（静）、あるいは少し小さいかもしれません（動））。あなたはそちらへ歩いていき、手の中の鍵でそれも開けられることに気づきます。ドアを押し開けると、中にはまた別のドアがあります。あなたは開け続けます。。。何度か繰り返した後、あるドアを開けると、そこには部屋があるだけで、もうドアはありません。あなたは来た道を戻り始めます。部屋を一つ戻るごとに、数を数えます。入り口まで戻ったとき、あなたはその鍵で一体何枚のドアを開けたのか答えることができます。&lt;/p&gt;
&lt;p&gt;ループ：あなたは目の前のドアを開け、部屋の中にもう一つのドアがあるのを見つけます（このドアは前に開けたドアと同じ大きさかもしれません（静）、あるいは少し小さいかもしれません（動））。あなたはそちらへ歩いていき、手の中の鍵でそれも開けられることに気づきます。ドアを押し開けると、中にはまた別のドアがあります（前のドアが同じなら、このドアも同じ。2番目のドアが1番目のドアより小さくなっていれば、このドアも2番目のドアより小さくなっている（動静一如、変化がないか、同じ変化をする））。あなたはこのドアを開け続けます。。。ずっとこのまま進んでいきます。入り口にいる人は、あなたが答えを教えに帰ってくるのを永遠に待つことになります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. 再帰の考え方&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;再帰とは、進んで（递去）、帰ってくる（归来）ことです。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;具体的に言うと、なぜ「進む」ことができるのでしょうか？&lt;/strong&gt;
これは、再帰的な問題が、類似しているが少し異なる問題に対しても同じ解決策で答えられる必要があることを要求します（上記の例で言えば、一本の鍵で後続のドアの鍵も開けられること）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;なぜ「帰る」ことができるのでしょうか？&lt;/strong&gt;
これは、これらの問題が絶えず大きいものから小さいものへ、近いものから遠いものへと進む過程で、終点、臨界点、ベースライン、つまりそれ以上小さく、遠くへ進む必要がなくなる点が存在し、その点から元の道を通って原点に戻ることを要求します。&lt;/p&gt;
&lt;p&gt;このブログ記事[3]の著者は次のようにまとめています：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;再帰の基本的な考え方は、&lt;strong&gt;規模の大きな問題を、規模の小さな類似した部分問題に変換して解決する&lt;/strong&gt;ことです。関数の実装において、大きな問題を解決する方法と小さな問題を解決する方法が同じであることが多いため、関数が自身を呼び出すという状況が生まれます。また、この問題解決関数は&lt;strong&gt;明確な終了条件を持たなければなりません&lt;/strong&gt;。そうでなければ、無限再帰が発生してしまいます。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;4. いつ再帰を使うべきか？&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>もし現実に屈するなら、二次元で星空を仰ぎ見よう。</title>
      <link>https://en.moejue.cn/ja/posts/38/</link>
      <pubDate>Wed, 02 Aug 2017 11:46:49 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/38/</guid>
      <description>&lt;p&gt;現実があなたを打ちのめすなら、二次元で星空を見上げよう。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf85bjjfj31cj0vitox.jpg&#34;&gt;私と友達は、二次元で出会い、二次元で知り合い、二次元で心を通わせ、二次元で巡り合った。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf89dgitj31kw0w01kx.jpg&#34;&gt;私たちは、好きなキャラクターがライバル同士だからといって、相手が自分の好きなキャラクターについて話すときに、そのキャラクターの欠点を指摘し合うこともできるし、&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf8dqtfmj31jk0w8dsu.jpg&#34;&gt;好きなキャラクターが同じであれば、好きなキャラクターの長所について語り合うこともできる。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf8jrru4j31kw14ekjl.jpg&#34;&gt;実は、あなたと同じようにアニメファンである人はまだたくさんいる。もしかしたら、他人の奇異な視線に耐えているかもしれないが、あなたは一人じゃないと信じてほしい。何千何万ものアニメ仲間があなたと共にいる！&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf8ot78nj31kw14cb29.jpg&#34;&gt;全てのオタクの心の中には、二次元から来る、自分だけの感動がある。みんなはそれが偽物だと言うけれど、私はその喜びが本物だと知っている。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf8s2zgkj31jk0wnaqv.jpg&#34;&gt;二次元は、私たちが忘れられない思い出を封じ込め、私たちの感動を永遠に留めている。たとえ虚構であっても、それはかけがえのない、二次元を愛する者たちの信仰だ。二次元は存在しない。しかし、存在しない虚構こそが最も美しい。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf9bzs96j31hc0u011c.jpg&#34;&gt;私は再び、二次元の久しぶりの感覚を取り戻し、再び二次元のロマンチックな世界を思い出させてくれた。&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqjf9in2f6j31h20rvdoh.jpg&#34;&gt;心は長い間落ち着かず、我に返って、自分にはまだ二次元を愛する心があることに気づき、自分の中に二次元への思いが宿っていることに気づいた。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjffmhsq7j30rw0vwdjk.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTML5キャンバス - ボールの衝突</title>
      <link>https://en.moejue.cn/ja/posts/41/</link>
      <pubDate>Tue, 18 Jul 2017 09:17:31 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/41/</guid>
      <description>&lt;p&gt;HTML5は、World Wide Webのコア言語であり、標準汎用マークアップ言語を応用したハイパーテキストマークアップ言語（HTML）の5回目の大幅な改訂版です。&lt;br&gt;
1999年以降、HTML 4.01は大きく変化しました。今日では、HTML 4.01の一部の要素は廃止され、これらの要素はHTML5で削除または再定義されています。現代のインターネットアプリケーションをより良く扱うために、HTML5では多くの新しい要素と機能が追加されました。例えば、図形の描画、マルチメディアコンテンツ、より良いページ構造、より良いフォーム処理、そしてドラッグ＆ドロップ要素、ジオロケーション、ウェブアプリケーションキャッシュ、ストレージ、ウェブワーカーなどのいくつかのAPIが含まれます。&lt;/p&gt;
&lt;p&gt;タグ&lt;/p&gt;
&lt;p&gt;説明&lt;/p&gt;
&lt;canvas&gt;
&lt;p&gt;タグは、グラフやその他の画像などのグラフィックを定義します。このタグはJavaScriptの描画APIに基づいています。&lt;/p&gt;
&lt;p&gt;実行結果の表示：&lt;/p&gt;
&lt;p&gt;お使いのブラウザはHTML5をサポートしていません&lt;/p&gt;
&lt;p&gt;コード部分：&lt;/p&gt;
&lt;canvas id=&#34;my-canvas&#34; width=&#34;500px&#34; height=&#34;400px&#34; style=&#34;border:1px solid red&#34; &gt;
お使いのブラウザはHTML5をサポートしていません&lt;/canvas&gt;
&lt;script type=&#34;text/javascript&#34;&gt;
	// キャンバスオブジェクトを取得
	var my_canvas = document.getElementById(&#34;my-canvas&#34;);
	// 描画コンテキスト（ブラシ）を取得
	var my_huabi = my_canvas.getContext(&#34;2d&#34;);
	var x = 50;
	var y = 50;
	var r = 20;
	function deawBall(x,y){
		// ブラシの色を設定
		my_huabi.fillStyle = &#34;green&#34;;
		// 新しいパスを開始
		my_huabi.beginPath();
		// ボールを描画
		my_huabi.arc(x, y, r, 0, 2 * Math.PI);
		// パスを閉じる
		my_huabi.fill();
	}
	var fx_x = true;//fx_xがtrueの場合、x軸方向に移動
	var fx_y = true;//fx_yがtrueの場合、y軸方向に移動
	var speen = 1;
	// タイマー
	window.setInterval(&#34;moveBall()&#34;, 10);
	function moveBall(){
		// 現在のボールの移動方向を判断
		if(fx_x == true){
			x += speen;
			if(x &gt;= 500-r){
				// 下端に達したら、上向きに跳ね返る
				fx_x = false;
			}
		}else{
			x -= speen;
			if(x &lt;= 0+r){
				// 上端に達したら、下向きに跳ね返る
				fx_x = true;
			}
		}
		if(fx_y == true){
			y += speen;
			if(y &gt;= 400-r){
				// 左端に達したら、右向きに跳ね返る
				fx_y = false;
			}
		}else{
			y -= speen;
			if(y &lt;= 0+r){
				// 右端に達したら、左向きに跳ね返る
				fx_y = true;
			}
		}
		// キャンバスをクリアして再描画
		my_huabi.clearRect(0, 0, 500, 400);
		deawBall(x, y);
	}
&lt;/script&gt;
&lt;p&gt;// キャンバスオブジェクトを取得
var my_canvas = document.getElementById(&amp;ldquo;my-canvas&amp;rdquo;);
// 描画コンテキスト（ブラシ）を取得
var my_huabi = my_canvas.getContext(&amp;ldquo;2d&amp;rdquo;);
var x = 50;
var y = 50;
var r = 20;
function deawBall(x,y){
// ブラシの色を設定
my_huabi.fillStyle = &amp;ldquo;green&amp;rdquo;;
// 新しいパスを開始
my_huabi.beginPath();
// ボールを描画
my_huabi.arc(x, y, r, 0, 2 * Math.PI);
// パスを閉じる
my_huabi.fill();
}
var fx_x = true;//fx_xがtrueの場合、x軸方向に移動
var fx_y = true;//fx_yがtrueの場合、y軸方向に移動
var speen = 1;
// タイマー
window.setInterval(&amp;ldquo;moveBall()&amp;rdquo;, 10);
function moveBall(){
// 現在のボールの移動方向を判断
if(fx_x == true){
x += speen;
if(x &amp;gt;= 500-r){
// 下端に達したら、上向きに跳ね返る
fx_x = false;
}
}else{
x -= speen;
if(x &amp;lt;= 0+r){
// 上端に達したら、下向きに跳ね返る
fx_x = true;
}
}
if(fx_y == true){
y += speen;
if(y &amp;gt;= 400-r){
// 左端に達したら、右向きに跳ね返る
fx_y = false;
}
}else{
y -= speen;
if(y &amp;lt;= 0+r){
// 右端に達したら、左向きに跳ね返る
fx_y = true;
}
}
// キャンバスをクリアして再描画
my_huabi.clearRect(0, 0, 500, 400);
deawBall(x, y);
}&lt;/p&gt;</description>
    </item>
    <item>
      <title>全サイトHTTPS暗号化の旅を正式に開始</title>
      <link>https://en.moejue.cn/ja/posts/40/</link>
      <pubDate>Fri, 14 Jul 2017 08:24:36 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/40/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi81mls9mj30j6085t8v.jpg&#34;&gt;
しばらくのクローズドベータテストを経て、ブログは正式に全サイトHTTPS化されました。
開設からもうすぐ1年になりますが、ずっとHTTPS化したいと思っていました。しかし、以前のホストはSSL証明書をサポートしていなかったため、どうすることもできませんでした。
最近、ホストの契約ももうすぐ切れるので、サポートのあるサーバーに乗り換えました。
以前から、ブログが時々アクセスできなくなるという声を聞いていたので、今回より良いサーバーにアップグレードして、速度や安定性がどうなったか気になります。
そして、emlogのバージョンもアップグレードしました。6.0.0のベータ版ですが、以前の5.Xバージョンのバックエンド管理画面よりもずっと見やすくなりました。UIライブラリには引き続きBootstrapを採用しています。
（注：下の画像はemlog 6.0.0ベータ版のバックエンド管理画面です。サードパーティ製テンプレートの設定画面はなくなっており、下の画像の右上にあるテンプレート管理は私が独自に追加したものです。）
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi82yp7p7j314d0k7jtz.jpg&#34;&gt;
2. マイクロブログがなくなりました
emlogがマイクロブログを導入した当初から、それは余計なお世話だと感じていました。非常に粗雑に作られていましたが、皆が慣れた頃に削除されたのは、少し残念です。。。
これはサードパーティ製のプラグインで実装することもできますが、必要とする人が自分で設定すればいいでしょう。。。私はあまりマイクロブログを投稿しません（怠惰なので）、なので削除しました。&lt;/p&gt;
&lt;p&gt;もちろん、全サイトHTTPS化を実現するのは非常に面倒です。なぜemlogをアップグレードしたのか？理由はここにあります。6.0.0以降のバージョンのみがHTTPSに完全対応しています。以前のバージョンを使用していたら、修正だらけになってしまうでしょう。。。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi84hfa0kj306m00ujr6.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;emlog以外にも、現在使用している大前端テンプレートもHTTPSをサポートしていません。&lt;/p&gt;
&lt;p&gt;実際、大前端がHTTPSをサポートしていない主な理由は、百度の共有機能です。記事ページで百度共有を使用すると、HTTPとHTTPSが混在し、かわいい緑色の鍵マークが消えてしまいます。&lt;/p&gt;
&lt;p&gt;「百度共有は現在までに2〜3年更新されていないと思われます。公式ウェブサイトのニュース更新は2012年のままです。これほど長期間更新されていないため、現在多くの百度系製品がHTTPS化されているにもかかわらず、百度共有は依然としてHTTPSをサポートしておらず、開発者にとっては非常に面倒です。ウェブサイトが全サイトHTTPS化されている場合、百度共有を使用するとロード問題が発生し、百度共有のコアJavaScriptがブロックされます。」&lt;/p&gt;
&lt;p&gt;ネットで探し回ったところ、すでにこの問題を解決した人がいることがわかりました。なので、私たちはそのまま「伸手党」（他人の成果をそのまま利用する人）になれば良いのです。
Githubアドレス：https://github.com/hrwhisper/baiduShare&lt;/p&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;デフォルトテンプレートのモバイル版ページを削除しました（とにかく醜いので）。現在のテンプレートはレスポンシブなので、必要ありません。&lt;/li&gt;
&lt;/ol&gt;</description>
    </item>
    <item>
      <title>簡単なCSS3アバター回転と3D回転効果</title>
      <link>https://en.moejue.cn/ja/posts/39/</link>
      <pubDate>Mon, 10 Jul 2017 07:45:23 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/39/</guid>
      <description>&lt;p&gt;ウェブサイトのコメント欄で、コメント投稿者のアバターにマウスカーソルを合わせると360°回転するのをよく見かけます。&lt;/p&gt;
&lt;p&gt;まず効果を見てみましょう。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-css&#34; data-lang=&#34;css&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;tximg&lt;/span&gt;{ &lt;span style=&#34;color:#66d9ef&#34;&gt;height&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;border-radius&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;%&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;border&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;solid&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;green&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;/*変化規則*/&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;transition&lt;/span&gt;:&lt;span style=&#34;color:#66d9ef&#34;&gt;all&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;; } .&lt;span style=&#34;color:#a6e22e&#34;&gt;tximg&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;hover&lt;/span&gt;{ &lt;span style=&#34;color:#75715e&#34;&gt;/* 変化動作 定義2d回転、パラメータは角度を記入 */&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;transform&lt;/span&gt;:rotate(&lt;span style=&#34;color:#ae81ff&#34;&gt;360&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;deg&lt;/span&gt;); }
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjenq0ztrj30hs0hsmyu.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;CSS部分&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-css&#34; data-lang=&#34;css&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;img&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;height&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;border-radius&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;50&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;%&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;border&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;solid&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;green&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#75715e&#34;&gt;/*変化規則*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;transition&lt;/span&gt;:&lt;span style=&#34;color:#66d9ef&#34;&gt;all&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;img&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;hover&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#75715e&#34;&gt;/*
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;		変化動作
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;		2D回転を定義し、パラメータに角度を記入
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;	*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;transform&lt;/span&gt;:rotate(&lt;span style=&#34;color:#ae81ff&#34;&gt;360&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;deg&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;HTML部分（非常にシンプルで、画像が1枚だけです）&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;&lt;span style=&#34;color:#f92672&#34;&gt;img&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;src&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;http://www.52ecy.cn/log0.png&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;3D回転効果（フロントエンドの表示スタイルがやはり競合しているようです -。-）&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-css&#34; data-lang=&#34;css&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;div&lt;/span&gt;{ &lt;span style=&#34;color:#66d9ef&#34;&gt;width&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;height&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;border&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;solid&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;red&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;/*3D効果を見たい場合は、動く要素の親要素にperspective属性を追加する必要があります*/&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;perspective&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt;;&lt;span style=&#34;color:#75715e&#34;&gt;/*3D要素からビューまでの距離、通常は画像の高さと同じにすると最も効果的です*/&lt;/span&gt; } .&lt;span style=&#34;color:#a6e22e&#34;&gt;img&lt;/span&gt;{ &lt;span style=&#34;color:#66d9ef&#34;&gt;width&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;height&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;border&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;solid&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;red&lt;/span&gt;; &lt;span style=&#34;color:#75715e&#34;&gt;/*変化規則*/&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;/*回転要素の原点位置を設定*/&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;transform-origin&lt;/span&gt;:&lt;span style=&#34;color:#66d9ef&#34;&gt;bottom&lt;/span&gt;; &lt;span style=&#34;color:#66d9ef&#34;&gt;transition&lt;/span&gt;:&lt;span style=&#34;color:#66d9ef&#34;&gt;all&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;; } .&lt;span style=&#34;color:#a6e22e&#34;&gt;img&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;hover&lt;/span&gt;{ &lt;span style=&#34;color:#75715e&#34;&gt;/*変化動作*/&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;transform&lt;/span&gt;:rotateX(&lt;span style=&#34;color:#ae81ff&#34;&gt;60&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;deg&lt;/span&gt;); }
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjenq0ztrj30hs0hsmyu.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;CSSコード&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-css&#34; data-lang=&#34;css&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;div&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;width&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;height&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;border&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;solid&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;red&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#75715e&#34;&gt;/*3D効果を見たい場合は、動く要素の親要素にperspective属性を追加する必要があります*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;perspective&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt;;&lt;span style=&#34;color:#75715e&#34;&gt;/*3D要素からビューまでの距離、通常は画像の高さと同じにすると最も効果的です*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;img&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;width&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;height&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;300&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;border&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;px&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;solid&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;red&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#75715e&#34;&gt;/*変化規則*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#75715e&#34;&gt;/*回転要素の原点位置を設定*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;transform-origin&lt;/span&gt;:&lt;span style=&#34;color:#66d9ef&#34;&gt;bottom&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;transition&lt;/span&gt;:&lt;span style=&#34;color:#66d9ef&#34;&gt;all&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;s&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;img&lt;/span&gt;:&lt;span style=&#34;color:#a6e22e&#34;&gt;hover&lt;/span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#75715e&#34;&gt;/*変化動作*/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	&lt;span style=&#34;color:#66d9ef&#34;&gt;transform&lt;/span&gt;:rotateX(&lt;span style=&#34;color:#ae81ff&#34;&gt;60&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;deg&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;	
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;HTMLコードの部分はアバター回転の部分と全く同じで、画像を1枚置くだけなので、ここでは省略します。&lt;/p&gt;
&lt;p&gt;効果画像を現在のページに直接挿入すると、現在のページのCSSスタイルと競合し、ページ全体が崩れてしまうため、効果画像のスタイルセレクタを変更しました。&lt;/p&gt;
&lt;p&gt;注意：IEモードでは動作しない可能性があります。&lt;/p&gt;</description>
    </item>
    <item>
      <title>CSS3でiPhoneを描く</title>
      <link>https://en.moejue.cn/ja/posts/29/</link>
      <pubDate>Mon, 03 Jul 2017 06:09:01 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/29/</guid>
      <description>&lt;p&gt;まずは完成イメージをご覧ください、お先にどうぞ。(これは決して画像ではありません。うん～、なんか変な言い方ですね～)&lt;/p&gt;
&lt;p&gt;iPhoneの何世代目か聞かないでください、私も知らないし、使ったこともないので、お察しください。&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqi8i9h7fvj308j0fa747.jpg&#34;&gt;&lt;br&gt;
CSSスタイル部分&lt;/p&gt;
&lt;p&gt;#phone{
width:250px;
height:500px;
background-color:#2E2E2E;
border:10px solid #3B3B3B;
margin:100px auto;
border-radius:30px;/*设置div元素的圆角边框*/
}&lt;/p&gt;
&lt;p&gt;#camera{
width:8px;
height:8px;
background-color:#1A1A1A;
border-radius:50%;
border:2px solid #505050;
margin:10px auto;/*距离上边距10px 左右居中*/
}&lt;/p&gt;
&lt;p&gt;#receiver{
width:80px;
height:8px;
border:2px solid #505050;
margin:10px auto;
border-radius:10px;
background-color:#1A1A1A;
}&lt;/p&gt;
&lt;p&gt;#screen{
width:225px;
height:385px;
background-color:#0A0A0A;
border:3px solid #1C1C1C;
margin:10px auto;
}&lt;/p&gt;
&lt;p&gt;#btn{
width:40px;
height:40px;
background:#1A1A1A;
border-radius:50%; /*当宽高相同时，则为圆*/
margin:10px auto;
}&lt;/p&gt;
&lt;p&gt;/*:before 选择器在被选元素的内容前面插入内容。*/
#btn:before{
width:22px;
height:22px;
border:2px solid white;
border-radius:30%;
content:&amp;quot;&amp;quot;; /*即使插入的内容为空也需要写，否则不显示*/
display:inline-block;
margin-top:7px;
margin-left:7px;
}&lt;/p&gt;
&lt;p&gt;HTML部分&lt;/p&gt;
&lt;div id=&#34;phone&#34;&gt;
	&lt;div id=&#34;camera&#34;&gt;&lt;/div&gt;&lt;!-- 摄像头部分--&gt;
	&lt;div id=&#34;receiver&#34;&gt;&lt;/div&gt;&lt;!--听筒部分--&gt;
	&lt;div id=&#34;screen&#34;&gt;&lt;/div&gt;&lt;!--屏幕部分--&gt;
	&lt;div id=&#34;btn&#34;&gt;&lt;/div&gt;&lt;!--按钮部分--&gt;
&lt;/div&gt;
&lt;p&gt;後で少し機能を追加しました&lt;/p&gt;
&lt;p&gt;ホームボタンをクリックすると携帯の画面が点灯し、5秒後に再び画面が消えます&lt;/p&gt;</description>
    </item>
    <item>
      <title>お遊び - 友情リンク セルフ申請</title>
      <link>https://en.moejue.cn/ja/posts/36/</link>
      <pubDate>Thu, 01 Jun 2017 05:59:59 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/36/</guid>
      <description>&lt;p&gt;&lt;strong&gt;について&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;相互リンク自動申請は、PHP言語で開発された相互リンク自動承認追加システムです。&lt;/p&gt;
&lt;p&gt;Bootstrap UIライブラリのグリッドシステムでレイアウトしています。結局のところ、私はプロのフロントエンド開発者ではないので、これくらいできれば十分でしょう。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;機能紹介&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;このシステムは、理論上すべてのウェブサイトをサポートしています。HTTPS対応のウェブサイトもサポートしています。相互リンクはウェブサイトのトップページに設定する必要があります。URLリダイレクトや保護がされているウェブサイトは検出できません。トップレベルドメインの申請が承認された後、サブドメインは引き続き申請できません。背景画像は私の画像ライブラリから1000枚の中からランダムに表示されます。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;経緯&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;私の相互リンクの中に、あるブロガーがこのようにしているのを見かけました。相互リンクの自動承認追加は、一瞬でとても高度なものに感じられ、自分で承認する手間も省け、タイムリーに追加できる。それで、自分でも適当に作ってみたのです。&lt;/p&gt;
&lt;p&gt;ここでちょっと格好つけているだけです。ソースコードが必要な方はご連絡ください。&lt;/p&gt;
&lt;p&gt;もし間違っている点があれば、かかってこいよ！&lt;/p&gt;
&lt;p&gt;効果は以下の図の通りです。 &lt;a href=&#34;http://www.52ecy.cn/link.php&#34;&gt;友情链接申请地址&lt;/a&gt; &lt;a href=&#34;http://www.52ecy.cn/post-15.html&#34;&gt;友情链接申请须知&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi8nttsdqj31980m5wko.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>各種言語のOEP大全</title>
      <link>https://en.moejue.cn/ja/posts/35/</link>
      <pubDate>Fri, 19 May 2017 03:08:23 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/35/</guid>
      <description>&lt;p&gt;&lt;strong&gt;普段OEPを照合するのは確かに面倒なので、まとめてみました。この記事で直接OEPを確認するか、&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;画像を右クリックしてローカルに保存してください。     クリックで拡大表示できます。&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;お役に立てましたら、ぜひコメントを残していってくださいね〜&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VC6と易语言&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi8qw5vw6j30f908vmy4.jpg&#34;&gt;&lt;br&gt;
Delphi7&lt;br&gt;
&lt;strong&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqi8qwc0kxj30hf08u0u1.jpg&#34;&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VB5&lt;br&gt;
&lt;strong&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqi8qw8khaj30f608qjsb.jpg&#34;&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VB6&lt;br&gt;
&lt;strong&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi8qw0u4ej30f608qwfd.jpg&#34;&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;BC++&lt;br&gt;
&lt;strong&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi8qw68tpj30f608qgmc.jpg&#34;&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;**VS2008Debug&lt;br&gt;
&lt;strong&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi8qywq8zj30fx0da3zb.jpg&#34;&gt;&lt;/strong&gt;&lt;br&gt;
**&lt;/p&gt;
&lt;p&gt;**VS2008Release&lt;br&gt;
&lt;strong&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi8qwwnntj30c907et93.jpg&#34;&gt;&lt;/strong&gt;&lt;br&gt;
**&lt;/p&gt;
&lt;p&gt;**VS2012-VS2015Debug&lt;br&gt;
&lt;strong&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi8qxkwfgj30c00cx74x.jpg&#34;&gt;&lt;/strong&gt;&lt;br&gt;
**&lt;/p&gt;
&lt;p&gt;**VS2012-VS2015Release&lt;br&gt;
&lt;strong&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi8qx0130j30bf07vdg9.jpg&#34;&gt;&lt;/strong&gt;&lt;br&gt;
**&lt;/p&gt;</description>
    </item>
    <item>
      <title># 各言語のボタンイベントシグネチャ</title>
      <link>https://en.moejue.cn/ja/posts/34/</link>
      <pubDate>Mon, 15 May 2017 05:31:08 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/34/</guid>
      <description>&lt;p&gt;ソフトウェアのデバッグにおいて最も重要なのはブレークポイントを設定することです。したがって、どのようにブレークポイントを設定するかは、重要なテクニックとなります。&lt;/p&gt;
&lt;p&gt;例えば、ダイアログボックスが表示される場合は&lt;code&gt;MessageBoxA&lt;/code&gt;に、レジストリ関連の場合は&lt;code&gt;RegOpenKeyA&lt;/code&gt;にブレークポイントを設定するなどです。
もちろん、ボタンイベントに直接ブレークポイントを設定できれば、さらに便利です。ボタンイベントに到達すれば、すぐにコアコードにたどり着き、クラックまであと一歩となるからです。
本稿では、各種言語におけるボタンイベントの探し方をまとめます。もちろん、VBexplorer、DEDE、ECEなどのツールを利用することも可能です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;一、VBプログラム&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;実は、VBのボタンイベントの探し方は最も一般的で、いわゆる万能ブレークポイントと呼ばれるものです。これはボタンイベントだけでなく、NAGスクリーン（催促画面）の解除、スプラッシュスクリーン、グレーアウトまたは非表示のボタン、起動時のタイマーイベントなど、他にも多くの用途があります。具体的な活用法は各自で研究してください。ここではボタンイベントに絞って説明します。
ODでロードした後、CTRL+Bで&lt;code&gt;816C24&lt;/code&gt;を検索します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;二、DelphiおよびBC++プログラム&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;DelphiとBC++は同じ会社によって開発されたため、探し方は同じです。もちろん、DEDEを使用することもできます。
ODでロードした後、CTRL+Gで&lt;code&gt;00401000&lt;/code&gt;に移動します。
次にCTRL+Bで、シグネチャ&lt;code&gt;740E8BD38B83????????FF93????????&lt;/code&gt;を検索します。
その後の作業は、CTRL+Lで検索を続け、F2でブレークポイントを設定することの繰り返しです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;三、E-language（易言語）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;E-languageのこの探し方は、パックされているプログラムにも適用できます。他の言語の場合は、まずアンパックしてから操作する必要があります。
ODでロードした後、F9でプログラムを実行します。プログラムが実行されたら、
CTRL+Bで&lt;code&gt;FF 55 FC 5F 5E&lt;/code&gt;を検索します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;四、VC++プログラム（非MFCプログラム）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;ODでロードした後、右クリックし、「検索」から「すべてのコマンド」を選択します。
表示された入力ボックスに、特徴的なコード&lt;code&gt;sub eax,0a&lt;/code&gt;を書き込みます。
ブレークした後、F7でステップインし、F8で数回ステップオーバーすると、ボタンイベントに到達します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;五、MFCプログラム&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;もちろん、プログラムがMFCか非MFCかの判断は、各自で行う必要があります。
プログラムを実行し、CTRL+Fで特徴的なコード&lt;code&gt;sub eax,0a&lt;/code&gt;を検索します。
ブレークした後、F7でステップインし、F8で数回ステップオーバーすると、ボタンイベントのコードに到達します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;まとめ：各種言語のボタンイベントのシグネチャ&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VB：&lt;/strong&gt;
&lt;code&gt;816C24&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Delphi &amp;amp; BC++ ：&lt;/strong&gt;
&lt;code&gt;740E8BD38B83????????FF93????????&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MFC：&lt;/strong&gt;
&lt;code&gt;sub eax,0a&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;VC++：&lt;/strong&gt;
&lt;code&gt;sub eax,0a&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;E-language（易言語）：&lt;/strong&gt;
&lt;code&gt;FF 55 FC 5F 5E&lt;/code&gt; または (e-debug)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;万能ブレークポイント：&lt;/strong&gt;
&lt;code&gt;F3A58BC883E103F3A4E8&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;ボタンイベントの使用方法については、私の&lt;a href=&#34;http://www.52ecy.pw/post-28.html&#34;&gt;ゼロから学ぶクラックシリーズチュートリアル&lt;/a&gt;をご覧ください。&lt;/p&gt;
&lt;p&gt;本稿の一部はインターネットから引用したものです。&lt;/p&gt;</description>
    </item>
    <item>
      <title>ゼロから学ぶリバースエンジニアリングシリーズ講座概要 第一期</title>
      <link>https://en.moejue.cn/ja/posts/33/</link>
      <pubDate>Mon, 08 May 2017 02:00:51 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/33/</guid>
      <description>&lt;p&gt;&lt;strong&gt;目的：このチュートリアルシリーズの目的は、クラッキング防止です。これはクラッキングに関する知識を教えるチュートリアルですが、クラッカーがどのようにソフトウェアをクラックするかを知ることで、より効果的にソフトウェアのクラッキングを防ぐことができます。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;基礎入門編&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   1、中国語検索とNop                       [第一回ダウンロードアドレス](http://bbs.125.la/forum.php?mod=viewthread&amp;amp;tid=14017567)： プログラムをコンパイルして保存する方法

   2、jeとjmpの使用 zフラグ               [第二回ダウンロードアドレス](http://bbs.125.la/forum.php?mod=viewthread&amp;amp;tid=14018591)：不明なネットワーク認証のクラッキングを実践

   3、ローカル再起動認証                          [第三回ダウンロードアドレス](http://bbs.125.la/forum.php?mod=viewthread&amp;amp;tid=14019645)：2回のコンパイル保存によるクラッキング
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;ボタンイベント編&lt;/strong&gt;&lt;br&gt;
1、易言語ボタンイベント、万能ブレークポイント      &lt;a href=&#34;http://bbs.125.la/thread-14021176-1-1.html&#34;&gt;ボタンイベント編ダウンロードアドレス&lt;/a&gt;：易言語の構造に頼って真の易言語プログラムを区別する&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;応用編&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;            1、ネットワーク認証        [応用編第一回ダウンロードアドレス](http://bbs.125.la/thread-14022484-1-1.html)：シングルステップデバッグ中にレジスタとスタックウィンドウの変化、疑わしいジャンプに注意

          2、シェル付きプログラムのデバッグ(401000番地)、パッチ適用(メモリ)     [応用編第二回ダウンロードアドレス](http://bbs.125.la/thread-14023855-1-1.html)：（白宝雲ネットワーク認証高速クラッキングテクニック）  
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;アンパック編&lt;/strong&gt;&lt;br&gt;
1、ESPの法則                        &lt;a href=&#34;http://bbs.125.la/thread-14025607-1-1.html&#34;&gt;アンパック編ダウンロードアドレス&lt;/a&gt;：XPシステム下でアンパックする必要があることに注意&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;        2、シングルステップトレース法、IATの修復     [第二回ダウンロードアドレス](http://bbs.125.la/thread-14025607-1-1.html)：(2回は一緒に録画・公開されました)、チュートリアルで使用されたすべてのツールをパッケージ化し、最終レッスンのささやかなプレゼントを贈呈

    **この忙しい5月末に、ゼロから学ぶクラッキングシリーズチュートリアルのシーズン1が完結しました。これまでずっと応援してくださった皆様、ありがとうございます！** **もしシーズン2を出す機会があれば、事前に私のブログで概要を更新しますので、引き続きご注目ください！**
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;補足：&lt;br&gt;
オンライン視聴アドレス：&lt;a href=&#34;https://www.eyuyan.tv/tw-%E9%98%BF%E7%8F%8F-2&#34;&gt;易语言TV网&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Emlogの最新コメント一覧でブログ主のコメント返信を非表示にする方法</title>
      <link>https://en.moejue.cn/ja/posts/32/</link>
      <pubDate>Sat, 06 May 2017 03:17:23 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/32/</guid>
      <description>&lt;p&gt;ブロガーは訪問者と頻繁に交流する必要がありますが、ブロガーの返信もコメントとして最新コメント欄に表示されます。これにより、ブロガーが一度に複数のコメントに返信すると、最新コメント欄が自分のコメントで埋め尽くされてしまい、あまり見栄えが良くありません。&lt;/p&gt;
&lt;p&gt;私が使用しているemlog5.3.1バージョンを例に説明します：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;include/lib&lt;/code&gt;ディレクトリにある&lt;code&gt;cache.php&lt;/code&gt;ファイル（これはキャッシュ関数ファイルです）を開き、その中から以下のコードを見つけます：&lt;/p&gt;
&lt;p&gt;私の場合は179行目にあります。以下の通りです。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$query &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;db&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;query&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SELECT * FROM &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;DB_PREFIX&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;comment WHERE hide=&amp;#39;n&amp;#39; ORDER BY date DESC LIMIT 0, &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;$index_comnum&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;これを次のように変更します：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$query &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; $this&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;db&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;query&lt;/span&gt;(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;SELECT * FROM &amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;DB_PREFIX&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;comment WHERE hide=&amp;#39;n&amp;#39; AND poster!=&amp;#39;阿珏&amp;#39; ORDER BY date DESC LIMIT 0, &lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;$index_comnum&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ヒント：これはSQL文を実行するPHPコードです。条件は、コメント投稿者のユーザー名がブロガーのユーザー名であるかどうかをチェックし、そうであればそのコメントを最新コメントリストに表示しないようにするものです。（メールアドレスやウェブサイトで &lt;code&gt;poster!=&#39;阿珏&#39;&lt;/code&gt; をチェックすることも可能ですが、私自身は返信する際にメールアドレスを入力しないため、ユーザー名でチェックするしかありません。もちろん、私になりすまさないでくださいね）&lt;/p&gt;
&lt;p&gt;最後にファイルを保存し、emlogの管理画面にログインしてキャッシュを更新し、ウェブページを再読み込みすれば、効果が確認できます。&lt;/p&gt;</description>
    </item>
    <item>
      <title>プログラマーの日常、ウイルス感染シリーズ</title>
      <link>https://en.moejue.cn/ja/posts/11/</link>
      <pubDate>Thu, 04 May 2017 05:30:48 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/11/</guid>
      <description>&lt;p&gt;&lt;code&gt;DropFileName = &amp;quot;svchost.exe&amp;quot;&lt;/code&gt; 問題解決策&lt;/p&gt;
&lt;p&gt;事の発端はこうです。友人がソースコードを送ってきて、見てほしいと言われました。不注意でその中にある&lt;code&gt;exe&lt;/code&gt;ファイルを誤ってクリックしてしまい、ネットワーク接続要求がポップアップ表示されたので、すぐに閉じました。その後、同じディレクトリにシステム音楽フォルダを装った&lt;code&gt;exe&lt;/code&gt;実行ファイルが追加されているのを発見しました。私は事態が良くないと感じましたが、確信は持てませんでした。その後、このフォルダ全体を削除しようとしたところ、「プログラムが使用中です」というメッセージが表示されました。&lt;/p&gt;
&lt;p&gt;私はそれをそのままにして、しばらく放置しました。その後の2、3時間で、PCの応答速度がますます遅くなり、物理メモリの使用量が急増していることに気づきました。そこでPCを再起動しました。&lt;/p&gt;
&lt;p&gt;その後、コードを書こうと思い、&lt;code&gt;html&lt;/code&gt;ファイルを開いたところ、大変な事態になっていることに気づきました。PC上のすべての&lt;code&gt;html&lt;/code&gt;ファイルに問題が発生していました（下図参照）。これで、ウイルスに感染したことが確実になりました。&lt;/p&gt;
&lt;p&gt;そしてすぐに、間髪入れずに再び&lt;code&gt;360&lt;/code&gt;をダウンロードし、PCのフルスキャンを実行しました（なぜ&lt;code&gt;360&lt;/code&gt;をダウンロードしたのかは聞かないでください）。長期間ノーガードで使っていたPCなので、一度や二度、このような事態になるのは避けられません。&lt;/p&gt;
&lt;p&gt;個別にテストしたところ、&lt;code&gt;360&lt;/code&gt;はウイルスコードのみを削除し、ファイル自体は削除しないことがわかりました。しかし、一番下でコメントアウトされた部分は削除されません。結局、手動で再度処理する必要がありました。処理しなくても大きな問題はありませんが、強迫性障害なので、ちょっと辛いです( ╯▽╰)&lt;/p&gt;
&lt;p&gt;コードの原理（作用）：
この&lt;code&gt;script&lt;/code&gt;コードは&lt;code&gt;vbs&lt;/code&gt;言語のウイルスです。このウイルスに感染すると、ローカルのすべての&lt;code&gt;html&lt;/code&gt;ドキュメントを開いたときに、このような文字列が表示されることに気づくでしょう。&lt;code&gt;html&lt;/code&gt;ドキュメントだけでなく、&lt;code&gt;dll&lt;/code&gt;ドキュメントも感染します。もちろん、この種のウイルスは過度に心配する必要はありません。なぜなら、ファイル破壊の役割を果たすだけで、プライバシーのアップロードやアカウントの乗っ取りなどの危険性はないからです。
このコードの大まかな意味は、&lt;code&gt;svchost.exe&lt;/code&gt;プロセスを見つけてデータを注入し、その後のバイナリコードを実行するというものです。このウイルスが他のウイルスと異なるのは、この&lt;code&gt;vbs&lt;/code&gt;ウイルスは感染力が非常に強いことです。&lt;code&gt;html&lt;/code&gt;ファイルが一度感染すると、ユーザーが&lt;code&gt;html&lt;/code&gt;ドキュメントを開くだけでウイルスが上記のコードを実行し、ローカルPC上のすべての&lt;code&gt;html&lt;/code&gt;ファイルと&lt;code&gt;dll&lt;/code&gt;ファイルに直接感染します。
確かに、&lt;code&gt;DLL&lt;/code&gt;ファイルも感染するため、一部のソフトウェアは正常に使用できますが、ウイルス対策ソフトはウイルスを検出します。また、多くの常用ソフトウェアを実行するとウイルスが検出されることに気づくでしょう。例えば、以前よく使っていた&lt;code&gt;迅雷&lt;/code&gt;や&lt;code&gt;酷狗&lt;/code&gt;などの常用ソフトウェアを再度開いたときに、ウイルスがあると表示されたのです。当時、私は非常に奇妙に感じました。&lt;code&gt;迅雷&lt;/code&gt;は公式サイトからダウンロードしたのに、なぜウイルスが検出されるのだろうか？ここでの理由は、&lt;code&gt;vbs&lt;/code&gt;ウイルスが&lt;code&gt;迅雷&lt;/code&gt;などのソフトウェアのインストールファイル内の&lt;code&gt;dll&lt;/code&gt;に感染したため、ウイルス対策ソフトが&lt;code&gt;vbs&lt;/code&gt;スクリプトウイルスという名称でウイルスを検出し続けるのです。
ヒント：記事中の画像は宇宙人に連れ去られました&lt;/p&gt;</description>
    </item>
    <item>
      <title>私の二次元オンラインギャラリー</title>
      <link>https://en.moejue.cn/ja/posts/10/</link>
      <pubDate>Wed, 03 May 2017 12:03:33 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/10/</guid>
      <description>&lt;p&gt;私のギャラリー - 二次元オンラインギャラリー&lt;/p&gt;
&lt;p&gt;しばらくの試行錯誤の末、ようやく完成しました。&lt;/p&gt;
&lt;p&gt;説明は不要！ベテランが発車します。さあ、乗り遅れないで。あ、ちなみに健全なサイトですよ&lt;/p&gt;
&lt;p&gt;ご注意：他の方がいる場所での閲覧はご遠慮ください。&lt;/p&gt;
&lt;p&gt;ご注意その2：F11キーでブラウザを全画面表示にすると、最高の体験が得られます。&lt;/p&gt;
&lt;p&gt;このページを作成した目的はいくつかあります：&lt;/p&gt;
&lt;p&gt;1.二次元文化を広め、普及させること。
2.良いものは共有すべきだから。
3.私がその世界を好きだから。
4.あなたより二次元の彼女の方が可愛いから。
5.上記は全部デタラメです。実は、自分が見やすいようにするためでした。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.52ecy.cn/gallery&#34;&gt;☞☞ワープゲート&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;投稿も可能です&#34;&gt;投稿も可能です。&lt;/h3&gt;
&lt;p&gt;1.二次元の画像または素材であること。スタイル、白黒、デフォルメ（Q版）、男女は問いません。
2.際どい部分の露出は禁止です。それでは美しさに欠けますし、何と言ってもうちは健全なサイトですから。
3.一回の投稿で50枚以上お願いします。
4.投稿する画像は、高画質でウォーターマーク（透かし）がないものに限ります。&lt;/p&gt;
&lt;p&gt;すべての画像は私が一枚一枚チェックしますよ^_^&lt;/p&gt;
&lt;p&gt;もし不適切な画像を見つけた場合は、ご連絡いただければ削除します。何千枚もの画像があると、たまに審査の目も疲れてしまいますので。その際は、画像のリンクを控えておくのをお忘れなく。&lt;/p&gt;
&lt;p&gt;この記事はギャラリーと共に長期的に更新され、該当カテゴリーのトップに固定されます。&lt;/p&gt;
&lt;p&gt;初回は「&lt;a href=&#34;http://http://www.52ecy.pw/post-2.html&#34;&gt;&lt;/a&gt;&lt;a href=&#34;http://www.52ecy.cn/post-2.html&#34; title=&#34;アニメを愛するのは、私たちが幸せを信じているから&#34;&gt;アニメを愛するのは、私たちが幸せを信じているから&lt;/a&gt;」という記事を含め、合計716枚の画像を追加しました。今後はアニメ作品ごとに特集を組んでいく予定です。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2017年5月20日&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;各シリーズの画像を1918枚更新しました。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2017年7月2日&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;様々な（萌え）女の子の画像を1099枚更新しました（かなり前の素材ですが、女の子ばかりでどうしようもなくて）。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2017年8月10日&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;数日間ギャラリーを閉鎖し、再度調整を行いました。幸いにも&lt;a href=&#34;http://sxyz.blog&#34;&gt;Akoさん&lt;/a&gt;に手伝ってもらえました。
サーバー上の画像のリネーム、ハッシュ値の比較を行い、重複していた画像を少しだけ削除しました。
ファイル名のキャッシュ機能を追加しました。今後の画像更新については、ここでは一つ一つ説明しません。
ページの表示スタイルを変更しました。（この部分は、今後もまたいじることになると思います）
画像を百数十枚更新しました。&lt;/p&gt;
&lt;p&gt;現在、サーバーには合計 5000枚以上 の画像があります&lt;/p&gt;</description>
    </item>
    <item>
      <title>ウェブサイトのバックエンドアドレスを公開することは非常に危険なことです</title>
      <link>https://en.moejue.cn/ja/posts/21/</link>
      <pubDate>Sun, 30 Apr 2017 07:48:47 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/21/</guid>
      <description>&lt;p&gt;ウェブサイトのバックエンドアドレスを公開することは非常に危険なことです。例えば、私のウェブサイトのバックエンドアドレスは次のとおりです。&lt;a href=&#34;http://52ecy.pw/admin/&#34;&gt;管理ログイン&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;インターネットは複雑な世界であり、各ウェブサイトの管理者は自分自身を守る方法を学ぶ必要があります。&lt;/p&gt;
&lt;p&gt;emlogのデフォルトのバックエンドパスはadminディレクトリであり、重要な情報がむき出しで公開されています。&lt;/p&gt;
&lt;p&gt;デフォルトのバックエンドパスを変更するには、3つのステップがあります。&lt;/p&gt;
&lt;p&gt;adminディレクトリを開き、globals.phpを見つけて、editplusなどのエディタで開きます。メモ帳で開いても構いませんが、結果は保証されません。&lt;/p&gt;
&lt;p&gt;フォルダ名をadminからxxxxなどの希望の名前に変更します。&lt;/p&gt;
&lt;p&gt;admin/globals.phpファイルを開きます。現在はxxxx/globals.phpになっているはずです。&lt;/p&gt;
&lt;p&gt;9行目のコードを編集します。&lt;/p&gt;
&lt;p&gt;define(&amp;lsquo;TEMPLATE_PATH&amp;rsquo;, EMLOG_ROOT.&amp;rsquo;/admin/views/&amp;rsquo;);&lt;/p&gt;
&lt;p&gt;adminを新しい名前xxxxに置き換えます。&lt;/p&gt;
&lt;p&gt;define(&amp;lsquo;TEMPLATE_PATH&amp;rsquo;, EMLOG_ROOT.&amp;rsquo;/xxxx/views/&amp;rsquo;);&lt;/p&gt;
&lt;p&gt;3番目のステップ、バックエンドログインをリフレッシュした後、ナビゲーション設定で「ログイン」を非表示にします。そうしないと、クリックすると404エラーが発生し、非常に煩わしいです。&lt;/p&gt;
&lt;h3 id=&#34;後遺症の解決策&#34;&gt;後遺症の解決策：&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;バックエンドパスを変更した後、微語の絵文字画像が表示されなくなります。解決策：&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;include/lib/function.base.phpを開き、以下を見つけます。&lt;/p&gt;
&lt;p&gt;$t = str_replace($data,&amp;rsquo;&lt;img title=&#34;&#39;.$data.&#39;&#34; src=&#34;&#39;.BLOG\_URL.&#39;admin/editor/plugins/emoticons/images/&#39;.$emos\[$data\].&#39;&#34;/&gt;&amp;rsquo;,$t);&lt;/p&gt;
&lt;p&gt;adminをxxxxに置き換えます。&lt;/p&gt;
&lt;p&gt;$t = str_replace($data,&amp;rsquo;&lt;img title=&#34;&#39;.$data.&#39;&#34; src=&#34;&#39;.BLOG\_URL.&#39;xxxx/editor/plugins/emoticons/images/&#39;.$emos\[$data\].&#39;&#34;/&gt;&amp;rsquo;,$t);&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;バックエンドの個人設定で新しいアバターをアップロードしない場合、微語のアバターもフロントエンドに表示されなくなります。解決策：&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;t/index.phpを開き、以下を見つけます。&lt;/p&gt;
&lt;p&gt;$avatar = empty($user_cache[UID][&amp;lsquo;avatar&amp;rsquo;]) ? &amp;lsquo;../admin/views/images/avatar.jpg&amp;rsquo; : &amp;lsquo;../&amp;rsquo; . $user_cache[UID][&amp;lsquo;avatar&amp;rsquo;];&lt;/p&gt;
&lt;p&gt;adminをxxxxに置き換えます。&lt;/p&gt;
&lt;p&gt;$avatar = empty($user_cache[UID][&amp;lsquo;avatar&amp;rsquo;]) ? &amp;lsquo;../xxxx/views/images/avatar.jpg&amp;rsquo; : &amp;lsquo;../&amp;rsquo; . $user_cache[UID][&amp;lsquo;avatar&amp;rsquo;];&lt;/p&gt;
&lt;p&gt;次に、テンプレート内のt.php、つまりcontent/templates/テンプレート名/t.phpを開きます。&lt;/p&gt;
&lt;p&gt;BLOG_URL . &amp;lsquo;admin/views/images/avatar.jpg&amp;rsquo; :&lt;/p&gt;
&lt;p&gt;adminをxxxxに置き換えます。&lt;/p&gt;
&lt;p&gt;BLOG_URL . &amp;lsquo;xxxx/views/images/avatar.jpg&amp;rsquo; :&lt;/p&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;テンプレートが破損した場合の「戻る」ボタンのリンクの問題を解決します。デフォルトのadminをクリックするとエラーが発生します。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;include/lib/view.phpを開き、以下を見つけます。&lt;/p&gt;
&lt;p&gt;emMsg(&amp;lsquo;現在のテンプレートは削除または破損しています。バックエンドにログインして別のテンプレートに変更してください。&amp;rsquo;, BLOG_URL . &amp;lsquo;admin/template.php&amp;rsquo;);&lt;/p&gt;
&lt;p&gt;adminをxxxxに置き換えます。&lt;/p&gt;
&lt;p&gt;emMsg(&amp;lsquo;現在のテンプレートは削除または破損しています。バックエンドにログインして別のテンプレートに変更してください。&amp;rsquo;, BLOG_URL . &amp;lsquo;xxxx/template.php&amp;rsquo;);&lt;/p&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;記事リストページの編集ボタンのリンクの問題を解決します。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;テンプレートのmodule.phpファイルを開き、以下を見つけます。&lt;/p&gt;
&lt;p&gt;$editflg = ROLE == ROLE_ADMIN || $author == UID ? &amp;lsquo;&lt;a href=&#34;&#39;.BLOG\_URL.&#39;admin/write\_log.php?action=edit&amp;gid=&#39;.$logid.&#39;&#34; target=&#34;\_blank&#34;&gt;編集&lt;/a&gt;&amp;rsquo; : &amp;lsquo;&amp;rsquo;;&lt;/p&gt;</description>
    </item>
    <item>
      <title>ネットワークハイジャックのコードエラー</title>
      <link>https://en.moejue.cn/ja/posts/30/</link>
      <pubDate>Fri, 21 Apr 2017 03:05:56 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/30/</guid>
      <description>&lt;p&gt;昨晩、なぜかネットワークがダウンしてしまい、今朝復旧したので、作業を再開しました。&lt;/p&gt;
&lt;p&gt;HTMLの「瀑布流（ウォーターフォール）」レイアウトを書いていたのですが、今朝開いてみたら、あれ？昨日までちゃんと動いていたウォーターフォール効果はどこへ？[困惑の表情]&lt;/p&gt;
&lt;p&gt;乗っ取られた時
なんてひどい広告だ&lt;/p&gt;
&lt;p&gt;右下隅にポップアップが表示される確率は約1/10でした。Chrome Developer Toolsを通して見ると、元のウェブページがiframe内に配置され、Flash広告が挿入されていることがわかりました。&lt;/p&gt;
&lt;p&gt;ブラウザのアドレスバーを確認すると、正しいドメインのままでリダイレクトされていませんでした。これは、DNSハイジャックによってドメインが返すコンテンツがウェブサイトのページではなく、処理されたページになっていることを示しています。&lt;/p&gt;
&lt;p&gt;その後、コードをVPSにアップロードしてテストしてみたところ、問題ありませんでした。&lt;/p&gt;
&lt;p&gt;これにより、ISPによるDNSハイジャックと広告の挿入が確認され、返されるコンテンツがiframe内に配置されていることが判明しました。これにより、クロスサイト攻撃、キーロギング、HTTPS証明書の偽造など、一般的なフィッシングサイトよりも危険なリスクが生じる可能性があります。&lt;/p&gt;
&lt;p&gt;仕方なくDNSを変更するしかありませんでした。&lt;/p&gt;
&lt;p&gt;ようやく復旧しました。&lt;/p&gt;
&lt;p&gt;最後に、なぜ私のローカルファイルのHTMLコードまで乗っ取られたのかというと、Baiduの静的リソース公開ライブラリを呼び出していたため、返されるJavaScriptが正しい内容ではなかったからです。&lt;/p&gt;
&lt;p&gt;追記：この記事は1年前に公開されたため、画像は失われています。&lt;/p&gt;</description>
    </item>
    <item>
      <title>アクセスしたページは存在しません。</title>
      <link>https://en.moejue.cn/ja/posts/20/</link>
      <pubDate>Tue, 04 Apr 2017 10:37:13 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/20/</guid>
      <description>&lt;p&gt;萌え萌えな404ページを作ってみました&lt;/p&gt;
&lt;p&gt;まあ、bilibiliのパクリですけどね。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://52ecy.cn/404&#34;&gt;http://52ecy.cn/404&lt;/a&gt;（テンプレートを変更してからは使っていません）&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi9cnb851j30m708sab1.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;とあるナビゲーションページです&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://XX.com/&#34;&gt;http://XX.com/&lt;/a&gt; （閉鎖しました）&lt;/p&gt;</description>
    </item>
    <item>
      <title>ブログをemlogに正式に切り替えました</title>
      <link>https://en.moejue.cn/ja/posts/1/</link>
      <pubDate>Sun, 02 Apr 2017 03:10:54 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/1/</guid>
      <description>&lt;p&gt;元のブログシステムが不完全だったなど様々な理由に加え、「多説」というコメントサービスが6月1日（こどもの日）に終了することになり、期限を突きつけられたため、ブログシステムの変更を余儀なくされました。もちろん、コメントシステムだけを交換することも考えましたが、よく考えてみるとそれは決して簡単なことではありませんでした。そこで、現在は誇りを持ってemlogシステムを使用しています。&lt;/p&gt;
&lt;p&gt;サイトのドメインも正式に以前の（z-z-d.pw）から現在の（52ecy.pw）に変更しました。ドメインの意味は「我愛異(二)次元」（二次元を愛してる）です。&lt;/p&gt;
&lt;p&gt;旧ドメインにアクセスすると、新しいドメインに直接リダイレクトされます。&lt;/p&gt;
&lt;p&gt;そして、データ移行作業が始まりました。&lt;/p&gt;
&lt;p&gt;4月2日&lt;/p&gt;
&lt;p&gt;ブログ記事のデータ移行と、期限切れ記事の削除を開始&amp;hellip;..&lt;/p&gt;
&lt;p&gt;4月3日&lt;/p&gt;
&lt;p&gt;もちろん、重要なコメントデータは失うわけにはいきません。「多説」のコメントをこのブログに移し、文字化けしたデータを修復&amp;hellip;..&lt;/p&gt;
&lt;p&gt;4月3日夜&lt;/p&gt;
&lt;p&gt;元のブログの&lt;a href=&#34;https://www.52ecy.cn/Music/&#34;&gt;私のプレイリスト&lt;/a&gt;を移植しました。この機能はとても気に入っています。&lt;/p&gt;
&lt;p&gt;私のプレイリストは酷狗（Kugou）の音楽をリアルタイムで同期しており、フローティングプレイヤーは網易雲音楽（NetEase Cloud Music）のもので、&lt;a href=&#34;http://www.52ecy.pw/%E6%88%91%E7%9A%84%E6%AD%8C%E5%8D%95-%E9%98%BF%E7%8F%8A%E7%9A%84%E5%8D%9A%E5%AE%A2.html&#34;&gt;私のプレイリスト&lt;/a&gt;のオープニングリストを同期しています。&lt;/p&gt;
&lt;p&gt;4月5日&lt;/p&gt;
&lt;p&gt;サイト全体でフローティング音楽プレイヤーを正式に導入しました。どこにいても音楽は止まりません。スマートフォンユーザーは、ブラウザをPCモードに設定しないとプレイヤーが表示されません。&lt;/p&gt;
&lt;p&gt;酷狗の音楽の一部を同期するのに少し時間がかかりました。おそらく網易（NetEase）側にこれらの音楽がなかったからでしょう。なにしろ、ほとんどが日本のアニメソングで、しかもあまりメジャーではないものばかりですから。多くの曲で解析失敗が発生し、プレイヤーが現在のテーマと互換性がないため、プレイヤー機能が失われています。やはり&lt;a href=&#34;https://www.52ecy.cn/Music/&#34;&gt;私のプレイリスト&lt;/a&gt;で聴くことをお勧めします。多くを語ると疲れますね。&lt;/p&gt;</description>
    </item>
    <item>
      <title>アニメを愛する。幸福を信じているから。</title>
      <link>https://en.moejue.cn/ja/posts/3/</link>
      <pubDate>Mon, 26 Dec 2016 11:20:39 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/3/</guid>
      <description>&lt;p&gt;私はずっと信じています、アニメが好きな子供たちは、幼稚なのではなく、彼ら（彼女ら）が幸福を信じているからです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf31u557j30sc0hstav.jpg&#34;&gt;
多くの人は理解できません、あの頑固な子供たちのことを。彼らは、彼ら（彼女ら）がなぜあんなに馬鹿げたアニメを好きなのか、さらに理解できません。なぜなら、彼らの目には、それはただの退屈な落書きに過ぎないからです。だから、彼らはあの子供たちを幼稚だと笑い、彼ら（彼女ら）が大人になれないと笑います。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqjf3i7cdqj31hc0u0nnc.jpg&#34;&gt;
大人にならない方が、実はもっと良いのではないでしょうか？そうすれば、もしかしたら永遠が存在するかもしれません。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf3qz42rj31kw146x3f.jpg&#34;&gt;
私はアニメが好きなので、私と同じようにアニメが好きな子供たちの気持ちが理解できると思います。私たちがアニメを好きなのは、アニメには現実の残酷さがないからです。少なくとも、それは自分が大人になったと思っている人たちが与えられない感動を宿すことができます。それは、かつて一緒に約束した永遠を固定することができます。しかし現実は、それができません。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf40n49uj31kw148hdu.jpg&#34;&gt;
もしかしたら、私たちが現実から逃げていると笑う人がいるかもしれません。そして、たとえ今逃げたとしても、遅かれ早かれ向き合わなければならないと私たちに言うでしょう。逃避は、弱者の選択だと。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf49bpnuj31kw13mnpd.jpg&#34;&gt;
もしそうなら、私たちはあなたがなぜ私たちを理解できないのか、理解できると思います。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqjf4jvuzuj31kw0w0np1.jpg&#34;&gt;
実は、私たちは決して逃げていません。私たちはいつも、あなたたちが理解できない世界の中で、現実をよりはっきりと見ています。私たちがアニメばかり見ていると思わないでください、私たちがただの幼稚な子供たちの集まりだと思わないでください。実は、多くのことを私たちは知っています。誇りを持って言えますが、私たちはあなたたちよりも物事をはっきりと見ており、あなたたちよりも理解しています。ただ、私たちは決して口に出しません。あることは、自分たちだけが知っていれば十分で、話したくないのです。そして、私たちに良くしてくれる人たちへ、私たちはあなたたちが私たちに良くしてくれていることを知っています、決して忘れていません。私たちは私たちなりの方法で、あなたたちが与えてくれた優しさに報いています。もしかしたら、あなたたちには理解できないかもしれませんが、私たちの心の中で、あなたたちがとても大切だということを知ってほしいです。そして、私たちに良くないことをした人たちへ、あなたたちに知ってほしいのは、私たちはあなたたちが私たちにした悪いことを決して覚えていないということです。私たちの記憶の中には、今もあなたたちの最高の姿があります。たとえ、それがあなたたちの本当の姿ではないと知っていても、私たちは喜んであなたたちをアニメの中に入れ、私たちの世界で、あなたたちの最も真実の笑顔を想像します。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf4r8whyj31hc0uwgrr.jpg&#34;&gt;
アニメを愛する子供たちは、実はあまりにも多くの悲しみを抱えています。たとえ、現実世界で私たちがよく笑い、何も気にしないように振る舞っていても、私たちは偽装した喜びを、周りのすべての人に届け、私たちの幼稚さで彼らを笑わせます。すべては、真実であり、偽りでもあります。私たちは決して他人に私たちの悲しみを見せません。たとえ、あなたが私の親友であっても、私はあなたに言いません。なぜなら、私たちはあなたたちが私たちのために悲しむことを望まないからです。喜びは、あなたに与えますが、悲しみは、私一人で経験したいのです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf538oddj31kw14e4mq.jpg&#34;&gt;
そうは言っても、やはり私たちは子供です。時には、本当に誰か一人でも私たちを理解してくれる人がいてほしいと願います。あなたたちの目には幼稚に見える私たちを理解し、そして、私たちを信じ、私たちがあなたを心の中で大切に思っていることを信じてほしいと。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf59mv89j31kw0v1ar6.jpg&#34;&gt;
あなたたちが知っているかどうか分かりませんが、私たちがこれほどアニメを好きなのは、アニメの中で現実世界から徐々に失われつつある、人間世界で最も真実の感情を見つけることができるからです。あなたたちももしかしたら推測できるかもしれませんが、アニメが好きな子供たちは、きっと現実で何かを経験してきたのでしょう。ええ、少なくとも私はそうです。私たちは現実世界で多くのものを失いましたが、それを認めたがりません。私たちは残されたすべての幻想をアニメに投げかけ、そこで自分たちの世界を築き上げます。アニメの登場人物が経験するすべてを、自分たちの過去の思い出として捉え、他人を見ながら、それは自分自身の物語でもあるのです。私たちは、かつてすべてがアニメのように、最も美しい結末を迎えることを夢見ています。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf5h1u9tj31i212agxa.jpg&#34;&gt;
しかし、理想と現実は常に背を向け合っています。そして私たちは、何も変えることができません。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf5mbr9gj31kw0x6qpw.jpg&#34;&gt;
悲しくなると、私たちはアニメが築いた城壁の中に隠れるしかありません。現実が自分をあまりにも悲しませないように。私たちは狂ったようにアニメを見て、あの美しい結末が悲しみを忘れさせてくれることを願います。しかし結果は、ただ空虚な中で、過去への限りない思慕を募らせるだけです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf5tth6jj31kw0wv1cs.jpg&#34;&gt;
アニメは、私たちに多くの笑いと、多くの悲しみを運んできました。時には、本当にあの全てのアニメが終わらず、ずっと更新され続けてほしいと願います。そうすれば、少なくとも私たちが悲しい時、若き日の悲しみを思う存分解放できる場所がまだあるからです。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf6080hcj31kw0vgdz3.jpg&#34;&gt;
アニメを愛する子供たちへ、私はあなたたちがずっと信念を持ち続けてほしいと願います。アニメを信じることは、幸福を信じること、アニメの中にだけ存在する永遠を信じることではないでしょうか？しかし、私も信じています。あなたが真剣に探しさえすれば、私が言う永遠は、ずっとあなたのそばにあり、決して離れたことがないということを発見するでしょう。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf66xo3nj31k30y14cy.jpg&#34;&gt;
Ps：
もしあなたが私のささやかな感情を読み取ってくれたなら、それは私にとって幸いです、その気持ちに感謝します。
もしあなたが気取っていてぎこちないと感じたなら、どうか善意から、言葉を慎んでください。
あなたは知らないでしょう、私に出会う前のすべてがどれほど退屈だったかを
You don&amp;rsquo;t know how boring it was before you met me
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqjf6q58v0j31h60zyql2.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>58都市ログイン（RSAアルゴリズム）</title>
      <link>https://en.moejue.cn/ja/posts/16/</link>
      <pubDate>Wed, 23 Nov 2016 08:27:09 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/16/</guid>
      <description>&lt;p&gt;58都市ログイン（RSAアルゴリズム）&lt;/p&gt;
&lt;p&gt;この時。もう一つの素晴らしいログインアルゴリズム分析&lt;/p&gt;
&lt;p&gt;宛先アドレス:
&lt;a href=&#34;https://passport.58.com/login&#34;&gt;https://passport.58.com/login&lt;/a&gt;?（同市内58件）
使用したツール:
js デバッグ ツール (私はフォーラムから改造された、比較的インテリジェントな js デバッグ ツールを使用しています)
パケットキャプチャツール（今回はキーワード検索を便利にするためにブラウザのF12を直接使用しました）&lt;/p&gt;
&lt;p&gt;ヒント: この記事は 1 年前に公開され、荒廃してしまったので、画像のコンテンツは失われています。&lt;/p&gt;</description>
    </item>
    <item>
      <title>二次元が何か知っていますか？</title>
      <link>https://en.moejue.cn/ja/posts/6/</link>
      <pubDate>Sat, 05 Nov 2016 02:16:22 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/6/</guid>
      <description>&lt;p&gt;二次元を知らないあなたには、異端児として、怪物として見られる者の気持ちはわからない。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqi7lnc0eqj30zk0mwdjn.jpg&#34;&gt;&lt;br&gt;
二次元を知らないあなたには、訳ありの者たちが、どれほどの残酷さをもって自らを強くさせてきたのか、理解できないだろう。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi7m7u9fxj30z00ly76y.jpg&#34;&gt;&lt;br&gt;
二次元を知らないあなたには、快感を味わいながら命を奪う者たちが、ただ表面の冷酷さで内心の恐怖と孤独を隠しているに過ぎないということがわからない。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqi7mkf18ej30sa140gpf.jpg&#34;&gt;&lt;br&gt;
二次元を知らないあなたには、私たちの幻想の中では、消え去ろうと遠くへ旅立とうと、心の中の童話に永遠に最も美しい記憶を残していくということがわからない。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi7oidpe1j30u013etfq.jpg&#34;&gt;&lt;br&gt;
二次元を知らないあなたには、あの楽観的な微笑みの裏に、どれほど言葉にできない傷が隠されているのかわからない。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi7p1555cj30u016hn19.jpg&#34;&gt;&lt;br&gt;
二次元を知らないあなたには、私たちの瞳も、私たちの涙も、そしてその瞳に宿るやるせなさと失望も、理解できない。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi7p8wve6j30rk10rdir.jpg&#34;&gt;&lt;br&gt;
二次元を知らないあなたには、私たちが愛してやまないその名のために、どれだけ長く待ち続けられるのか、理解できないだろう。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi7pg6qxrj30u013fq7a.jpg&#34;&gt;&lt;br&gt;
二次元を知らないあなたには、この世の全ての悪人が、社会に追い詰められた善人であるということが理解できない。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi7q310fwj30u013eq9u.jpg&#34;&gt;&lt;br&gt;
二次元を知らないあなたには、たとえどれほどちっぽけな存在でも、もがき続け、そのもがきの中から希望が生まれるということがわからない。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi7qf7elhj31400sagq3.jpg&#34;&gt;&lt;br&gt;
二次元を知らないあなたには、この世界の絶望が、私たちを弱さの中で何度も暗い隅にうずくまらせ、救いを待たせているということがわからない。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi7qfomwyj30v716uq8x.jpg&#34;&gt;二次元を知らないあなたには、なぜ愛する人の前で、あれほどまでの力を爆発させられるのか、わからないだろう。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqi7qxk0x2j30u016hgsu.jpg&#34;&gt;&lt;br&gt;
二次元を知らないあなたには、私たちが強さを装い、心の中の脆さや悲しみを偽っていることがわからない。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqi7rjfo7pj30u00u8ta9.jpg&#34;&gt;&lt;br&gt;
二次元を知らないあなたには、私たちがその幻の世界に抱く、唯一の美しさと憧れがわからない。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi7tm3bgoj31hc0u0n82.jpg&#34;&gt;&lt;br&gt;
私は永遠にこの素晴らしい世界に留まりたい。喜びも、苦しみも、悲しみも、そのすべてが、まるで私たち自身の人生を再演しているかのようだ。たとえ自分の世界にしか生きていなくても、たとえそれが偽りの幻想だとしても、私は信じ続ける。なぜなら、それこそが私の魂にとって唯一の真実なのだから。&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqi7tzgj6qj30y30o3aef.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>過ぎ去りし記憶</title>
      <link>https://en.moejue.cn/ja/posts/12/</link>
      <pubDate>Sun, 23 Oct 2016 11:52:19 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/12/</guid>
      <description>&lt;p&gt;時々本当に思う、永遠に大人にならず、ずっと子供のままでいたいと。でも……&lt;/p&gt;
&lt;p&gt;私たちは忘れるべきなのか、あるいは、失われた記憶にどう向き合うべきなのか？
記憶というものは往々にして気まぐれで、最も美しかったこと、あるいは最も辛かったことだけが、人の心に長く残る。
子供時代は美しい。なぜなら、それは私たちにとって何の心配もなく、ただ楽しいだけの時期だったからだ。
子供時代は苦しい。なぜなら、それは私たちにとって、どんなに願っても二度と戻れない初恋だからだ。
きっと誰もが、連絡が途絶えてしまい、顔さえも思い出せなくなってしまった幼馴染を何人か持っているだろう。
自分だけの秘密基地を作ったことがあるだろう。様々な理由で、誤解やすぐの引っ越し、あるいはただの進学で、時には別れの言葉を交わす暇さえなかった。
これらの人々、これらの過去の出来事は、永遠に自分の人生から去っていった。
周囲の環境が大きく変化しただけでも、大きな波紋を呼ぶことがある。
多くの人が後悔を抱いている。だから、画面の中の彼らが一歩一歩隔たりをなくし、過去の輝かしいもの、もう失ってしまったと思って二度と見つけられないと思っていた宝物を取り戻していくのを見ると、その感情は、まるで懐かしい匂いを嗅いだかのように、心の奥底から蘇ってくる。しかし、私たちが生きる現実はアニメではない。過去を取り戻す可能性は限りなく低いと認めざるを得ない。それはまるで、何年も帰っていない故郷に久しぶりに戻ったかのように、周囲は不動産開発によってすっかり様変わりし、私たちはかつての家の前の石のベンチに座り、目の前の見慣れた木々を眺める。周囲のほんの小さな一角だけが、見覚えのあるものなのだ。
そして、かつての人々はもう一人もいない。もしかしたらいるのかもしれないが、私にはもう見分けがつかない。ただ思い出に浸り、懐かしむことしかできない。この時、こみ上げてくる涙は止められない。&lt;/p&gt;
&lt;p&gt;ここで一本の日本アニメをお勧めしたい。『あの日見た花の名前を僕達はまだ知らない。』、通称『あの花』だ。日本で最も感動的なアニメの一つであり、当時のアニメランキングで1位を獲得した。オープニング曲も非常に素晴らしく、私のプレイリストにも入っている。&lt;/p&gt;
&lt;p&gt;このアニメを見れば、きっとより深く感じ入るだろう。&lt;/p&gt;</description>
    </item>
    <item>
      <title>新浪微博动态 RSA 分析图文&#43;登录</title>
      <link>https://en.moejue.cn/ja/posts/13/</link>
      <pubDate>Wed, 12 Oct 2016 06:50:19 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/13/</guid>
      <description>&lt;p&gt;新浪微博动态 RSA 分析&lt;/p&gt;
&lt;p&gt;一、使用到的工具&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ie ブラウザ (9 以上)&lt;/li&gt;
&lt;li&gt;httpwatch (中英どちらでも可)&lt;/li&gt;
&lt;li&gt;js デバッグツール&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;対象サイト: &lt;a href=&#34;http://weibo.com/&#34;&gt;http://weibo.com&lt;/a&gt; (新浪微博)&lt;/p&gt;
&lt;p&gt;二、パケットキャプチャ
前回のパケットキャプチャの流れを踏襲します。良い習慣を身につけましょう。ここでは詳しく説明しません。
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2ixqxrdj30m808p421.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2ixmpmdj30ja06r3z4.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2ixpef1j30m60azgn3.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2ixrm8wj30k008rdgm.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2ixw3l7j30m806eq5d.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2ixyrvuj30m80fvtfm.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2iy8lk3j30jb07uwf9.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2iy9zgtj30kv089aan.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2iycexlj30m807w0ve.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2iymkxpj30m80fkq6d.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2iysq5qj30et06bwev.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2iyxgegj30m80a8gnz.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2iz51cqj30gc08175d.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2iz6tvrj30ip0fut9z.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2iz8pi3j30m807ewf0.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2izftdtj30ku05yjs4.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2izoqdrj30kh05cgm5.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2izr82ij30hh0e5400.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2izvdnzj30h403o74o.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2j02n8yj30m8030mye.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;三、パケットキャプチャデータの分析&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;ログイン送信パケットを特定する&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;キーワード検索の柔軟な変更&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;五、js デバッグ四、キーワードの検索&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;HttpWatch でキーワードを検索できます。
ie の F12 で引き続き検索することもできます。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;pwencode キーワードを検索する&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ここは前回と異なります。まず呼び出しコードをコピーして簡単な書き換えを行います。
コピーしたコードは function() 関数ではありません。易言語のサブプログラムのようなものです。
(ここでの説明は誤っている可能性があります)
3つのパラメータがあります。p がパスワードであることはわかっています。残りの2つは開発者ツールで確認します。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;六、図解による分析
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2j0d0tpj30m80elwkm.jpg&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2j05q0ej30jz0bx3zu.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;何か間違いがあればご指摘ください。&lt;/p&gt;</description>
    </item>
    <item>
      <title>中国電信ログインRSAアルゴリズム&#43;図解分析</title>
      <link>https://en.moejue.cn/ja/posts/14/</link>
      <pubDate>Fri, 30 Sep 2016 01:29:10 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/14/</guid>
      <description>&lt;p&gt;前置きはさておき！&lt;/p&gt;
&lt;p&gt;一、使用するツール&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;IEブラウザ（バージョン9以上）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;httpwatch（中国語版・英語版どちらでも可）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;JSデバッグツール&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;ターゲットサイト：&lt;a href=&#34;http://xz.189.cn/sso/LoginServlet&#34;&gt;http://xz.189.cn/sso/LoginServlet&lt;/a&gt; China Telecom 189 ログイン&lt;/p&gt;
&lt;p&gt;二、パケットキャプチャ：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;パケットキャプチャの前に、サイトのCookieとキャッシュをクリアします&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh27cuooyj30l90cv0u6.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh27cuooyj30l90cv0u6.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ページを開く前にパケットキャプチャツールを起動します（そうしないと、暗号化されたJSをキャプチャできません）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;どれがログイン送信パケットであるかを判断します&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh27p2sm7j30m80akdjt.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh27p2sm7j30m80akdjt.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;三、キャプチャデータの分析：&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh282bkdxj30ls076t9g.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh282bkdxj30ls076t9g.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;ここでIEのF12開発者ツールを使用します&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;パスワードのキーワードである「密码」や「passWord」を検索します&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh28mmahhj30m804iwfp.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh28mmahhj30m804iwfp.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;暗号化で呼び出される関数 &lt;code&gt;encryptedString&lt;/code&gt; を追跡し続けます&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh28uu87ij30ik087aaf.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh28uu87ij30ik087aaf.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;encryptedString&lt;/code&gt; 関数の2つの引数が何であるかを知る必要もあります。引き続きkeyを探します&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh29aoqekj30m803zq3w.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh29aoqekj30m803zq3w.jpg&#34;&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh29rurbtj30m80ccwi2.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh29rurbtj30m80ccwi2.jpg&#34;&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh29u07pgj30i50bx753.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh29u07pgj30i50bx753.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ol start=&#34;5&#34;&gt;
&lt;li&gt;
&lt;p&gt;これで暗号化に必要なパラメータが揃いました。次はデバッグです。ここで、「パラメータは2つあるのでは？もう一つのsは？」と疑問に思う方がいるかもしれません。関数から、sがパスワードを暗号化する際のpwdであることがわかります。関数のif文による呼び出しを判断すると、pwdが私たちのパスワードであるpassWordであることがわかります。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;次に、関数呼び出しをコピーして、まず開発者ツールでデバッグしてみます。keyとsの2つの引数が必要です。&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2a02ub9j30m60d440i.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2a02ub9j30m60d440i.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;IEでのデバッグに問題がなければ、次にJSデバッグツールでデバッグしてみます。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;3つのRSA暗号化JSファイルとkeyをコピーし、&lt;code&gt;bodyRSA()&lt;/code&gt;関数を呼び出します。引数はパスワードです。これがオブジェクトであり、直接呼び出せないことがわかります。呼び出しを続けると、ツールがクラッシュしてしまいます。&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh2a1pjyxj30fq06vaau.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1ply1fqh2a1pjyxj30fq06vaau.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ここがRSAの難点です。書き換える必要があり、そうしないと私たちの易言語（E-language）からも呼び出すことができません。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;書き換えた関数を先ほどと同様にデバッグツールにコピーし、同じく&lt;code&gt;bodyrsa()&lt;/code&gt;関数を呼び出します。&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2acq1dwj30m808utbb.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2acq1dwj30m808utbb.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;最後に、成功したことが確認できました。&lt;br&gt;
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2ai5ee1j30hy0dggms.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh2ai5ee1j30hy0dggms.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;China Telecomの携帯電話番号を持っていないため、Cookieを操作する完全なログイン処理を記述できませんでした。次回にご期待ください！&lt;/p&gt;</description>
    </item>
    <item>
      <title>これらの単語を英語でどう言うか、まだ思い出せますか？</title>
      <link>https://en.moejue.cn/ja/posts/5/</link>
      <pubDate>Sun, 25 Sep 2016 05:42:46 +0000</pubDate>
      <guid>https://en.moejue.cn/ja/posts/5/</guid>
      <description>&lt;p&gt;これらの言葉の英語表現、まだ覚えているかな？&lt;/p&gt;
&lt;p&gt;1、なるほど 2、ちょっと待って 3、すごい 4、ひどい 5、しまった 6、大丈夫 7、嘘でしょ 8、どうしよう 9、やめて 10、お姉さん、お兄さん…&lt;/p&gt;
&lt;p&gt;ふと気づいたんだけど、私、日本語が話せるんだ！
&lt;a href=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh22csrtoj30dw0dwjrk.jpg&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://image.baidu.com/search/down?url=https://tva1.sinaimg.cn//large/0072Vf1pgy1fqh22csrtoj30dw0dwjrk.jpg&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
