diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-07-04 19:14:54 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-07-04 19:14:54 +0900 |
| commit | 80f0ab31aceec35c9fd04a6387b14349b806f713 (patch) | |
| tree | 6d9c3e47fe988f211e8598cbedd2031c09ca54cb /services/blog/public/posts | |
| parent | 98db243a59fb6a409b3677f2195e96da6fd39564 (diff) | |
| download | nsfisis.dev-80f0ab31aceec35c9fd04a6387b14349b806f713.tar.gz nsfisis.dev-80f0ab31aceec35c9fd04a6387b14349b806f713.tar.zst nsfisis.dev-80f0ab31aceec35c9fd04a6387b14349b806f713.zip | |
feat(blog/nuldoc): implement TOC
Diffstat (limited to 'services/blog/public/posts')
58 files changed, 1354 insertions, 58 deletions
diff --git a/services/blog/public/posts/2/index.html b/services/blog/public/posts/2/index.html index 39a0a969..a84c6c74 100644 --- a/services/blog/public/posts/2/index.html +++ b/services/blog/public/posts/2/index.html @@ -15,7 +15,7 @@ <link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/posts/atom.xml"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>投稿一覧 (2ページ目)|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="list"> <header class="header"> diff --git a/services/blog/public/posts/2021-03-05/my-first-post/index.html b/services/blog/public/posts/2021-03-05/my-first-post/index.html index 6e9c758f..613df984 100644 --- a/services/blog/public/posts/2021-03-05/my-first-post/index.html +++ b/services/blog/public/posts/2021-03-05/my-first-post/index.html @@ -14,7 +14,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>My First Post|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -43,6 +43,37 @@ <header class="post-header"> <h1 class="post-title">My First Post</h1> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--test">Test</a> + </li> + <li> + <a href="#section--sec-1">Section level 1</a> + <ul> + <li> + <a href="#section--sec-1--sec-2">Section level 2</a> + <ul> + <li> + <a href="#section--sec-1--sec-2--sec-3">Section level 3</a> + <ul> + <li> + <a href="#section--sec-1--sec-2--sec-3--sec-4">Section level 4</a> + <ul> + <li> + <a href="#section--sec-1--sec-2--sec-3--sec-4--sec-5">Section level 5</a> + </li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + </ul> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2021-03-30/phperkaigi-2021/index.html b/services/blog/public/posts/2021-03-30/phperkaigi-2021/index.html index f36aa189..091840a1 100644 --- a/services/blog/public/posts/2021-03-30/phperkaigi-2021/index.html +++ b/services/blog/public/posts/2021-03-30/phperkaigi-2021/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHPerKaigi 2021|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,65 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--report">PHPerKaigi 2021 参加レポ</a> + <ul> + <li> + <a href="#section--report--day-0">Day 0 前夜祭 (2021/03/27)</a> + <ul> + <li> + <a href="#section--report--day-0--1730-a">17:30 [A] LAMPをこじらせてサーバーレスに乗り遅れたPHPerがLambdaに入門してみる</a> + </li> + <li> + <a href="#section--report--day-0--1810-a">18:10 [A] 大規模サイトにおけるSEO観点でのURL設計</a> + </li> + <li> + <a href="#section--report--day-0--1850-a">18:50 [A] PHPerでもわかる!実践Webアクセシビリティ</a> + </li> + <li> + <a href="#section--report--day-0--1930-a">19:30 [A] PHP でファイルシステムを作ろう</a> + </li> + </ul> + </li> + <li> + <a href="#section--report--day-1">Day 1 (2021/03/27)</a> + <ul> + <li> + <a href="#section--report--day-1--1050-a">10:50 [A] 実践ATDD 〜TDDから更に歩みを進めたソフトウェア開発へ〜</a> + </li> + <li> + <a href="#section--report--day-1--1150-a">11:50 [A] 静的型解析を用いた大規模レガシーコードのリファクタリング計画</a> + </li> + <li> + <a href="#section--report--day-1--1310-a">13:10 [A] 目的に沿ったDocumentation as Codeをいかにして実現していくか</a> + </li> + <li> + <a href="#section--report--day-1--1410-a">14:10 [A] PHPで学ぶ、セッションの基本と応用</a> + </li> + <li> + <a href="#section--report--day-1--1450-a">14:50 [A] PHP8になった今の時代に、PHPの「エラー」「例外」そして「Error」をおさらいしておこう</a> + </li> + <li> + <a href="#section--report--day-1--1530-a">15:30 [A] Laravel のメール認証の内部実装を掘り下げる</a> + </li> + <li> + <a href="#section--report--day-1--1610-a">16:10 [A] ブラウザから始めるgRPC 〜 gRPC-WebにPHPを添えて</a> + </li> + </ul> + </li> + <li> + <a href="#section--report--day-2">Day 2 (2021/03/28)</a> + </li> + <li> + <a href="#section--report--comments">全体の感想</a> + </li> + </ul> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html b/services/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html index 905cc23f..c4f1304a 100644 --- a/services/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html +++ b/services/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【C++】 属性構文の属性名にはキーワードが使える|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> diff --git a/services/blog/public/posts/2021-10-02/python-unbound-local-error/index.html b/services/blog/public/posts/2021-10-02/python-unbound-local-error/index.html index c9f0ab44..1beb05c2 100644 --- a/services/blog/public/posts/2021-10-02/python-unbound-local-error/index.html +++ b/services/blog/public/posts/2021-10-02/python-unbound-local-error/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【Python】 クロージャとUnboundLocalError: local variable 'x' referenced before assignment|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> diff --git a/services/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html b/services/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html index 00f707c0..795fefa2 100644 --- a/services/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html +++ b/services/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【Ruby】 自身を実行している処理系の種類を判定する|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> diff --git a/services/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html b/services/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html index 4b563c25..20585686 100644 --- a/services/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html +++ b/services/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【Ruby】 then キーワードと case in|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -52,6 +52,29 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--tl-dr">TL; DR</a> + </li> + <li> + <a href="#section--what-is-then-keyword"> とは</a> + </li> + <li> + <a href="#section--why-then-is-usually-unnecessary">なぜ普段は書かなくてもよいのか</a> + </li> + <li> + <a href="#section--why-then-or-linebreak-is-needed">なぜ や や改行が必要か</a> + </li> + <li> + <a href="#section--then-in-case-in"> - における </a> + </li> + <li> + <a href="#section--outro">まとめ</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html b/services/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html index 49749ebc..396e2dde 100644 --- a/services/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html +++ b/services/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>Rust のプリミティブ型はどこからやって来るか|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -49,6 +49,20 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">前置き</a> + </li> + <li> + <a href="#section--code-reading">調査</a> + </li> + <li> + <a href="#section--outro">まとめ</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html b/services/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html index ae6b52cc..e4496ea1 100644 --- a/services/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html +++ b/services/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【Vim】 autocmd events の BufWrite/BufWritePre の違い|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -49,6 +49,28 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--tl-dr">TL; DR</a> + </li> + <li> + <a href="#section--code-reading">調査記録</a> + <ul> + <li> + <a href="#section--code-reading--vim">vim のソースコード</a> + </li> + <li> + <a href="#section--code-reading--neovim">neovim のソースコード</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">まとめ</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html b/services/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html index 96dc3b4e..27eb273e 100644 --- a/services/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html +++ b/services/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>Vimで選択した行の順番を入れ替える|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -49,6 +49,37 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--tl-dr">TL; DR</a> + </li> + <li> + <a href="#section--version">バージョン情報</a> + </li> + <li> + <a href="#section--existing-solution">よく紹介されている手法</a> + <ul> + <li> + <a href="#section--existing-solution--external-commands"> / </a> + </li> + <li> + <a href="#section--existing-solution--global-command"></a> + </li> + </ul> + </li> + <li> + <a href="#section--problem-of-global-command"> の問題点</a> + </li> + <li> + <a href="#section--solution">解決策</a> + </li> + <li> + <a href="#section--solution-revised">解決策 (改訂版)</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html b/services/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html index 0029bcc0..caa68793 100644 --- a/services/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html +++ b/services/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHPerKaigi 2022 トークン問題の解説|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,87 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--q1-brainfuck">第1問 brainf_ck.php</a> + <ul> + <li> + <a href="#section--q1-brainfuck--commentary">解説</a> + <ul> + <li> + <a href="#section--q1-brainfuck--commentary--emoji">絵文字</a> + </li> + <li> + <a href="#section--q1-brainfuck--commentary--brainfuck">プログラム全体</a> + </li> + <li> + <a href="#section--q1-brainfuck--commentary--emoji-selection">絵文字の選択</a> + </li> + <li> + <a href="#section--q1-brainfuck--commentary--strict-types">strict_types</a> + </li> + <li> + <a href="#section--q1-brainfuck--commentary--url">URL</a> + </li> + <li> + <a href="#section--q1-brainfuck--commentary--numbers">リテラルなしで数値を生成する</a> + </li> + <li> + <a href="#section--q1-brainfuck--commentary--conditionals"> 文なしで条件分岐</a> + </li> + <li> + <a href="#section--q1-brainfuck--commentary--loops">、 文なしでループ</a> + </li> + </ul> + </li> + </ul> + </li> + <li> + <a href="#section--q2-riddle">第2問 riddle.php</a> + <ul> + <li> + <a href="#section--q2-riddle--code-reading">読解</a> + </li> + <li> + <a href="#section--q2-riddle--hint">ヒント</a> + </li> + <li> + <a href="#section--q2-riddle--solve">解く</a> + </li> + </ul> + </li> + <li> + <a href="#section--q3-toquine">第3問 toquine.php</a> + <ul> + <li> + <a href="#section--q3-toquine--commentary">解説</a> + <ul> + <li> + <a href="#section--q3-toquine--commentary--quine">プログラム全体</a> + </li> + <li> + <a href="#section--q3-toquine--commentary--tokens">トークン</a> + </li> + <li> + <a href="#section--q3-toquine--commentary--states">状態保持</a> + </li> + <li> + <a href="#section--q3-toquine--commentary--rot-13">ROT 13</a> + </li> + </ul> + </li> + </ul> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html b/services/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html index 3de1d062..1b85e231 100644 --- a/services/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html +++ b/services/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html @@ -14,7 +14,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>term-banner: ターミナルにバナーを表示するツールを書いた|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -43,6 +43,26 @@ <header class="post-header"> <h1 class="post-title">term-banner: ターミナルにバナーを表示するツールを書いた</h1> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--motivation">Motivation</a> + </li> + <li> + <a href="#section--program">プログラム</a> + </li> + <li> + <a href="#section--font">フォント</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2022-05-01/phperkaigi-2022/index.html b/services/blog/public/posts/2022-05-01/phperkaigi-2022/index.html index 1ca85f7e..81fb45b8 100644 --- a/services/blog/public/posts/2022-05-01/phperkaigi-2022/index.html +++ b/services/blog/public/posts/2022-05-01/phperkaigi-2022/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHPerKaigi 2022|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,34 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--comments">感想</a> + <ul> + <li> + <a href="#section--comments--great-sessions">厳選おすすめトーク</a> + </li> + <li> + <a href="#section--comments--token-quizzes">トークン問題の作成</a> + </li> + <li> + <a href="#section--comments--phper-challenge">PHPer チャレンジ</a> + </li> + <li> + <a href="#section--comments--conference">カンファレンス全体への感想</a> + </li> + </ul> + </li> + <li> + <a href="#section--next-year">そして来年へ……?</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html b/services/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html index 6c961ace..0795b3a7 100644 --- a/services/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html +++ b/services/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHP カンファレンス沖縄で出題されたコードゴルフの問題を解いてみた|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,37 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--solution">解</a> + </li> + <li> + <a href="#section--techniques">使用したテクニック</a> + <ul> + <li> + <a href="#section--techniques--exponential-notation">指数表記</a> + </li> + <li> + <a href="#section--techniques--shorten-loop">foreach や for の中身を1つの文に</a> + </li> + <li> + <a href="#section--techniques--omit-initialization">$r に初期値を入れない</a> + </li> + <li> + <a href="#section--techniques--put-text-outside-php-tag">PHP タグの外に文字列を置く</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html b/services/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html index 51e571ba..ccb924b3 100644 --- a/services/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html +++ b/services/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html @@ -14,7 +14,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>弊社の PHP Foundation への寄付に寄せて|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> diff --git a/services/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html b/services/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html index 16704369..0530802b 100644 --- a/services/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html +++ b/services/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【PHP】 fizzbuzz を書く。1行あたり2文字で。|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -49,6 +49,49 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">記事の構成について</a> + </li> + <li> + <a href="#section--regulations">レギュレーション</a> + </li> + <li> + <a href="#section--problems">主な障害</a> + </li> + <li> + <a href="#section--commentary">解説</a> + <ul> + <li> + <a href="#section--commentary--normal-fizzbuzz">普通の (?) fizzbuzz</a> + </li> + <li> + <a href="#section--commentary--remove-keywords"> の排除</a> + </li> + <li> + <a href="#section--commentary--shorten-function-invocation">関数呼び出しの短縮</a> + </li> + <li> + <a href="#section--commentary--incompatible-solution">余談: PHP 8.x で動作しなくてもいいなら</a> + </li> + <li> + <a href="#section--commentary--shorten-string-literals">文字列リテラルの短縮</a> + </li> + </ul> + </li> + <li> + <a href="#section--stretched-fizzbuzz">完成系</a> + </li> + <li> + <a href="#section--outro">感想など</a> + </li> + <li> + <a href="#section--alternative-solution">余談2: 別解</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html b/services/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html index cec9e188..e42c63a3 100644 --- a/services/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html +++ b/services/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHPerKaigi 2023: ボツになったトークン問題 その 1|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -52,6 +52,26 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--quiz">問題</a> + </li> + <li> + <a href="#section--how-to-obtain-token">トークン入手方法</a> + </li> + <li> + <a href="#section--commentary">解説</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html b/services/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html index 3fcdf961..98c8048c 100644 --- a/services/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html +++ b/services/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【備忘録】 このサイト用の VPS をセットアップしたときのメモ|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -49,6 +49,92 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--vps">VPS</a> + </li> + <li> + <a href="#section--preparation">事前準備</a> + <ul> + <li> + <a href="#section--preparation--hostname">サーバのホスト名を決める</a> + </li> + <li> + <a href="#section--preparation--ssh-key">SSH の鍵生成</a> + </li> + <li> + <a href="#section--preparation--ssh-config">SSH の設定</a> + </li> + </ul> + </li> + <li> + <a href="#section--basic-setup">基本のセットアップ</a> + <ul> + <li> + <a href="#section--basic-setup--login">SSH 接続</a> + </li> + <li> + <a href="#section--basic-setup--user">ユーザを作成する</a> + </li> + <li> + <a href="#section--basic-setup--hostname">ホスト名を変える</a> + </li> + <li> + <a href="#section--basic-setup--public-key">公開鍵を置く</a> + </li> + <li> + <a href="#section--basic-setup--ssh-config">SSH の設定</a> + </li> + <li> + <a href="#section--basic-setup--ssh-connect">SSH で接続確認</a> + </li> + <li> + <a href="#section--basic-setup--close-ports">ポートの遮断</a> + </li> + <li> + <a href="#section--basic-setup--ssh-key-for-github">GitHub 用の SSH 鍵</a> + </li> + <li> + <a href="#section--basic-setup--upgrade-packages">パッケージの更新</a> + </li> + </ul> + </li> + <li> + <a href="#section--site-hosting-setup">サイトホスティング用のセットアップ</a> + <ul> + <li> + <a href="#section--site-hosting-setup--dns">DNS に IP アドレスを登録する</a> + </li> + <li> + <a href="#section--site-hosting-setup--install-softwares">使うソフトウェアのインストール</a> + </li> + <li> + <a href="#section--site-hosting-setup--docker">メインユーザが Docker を使えるように</a> + </li> + <li> + <a href="#section--site-hosting-setup--open-http-ports">HTTP/HTTPS を通す</a> + </li> + <li> + <a href="#section--site-hosting-setup--clone-repositories">リポジトリのクローン</a> + </li> + <li> + <a href="#section--site-hosting-setup--certbot">certbot で証明書取得</a> + </li> + <li> + <a href="#section--site-hosting-setup--run-server">サーバを稼動させる</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">感想</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html b/services/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html index 6b0e135f..dc5ed8e8 100644 --- a/services/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html +++ b/services/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHPerKaigi 2023: ボツになったトークン問題 その 2|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -52,6 +52,26 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--quiz">問題</a> + </li> + <li> + <a href="#section--how-to-obtain-token">トークン入手方法</a> + </li> + <li> + <a href="#section--commentary">解説</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html b/services/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html index 55a05c16..7c98dda9 100644 --- a/services/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html +++ b/services/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHPerKaigi 2023: ボツになったトークン問題 その 3|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -52,6 +52,37 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--quiz">問題</a> + </li> + <li> + <a href="#section--commentary">解説</a> + <ul> + <li> + <a href="#section--commentary--summary">概要</a> + </li> + <li> + <a href="#section--commentary--chain-of-exceptions">例外オブジェクトの連鎖</a> + </li> + <li> + <a href="#section--commentary--output">出力部の解析</a> + </li> + <li> + <a href="#section--commentary--data-construction">データ構成部の解析</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html b/services/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html index dd7ea830..a78c8a4f 100644 --- a/services/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html +++ b/services/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html @@ -14,7 +14,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>このブログのジェネレータを書き直した|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -43,6 +43,23 @@ <header class="post-header"> <h1 class="post-title">このブログのジェネレータを書き直した</h1> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--from-hugo-to-asciidoctor">Hugo から Asciidoctor へ</a> + </li> + <li> + <a href="#section--from-asciidoctor-to-my-own-generator">Asciidoctor から自前のジェネレータへ</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html b/services/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html index d90c0af1..41ebb8dc 100644 --- a/services/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html +++ b/services/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html @@ -14,7 +14,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PNG 画像の最小構成エンコーダを実装する|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -43,6 +43,51 @@ <header class="post-header"> <h1 class="post-title">PNG 画像の最小構成エンコーダを実装する</h1> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--basic-structure-of-png">PNG ファイルの基本構造</a> + </li> + <li> + <a href="#section--implement-png-encoder">PNG のエンコーダを実装する</a> + <ul> + <li> + <a href="#section--implement-png-encoder--png-signature">PNG signature</a> + </li> + <li> + <a href="#section--implement-png-encoder--structure-of-chunk">Chunk の構造</a> + </li> + <li> + <a href="#section--implement-png-encoder--ihdr-chunk">IHDR chunk</a> + </li> + <li> + <a href="#section--implement-png-encoder--idat-chunk">IDAT chunk</a> + <ul> + <li> + <a href="#section--implement-png-encoder--idat-chunk--zlib">Zlib</a> + </li> + <li> + <a href="#section--implement-png-encoder--idat-chunk--image-data">画像データ</a> + </li> + </ul> + </li> + <li> + <a href="#section--implement-png-encoder--iend-chunk">IEND chunk</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + <li> + <a href="#section--references">参考</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html b/services/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html index 87b0eae6..936747cf 100644 --- a/services/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html +++ b/services/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHPerKaigi 2023 参加レポ|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,37 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--as-speaker">スピーカーとして</a> + </li> + <li> + <a href="#section--as-staff">当日スタッフとして</a> + </li> + <li> + <a href="#section--as-attendee">参加者として</a> + <ul> + <li> + <a href="#section--as-attendee--recommended-sessions">おすすめセッション</a> + </li> + <li> + <a href="#section--as-attendee--phper-challenge">PHPer チャレンジ</a> + </li> + <li> + <a href="#section--as-attendee--random-thoughts">雑多な感想</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html b/services/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html index bf7d2495..47750f3c 100644 --- a/services/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html +++ b/services/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHP カンファレンス福岡 2023 参加レポ|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,28 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--sessions-thoughts">セッションの感想</a> + <ul> + <li> + <a href="#section--sessions-thoughts--eve">前夜祭</a> + </li> + <li> + <a href="#section--sessions-thoughts--conference">カンファレンス</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html b/services/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html index c551ccf5..016951a2 100644 --- a/services/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html +++ b/services/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHP の処理系を Emscripten で WebAssembly にコンパイルする|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -52,6 +52,40 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--version">バージョン情報</a> + </li> + <li> + <a href="#section--goal">本記事のゴール</a> + </li> + <li> + <a href="#section--build">ビルド</a> + <ul> + <li> + <a href="#section--build--write-c-entrypoint">C のエントリポイントを書く</a> + </li> + <li> + <a href="#section--build--compile-to-wasm">WebAssembly にコンパイルする</a> + </li> + </ul> + </li> + <li> + <a href="#section--run">実行</a> + </li> + <li> + <a href="#section--outro">まとめ</a> + </li> + <li> + <a href="#section--references">参考リンク</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html b/services/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html index e4b95799..d0fbe550 100644 --- a/services/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html +++ b/services/blog/public/posts/2023-10-13/i-entered-the-open-university-of-japan/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>放送大学に入学しました|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> diff --git a/services/blog/public/posts/2023-12-03/isucon-13/index.html b/services/blog/public/posts/2023-12-03/isucon-13/index.html index 220c725c..9dd7a94e 100644 --- a/services/blog/public/posts/2023-12-03/isucon-13/index.html +++ b/services/blog/public/posts/2023-12-03/isucon-13/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>ISUCON 13 に参加した|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -49,6 +49,40 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--goals">目標</a> + </li> + <li> + <a href="#section--strategy">戦略</a> + <ul> + <li> + <a href="#section--strategy--do-not-destroy-environment">環境を破壊しない</a> + </li> + <li> + <a href="#section--strategy--revert-changes-immediately">すぐに変更を取り消す</a> + </li> + <li> + <a href="#section--strategy--do-small-deployment">小さくデプロイする</a> + </li> + <li> + <a href="#section--strategy--use-familiar-tools">使い慣れた道具を使う</a> + </li> + </ul> + </li> + <li> + <a href="#section--performance-optimization">パフォーマンスの最適化</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2023-12-31/2023-reflections/index.html b/services/blog/public/posts/2023-12-31/2023-reflections/index.html index 4fa00982..f7700d17 100644 --- a/services/blog/public/posts/2023-12-31/2023-reflections/index.html +++ b/services/blog/public/posts/2023-12-31/2023-reflections/index.html @@ -14,7 +14,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>2023年の振り返り|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -43,6 +43,29 @@ <header class="post-header"> <h1 class="post-title">2023年の振り返り</h1> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--conferences">登壇・カンファレンススタッフ</a> + </li> + <li> + <a href="#section--articles">書いた記事</a> + </li> + <li> + <a href="#section--coding">作ったもの</a> + </li> + <li> + <a href="#section--misc">その他</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html b/services/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html index 2e9c8396..3cad45bf 100644 --- a/services/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html +++ b/services/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【Neovim】 空の PHP ファイルに namespace 宣言を挿入する|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -52,6 +52,29 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">やりたいこと</a> + </li> + <li> + <a href="#section--version">バージョン情報</a> + </li> + <li> + <a href="#section--ftplugin">ftplugin を用意する</a> + </li> + <li> + <a href="#section--did-ftplugin">二重読み込みを防ぐ</a> + </li> + <li> + <a href="#section--implement">実装する</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html b/services/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html index 176be938..af260f0a 100644 --- a/services/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html +++ b/services/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【備忘録】 個人用サーバに WireGuard を導入する|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -52,6 +52,32 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--install-wireguard-server">WireGuard のインストール: サーバ</a> + </li> + <li> + <a href="#section--install-wireguard-client">WireGuard のインストール: クライアント</a> + </li> + <li> + <a href="#section--configure-wireguard">WireGuard の設定</a> + </li> + <li> + <a href="#section--configure-firewall">ファイアウォールの設定</a> + </li> + <li> + <a href="#section--connect-each-other">接続する</a> + </li> + <li> + <a href="#section--edit-80-port">追記: 80 番ポートについて</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html b/services/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html index bef99183..20c5a648 100644 --- a/services/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html +++ b/services/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>YAPC::Hiroshima 2024 参加レポ|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,20 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--sessions-thoughts">セッションの感想</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html b/services/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html index 0b27e943..4653b2ad 100644 --- a/services/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html +++ b/services/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHPカンファレンス関西 2024 参加レポ|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,20 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--sessions-thoughts">セッションの感想</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html b/services/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html index 185aa146..b5af0e91 100644 --- a/services/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html +++ b/services/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHPerKaigi 2024 参加レポ|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,31 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--as-speaker">スピーカーとして</a> + </li> + <li> + <a href="#section--as-staff">コアスタッフとして</a> + </li> + <li> + <a href="#section--as-attendee">参加者として</a> + <ul> + <li> + <a href="#section--as-attendee--my-best-session">マイベストセッション</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-03-20/my-bucket-list/index.html b/services/blog/public/posts/2024-03-20/my-bucket-list/index.html index 92161a33..4adbd10c 100644 --- a/services/blog/public/posts/2024-03-20/my-bucket-list/index.html +++ b/services/blog/public/posts/2024-03-20/my-bucket-list/index.html @@ -14,7 +14,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>死ぬまでに作る自作○○一覧あるいは人生の TODO リスト|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> diff --git a/services/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html b/services/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html index a9f5344f..f8178c26 100644 --- a/services/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html +++ b/services/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHP カンファレンス小田原 2024 参加レポ|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,26 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--as-speaker">スピーカーとして</a> + </li> + <li> + <a href="#section--as-staff">スタッフとして</a> + </li> + <li> + <a href="#section--as-attendee">参加者として</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html b/services/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html index 5efcb1db..bf2f6d93 100644 --- a/services/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html +++ b/services/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【GitLab】 GitLab CI/CD 上での bash/sh は pipefail が有効になっている|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -52,6 +52,34 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--background">前提</a> + <ul> + <li> + <a href="#section--background--gitlab-ci-cd">GitLab CI/CD について</a> + </li> + <li> + <a href="#section--background--pipefail-option"> オプションについて</a> + </li> + </ul> + </li> + <li> + <a href="#section--problem">発生した問題</a> + </li> + <li> + <a href="#section--where-pipefail-is-enabled">どこで が on になるか</a> + </li> + <li> + <a href="#section--how-to-solve">どのように解決するか</a> + </li> + <li> + <a href="#section--remarks">備考</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html b/services/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html index 08557879..96f82be8 100644 --- a/services/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html +++ b/services/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【Zsh】 Composer のカスタムコマンドに対する Zsh 補完で引数にファイルを補完させる|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,29 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--version-info">バージョン情報</a> + </li> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--problem">発生していた問題</a> + </li> + <li> + <a href="#section--what-i-want-to-achive">やりたいこと</a> + </li> + <li> + <a href="#section--solution">解決策</a> + </li> + <li> + <a href="#section--conclusion">まとめ</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html b/services/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html index 8a314d7f..da43afb6 100644 --- a/services/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html +++ b/services/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHP カンファレンス香川 2024 参加レポ|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,23 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--session-thoughts">セッション感想</a> + </li> + <li> + <a href="#section--lightning-talk">懇親会 LT</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html b/services/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html index 9abca4f0..7d4dfc35 100644 --- a/services/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html +++ b/services/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>ScalaMatsuri 2024 参加レポ|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,23 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--sessions">セッション感想</a> + </li> + <li> + <a href="#section--others">その他感想</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html b/services/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html index 9a40d7c2..e637a4d7 100644 --- a/services/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html +++ b/services/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>reparojson: 文法エラーを直すだけの JSON フォーマッタを作った|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -52,6 +52,23 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">欲しかったもの</a> + </li> + <li> + <a href="#section--reparojson">作ったもの</a> + </li> + <li> + <a href="#section--itegration-with-neovim">Neovim との連携</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html b/services/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html index ea58be69..40208a71 100644 --- a/services/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html +++ b/services/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【Go】 text/template の with や range の内側から外側の "." にアクセスする|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -49,6 +49,26 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--tldr">TL;DR</a> + </li> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--what-i-want-to-do">やりたいこと</a> + </li> + <li> + <a href="#section--solution">解決方法</a> + </li> + <li> + <a href="#section--reference">参考</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-09-28/mncore-challenge-1/index.html b/services/blog/public/posts/2024-09-28/mncore-challenge-1/index.html index 1c4b7f05..304078de 100644 --- a/services/blog/public/posts/2024-09-28/mncore-challenge-1/index.html +++ b/services/blog/public/posts/2024-09-28/mncore-challenge-1/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>MN-Core Challenge #1 参加レポ|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -49,6 +49,20 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--thought">感想</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-12-04/cohackpp-report/index.html b/services/blog/public/posts/2024-12-04/cohackpp-report/index.html index d5b81411..50c2312a 100644 --- a/services/blog/public/posts/2024-12-04/cohackpp-report/index.html +++ b/services/blog/public/posts/2024-12-04/cohackpp-report/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>紅白ぺぱ合戦に参加&LTしました|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -52,6 +52,31 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--thoughts">感想</a> + </li> + <li> + <a href="#section--lt">LT</a> + <ul> + <li> + <a href="#section--lt--prepare">合戦準備</a> + </li> + <li> + <a href="#section--lt--battle">いざ尋常に勝負</a> + </li> + </ul> + </li> + <li> + <a href="#section--congrats">ご結婚おめでとうございます</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2024-12-33/2024-reflections/index.html b/services/blog/public/posts/2024-12-33/2024-reflections/index.html index 686c9f6a..615fea8c 100644 --- a/services/blog/public/posts/2024-12-33/2024-reflections/index.html +++ b/services/blog/public/posts/2024-12-33/2024-reflections/index.html @@ -14,7 +14,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>2024年の振り返り|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -43,6 +43,29 @@ <header class="post-header"> <h1 class="post-title">2024年の振り返り</h1> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--conference">登壇・カンファレンス参加</a> + </li> + <li> + <a href="#section--articles">書いた記事</a> + </li> + <li> + <a href="#section--coding">作ったもの</a> + </li> + <li> + <a href="#section--misc">その他</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html b/services/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html index 849154d8..e7cd5282 100644 --- a/services/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html +++ b/services/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHPerKaigi 2023 トークン問題解説 (1/5)|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -58,6 +58,46 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--quiz">Q1: An Art of Computer Programming</a> + </li> + <li> + <a href="#section--how-to-solve">解き方</a> + </li> + <li> + <a href="#section--commentary">解説</a> + <ul> + <li> + <a href="#section--commentary--read-as-image">画像として解釈する</a> + </li> + <li> + <a href="#section--commentary--password">パスワード</a> + </li> + <li> + <a href="#section--commentary--png-steganography">PNG ステガノグラフィ</a> + </li> + <li> + <a href="#section--commentary--php-program">実行される PHP プログラム</a> + </li> + <li> + <a href="#section--commentary--piet-source-code">Piet のソースコード</a> + </li> + <li> + <a href="#section--commentary--misc">その他小ネタ</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html b/services/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html index 578868c1..e869cd3b 100644 --- a/services/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html +++ b/services/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【YAML】YAML 1.1 と YAML 1.2 の主な破壊的変更|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -49,6 +49,34 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--breaking-changes">主な破壊的変更</a> + <ul> + <li> + <a href="#section--breaking-changes--boolean-literals">Boolean としてパースされるトークンが / とその亜種のみに</a> + </li> + <li> + <a href="#section--breaking-changes--octal-literals">八進数リテラルには が必須に</a> + </li> + <li> + <a href="#section--breaking-changes--merging"> によるマージが不可能に</a> + </li> + <li> + <a href="#section--breaking-changes--number-separator">数字を で区切るのが禁止に</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html b/services/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html index 120074a2..b24dfda2 100644 --- a/services/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html +++ b/services/blog/public/posts/2025-02-24/phpcon-nagoya-2025-report/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>PHP カンファレンス名古屋 2025 参加レポ|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,23 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--sessions">セッション感想</a> + </li> + <li> + <a href="#section--my-session">登壇したセッション</a> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html b/services/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html index cc980b1e..ad21dd19 100644 --- a/services/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html +++ b/services/blog/public/posts/2025-03-27/zip-function-like-command-paste-command/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>zip 関数のようなコマンド paste|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> diff --git a/services/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html b/services/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html index 6142f333..477f8064 100644 --- a/services/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html +++ b/services/blog/public/posts/2025-03-28/http-1-1-send-multiple-same-headers/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【HTTP】HTTP/1.1 で同じヘッダを2回送るとどうなるか|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -49,6 +49,34 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--specification">仕様</a> + <ul> + <li> + <a href="#section--specification--sender">送信側</a> + </li> + <li> + <a href="#section--specification--recipient">受信側</a> + </li> + <li> + <a href="#section--specification--exception">例外ケース: Set-Cookie</a> + </li> + <li> + <a href="#section--specification--comma-separated-list">どの header field がコンマ区切りのリストなのか</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">まとめ</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html b/services/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html index 94056e10..94d30758 100644 --- a/services/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html +++ b/services/blog/public/posts/2025-04-20/trick-2025-most-ruby-on-ruby-award/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>RubyKaigi 2025 の TRICK で入賞した|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -58,6 +58,34 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--trick">TRICK とは</a> + </li> + <li> + <a href="#section--my-work">作品紹介</a> + <ul> + <li> + <a href="#section--my-work--quine">Quine</a> + </li> + <li> + <a href="#section--my-work--syntax-highlight">シンタックスハイライト</a> + </li> + <li> + <a href="#section--my-work--ruby-text">振り仮名</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html b/services/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html index 7074f7cc..8ee9d64b 100644 --- a/services/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html +++ b/services/blog/public/posts/2025-04-24/composer-patches-v2-does-not-require-gnu-patch-even-on-macos/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>【Composer】 composer-patches v2 では macOS でも GNU patch のインストールが不要になる (予定)|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -55,6 +55,20 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--on-macos">macOS での問題点</a> + </li> + <li> + <a href="#section--in-version-2">v2 では</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html b/services/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html index 0bb69686..77fcb1f7 100644 --- a/services/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html +++ b/services/blog/public/posts/2025-05-05/make-tiny-self-hosted-c-compiler/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>セルフホスト可能な C コンパイラを作った|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -49,6 +49,42 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">はじめに</a> + </li> + <li> + <a href="#section--regulation">レギュレーション</a> + </li> + <li> + <a href="#section--design">設計</a> + <ul> + <li> + <a href="#section--design--language-features">言語機能</a> + </li> + </ul> + </li> + <li> + <a href="#section--development">開発</a> + <ul> + <li> + <a href="#section--development--day1">1日目 (2025-05-03)</a> + </li> + <li> + <a href="#section--development--day2">2日目 (2025-05-03)</a> + </li> + <li> + <a href="#section--development--day3">3日目 (2025-05-03)</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/2025-06-14/baba-is-you/index.html b/services/blog/public/posts/2025-06-14/baba-is-you/index.html index 05d8e48f..81bbd9e1 100644 --- a/services/blog/public/posts/2025-06-14/baba-is-you/index.html +++ b/services/blog/public/posts/2025-06-14/baba-is-you/index.html @@ -15,7 +15,7 @@ <meta name="Hatena::Bookmark" content="nocomment"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>最高のパズルゲーム Baba Is You をやれ|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="single"> <header class="header"> @@ -49,6 +49,59 @@ </li> </ul> </header> + <nav class="toc"> + <h2>目次</h2> + <ul> + <li> + <a href="#section--intro">Baba Is You とは</a> + </li> + <li> + <a href="#section--no-spoiler">前半 (ネタバレなし)</a> + <ul> + <li> + <a href="#section--no-spoiler--what-is-baba-is-you">どういうゲームか?</a> + </li> + <li> + <a href="#section--no-spoiler--play-time-and-difficulty">ゲームのボリューム・難易度</a> + </li> + <li> + <a href="#section--no-spoiler--appeal">魅力</a> + <ul> + <li> + <a href="#section--no-spoiler--appeal--very-difficult">高い難易度</a> + </li> + <li> + <a href="#section--no-spoiler--appeal--very-flexible">新しい単語との出会い</a> + </li> + <li> + <a href="#section--no-spoiler--appeal--very-beautiful">美しいパズル</a> + </li> + </ul> + </li> + <li> + <a href="#section--no-spoiler--play-now">Baba Is You をやれ</a> + </li> + </ul> + </li> + <li> + <a href="#section--spoiler">後半 (ネタバレあり)</a> + <ul> + <li> + <a href="#section--spoiler--notation">表記</a> + </li> + <li> + <a href="#section--spoiler--impressive-levels">印象的な面</a> + </li> + <li> + <a href="#section--spoiler--difficult-levels">初見時難易度ランキング</a> + </li> + </ul> + </li> + <li> + <a href="#section--outro">おわりに</a> + </li> + </ul> + </nav> <div class="post-content"> <section id="changelog"> <h2><a href="#changelog">更新履歴</a></h2> diff --git a/services/blog/public/posts/3/index.html b/services/blog/public/posts/3/index.html index 85f7d92d..bcd3a694 100644 --- a/services/blog/public/posts/3/index.html +++ b/services/blog/public/posts/3/index.html @@ -15,7 +15,7 @@ <link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/posts/atom.xml"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>投稿一覧 (3ページ目)|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="list"> <header class="header"> diff --git a/services/blog/public/posts/4/index.html b/services/blog/public/posts/4/index.html index c44cbae8..67ecd304 100644 --- a/services/blog/public/posts/4/index.html +++ b/services/blog/public/posts/4/index.html @@ -15,7 +15,7 @@ <link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/posts/atom.xml"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>投稿一覧 (4ページ目)|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="list"> <header class="header"> diff --git a/services/blog/public/posts/5/index.html b/services/blog/public/posts/5/index.html index 95548528..04dc89a5 100644 --- a/services/blog/public/posts/5/index.html +++ b/services/blog/public/posts/5/index.html @@ -15,7 +15,7 @@ <link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/posts/atom.xml"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>投稿一覧 (5ページ目)|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="list"> <header class="header"> diff --git a/services/blog/public/posts/6/index.html b/services/blog/public/posts/6/index.html index cac03b51..72ee6969 100644 --- a/services/blog/public/posts/6/index.html +++ b/services/blog/public/posts/6/index.html @@ -15,7 +15,7 @@ <link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/posts/atom.xml"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>投稿一覧 (6ページ目)|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="list"> <header class="header"> diff --git a/services/blog/public/posts/index.html b/services/blog/public/posts/index.html index b0e996ba..a45da9f7 100644 --- a/services/blog/public/posts/index.html +++ b/services/blog/public/posts/index.html @@ -15,7 +15,7 @@ <link rel="alternate" type="application/atom+xml" href="https://blog.nsfisis.dev/posts/atom.xml"> <link rel="icon" type="image/svg+xml" href="/favicon.svg"> <title>投稿一覧 (1ページ目)|REPL: Rest-Eat-Program Loop</title> - <link rel="stylesheet" href="/style.css?h=899271ae83285479ca025cc358975c53"> + <link rel="stylesheet" href="/style.css?h=f4a12de8fc55ef1668e211e6c6db4ade"> </head> <body class="list"> <header class="header"> |
