summaryrefslogtreecommitdiffhomepage
path: root/vhosts
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2024-02-24 14:21:54 +0900
committernsfisis <nsfisis@gmail.com>2024-02-24 14:24:53 +0900
commitad6cdb3a432f12f2e492ecd182a06a0836d96ba8 (patch)
tree2635cabe373ab1ee5bc26dbbd52426ed06631f64 /vhosts
parent261f1ceecb11eae24f5b257eb4ce70ac1ddfdaf2 (diff)
downloadnsfisis.dev-ad6cdb3a432f12f2e492ecd182a06a0836d96ba8.tar.gz
nsfisis.dev-ad6cdb3a432f12f2e492ecd182a06a0836d96ba8.tar.zst
nsfisis.dev-ad6cdb3a432f12f2e492ecd182a06a0836d96ba8.zip
feat(blog/content): generate Atom feeds
Diffstat (limited to 'vhosts')
-rw-r--r--vhosts/blog/public/atom.xml355
-rw-r--r--vhosts/blog/public/posts/atom.xml259
-rw-r--r--vhosts/blog/public/slides/atom.xml107
-rw-r--r--vhosts/blog/public/tags/conference/atom.xml91
-rw-r--r--vhosts/blog/public/tags/cpp/atom.xml19
-rw-r--r--vhosts/blog/public/tags/cpp17/atom.xml19
-rw-r--r--vhosts/blog/public/tags/isucon/atom.xml19
-rw-r--r--vhosts/blog/public/tags/neovim/atom.xml19
-rw-r--r--vhosts/blog/public/tags/note-to-self/atom.xml27
-rw-r--r--vhosts/blog/public/tags/ouj/atom.xml19
-rw-r--r--vhosts/blog/public/tags/perl/atom.xml19
-rw-r--r--vhosts/blog/public/tags/php/atom.xml211
-rw-r--r--vhosts/blog/public/tags/phpconfuk/atom.xml27
-rw-r--r--vhosts/blog/public/tags/phpconokinawa/atom.xml19
-rw-r--r--vhosts/blog/public/tags/phperkaigi/atom.xml83
-rw-r--r--vhosts/blog/public/tags/phpkansai/atom.xml19
-rw-r--r--vhosts/blog/public/tags/phpstudy-tokyo/atom.xml83
-rw-r--r--vhosts/blog/public/tags/python/atom.xml19
-rw-r--r--vhosts/blog/public/tags/python3/atom.xml19
-rw-r--r--vhosts/blog/public/tags/ruby/atom.xml27
-rw-r--r--vhosts/blog/public/tags/ruby3/atom.xml19
-rw-r--r--vhosts/blog/public/tags/rust/atom.xml19
-rw-r--r--vhosts/blog/public/tags/vim/atom.xml27
-rw-r--r--vhosts/blog/public/tags/wasm/atom.xml19
-rw-r--r--vhosts/blog/public/tags/wireguard/atom.xml19
-rw-r--r--vhosts/blog/public/tags/yapc/atom.xml19
26 files changed, 1582 insertions, 0 deletions
diff --git a/vhosts/blog/public/atom.xml b/vhosts/blog/public/atom.xml
new file mode 100644
index 00000000..a2135352
--- /dev/null
+++ b/vhosts/blog/public/atom.xml
@@ -0,0 +1,355 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:all</id>
+ <title>REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2024-02-21T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:fd8fcb03-8e4d-4ca7-8499-0674accc51a9</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-22/phpkansai-2024-report/"></link>
+ <title>PHPカンファレンス関西 2024 参加レポ</title>
+ <summary>2024-02-11 に開催された、PHPカンファレンス関西 2024 に参加した。</summary>
+ <published>2024-02-21T00:00:00+09:00</published>
+ <updated>2024-02-21T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:230a0048-93c0-4aac-91ef-bb3108f3e587</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-10/yapcjapan-2024-report/"></link>
+ <title>YAPC::Hiroshima 2024 参加レポ</title>
+ <summary>2024-02-10 に開催された、YAPC::Hiroshima 2024 に参加した。</summary>
+ <published>2024-02-10T00:00:00+09:00</published>
+ <updated>2024-02-10T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:210673d0-c19e-4195-a280-968a0729dd41</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-03/install-wireguard-on-personal-server/"></link>
+ <title>【備忘録】 個人用サーバに WireGuard を導入する</title>
+ <summary>個人用サービスのセルフホストに使っているサーバに WireGuard を導入する作業をしたメモ</summary>
+ <published>2024-02-03T00:00:00+09:00</published>
+ <updated>2024-02-17T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:82db7893-983a-4631-8bee-d0725d078252</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2024-01-24/phpstudy-tokyo-160/"></link>
+ <title>PHPStan の力で Algebraic Data Types を実現する</title>
+ <summary>登壇: PHP 勉強会@東京 第160 回 (レギュラートーク)</summary>
+ <published>2024-01-24T00:00:00+09:00</published>
+ <updated>2024-01-24T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:05cb16e1-05bc-4359-bc06-88ac20510740</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/"></link>
+ <title>【Neovim】 空の PHP ファイルに namespace 宣言を挿入する</title>
+ <summary>Neovim で空の PHP ファイルを開いたとき、ディレクトリの構造に基づいて自動的に namespace 宣言を挿入するようにする。</summary>
+ <published>2024-01-10T00:00:00+09:00</published>
+ <updated>2024-01-10T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:bfdeed72-dd32-4d55-887f-ba004701ff4c</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-12-31/2023-reflections/"></link>
+ <title>2023年の振り返り</title>
+ <summary>2023年にやったことを振り返る</summary>
+ <published>2023-12-31T00:00:00+09:00</published>
+ <updated>2023-12-31T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:d0c404bb-4700-4a6f-9911-621e9872d8c6</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-12-03/isucon-13/"></link>
+ <title>ISUCON 13 に参加した</title>
+ <summary>ISUCON 13 に参加した。チーム名「うつしもゆ」、最終スコア 13,580 点</summary>
+ <published>2023-12-03T00:00:00+09:00</published>
+ <updated>2023-12-03T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:6c377f3f-6f52-4074-b690-c79d02050562</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-10-25/phpstudy-tokyo-157/"></link>
+ <title>PHP コードを隔離された環境で安全に動かす (on WebAssembly)</title>
+ <summary>登壇: PHP 勉強会@東京 第157 回 (LT)</summary>
+ <published>2023-10-25T00:00:00+09:00</published>
+ <updated>2023-10-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:78419bf2-a1e6-421f-875b-3d93e777b04f</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-10-13/i-entered-the-open-university-of-japan/"></link>
+ <title>放送大学に入学しました</title>
+ <summary>放送大学に入学しました。頑張ります。</summary>
+ <published>2023-10-13T00:00:00+09:00</published>
+ <updated>2023-10-13T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:0ed1ccc8-d437-481c-8cca-2131ce800cc0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-10-02/compile-php-runtime-to-wasm/"></link>
+ <title>PHP の処理系を Emscripten で WebAssembly にコンパイルする</title>
+ <summary>PHP の処理系 (php/php-src) を Emscripten で WebAssembly にコンパイルし、任意のコードを隔離された環境で評価できるようにした。</summary>
+ <published>2023-10-02T00:00:00+09:00</published>
+ <updated>2023-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:d6118e00-5fb1-4230-9d94-854260beae04</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-08-24/phpstudy-tokyo-155/"></link>
+ <title>PHP 3.0 の処理系のソースを読んでみる</title>
+ <summary>登壇: PHP 勉強会@東京 第155 回 (LT)</summary>
+ <published>2023-08-24T00:00:00+09:00</published>
+ <updated>2023-08-24T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:669de08d-9e02-44c5-ac3f-35972112e706</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-07-26/phpstudy-tokyo-154/"></link>
+ <title>言語間で比較するエラーの通知と処理</title>
+ <summary>登壇: PHP 勉強会@東京 第154 回 (レギュラートーク)</summary>
+ <published>2023-07-26T00:00:00+09:00</published>
+ <updated>2023-07-26T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:e1568c4c-9bdd-47b9-8b39-939ade4f3ba0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-06-25/phpconfuk-2023-report/"></link>
+ <title>PHP カンファレンス福岡 2023 参加レポ</title>
+ <summary>2023-06-24 に開催された、PHP カンファレンス福岡に参加した。</summary>
+ <published>2023-06-25T00:00:00+09:00</published>
+ <updated>2023-06-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:72244d87-4cf0-41c4-a074-bcc37acaa678</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-06-23/phpconfuk-2023-eve/"></link>
+ <title>巨大なコードベースへ突撃するために</title>
+ <summary>登壇: PHP カンファレンス福岡 2023 前夜祭 (非公式) (レギュラートーク)</summary>
+ <published>2023-06-23T00:00:00+09:00</published>
+ <updated>2023-06-23T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:6016d501-b9c9-474a-a304-1ec1295e049a</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-06-21/phpstudy-tokyo-153/"></link>
+ <title>テキストファイルの末尾には改行コードを入れよう</title>
+ <summary>登壇: PHP 勉強会@東京 第153 回 (LT)</summary>
+ <published>2023-06-21T00:00:00+09:00</published>
+ <updated>2023-06-21T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:fe75bb63-1cd9-457e-8244-c444307cd40a</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-04-12/phpstudy-tokyo-151/"></link>
+ <title>list でない array の末尾を探す</title>
+ <summary>登壇: PHP 勉強会@東京 第151 回 (LT)</summary>
+ <published>2023-04-12T00:00:00+09:00</published>
+ <updated>2023-04-12T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:21ce39f0-d613-45f2-a760-89c368892d77</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-04-04/phperkaigi-2023-report/"></link>
+ <title>PHPerKaigi 2023 参加レポ</title>
+ <summary>2023-03-23 から 2023-03-25 にかけて開催された、PHPerKaigi 2023 に参加した。</summary>
+ <published>2023-04-04T00:00:00+09:00</published>
+ <updated>2023-06-28T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:ed36e185-5bfa-42e1-8358-0b1da9b0a063</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-04-01/implementation-of-minimal-png-image-encoder/"></link>
+ <title>PNG 画像の最小構成エンコーダを実装する</title>
+ <summary>PNG 画像として valid な範囲で最大限手抜きしたエンコーダを書く。</summary>
+ <published>2023-04-01T00:00:00+09:00</published>
+ <updated>2023-04-01T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:3cce70d8-cee9-4e0e-8b38-6ef1e0a8a278</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-25/phperkaigi-2023-tokens/"></link>
+ <title>PHPer チャレンジ解説 (デジタルサーカス株式会社)</title>
+ <summary>登壇: PHPerKaigi 2023 (トークン解説セッション)</summary>
+ <published>2023-03-25T00:00:00+09:00</published>
+ <updated>2023-03-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:2dce7e27-1eaf-4ca4-8037-e9a3ead18b48</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-24/phperkaigi-2023/"></link>
+ <title>詳説「参照」PHP の参照を完全に理解する</title>
+ <summary>登壇: PHPerKaigi 2023 (レギュラートーク)</summary>
+ <published>2023-03-24T00:00:00+09:00</published>
+ <updated>2023-03-24T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:9376560b-250a-4697-ac10-0903ad16acee</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-15/phpstudy-tokyo-150/"></link>
+ <title>明日のあなたの役に立たない PHP コーディング技法~細長い FizzBuzz を書く~</title>
+ <summary>登壇: PHP 勉強会@東京 第150 回 (LT)</summary>
+ <published>2023-03-15T00:00:00+09:00</published>
+ <updated>2023-03-18T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:12512894-05d8-42c6-950e-8f5d60f984d8</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-03-10/rewrite-this-blog-generator/"></link>
+ <title>このブログのジェネレータを書き直した</title>
+ <summary>このブログのジェネレータを書き直したので、やったことを書き記しておく。</summary>
+ <published>2023-03-10T00:00:00+09:00</published>
+ <updated>2023-03-10T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:f23ea81c-5996-4b7e-aab0-4e9f23b172c2</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-02-15/phpstudy-tokyo-149/"></link>
+ <title>PHPerKaigi 2023 のトークン問題でボツにした問題を供養する</title>
+ <summary>登壇: PHP 勉強会@東京 第149 回 (LT)</summary>
+ <published>2023-02-15T00:00:00+09:00</published>
+ <updated>2023-02-15T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:693a4c2e-6f21-4840-b793-4e3644a8ec22</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-01-18/phpstudy-tokyo-148/"></link>
+ <title>明日のあなたの役に立たない PHP コーディング技法~polyglot~</title>
+ <summary>登壇: PHP 勉強会@東京 第148 回 (LT)</summary>
+ <published>2023-01-18T00:00:00+09:00</published>
+ <updated>2023-01-18T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:89722cfb-7f4b-4e96-80bc-e0096e5eeef6</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/"></link>
+ <title>PHPerKaigi 2023: ボツになったトークン問題 その 3</title>
+ <summary>来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 3)。</summary>
+ <published>2023-01-10T00:00:00+09:00</published>
+ <updated>2023-01-10T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:10fe9c47-7029-4874-82bd-b4dc50e07809</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/"></link>
+ <title>PHPerKaigi 2023: ボツになったトークン問題 その 2</title>
+ <summary>来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 2)。</summary>
+ <published>2022-11-19T00:00:00+09:00</published>
+ <updated>2022-11-19T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:673cb872-af2d-41a3-9fb0-60f1afcedb0d</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-10-28/setup-server-for-this-site/"></link>
+ <title>【備忘録】 このサイト用の VPS をセットアップしたときのメモ</title>
+ <summary>GitHub Pages でホストしていたこのサイトを VPS へ移行したので、そのときにやったことのメモ。99 % 自分用。</summary>
+ <published>2022-10-28T00:00:00+09:00</published>
+ <updated>2023-08-30T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:46e0d5db-b17e-464c-a723-8c3e01af7d1d</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/"></link>
+ <title>PHPerKaigi 2023: ボツになったトークン問題 その 1</title>
+ <summary>来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 1)。</summary>
+ <published>2022-10-23T00:00:00+09:00</published>
+ <updated>2022-10-23T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:42f0b29b-1e44-4dbe-9864-69abe3bb1e6e</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/"></link>
+ <title>【PHP】 fizzbuzz を書く。1行あたり2文字で。</title>
+ <summary>PHP で fizzbuzz を書いた。ただし、1行あたりに使える文字数は2文字まで。</summary>
+ <published>2022-09-28T00:00:00+09:00</published>
+ <updated>2022-09-29T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:cd16debe-8077-4edf-aec0-b1d45955a0e2</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-08-31/support-for-communty-is-employee-benefits/"></link>
+ <title>弊社の PHP Foundation への寄付に寄せて</title>
+ <summary>先日、私の勤めるデジタルサーカス株式会社が、PHP Foundation へ寄付をおこないました。本件を社内でしつこく推進した1人として、推進の理由等を書き残しておきます。</summary>
+ <published>2022-08-31T00:00:00+09:00</published>
+ <updated>2022-08-31T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:bb71bb5d-361b-44cb-9753-81d14583d860</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-08-27/php-conference-okinawa-code-golf/"></link>
+ <title>PHP カンファレンス沖縄で出題されたコードゴルフの問題を解いてみた</title>
+ <summary>PHP カンファレンス沖縄の懇親会 LT で出題されたコードゴルフの問題を解いてみた。</summary>
+ <published>2022-08-27T00:00:00+09:00</published>
+ <updated>2022-08-27T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:9211e1fe-bca3-43c4-ba4e-c67d62f3fed0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-05-01/phperkaigi-2022/"></link>
+ <title>PHPerKaigi 2022</title>
+ <summary>2022-04-09 から 2022-04-11 にかけて開催された、PHPerKaigi 2022 に参加した。</summary>
+ <published>2022-05-01T00:00:00+09:00</published>
+ <updated>2022-05-01T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:42cf2829-b897-4748-bc22-80dd734a3c09</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/"></link>
+ <title>term-banner: ターミナルにバナーを表示するツールを書いた</title>
+ <summary>ターミナルに任意の文字のバナーを表示するためのツールを Go で書いた。</summary>
+ <published>2022-04-24T00:00:00+09:00</published>
+ <updated>2022-04-27T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:f4985d54-0907-4449-8101-0fcd382f9e02</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-04-09/phperkaigi-2022-tokens/"></link>
+ <title>PHPerKaigi 2022 トークン問題の解説</title>
+ <summary>PHPerKaigi 2022 で私が作成した PHPer チャレンジ問題を解説する。</summary>
+ <published>2022-04-09T00:00:00+09:00</published>
+ <updated>2022-04-16T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:69863d75-ef21-42db-b743-5958f7c86827</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/"></link>
+ <title>【C++】 属性構文の属性名にはキーワードが使える</title>
+ <summary>C++ の属性構文の属性名には、キーワードが使える。ネタ記事。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:e1aff84c-d6d4-4dea-bc45-9c41e6445006</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/python-unbound-local-error/"></link>
+ <title>【Python】 クロージャとUnboundLocalError: local variable &apos;x&apos; referenced before assignment</title>
+ <summary>Python における UnboundLocalError の理由と対処法。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:e1456a50-4fc6-42ef-89f3-8be78e01da13</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/ruby-detect-running-implementation/"></link>
+ <title>【Ruby】 自身を実行している処理系の種類を判定する</title>
+ <summary>Ruby には複数の実装があるが、自身を実行している処理系の種類をスクリプト上からどのように判定すればよいだろうか。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:87455008-fe5b-49bf-af5a-b875264f8326</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/ruby-then-keyword-and-case-in/"></link>
+ <title>【Ruby】 then キーワードと case in</title>
+ <summary>Ruby 3.0 で追加される case in 構文と、then キーワードについて。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:91c61980-c262-4e8d-89b0-4304e7f6d644</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/rust-where-are-primitive-types-from/"></link>
+ <title>Rust のプリミティブ型はどこからやって来るか</title>
+ <summary>Rust のプリミティブ型は予約語ではなく普通の識別子である。どのようにこれが名前解決されるのかを調べた。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:44171f75-c312-4c92-9927-3d260e162175</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/"></link>
+ <title>【Vim】 autocmd events の BufWrite/BufWritePre の違い</title>
+ <summary>Vim の autocmd events における BufWrite/BufWritePre がどう違うのかを調べた結果、違いはないことがわかった。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:665de47e-0ed6-405e-ad30-81c3c4592d45</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/vim-swap-order-of-selected-lines/"></link>
+ <title>Vimで選択した行の順番を入れ替える</title>
+ <summary>Vim で選択した行の順番を入れ替える方法。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:3fbe0b8c-216e-48f6-b905-c0d361b94542</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-03-30/phperkaigi-2021/"></link>
+ <title>PHPerKaigi 2021</title>
+ <summary>2021-03-26 から 2021-03-28 にかけて開催された、PHPerKaigi 2021 に参加した。</summary>
+ <published>2021-03-30T00:00:00+09:00</published>
+ <updated>2021-03-30T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:6e9c71fd-bc8d-43ce-99c5-13d9f5b87ed2</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-03-05/my-first-post/"></link>
+ <title>My First Post</title>
+ <summary>これはテスト投稿です。これはテスト投稿です。これはテスト投稿です。</summary>
+ <published>2021-03-05T00:00:00+09:00</published>
+ <updated>2021-03-05T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/posts/atom.xml b/vhosts/blog/public/posts/atom.xml
new file mode 100644
index 00000000..21ca1401
--- /dev/null
+++ b/vhosts/blog/public/posts/atom.xml
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:posts</id>
+ <title>投稿一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/posts/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2024-02-21T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:fd8fcb03-8e4d-4ca7-8499-0674accc51a9</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-22/phpkansai-2024-report/"></link>
+ <title>PHPカンファレンス関西 2024 参加レポ</title>
+ <summary>2024-02-11 に開催された、PHPカンファレンス関西 2024 に参加した。</summary>
+ <published>2024-02-21T00:00:00+09:00</published>
+ <updated>2024-02-21T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:230a0048-93c0-4aac-91ef-bb3108f3e587</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-10/yapcjapan-2024-report/"></link>
+ <title>YAPC::Hiroshima 2024 参加レポ</title>
+ <summary>2024-02-10 に開催された、YAPC::Hiroshima 2024 に参加した。</summary>
+ <published>2024-02-10T00:00:00+09:00</published>
+ <updated>2024-02-10T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:210673d0-c19e-4195-a280-968a0729dd41</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-03/install-wireguard-on-personal-server/"></link>
+ <title>【備忘録】 個人用サーバに WireGuard を導入する</title>
+ <summary>個人用サービスのセルフホストに使っているサーバに WireGuard を導入する作業をしたメモ</summary>
+ <published>2024-02-03T00:00:00+09:00</published>
+ <updated>2024-02-17T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:05cb16e1-05bc-4359-bc06-88ac20510740</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/"></link>
+ <title>【Neovim】 空の PHP ファイルに namespace 宣言を挿入する</title>
+ <summary>Neovim で空の PHP ファイルを開いたとき、ディレクトリの構造に基づいて自動的に namespace 宣言を挿入するようにする。</summary>
+ <published>2024-01-10T00:00:00+09:00</published>
+ <updated>2024-01-10T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:bfdeed72-dd32-4d55-887f-ba004701ff4c</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-12-31/2023-reflections/"></link>
+ <title>2023年の振り返り</title>
+ <summary>2023年にやったことを振り返る</summary>
+ <published>2023-12-31T00:00:00+09:00</published>
+ <updated>2023-12-31T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:d0c404bb-4700-4a6f-9911-621e9872d8c6</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-12-03/isucon-13/"></link>
+ <title>ISUCON 13 に参加した</title>
+ <summary>ISUCON 13 に参加した。チーム名「うつしもゆ」、最終スコア 13,580 点</summary>
+ <published>2023-12-03T00:00:00+09:00</published>
+ <updated>2023-12-03T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:78419bf2-a1e6-421f-875b-3d93e777b04f</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-10-13/i-entered-the-open-university-of-japan/"></link>
+ <title>放送大学に入学しました</title>
+ <summary>放送大学に入学しました。頑張ります。</summary>
+ <published>2023-10-13T00:00:00+09:00</published>
+ <updated>2023-10-13T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:0ed1ccc8-d437-481c-8cca-2131ce800cc0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-10-02/compile-php-runtime-to-wasm/"></link>
+ <title>PHP の処理系を Emscripten で WebAssembly にコンパイルする</title>
+ <summary>PHP の処理系 (php/php-src) を Emscripten で WebAssembly にコンパイルし、任意のコードを隔離された環境で評価できるようにした。</summary>
+ <published>2023-10-02T00:00:00+09:00</published>
+ <updated>2023-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:e1568c4c-9bdd-47b9-8b39-939ade4f3ba0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-06-25/phpconfuk-2023-report/"></link>
+ <title>PHP カンファレンス福岡 2023 参加レポ</title>
+ <summary>2023-06-24 に開催された、PHP カンファレンス福岡に参加した。</summary>
+ <published>2023-06-25T00:00:00+09:00</published>
+ <updated>2023-06-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:21ce39f0-d613-45f2-a760-89c368892d77</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-04-04/phperkaigi-2023-report/"></link>
+ <title>PHPerKaigi 2023 参加レポ</title>
+ <summary>2023-03-23 から 2023-03-25 にかけて開催された、PHPerKaigi 2023 に参加した。</summary>
+ <published>2023-04-04T00:00:00+09:00</published>
+ <updated>2023-06-28T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:ed36e185-5bfa-42e1-8358-0b1da9b0a063</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-04-01/implementation-of-minimal-png-image-encoder/"></link>
+ <title>PNG 画像の最小構成エンコーダを実装する</title>
+ <summary>PNG 画像として valid な範囲で最大限手抜きしたエンコーダを書く。</summary>
+ <published>2023-04-01T00:00:00+09:00</published>
+ <updated>2023-04-01T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:12512894-05d8-42c6-950e-8f5d60f984d8</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-03-10/rewrite-this-blog-generator/"></link>
+ <title>このブログのジェネレータを書き直した</title>
+ <summary>このブログのジェネレータを書き直したので、やったことを書き記しておく。</summary>
+ <published>2023-03-10T00:00:00+09:00</published>
+ <updated>2023-03-10T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:89722cfb-7f4b-4e96-80bc-e0096e5eeef6</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/"></link>
+ <title>PHPerKaigi 2023: ボツになったトークン問題 その 3</title>
+ <summary>来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 3)。</summary>
+ <published>2023-01-10T00:00:00+09:00</published>
+ <updated>2023-01-10T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:10fe9c47-7029-4874-82bd-b4dc50e07809</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/"></link>
+ <title>PHPerKaigi 2023: ボツになったトークン問題 その 2</title>
+ <summary>来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 2)。</summary>
+ <published>2022-11-19T00:00:00+09:00</published>
+ <updated>2022-11-19T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:673cb872-af2d-41a3-9fb0-60f1afcedb0d</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-10-28/setup-server-for-this-site/"></link>
+ <title>【備忘録】 このサイト用の VPS をセットアップしたときのメモ</title>
+ <summary>GitHub Pages でホストしていたこのサイトを VPS へ移行したので、そのときにやったことのメモ。99 % 自分用。</summary>
+ <published>2022-10-28T00:00:00+09:00</published>
+ <updated>2023-08-30T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:46e0d5db-b17e-464c-a723-8c3e01af7d1d</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/"></link>
+ <title>PHPerKaigi 2023: ボツになったトークン問題 その 1</title>
+ <summary>来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 1)。</summary>
+ <published>2022-10-23T00:00:00+09:00</published>
+ <updated>2022-10-23T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:42f0b29b-1e44-4dbe-9864-69abe3bb1e6e</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/"></link>
+ <title>【PHP】 fizzbuzz を書く。1行あたり2文字で。</title>
+ <summary>PHP で fizzbuzz を書いた。ただし、1行あたりに使える文字数は2文字まで。</summary>
+ <published>2022-09-28T00:00:00+09:00</published>
+ <updated>2022-09-29T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:cd16debe-8077-4edf-aec0-b1d45955a0e2</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-08-31/support-for-communty-is-employee-benefits/"></link>
+ <title>弊社の PHP Foundation への寄付に寄せて</title>
+ <summary>先日、私の勤めるデジタルサーカス株式会社が、PHP Foundation へ寄付をおこないました。本件を社内でしつこく推進した1人として、推進の理由等を書き残しておきます。</summary>
+ <published>2022-08-31T00:00:00+09:00</published>
+ <updated>2022-08-31T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:bb71bb5d-361b-44cb-9753-81d14583d860</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-08-27/php-conference-okinawa-code-golf/"></link>
+ <title>PHP カンファレンス沖縄で出題されたコードゴルフの問題を解いてみた</title>
+ <summary>PHP カンファレンス沖縄の懇親会 LT で出題されたコードゴルフの問題を解いてみた。</summary>
+ <published>2022-08-27T00:00:00+09:00</published>
+ <updated>2022-08-27T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:9211e1fe-bca3-43c4-ba4e-c67d62f3fed0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-05-01/phperkaigi-2022/"></link>
+ <title>PHPerKaigi 2022</title>
+ <summary>2022-04-09 から 2022-04-11 にかけて開催された、PHPerKaigi 2022 に参加した。</summary>
+ <published>2022-05-01T00:00:00+09:00</published>
+ <updated>2022-05-01T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:42cf2829-b897-4748-bc22-80dd734a3c09</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/"></link>
+ <title>term-banner: ターミナルにバナーを表示するツールを書いた</title>
+ <summary>ターミナルに任意の文字のバナーを表示するためのツールを Go で書いた。</summary>
+ <published>2022-04-24T00:00:00+09:00</published>
+ <updated>2022-04-27T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:f4985d54-0907-4449-8101-0fcd382f9e02</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-04-09/phperkaigi-2022-tokens/"></link>
+ <title>PHPerKaigi 2022 トークン問題の解説</title>
+ <summary>PHPerKaigi 2022 で私が作成した PHPer チャレンジ問題を解説する。</summary>
+ <published>2022-04-09T00:00:00+09:00</published>
+ <updated>2022-04-16T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:69863d75-ef21-42db-b743-5958f7c86827</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/"></link>
+ <title>【C++】 属性構文の属性名にはキーワードが使える</title>
+ <summary>C++ の属性構文の属性名には、キーワードが使える。ネタ記事。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:e1aff84c-d6d4-4dea-bc45-9c41e6445006</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/python-unbound-local-error/"></link>
+ <title>【Python】 クロージャとUnboundLocalError: local variable &apos;x&apos; referenced before assignment</title>
+ <summary>Python における UnboundLocalError の理由と対処法。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:e1456a50-4fc6-42ef-89f3-8be78e01da13</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/ruby-detect-running-implementation/"></link>
+ <title>【Ruby】 自身を実行している処理系の種類を判定する</title>
+ <summary>Ruby には複数の実装があるが、自身を実行している処理系の種類をスクリプト上からどのように判定すればよいだろうか。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:87455008-fe5b-49bf-af5a-b875264f8326</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/ruby-then-keyword-and-case-in/"></link>
+ <title>【Ruby】 then キーワードと case in</title>
+ <summary>Ruby 3.0 で追加される case in 構文と、then キーワードについて。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:91c61980-c262-4e8d-89b0-4304e7f6d644</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/rust-where-are-primitive-types-from/"></link>
+ <title>Rust のプリミティブ型はどこからやって来るか</title>
+ <summary>Rust のプリミティブ型は予約語ではなく普通の識別子である。どのようにこれが名前解決されるのかを調べた。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:44171f75-c312-4c92-9927-3d260e162175</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/"></link>
+ <title>【Vim】 autocmd events の BufWrite/BufWritePre の違い</title>
+ <summary>Vim の autocmd events における BufWrite/BufWritePre がどう違うのかを調べた結果、違いはないことがわかった。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:665de47e-0ed6-405e-ad30-81c3c4592d45</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/vim-swap-order-of-selected-lines/"></link>
+ <title>Vimで選択した行の順番を入れ替える</title>
+ <summary>Vim で選択した行の順番を入れ替える方法。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:3fbe0b8c-216e-48f6-b905-c0d361b94542</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-03-30/phperkaigi-2021/"></link>
+ <title>PHPerKaigi 2021</title>
+ <summary>2021-03-26 から 2021-03-28 にかけて開催された、PHPerKaigi 2021 に参加した。</summary>
+ <published>2021-03-30T00:00:00+09:00</published>
+ <updated>2021-03-30T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:6e9c71fd-bc8d-43ce-99c5-13d9f5b87ed2</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-03-05/my-first-post/"></link>
+ <title>My First Post</title>
+ <summary>これはテスト投稿です。これはテスト投稿です。これはテスト投稿です。</summary>
+ <published>2021-03-05T00:00:00+09:00</published>
+ <updated>2021-03-05T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/slides/atom.xml b/vhosts/blog/public/slides/atom.xml
new file mode 100644
index 00000000..b1a8dd59
--- /dev/null
+++ b/vhosts/blog/public/slides/atom.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:slides</id>
+ <title>スライド一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/slides/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2024-01-24T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:82db7893-983a-4631-8bee-d0725d078252</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2024-01-24/phpstudy-tokyo-160/"></link>
+ <title>PHPStan の力で Algebraic Data Types を実現する</title>
+ <summary>登壇: PHP 勉強会@東京 第160 回 (レギュラートーク)</summary>
+ <published>2024-01-24T00:00:00+09:00</published>
+ <updated>2024-01-24T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:6c377f3f-6f52-4074-b690-c79d02050562</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-10-25/phpstudy-tokyo-157/"></link>
+ <title>PHP コードを隔離された環境で安全に動かす (on WebAssembly)</title>
+ <summary>登壇: PHP 勉強会@東京 第157 回 (LT)</summary>
+ <published>2023-10-25T00:00:00+09:00</published>
+ <updated>2023-10-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:d6118e00-5fb1-4230-9d94-854260beae04</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-08-24/phpstudy-tokyo-155/"></link>
+ <title>PHP 3.0 の処理系のソースを読んでみる</title>
+ <summary>登壇: PHP 勉強会@東京 第155 回 (LT)</summary>
+ <published>2023-08-24T00:00:00+09:00</published>
+ <updated>2023-08-24T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:669de08d-9e02-44c5-ac3f-35972112e706</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-07-26/phpstudy-tokyo-154/"></link>
+ <title>言語間で比較するエラーの通知と処理</title>
+ <summary>登壇: PHP 勉強会@東京 第154 回 (レギュラートーク)</summary>
+ <published>2023-07-26T00:00:00+09:00</published>
+ <updated>2023-07-26T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:72244d87-4cf0-41c4-a074-bcc37acaa678</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-06-23/phpconfuk-2023-eve/"></link>
+ <title>巨大なコードベースへ突撃するために</title>
+ <summary>登壇: PHP カンファレンス福岡 2023 前夜祭 (非公式) (レギュラートーク)</summary>
+ <published>2023-06-23T00:00:00+09:00</published>
+ <updated>2023-06-23T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:6016d501-b9c9-474a-a304-1ec1295e049a</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-06-21/phpstudy-tokyo-153/"></link>
+ <title>テキストファイルの末尾には改行コードを入れよう</title>
+ <summary>登壇: PHP 勉強会@東京 第153 回 (LT)</summary>
+ <published>2023-06-21T00:00:00+09:00</published>
+ <updated>2023-06-21T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:fe75bb63-1cd9-457e-8244-c444307cd40a</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-04-12/phpstudy-tokyo-151/"></link>
+ <title>list でない array の末尾を探す</title>
+ <summary>登壇: PHP 勉強会@東京 第151 回 (LT)</summary>
+ <published>2023-04-12T00:00:00+09:00</published>
+ <updated>2023-04-12T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:3cce70d8-cee9-4e0e-8b38-6ef1e0a8a278</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-25/phperkaigi-2023-tokens/"></link>
+ <title>PHPer チャレンジ解説 (デジタルサーカス株式会社)</title>
+ <summary>登壇: PHPerKaigi 2023 (トークン解説セッション)</summary>
+ <published>2023-03-25T00:00:00+09:00</published>
+ <updated>2023-03-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:2dce7e27-1eaf-4ca4-8037-e9a3ead18b48</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-24/phperkaigi-2023/"></link>
+ <title>詳説「参照」PHP の参照を完全に理解する</title>
+ <summary>登壇: PHPerKaigi 2023 (レギュラートーク)</summary>
+ <published>2023-03-24T00:00:00+09:00</published>
+ <updated>2023-03-24T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:9376560b-250a-4697-ac10-0903ad16acee</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-15/phpstudy-tokyo-150/"></link>
+ <title>明日のあなたの役に立たない PHP コーディング技法~細長い FizzBuzz を書く~</title>
+ <summary>登壇: PHP 勉強会@東京 第150 回 (LT)</summary>
+ <published>2023-03-15T00:00:00+09:00</published>
+ <updated>2023-03-18T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:f23ea81c-5996-4b7e-aab0-4e9f23b172c2</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-02-15/phpstudy-tokyo-149/"></link>
+ <title>PHPerKaigi 2023 のトークン問題でボツにした問題を供養する</title>
+ <summary>登壇: PHP 勉強会@東京 第149 回 (LT)</summary>
+ <published>2023-02-15T00:00:00+09:00</published>
+ <updated>2023-02-15T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:693a4c2e-6f21-4840-b793-4e3644a8ec22</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-01-18/phpstudy-tokyo-148/"></link>
+ <title>明日のあなたの役に立たない PHP コーディング技法~polyglot~</title>
+ <summary>登壇: PHP 勉強会@東京 第148 回 (LT)</summary>
+ <published>2023-01-18T00:00:00+09:00</published>
+ <updated>2023-01-18T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/conference/atom.xml b/vhosts/blog/public/tags/conference/atom.xml
new file mode 100644
index 00000000..ba7481a1
--- /dev/null
+++ b/vhosts/blog/public/tags/conference/atom.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-conference</id>
+ <title>タグ「カンファレンス」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/conference/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/conference/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2024-02-21T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:fd8fcb03-8e4d-4ca7-8499-0674accc51a9</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-22/phpkansai-2024-report/"></link>
+ <title>PHPカンファレンス関西 2024 参加レポ</title>
+ <summary>2024-02-11 に開催された、PHPカンファレンス関西 2024 に参加した。</summary>
+ <published>2024-02-21T00:00:00+09:00</published>
+ <updated>2024-02-21T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:230a0048-93c0-4aac-91ef-bb3108f3e587</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-10/yapcjapan-2024-report/"></link>
+ <title>YAPC::Hiroshima 2024 参加レポ</title>
+ <summary>2024-02-10 に開催された、YAPC::Hiroshima 2024 に参加した。</summary>
+ <published>2024-02-10T00:00:00+09:00</published>
+ <updated>2024-02-10T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:e1568c4c-9bdd-47b9-8b39-939ade4f3ba0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-06-25/phpconfuk-2023-report/"></link>
+ <title>PHP カンファレンス福岡 2023 参加レポ</title>
+ <summary>2023-06-24 に開催された、PHP カンファレンス福岡に参加した。</summary>
+ <published>2023-06-25T00:00:00+09:00</published>
+ <updated>2023-06-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:21ce39f0-d613-45f2-a760-89c368892d77</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-04-04/phperkaigi-2023-report/"></link>
+ <title>PHPerKaigi 2023 参加レポ</title>
+ <summary>2023-03-23 から 2023-03-25 にかけて開催された、PHPerKaigi 2023 に参加した。</summary>
+ <published>2023-04-04T00:00:00+09:00</published>
+ <updated>2023-06-28T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:3cce70d8-cee9-4e0e-8b38-6ef1e0a8a278</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-25/phperkaigi-2023-tokens/"></link>
+ <title>PHPer チャレンジ解説 (デジタルサーカス株式会社)</title>
+ <summary>登壇: PHPerKaigi 2023 (トークン解説セッション)</summary>
+ <published>2023-03-25T00:00:00+09:00</published>
+ <updated>2023-03-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:2dce7e27-1eaf-4ca4-8037-e9a3ead18b48</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-24/phperkaigi-2023/"></link>
+ <title>詳説「参照」PHP の参照を完全に理解する</title>
+ <summary>登壇: PHPerKaigi 2023 (レギュラートーク)</summary>
+ <published>2023-03-24T00:00:00+09:00</published>
+ <updated>2023-03-24T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:bb71bb5d-361b-44cb-9753-81d14583d860</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-08-27/php-conference-okinawa-code-golf/"></link>
+ <title>PHP カンファレンス沖縄で出題されたコードゴルフの問題を解いてみた</title>
+ <summary>PHP カンファレンス沖縄の懇親会 LT で出題されたコードゴルフの問題を解いてみた。</summary>
+ <published>2022-08-27T00:00:00+09:00</published>
+ <updated>2022-08-27T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:9211e1fe-bca3-43c4-ba4e-c67d62f3fed0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-05-01/phperkaigi-2022/"></link>
+ <title>PHPerKaigi 2022</title>
+ <summary>2022-04-09 から 2022-04-11 にかけて開催された、PHPerKaigi 2022 に参加した。</summary>
+ <published>2022-05-01T00:00:00+09:00</published>
+ <updated>2022-05-01T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:f4985d54-0907-4449-8101-0fcd382f9e02</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-04-09/phperkaigi-2022-tokens/"></link>
+ <title>PHPerKaigi 2022 トークン問題の解説</title>
+ <summary>PHPerKaigi 2022 で私が作成した PHPer チャレンジ問題を解説する。</summary>
+ <published>2022-04-09T00:00:00+09:00</published>
+ <updated>2022-04-16T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:3fbe0b8c-216e-48f6-b905-c0d361b94542</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-03-30/phperkaigi-2021/"></link>
+ <title>PHPerKaigi 2021</title>
+ <summary>2021-03-26 から 2021-03-28 にかけて開催された、PHPerKaigi 2021 に参加した。</summary>
+ <published>2021-03-30T00:00:00+09:00</published>
+ <updated>2021-03-30T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/cpp/atom.xml b/vhosts/blog/public/tags/cpp/atom.xml
new file mode 100644
index 00000000..2bc67f5f
--- /dev/null
+++ b/vhosts/blog/public/tags/cpp/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-cpp</id>
+ <title>タグ「C++」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/cpp/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/cpp/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:69863d75-ef21-42db-b743-5958f7c86827</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/"></link>
+ <title>【C++】 属性構文の属性名にはキーワードが使える</title>
+ <summary>C++ の属性構文の属性名には、キーワードが使える。ネタ記事。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/cpp17/atom.xml b/vhosts/blog/public/tags/cpp17/atom.xml
new file mode 100644
index 00000000..3e312979
--- /dev/null
+++ b/vhosts/blog/public/tags/cpp17/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-cpp17</id>
+ <title>タグ「C++ 17」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/cpp17/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/cpp17/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:69863d75-ef21-42db-b743-5958f7c86827</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/"></link>
+ <title>【C++】 属性構文の属性名にはキーワードが使える</title>
+ <summary>C++ の属性構文の属性名には、キーワードが使える。ネタ記事。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/isucon/atom.xml b/vhosts/blog/public/tags/isucon/atom.xml
new file mode 100644
index 00000000..f66776a4
--- /dev/null
+++ b/vhosts/blog/public/tags/isucon/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-isucon</id>
+ <title>タグ「ISUCON」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/isucon/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/isucon/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2023-12-03T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:d0c404bb-4700-4a6f-9911-621e9872d8c6</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-12-03/isucon-13/"></link>
+ <title>ISUCON 13 に参加した</title>
+ <summary>ISUCON 13 に参加した。チーム名「うつしもゆ」、最終スコア 13,580 点</summary>
+ <published>2023-12-03T00:00:00+09:00</published>
+ <updated>2023-12-03T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/neovim/atom.xml b/vhosts/blog/public/tags/neovim/atom.xml
new file mode 100644
index 00000000..a9a1b845
--- /dev/null
+++ b/vhosts/blog/public/tags/neovim/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-neovim</id>
+ <title>タグ「Neovim」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/neovim/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/neovim/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2024-01-10T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:05cb16e1-05bc-4359-bc06-88ac20510740</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/"></link>
+ <title>【Neovim】 空の PHP ファイルに namespace 宣言を挿入する</title>
+ <summary>Neovim で空の PHP ファイルを開いたとき、ディレクトリの構造に基づいて自動的に namespace 宣言を挿入するようにする。</summary>
+ <published>2024-01-10T00:00:00+09:00</published>
+ <updated>2024-01-10T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/note-to-self/atom.xml b/vhosts/blog/public/tags/note-to-self/atom.xml
new file mode 100644
index 00000000..73cd26a0
--- /dev/null
+++ b/vhosts/blog/public/tags/note-to-self/atom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-note-to-self</id>
+ <title>タグ「備忘録」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/note-to-self/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/note-to-self/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2024-02-17T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:210673d0-c19e-4195-a280-968a0729dd41</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-03/install-wireguard-on-personal-server/"></link>
+ <title>【備忘録】 個人用サーバに WireGuard を導入する</title>
+ <summary>個人用サービスのセルフホストに使っているサーバに WireGuard を導入する作業をしたメモ</summary>
+ <published>2024-02-03T00:00:00+09:00</published>
+ <updated>2024-02-17T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:673cb872-af2d-41a3-9fb0-60f1afcedb0d</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-10-28/setup-server-for-this-site/"></link>
+ <title>【備忘録】 このサイト用の VPS をセットアップしたときのメモ</title>
+ <summary>GitHub Pages でホストしていたこのサイトを VPS へ移行したので、そのときにやったことのメモ。99 % 自分用。</summary>
+ <published>2022-10-28T00:00:00+09:00</published>
+ <updated>2023-08-30T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/ouj/atom.xml b/vhosts/blog/public/tags/ouj/atom.xml
new file mode 100644
index 00000000..8a8a3306
--- /dev/null
+++ b/vhosts/blog/public/tags/ouj/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-ouj</id>
+ <title>タグ「放送大学」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/ouj/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/ouj/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2023-10-13T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:78419bf2-a1e6-421f-875b-3d93e777b04f</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-10-13/i-entered-the-open-university-of-japan/"></link>
+ <title>放送大学に入学しました</title>
+ <summary>放送大学に入学しました。頑張ります。</summary>
+ <published>2023-10-13T00:00:00+09:00</published>
+ <updated>2023-10-13T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/perl/atom.xml b/vhosts/blog/public/tags/perl/atom.xml
new file mode 100644
index 00000000..b0f8e0df
--- /dev/null
+++ b/vhosts/blog/public/tags/perl/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-perl</id>
+ <title>タグ「Perl」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/perl/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/perl/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2024-02-10T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:230a0048-93c0-4aac-91ef-bb3108f3e587</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-10/yapcjapan-2024-report/"></link>
+ <title>YAPC::Hiroshima 2024 参加レポ</title>
+ <summary>2024-02-10 に開催された、YAPC::Hiroshima 2024 に参加した。</summary>
+ <published>2024-02-10T00:00:00+09:00</published>
+ <updated>2024-02-10T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/php/atom.xml b/vhosts/blog/public/tags/php/atom.xml
new file mode 100644
index 00000000..524df863
--- /dev/null
+++ b/vhosts/blog/public/tags/php/atom.xml
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-php</id>
+ <title>タグ「PHP」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/php/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/php/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2024-02-21T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:fd8fcb03-8e4d-4ca7-8499-0674accc51a9</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-22/phpkansai-2024-report/"></link>
+ <title>PHPカンファレンス関西 2024 参加レポ</title>
+ <summary>2024-02-11 に開催された、PHPカンファレンス関西 2024 に参加した。</summary>
+ <published>2024-02-21T00:00:00+09:00</published>
+ <updated>2024-02-21T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:82db7893-983a-4631-8bee-d0725d078252</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2024-01-24/phpstudy-tokyo-160/"></link>
+ <title>PHPStan の力で Algebraic Data Types を実現する</title>
+ <summary>登壇: PHP 勉強会@東京 第160 回 (レギュラートーク)</summary>
+ <published>2024-01-24T00:00:00+09:00</published>
+ <updated>2024-01-24T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:05cb16e1-05bc-4359-bc06-88ac20510740</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/"></link>
+ <title>【Neovim】 空の PHP ファイルに namespace 宣言を挿入する</title>
+ <summary>Neovim で空の PHP ファイルを開いたとき、ディレクトリの構造に基づいて自動的に namespace 宣言を挿入するようにする。</summary>
+ <published>2024-01-10T00:00:00+09:00</published>
+ <updated>2024-01-10T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:6c377f3f-6f52-4074-b690-c79d02050562</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-10-25/phpstudy-tokyo-157/"></link>
+ <title>PHP コードを隔離された環境で安全に動かす (on WebAssembly)</title>
+ <summary>登壇: PHP 勉強会@東京 第157 回 (LT)</summary>
+ <published>2023-10-25T00:00:00+09:00</published>
+ <updated>2023-10-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:0ed1ccc8-d437-481c-8cca-2131ce800cc0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-10-02/compile-php-runtime-to-wasm/"></link>
+ <title>PHP の処理系を Emscripten で WebAssembly にコンパイルする</title>
+ <summary>PHP の処理系 (php/php-src) を Emscripten で WebAssembly にコンパイルし、任意のコードを隔離された環境で評価できるようにした。</summary>
+ <published>2023-10-02T00:00:00+09:00</published>
+ <updated>2023-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:d6118e00-5fb1-4230-9d94-854260beae04</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-08-24/phpstudy-tokyo-155/"></link>
+ <title>PHP 3.0 の処理系のソースを読んでみる</title>
+ <summary>登壇: PHP 勉強会@東京 第155 回 (LT)</summary>
+ <published>2023-08-24T00:00:00+09:00</published>
+ <updated>2023-08-24T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:669de08d-9e02-44c5-ac3f-35972112e706</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-07-26/phpstudy-tokyo-154/"></link>
+ <title>言語間で比較するエラーの通知と処理</title>
+ <summary>登壇: PHP 勉強会@東京 第154 回 (レギュラートーク)</summary>
+ <published>2023-07-26T00:00:00+09:00</published>
+ <updated>2023-07-26T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:e1568c4c-9bdd-47b9-8b39-939ade4f3ba0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-06-25/phpconfuk-2023-report/"></link>
+ <title>PHP カンファレンス福岡 2023 参加レポ</title>
+ <summary>2023-06-24 に開催された、PHP カンファレンス福岡に参加した。</summary>
+ <published>2023-06-25T00:00:00+09:00</published>
+ <updated>2023-06-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:72244d87-4cf0-41c4-a074-bcc37acaa678</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-06-23/phpconfuk-2023-eve/"></link>
+ <title>巨大なコードベースへ突撃するために</title>
+ <summary>登壇: PHP カンファレンス福岡 2023 前夜祭 (非公式) (レギュラートーク)</summary>
+ <published>2023-06-23T00:00:00+09:00</published>
+ <updated>2023-06-23T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:6016d501-b9c9-474a-a304-1ec1295e049a</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-06-21/phpstudy-tokyo-153/"></link>
+ <title>テキストファイルの末尾には改行コードを入れよう</title>
+ <summary>登壇: PHP 勉強会@東京 第153 回 (LT)</summary>
+ <published>2023-06-21T00:00:00+09:00</published>
+ <updated>2023-06-21T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:fe75bb63-1cd9-457e-8244-c444307cd40a</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-04-12/phpstudy-tokyo-151/"></link>
+ <title>list でない array の末尾を探す</title>
+ <summary>登壇: PHP 勉強会@東京 第151 回 (LT)</summary>
+ <published>2023-04-12T00:00:00+09:00</published>
+ <updated>2023-04-12T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:21ce39f0-d613-45f2-a760-89c368892d77</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-04-04/phperkaigi-2023-report/"></link>
+ <title>PHPerKaigi 2023 参加レポ</title>
+ <summary>2023-03-23 から 2023-03-25 にかけて開催された、PHPerKaigi 2023 に参加した。</summary>
+ <published>2023-04-04T00:00:00+09:00</published>
+ <updated>2023-06-28T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:3cce70d8-cee9-4e0e-8b38-6ef1e0a8a278</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-25/phperkaigi-2023-tokens/"></link>
+ <title>PHPer チャレンジ解説 (デジタルサーカス株式会社)</title>
+ <summary>登壇: PHPerKaigi 2023 (トークン解説セッション)</summary>
+ <published>2023-03-25T00:00:00+09:00</published>
+ <updated>2023-03-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:2dce7e27-1eaf-4ca4-8037-e9a3ead18b48</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-24/phperkaigi-2023/"></link>
+ <title>詳説「参照」PHP の参照を完全に理解する</title>
+ <summary>登壇: PHPerKaigi 2023 (レギュラートーク)</summary>
+ <published>2023-03-24T00:00:00+09:00</published>
+ <updated>2023-03-24T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:9376560b-250a-4697-ac10-0903ad16acee</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-15/phpstudy-tokyo-150/"></link>
+ <title>明日のあなたの役に立たない PHP コーディング技法~細長い FizzBuzz を書く~</title>
+ <summary>登壇: PHP 勉強会@東京 第150 回 (LT)</summary>
+ <published>2023-03-15T00:00:00+09:00</published>
+ <updated>2023-03-18T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:f23ea81c-5996-4b7e-aab0-4e9f23b172c2</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-02-15/phpstudy-tokyo-149/"></link>
+ <title>PHPerKaigi 2023 のトークン問題でボツにした問題を供養する</title>
+ <summary>登壇: PHP 勉強会@東京 第149 回 (LT)</summary>
+ <published>2023-02-15T00:00:00+09:00</published>
+ <updated>2023-02-15T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:693a4c2e-6f21-4840-b793-4e3644a8ec22</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-01-18/phpstudy-tokyo-148/"></link>
+ <title>明日のあなたの役に立たない PHP コーディング技法~polyglot~</title>
+ <summary>登壇: PHP 勉強会@東京 第148 回 (LT)</summary>
+ <published>2023-01-18T00:00:00+09:00</published>
+ <updated>2023-01-18T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:89722cfb-7f4b-4e96-80bc-e0096e5eeef6</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/"></link>
+ <title>PHPerKaigi 2023: ボツになったトークン問題 その 3</title>
+ <summary>来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 3)。</summary>
+ <published>2023-01-10T00:00:00+09:00</published>
+ <updated>2023-01-10T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:10fe9c47-7029-4874-82bd-b4dc50e07809</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/"></link>
+ <title>PHPerKaigi 2023: ボツになったトークン問題 その 2</title>
+ <summary>来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 2)。</summary>
+ <published>2022-11-19T00:00:00+09:00</published>
+ <updated>2022-11-19T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:46e0d5db-b17e-464c-a723-8c3e01af7d1d</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/"></link>
+ <title>PHPerKaigi 2023: ボツになったトークン問題 その 1</title>
+ <summary>来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 1)。</summary>
+ <published>2022-10-23T00:00:00+09:00</published>
+ <updated>2022-10-23T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:42f0b29b-1e44-4dbe-9864-69abe3bb1e6e</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/"></link>
+ <title>【PHP】 fizzbuzz を書く。1行あたり2文字で。</title>
+ <summary>PHP で fizzbuzz を書いた。ただし、1行あたりに使える文字数は2文字まで。</summary>
+ <published>2022-09-28T00:00:00+09:00</published>
+ <updated>2022-09-29T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:bb71bb5d-361b-44cb-9753-81d14583d860</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-08-27/php-conference-okinawa-code-golf/"></link>
+ <title>PHP カンファレンス沖縄で出題されたコードゴルフの問題を解いてみた</title>
+ <summary>PHP カンファレンス沖縄の懇親会 LT で出題されたコードゴルフの問題を解いてみた。</summary>
+ <published>2022-08-27T00:00:00+09:00</published>
+ <updated>2022-08-27T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:9211e1fe-bca3-43c4-ba4e-c67d62f3fed0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-05-01/phperkaigi-2022/"></link>
+ <title>PHPerKaigi 2022</title>
+ <summary>2022-04-09 から 2022-04-11 にかけて開催された、PHPerKaigi 2022 に参加した。</summary>
+ <published>2022-05-01T00:00:00+09:00</published>
+ <updated>2022-05-01T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:f4985d54-0907-4449-8101-0fcd382f9e02</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-04-09/phperkaigi-2022-tokens/"></link>
+ <title>PHPerKaigi 2022 トークン問題の解説</title>
+ <summary>PHPerKaigi 2022 で私が作成した PHPer チャレンジ問題を解説する。</summary>
+ <published>2022-04-09T00:00:00+09:00</published>
+ <updated>2022-04-16T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:3fbe0b8c-216e-48f6-b905-c0d361b94542</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-03-30/phperkaigi-2021/"></link>
+ <title>PHPerKaigi 2021</title>
+ <summary>2021-03-26 から 2021-03-28 にかけて開催された、PHPerKaigi 2021 に参加した。</summary>
+ <published>2021-03-30T00:00:00+09:00</published>
+ <updated>2021-03-30T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/phpconfuk/atom.xml b/vhosts/blog/public/tags/phpconfuk/atom.xml
new file mode 100644
index 00000000..4b9d3f4c
--- /dev/null
+++ b/vhosts/blog/public/tags/phpconfuk/atom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-phpconfuk</id>
+ <title>タグ「PHP カンファレンス福岡」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/phpconfuk/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/phpconfuk/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2023-06-25T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:e1568c4c-9bdd-47b9-8b39-939ade4f3ba0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-06-25/phpconfuk-2023-report/"></link>
+ <title>PHP カンファレンス福岡 2023 参加レポ</title>
+ <summary>2023-06-24 に開催された、PHP カンファレンス福岡に参加した。</summary>
+ <published>2023-06-25T00:00:00+09:00</published>
+ <updated>2023-06-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:72244d87-4cf0-41c4-a074-bcc37acaa678</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-06-23/phpconfuk-2023-eve/"></link>
+ <title>巨大なコードベースへ突撃するために</title>
+ <summary>登壇: PHP カンファレンス福岡 2023 前夜祭 (非公式) (レギュラートーク)</summary>
+ <published>2023-06-23T00:00:00+09:00</published>
+ <updated>2023-06-23T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/phpconokinawa/atom.xml b/vhosts/blog/public/tags/phpconokinawa/atom.xml
new file mode 100644
index 00000000..30b92418
--- /dev/null
+++ b/vhosts/blog/public/tags/phpconokinawa/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-phpconokinawa</id>
+ <title>タグ「PHP カンファレンス沖縄」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/phpconokinawa/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/phpconokinawa/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2022-08-27T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:bb71bb5d-361b-44cb-9753-81d14583d860</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-08-27/php-conference-okinawa-code-golf/"></link>
+ <title>PHP カンファレンス沖縄で出題されたコードゴルフの問題を解いてみた</title>
+ <summary>PHP カンファレンス沖縄の懇親会 LT で出題されたコードゴルフの問題を解いてみた。</summary>
+ <published>2022-08-27T00:00:00+09:00</published>
+ <updated>2022-08-27T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/phperkaigi/atom.xml b/vhosts/blog/public/tags/phperkaigi/atom.xml
new file mode 100644
index 00000000..a14fff1d
--- /dev/null
+++ b/vhosts/blog/public/tags/phperkaigi/atom.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-phperkaigi</id>
+ <title>タグ「PHPerKaigi」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/phperkaigi/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/phperkaigi/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2023-06-28T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:21ce39f0-d613-45f2-a760-89c368892d77</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-04-04/phperkaigi-2023-report/"></link>
+ <title>PHPerKaigi 2023 参加レポ</title>
+ <summary>2023-03-23 から 2023-03-25 にかけて開催された、PHPerKaigi 2023 に参加した。</summary>
+ <published>2023-04-04T00:00:00+09:00</published>
+ <updated>2023-06-28T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:3cce70d8-cee9-4e0e-8b38-6ef1e0a8a278</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-25/phperkaigi-2023-tokens/"></link>
+ <title>PHPer チャレンジ解説 (デジタルサーカス株式会社)</title>
+ <summary>登壇: PHPerKaigi 2023 (トークン解説セッション)</summary>
+ <published>2023-03-25T00:00:00+09:00</published>
+ <updated>2023-03-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:2dce7e27-1eaf-4ca4-8037-e9a3ead18b48</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-24/phperkaigi-2023/"></link>
+ <title>詳説「参照」PHP の参照を完全に理解する</title>
+ <summary>登壇: PHPerKaigi 2023 (レギュラートーク)</summary>
+ <published>2023-03-24T00:00:00+09:00</published>
+ <updated>2023-03-24T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:89722cfb-7f4b-4e96-80bc-e0096e5eeef6</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/"></link>
+ <title>PHPerKaigi 2023: ボツになったトークン問題 その 3</title>
+ <summary>来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 3)。</summary>
+ <published>2023-01-10T00:00:00+09:00</published>
+ <updated>2023-01-10T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:10fe9c47-7029-4874-82bd-b4dc50e07809</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/"></link>
+ <title>PHPerKaigi 2023: ボツになったトークン問題 その 2</title>
+ <summary>来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 2)。</summary>
+ <published>2022-11-19T00:00:00+09:00</published>
+ <updated>2022-11-19T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:46e0d5db-b17e-464c-a723-8c3e01af7d1d</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/"></link>
+ <title>PHPerKaigi 2023: ボツになったトークン問題 その 1</title>
+ <summary>来年の PHPerKaigi 2023 でデジタルサーカス株式会社から出題予定のトークン問題のうち、ボツになった問題を公開する (その 1)。</summary>
+ <published>2022-10-23T00:00:00+09:00</published>
+ <updated>2022-10-23T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:9211e1fe-bca3-43c4-ba4e-c67d62f3fed0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-05-01/phperkaigi-2022/"></link>
+ <title>PHPerKaigi 2022</title>
+ <summary>2022-04-09 から 2022-04-11 にかけて開催された、PHPerKaigi 2022 に参加した。</summary>
+ <published>2022-05-01T00:00:00+09:00</published>
+ <updated>2022-05-01T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:f4985d54-0907-4449-8101-0fcd382f9e02</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2022-04-09/phperkaigi-2022-tokens/"></link>
+ <title>PHPerKaigi 2022 トークン問題の解説</title>
+ <summary>PHPerKaigi 2022 で私が作成した PHPer チャレンジ問題を解説する。</summary>
+ <published>2022-04-09T00:00:00+09:00</published>
+ <updated>2022-04-16T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:3fbe0b8c-216e-48f6-b905-c0d361b94542</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-03-30/phperkaigi-2021/"></link>
+ <title>PHPerKaigi 2021</title>
+ <summary>2021-03-26 から 2021-03-28 にかけて開催された、PHPerKaigi 2021 に参加した。</summary>
+ <published>2021-03-30T00:00:00+09:00</published>
+ <updated>2021-03-30T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/phpkansai/atom.xml b/vhosts/blog/public/tags/phpkansai/atom.xml
new file mode 100644
index 00000000..5eecf3c6
--- /dev/null
+++ b/vhosts/blog/public/tags/phpkansai/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-phpkansai</id>
+ <title>タグ「PHP カンファレンス関西」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/phpkansai/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/phpkansai/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2024-02-21T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:fd8fcb03-8e4d-4ca7-8499-0674accc51a9</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-22/phpkansai-2024-report/"></link>
+ <title>PHPカンファレンス関西 2024 参加レポ</title>
+ <summary>2024-02-11 に開催された、PHPカンファレンス関西 2024 に参加した。</summary>
+ <published>2024-02-21T00:00:00+09:00</published>
+ <updated>2024-02-21T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/phpstudy-tokyo/atom.xml b/vhosts/blog/public/tags/phpstudy-tokyo/atom.xml
new file mode 100644
index 00000000..f2746803
--- /dev/null
+++ b/vhosts/blog/public/tags/phpstudy-tokyo/atom.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-phpstudy-tokyo</id>
+ <title>タグ「PHP 勉強会@東京」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/phpstudy-tokyo/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/phpstudy-tokyo/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2024-01-24T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:82db7893-983a-4631-8bee-d0725d078252</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2024-01-24/phpstudy-tokyo-160/"></link>
+ <title>PHPStan の力で Algebraic Data Types を実現する</title>
+ <summary>登壇: PHP 勉強会@東京 第160 回 (レギュラートーク)</summary>
+ <published>2024-01-24T00:00:00+09:00</published>
+ <updated>2024-01-24T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:6c377f3f-6f52-4074-b690-c79d02050562</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-10-25/phpstudy-tokyo-157/"></link>
+ <title>PHP コードを隔離された環境で安全に動かす (on WebAssembly)</title>
+ <summary>登壇: PHP 勉強会@東京 第157 回 (LT)</summary>
+ <published>2023-10-25T00:00:00+09:00</published>
+ <updated>2023-10-25T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:d6118e00-5fb1-4230-9d94-854260beae04</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-08-24/phpstudy-tokyo-155/"></link>
+ <title>PHP 3.0 の処理系のソースを読んでみる</title>
+ <summary>登壇: PHP 勉強会@東京 第155 回 (LT)</summary>
+ <published>2023-08-24T00:00:00+09:00</published>
+ <updated>2023-08-24T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:669de08d-9e02-44c5-ac3f-35972112e706</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-07-26/phpstudy-tokyo-154/"></link>
+ <title>言語間で比較するエラーの通知と処理</title>
+ <summary>登壇: PHP 勉強会@東京 第154 回 (レギュラートーク)</summary>
+ <published>2023-07-26T00:00:00+09:00</published>
+ <updated>2023-07-26T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:6016d501-b9c9-474a-a304-1ec1295e049a</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-06-21/phpstudy-tokyo-153/"></link>
+ <title>テキストファイルの末尾には改行コードを入れよう</title>
+ <summary>登壇: PHP 勉強会@東京 第153 回 (LT)</summary>
+ <published>2023-06-21T00:00:00+09:00</published>
+ <updated>2023-06-21T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:fe75bb63-1cd9-457e-8244-c444307cd40a</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-04-12/phpstudy-tokyo-151/"></link>
+ <title>list でない array の末尾を探す</title>
+ <summary>登壇: PHP 勉強会@東京 第151 回 (LT)</summary>
+ <published>2023-04-12T00:00:00+09:00</published>
+ <updated>2023-04-12T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:9376560b-250a-4697-ac10-0903ad16acee</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-03-15/phpstudy-tokyo-150/"></link>
+ <title>明日のあなたの役に立たない PHP コーディング技法~細長い FizzBuzz を書く~</title>
+ <summary>登壇: PHP 勉強会@東京 第150 回 (LT)</summary>
+ <published>2023-03-15T00:00:00+09:00</published>
+ <updated>2023-03-18T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:f23ea81c-5996-4b7e-aab0-4e9f23b172c2</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-02-15/phpstudy-tokyo-149/"></link>
+ <title>PHPerKaigi 2023 のトークン問題でボツにした問題を供養する</title>
+ <summary>登壇: PHP 勉強会@東京 第149 回 (LT)</summary>
+ <published>2023-02-15T00:00:00+09:00</published>
+ <updated>2023-02-15T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:693a4c2e-6f21-4840-b793-4e3644a8ec22</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/slides/2023-01-18/phpstudy-tokyo-148/"></link>
+ <title>明日のあなたの役に立たない PHP コーディング技法~polyglot~</title>
+ <summary>登壇: PHP 勉強会@東京 第148 回 (LT)</summary>
+ <published>2023-01-18T00:00:00+09:00</published>
+ <updated>2023-01-18T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/python/atom.xml b/vhosts/blog/public/tags/python/atom.xml
new file mode 100644
index 00000000..286c356d
--- /dev/null
+++ b/vhosts/blog/public/tags/python/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-python</id>
+ <title>タグ「Python」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/python/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/python/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:e1aff84c-d6d4-4dea-bc45-9c41e6445006</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/python-unbound-local-error/"></link>
+ <title>【Python】 クロージャとUnboundLocalError: local variable &apos;x&apos; referenced before assignment</title>
+ <summary>Python における UnboundLocalError の理由と対処法。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/python3/atom.xml b/vhosts/blog/public/tags/python3/atom.xml
new file mode 100644
index 00000000..f549164f
--- /dev/null
+++ b/vhosts/blog/public/tags/python3/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-python3</id>
+ <title>タグ「Python 3」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/python3/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/python3/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:e1aff84c-d6d4-4dea-bc45-9c41e6445006</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/python-unbound-local-error/"></link>
+ <title>【Python】 クロージャとUnboundLocalError: local variable &apos;x&apos; referenced before assignment</title>
+ <summary>Python における UnboundLocalError の理由と対処法。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/ruby/atom.xml b/vhosts/blog/public/tags/ruby/atom.xml
new file mode 100644
index 00000000..a0da6b39
--- /dev/null
+++ b/vhosts/blog/public/tags/ruby/atom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-ruby</id>
+ <title>タグ「Ruby」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/ruby/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/ruby/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:e1456a50-4fc6-42ef-89f3-8be78e01da13</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/ruby-detect-running-implementation/"></link>
+ <title>【Ruby】 自身を実行している処理系の種類を判定する</title>
+ <summary>Ruby には複数の実装があるが、自身を実行している処理系の種類をスクリプト上からどのように判定すればよいだろうか。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:87455008-fe5b-49bf-af5a-b875264f8326</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/ruby-then-keyword-and-case-in/"></link>
+ <title>【Ruby】 then キーワードと case in</title>
+ <summary>Ruby 3.0 で追加される case in 構文と、then キーワードについて。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/ruby3/atom.xml b/vhosts/blog/public/tags/ruby3/atom.xml
new file mode 100644
index 00000000..a738459b
--- /dev/null
+++ b/vhosts/blog/public/tags/ruby3/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-ruby3</id>
+ <title>タグ「Ruby 3」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/ruby3/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/ruby3/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:87455008-fe5b-49bf-af5a-b875264f8326</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/ruby-then-keyword-and-case-in/"></link>
+ <title>【Ruby】 then キーワードと case in</title>
+ <summary>Ruby 3.0 で追加される case in 構文と、then キーワードについて。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/rust/atom.xml b/vhosts/blog/public/tags/rust/atom.xml
new file mode 100644
index 00000000..19707665
--- /dev/null
+++ b/vhosts/blog/public/tags/rust/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-rust</id>
+ <title>タグ「Rust」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/rust/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/rust/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:91c61980-c262-4e8d-89b0-4304e7f6d644</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/rust-where-are-primitive-types-from/"></link>
+ <title>Rust のプリミティブ型はどこからやって来るか</title>
+ <summary>Rust のプリミティブ型は予約語ではなく普通の識別子である。どのようにこれが名前解決されるのかを調べた。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/vim/atom.xml b/vhosts/blog/public/tags/vim/atom.xml
new file mode 100644
index 00000000..d9062978
--- /dev/null
+++ b/vhosts/blog/public/tags/vim/atom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-vim</id>
+ <title>タグ「Vim」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/vim/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/vim/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:44171f75-c312-4c92-9927-3d260e162175</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/"></link>
+ <title>【Vim】 autocmd events の BufWrite/BufWritePre の違い</title>
+ <summary>Vim の autocmd events における BufWrite/BufWritePre がどう違うのかを調べた結果、違いはないことがわかった。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+ <entry>
+ <id>urn:uuid:665de47e-0ed6-405e-ad30-81c3c4592d45</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2021-10-02/vim-swap-order-of-selected-lines/"></link>
+ <title>Vimで選択した行の順番を入れ替える</title>
+ <summary>Vim で選択した行の順番を入れ替える方法。</summary>
+ <published>2021-10-02T00:00:00+09:00</published>
+ <updated>2021-10-02T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/wasm/atom.xml b/vhosts/blog/public/tags/wasm/atom.xml
new file mode 100644
index 00000000..407bdaa3
--- /dev/null
+++ b/vhosts/blog/public/tags/wasm/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-wasm</id>
+ <title>タグ「WebAssembly」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/wasm/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/wasm/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2023-10-02T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:0ed1ccc8-d437-481c-8cca-2131ce800cc0</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2023-10-02/compile-php-runtime-to-wasm/"></link>
+ <title>PHP の処理系を Emscripten で WebAssembly にコンパイルする</title>
+ <summary>PHP の処理系 (php/php-src) を Emscripten で WebAssembly にコンパイルし、任意のコードを隔離された環境で評価できるようにした。</summary>
+ <published>2023-10-02T00:00:00+09:00</published>
+ <updated>2023-10-02T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/wireguard/atom.xml b/vhosts/blog/public/tags/wireguard/atom.xml
new file mode 100644
index 00000000..b78c75a9
--- /dev/null
+++ b/vhosts/blog/public/tags/wireguard/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-wireguard</id>
+ <title>タグ「WireGuard」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/wireguard/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/wireguard/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2024-02-17T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:210673d0-c19e-4195-a280-968a0729dd41</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-03/install-wireguard-on-personal-server/"></link>
+ <title>【備忘録】 個人用サーバに WireGuard を導入する</title>
+ <summary>個人用サービスのセルフホストに使っているサーバに WireGuard を導入する作業をしたメモ</summary>
+ <published>2024-02-03T00:00:00+09:00</published>
+ <updated>2024-02-17T00:00:00+09:00</updated>
+ </entry>
+</feed>
diff --git a/vhosts/blog/public/tags/yapc/atom.xml b/vhosts/blog/public/tags/yapc/atom.xml
new file mode 100644
index 00000000..f9c92e69
--- /dev/null
+++ b/vhosts/blog/public/tags/yapc/atom.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<feed xmlns="http://www.w3.org/2005/Atom">
+ <id>tag:blog.nsfisis.dev,2021:tag-yapc</id>
+ <title>タグ「YAPC」一覧|REPL: Rest-Eat-Program Loop</title>
+ <link rel="alternate" href="https://blog.nsfisis.dev/tags/yapc/"></link>
+ <link rel="self" href="https://blog.nsfisis.dev/tags/yapc/atom.xml"></link>
+ <author>
+ <name>nsfisis</name>
+ </author>
+ <updated>2024-02-10T00:00:00+09:00</updated>
+ <entry>
+ <id>urn:uuid:230a0048-93c0-4aac-91ef-bb3108f3e587</id>
+ <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-02-10/yapcjapan-2024-report/"></link>
+ <title>YAPC::Hiroshima 2024 参加レポ</title>
+ <summary>2024-02-10 に開催された、YAPC::Hiroshima 2024 に参加した。</summary>
+ <published>2024-02-10T00:00:00+09:00</published>
+ <updated>2024-02-10T00:00:00+09:00</updated>
+ </entry>
+</feed>