summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-01-26 15:23:17 +0900
committernsfisis <nsfisis@gmail.com>2025-01-26 15:23:17 +0900
commit9127d1c420420b3c80414d8222840e96e4dd3f18 (patch)
treea804e9f7b3d22c762b1c8abc1be5ba0e0f5b93fa
parentad87bf61edab31921a3ce216225a7a33e2112746 (diff)
downloadnsfisis.dev-9127d1c420420b3c80414d8222840e96e4dd3f18.tar.gz
nsfisis.dev-9127d1c420420b3c80414d8222840e96e4dd3f18.tar.zst
nsfisis.dev-9127d1c420420b3c80414d8222840e96e4dd3f18.zip
feat(blog/nuldoc): add `target=_blank` and `rel=noreferrer` to external links
-rw-r--r--vhosts/blog/nuldoc-src/jsx/types.d.ts6
-rw-r--r--vhosts/blog/nuldoc-src/ndoc/to_html.ts17
-rw-r--r--vhosts/blog/nuldoc-src/pages/AboutPage.tsx20
-rw-r--r--vhosts/blog/public/about/index.html6
-rw-r--r--vhosts/blog/public/posts/2021-03-30/phperkaigi-2021/index.html2
-rw-r--r--vhosts/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html10
-rw-r--r--vhosts/blog/public/posts/2021-10-02/python-unbound-local-error/index.html2
-rw-r--r--vhosts/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html10
-rw-r--r--vhosts/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html4
-rw-r--r--vhosts/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html4
-rw-r--r--vhosts/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html12
-rw-r--r--vhosts/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html2
-rw-r--r--vhosts/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html8
-rw-r--r--vhosts/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html6
-rw-r--r--vhosts/blog/public/posts/2022-05-01/phperkaigi-2022/index.html18
-rw-r--r--vhosts/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html8
-rw-r--r--vhosts/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html6
-rw-r--r--vhosts/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html2
-rw-r--r--vhosts/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html2
-rw-r--r--vhosts/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html4
-rw-r--r--vhosts/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html4
-rw-r--r--vhosts/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html4
-rw-r--r--vhosts/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html4
-rw-r--r--vhosts/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html8
-rw-r--r--vhosts/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html16
-rw-r--r--vhosts/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html14
-rw-r--r--vhosts/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html18
-rw-r--r--vhosts/blog/public/posts/2023-12-03/isucon-13/index.html4
-rw-r--r--vhosts/blog/public/posts/2023-12-31/2023-reflections/index.html6
-rw-r--r--vhosts/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html10
-rw-r--r--vhosts/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html10
-rw-r--r--vhosts/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html14
-rw-r--r--vhosts/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html12
-rw-r--r--vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html4
-rw-r--r--vhosts/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html2
-rw-r--r--vhosts/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html12
-rw-r--r--vhosts/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html12
-rw-r--r--vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html6
-rw-r--r--vhosts/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html6
-rw-r--r--vhosts/blog/public/posts/2024-09-28/mncore-challenge-1/index.html4
-rw-r--r--vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html8
-rw-r--r--vhosts/blog/public/posts/2024-12-33/2024-reflections/index.html6
-rw-r--r--vhosts/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html8
-rw-r--r--vhosts/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html4
46 files changed, 192 insertions, 157 deletions
diff --git a/vhosts/blog/nuldoc-src/jsx/types.d.ts b/vhosts/blog/nuldoc-src/jsx/types.d.ts
index 5d949d14..e47d7ffe 100644
--- a/vhosts/blog/nuldoc-src/jsx/types.d.ts
+++ b/vhosts/blog/nuldoc-src/jsx/types.d.ts
@@ -32,7 +32,11 @@ declare global {
summary: IntrinsicElementType;
updated: IntrinsicElementType;
// HTML
- a: IntrinsicElementType & { href?: string };
+ a: IntrinsicElementType & {
+ href?: string;
+ rel?: "noreferrer";
+ target?: "_blank";
+ };
article: IntrinsicElementType;
body: IntrinsicElementType;
button: IntrinsicElementType;
diff --git a/vhosts/blog/nuldoc-src/ndoc/to_html.ts b/vhosts/blog/nuldoc-src/ndoc/to_html.ts
index ce55dbf9..bf556655 100644
--- a/vhosts/blog/nuldoc-src/ndoc/to_html.ts
+++ b/vhosts/blog/nuldoc-src/ndoc/to_html.ts
@@ -21,6 +21,7 @@ export default function toHtml(doc: Document): Document {
transformSectionTitleElement(doc);
transformCodeBlockElement(doc);
transformNoteElement(doc);
+ addAttributesToExternalLinkElement(doc);
setDefaultLangAttribute(doc);
traverseFootnotes(doc);
highlightPrograms(doc);
@@ -211,6 +212,22 @@ function transformNoteElement(doc: Document) {
});
}
+function addAttributesToExternalLinkElement(doc: Document) {
+ forEachChildRecursively(doc.root, (n) => {
+ if (n.kind !== "element" || n.name !== "a") {
+ return;
+ }
+
+ const href = n.attributes.get("href") ?? "";
+ if (!href.startsWith("http")) {
+ return;
+ }
+ n.attributes
+ .set("target", "_blank")
+ .set("rel", "noreferrer");
+ });
+}
+
function setDefaultLangAttribute(_doc: Document) {
// TODO
// if (!e.attributes.has("lang")) {
diff --git a/vhosts/blog/nuldoc-src/pages/AboutPage.tsx b/vhosts/blog/nuldoc-src/pages/AboutPage.tsx
index 0000edf5..48763821 100644
--- a/vhosts/blog/nuldoc-src/pages/AboutPage.tsx
+++ b/vhosts/blog/nuldoc-src/pages/AboutPage.tsx
@@ -44,12 +44,22 @@ export default function AboutPage(
<h2>アカウント</h2>
<ul>
<li>
- <a href="https://twitter.com/nsfisis">
+ <a
+ href="https://twitter.com/nsfisis"
+ target="_blank"
+ rel="noreferrer"
+ >
Twitter (現 𝕏): @nsfisis
</a>
</li>
<li>
- <a href="https://github.com/nsfisis">GitHub: @nsfisis</a>
+ <a
+ href="https://github.com/nsfisis"
+ target="_blank"
+ rel="noreferrer"
+ >
+ GitHub: @nsfisis
+ </a>
</li>
</ul>
</section>
@@ -58,7 +68,11 @@ export default function AboutPage(
<ul>
<li>
{"2021-01~現在: "}
- <a href="https://www.dgcircus.com/">
+ <a
+ href="https://www.dgcircus.com/"
+ target="_blank"
+ rel="noreferrer"
+ >
デジタルサーカス株式会社
</a>
</li>
diff --git a/vhosts/blog/public/about/index.html b/vhosts/blog/public/about/index.html
index 44c22e00..fa8f1e5c 100644
--- a/vhosts/blog/public/about/index.html
+++ b/vhosts/blog/public/about/index.html
@@ -65,10 +65,10 @@
<h2>アカウント</h2>
<ul>
<li>
- <a href="https://twitter.com/nsfisis">Twitter (現 𝕏): @nsfisis</a>
+ <a href="https://twitter.com/nsfisis" rel="noreferrer" target="_blank">Twitter (現 𝕏): @nsfisis</a>
</li>
<li>
- <a href="https://github.com/nsfisis">GitHub: @nsfisis</a>
+ <a href="https://github.com/nsfisis" rel="noreferrer" target="_blank">GitHub: @nsfisis</a>
</li>
</ul>
</section>
@@ -76,7 +76,7 @@
<h2>仕事</h2>
<ul>
<li>
- 2021-01~現在: <a href="https://www.dgcircus.com/">デジタルサーカス株式会社</a>
+ 2021-01~現在: <a href="https://www.dgcircus.com/" rel="noreferrer" target="_blank">デジタルサーカス株式会社</a>
</li>
</ul>
</section>
diff --git a/vhosts/blog/public/posts/2021-03-30/phperkaigi-2021/index.html b/vhosts/blog/public/posts/2021-03-30/phperkaigi-2021/index.html
index ebff210a..f10832af 100644
--- a/vhosts/blog/public/posts/2021-03-30/phperkaigi-2021/index.html
+++ b/vhosts/blog/public/posts/2021-03-30/phperkaigi-2021/index.html
@@ -67,7 +67,7 @@
<section id="section--report">
<h2><a href="#section--report">PHPerKaigi 2021 参加レポ</a></h2>
<p>
- 2021-03-26 から 2021-03-28 にかけて開催された、 <a href="https://phperkaigi.jp/2021/">PHPerKaigi 2021</a> に一般参加者として参加した。 弊社 <a href="https://www.dgcircus.com/">デジタルサーカス株式会社</a> (今年1月から勤務) はダイヤモンドスポンサーとなっており、スポンサー枠のチケットを使わせていただいた。
+ 2021-03-26 から 2021-03-28 にかけて開催された、 <a href="https://phperkaigi.jp/2021/" rel="noreferrer" target="_blank">PHPerKaigi 2021</a> に一般参加者として参加した。 弊社 <a href="https://www.dgcircus.com/" rel="noreferrer" target="_blank">デジタルサーカス株式会社</a> (今年1月から勤務) はダイヤモンドスポンサーとなっており、スポンサー枠のチケットを使わせていただいた。
</p>
<p>
diff --git a/vhosts/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html b/vhosts/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
index fbb42873..c8ee5e14 100644
--- a/vhosts/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
@@ -66,7 +66,7 @@
NOTE
</div>
<div class="admonition-content">
- この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/94090937bcf860cfa93b">https://qiita.com/nsfisis/items/94090937bcf860cfa93b</a>
+ この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/94090937bcf860cfa93b" rel="noreferrer" target="_blank">https://qiita.com/nsfisis/items/94090937bcf860cfa93b</a>
</div>
</div>
@@ -109,7 +109,7 @@
</p>
<p>
- 別件で cppreference.com の <a href="https://en.cppreference.com/w/cpp/language/identifiers">identifier のページ</a> を読んでいた時、次の文が目に止まった。
+ 別件で cppreference.com の <a href="https://en.cppreference.com/w/cpp/language/identifiers" rel="noreferrer" target="_blank">identifier のページ</a> を読んでいた時、次の文が目に止まった。
</p>
<blockquote>
@@ -130,7 +130,7 @@
</p>
<p>
- 同サイトの <a href="https://en.cppreference.com/w/cpp/keyword">keywords のページ</a> から一覧を拝借し、上のコードが出来上がった (C++17 においてキーワードでないものなど、一部省いている)。 大量の警告 (unknown attribute `〇〇&apos; ignored) がコンパイラから出力されるが、コンパイルできる。
+ 同サイトの <a href="https://en.cppreference.com/w/cpp/keyword" rel="noreferrer" target="_blank">keywords のページ</a> から一覧を拝借し、上のコードが出来上がった (C++17 においてキーワードでないものなど、一部省いている)。 大量の警告 (unknown attribute `〇〇&apos; ignored) がコンパイラから出力されるが、コンパイルできる。
</p>
<p>
@@ -145,7 +145,7 @@
</p>
<p>
- 引用元: <a href="https://timsong-cpp.github.io/cppwp/n4659/dcl.attr#grammar-4">https://timsong-cpp.github.io/cppwp/n4659/dcl.attr#grammar-4</a>
+ 引用元: <a href="https://timsong-cpp.github.io/cppwp/n4659/dcl.attr#grammar-4" rel="noreferrer" target="_blank">https://timsong-cpp.github.io/cppwp/n4659/dcl.attr#grammar-4</a>
</p>
<blockquote>
@@ -159,7 +159,7 @@
</p>
<p>
- ところで、代替トークン (alternative token) とは <code>and</code> (<code>&amp;</code>) や <code>bitor</code> (<code>|</code>) などのことだが、<code>identifier</code> の構文上の要件を満たさないような代替トークンなどあるのか? 疑問に思って調べたところ、代替トークンという語にはダイグラフも含まれるらしい (参考: <a href="https://timsong-cpp.github.io/cppwp/n4659/lex.digraph">同ドラフト</a>)
+ ところで、代替トークン (alternative token) とは <code>and</code> (<code>&amp;</code>) や <code>bitor</code> (<code>|</code>) などのことだが、<code>identifier</code> の構文上の要件を満たさないような代替トークンなどあるのか? 疑問に思って調べたところ、代替トークンという語にはダイグラフも含まれるらしい (参考: <a href="https://timsong-cpp.github.io/cppwp/n4659/lex.digraph" rel="noreferrer" target="_blank">同ドラフト</a>)
</p>
<ul>
diff --git a/vhosts/blog/public/posts/2021-10-02/python-unbound-local-error/index.html b/vhosts/blog/public/posts/2021-10-02/python-unbound-local-error/index.html
index 6dbb018d..3916ede3 100644
--- a/vhosts/blog/public/posts/2021-10-02/python-unbound-local-error/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/python-unbound-local-error/index.html
@@ -66,7 +66,7 @@
NOTE
</div>
<div class="admonition-content">
- この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/5d733703afcb35bbf399">https://qiita.com/nsfisis/items/5d733703afcb35bbf399</a>
+ この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/5d733703afcb35bbf399" rel="noreferrer" target="_blank">https://qiita.com/nsfisis/items/5d733703afcb35bbf399</a>
</div>
</div>
diff --git a/vhosts/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html b/vhosts/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html
index 037161eb..6d96057f 100644
--- a/vhosts/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/ruby-detect-running-implementation/index.html
@@ -63,7 +63,7 @@
NOTE
</div>
<div class="admonition-content">
- この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/74d7ffeeebc51b20d791">https://qiita.com/nsfisis/items/74d7ffeeebc51b20d791</a>
+ この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/74d7ffeeebc51b20d791" rel="noreferrer" target="_blank">https://qiita.com/nsfisis/items/74d7ffeeebc51b20d791</a>
</div>
</div>
@@ -76,7 +76,7 @@
</p>
<p>
- 参考: <a href="https://docs.ruby-lang.org/ja/latest/method/Object/c/RUBY_ENGINE.html">Object::RUBY_ENGINE</a>
+ 参考: <a href="https://docs.ruby-lang.org/ja/latest/method/Object/c/RUBY_ENGINE.html" rel="noreferrer" target="_blank">Object::RUBY_ENGINE</a>
</p>
<p>
@@ -95,7 +95,7 @@ jruby 1.2.0 (ruby 1.8.6 patchlevel 287) (2009-03-16 rev 9419) [i386-java]
</p>
<p>
- <a href="https://stackoverflow.com/a/9894232">What values for RUBY_ENGINE correspond to which Ruby implementations?</a> より引用:
+ <a href="https://stackoverflow.com/a/9894232" rel="noreferrer" target="_blank">What values for RUBY_ENGINE correspond to which Ruby implementations?</a> より引用:
</p>
<blockquote>
@@ -201,11 +201,11 @@ jruby 1.2.0 (ruby 1.8.6 patchlevel 287) (2009-03-16 rev 9419) [i386-java]
</p>
<p>
- この表にない主要な処理系として、<a href="https://mruby.org">mruby</a> は <code>&apos;mruby&apos;</code> を返す。
+ この表にない主要な処理系として、<a href="https://mruby.org" rel="noreferrer" target="_blank">mruby</a> は <code>&apos;mruby&apos;</code> を返す。
</p>
<p>
- <a href="https://github.com/mruby/mruby/blob/ed29d74bfd95362eaeb946fcf7e865d80346b62b/include/mruby/version.h#L32-L35">mruby 該当部分のソース</a> より引用:
+ <a href="https://github.com/mruby/mruby/blob/ed29d74bfd95362eaeb946fcf7e865d80346b62b/include/mruby/version.h#L32-L35" rel="noreferrer" target="_blank">mruby 該当部分のソース</a> より引用:
</p>
<pre class="highlight" language="c"><code class="highlight"><span class="hljs-comment">/*
diff --git a/vhosts/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html b/vhosts/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
index 5d2d8e23..9306eab1 100644
--- a/vhosts/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
@@ -66,7 +66,7 @@
NOTE
</div>
<div class="admonition-content">
- この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/787a8cf888a304497223">https://qiita.com/nsfisis/items/787a8cf888a304497223</a>
+ この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/787a8cf888a304497223" rel="noreferrer" target="_blank">https://qiita.com/nsfisis/items/787a8cf888a304497223</a>
</div>
</div>
@@ -187,7 +187,7 @@ b
</p>
<p>
- <a href="https://github.com/ruby/ruby/blob/221ca0f8281d39f0dfdfe13b2448875384bbf735/parse.y#L3961-L3986">https://github.com/ruby/ruby/blob/221ca0f8281d39f0dfdfe13b2448875384bbf735/parse.y#L3961-L3986</a>
+ <a href="https://github.com/ruby/ruby/blob/221ca0f8281d39f0dfdfe13b2448875384bbf735/parse.y#L3961-L3986" rel="noreferrer" target="_blank">https://github.com/ruby/ruby/blob/221ca0f8281d39f0dfdfe13b2448875384bbf735/parse.y#L3961-L3986</a>
</p>
<pre class="highlight" language="yacc"><code>p_case_body : keyword_in
diff --git a/vhosts/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html b/vhosts/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html
index c6b30a05..6f629c69 100644
--- a/vhosts/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/rust-where-are-primitive-types-from/index.html
@@ -63,7 +63,7 @@
NOTE
</div>
<div class="admonition-content">
- この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/9a429432258bbcd6c565">https://qiita.com/nsfisis/items/9a429432258bbcd6c565</a>
+ この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/9a429432258bbcd6c565" rel="noreferrer" target="_blank">https://qiita.com/nsfisis/items/9a429432258bbcd6c565</a>
</div>
</div>
@@ -112,7 +112,7 @@
</p>
<p>
- <a href="https://github.com/rust-lang/rust/tree/511ed9f2356af365ad8affe046b3dd33f7ac3c98">https://github.com/rust-lang/rust/tree/511ed9f2356af365ad8affe046b3dd33f7ac3c98</a>
+ <a href="https://github.com/rust-lang/rust/tree/511ed9f2356af365ad8affe046b3dd33f7ac3c98" rel="noreferrer" target="_blank">https://github.com/rust-lang/rust/tree/511ed9f2356af365ad8affe046b3dd33f7ac3c98</a>
</p>
<p>
diff --git a/vhosts/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html b/vhosts/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
index 0bc5b8fd..01684137 100644
--- a/vhosts/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
@@ -63,7 +63,7 @@
NOTE
</div>
<div class="admonition-content">
- この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/79ab4db8564032de0b25">https://qiita.com/nsfisis/items/79ab4db8564032de0b25</a>
+ この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/79ab4db8564032de0b25" rel="noreferrer" target="_blank">https://qiita.com/nsfisis/items/79ab4db8564032de0b25</a>
</div>
</div>
@@ -110,7 +110,7 @@
<blockquote>
<p>
- ソースコードへのリンク <a href="https://github.com/vim/vim/tree/8e6be34338f13a6a625f19bcef82019c9adc65f2">vim (調査時点での master branch)</a> <a href="https://github.com/neovim/neovim/tree/71d4f5851f068eeb432af34850dddda8cc1c71e3">neovim (上に同じ)</a>
+ ソースコードへのリンク <a href="https://github.com/vim/vim/tree/8e6be34338f13a6a625f19bcef82019c9adc65f2" rel="noreferrer" target="_blank">vim (調査時点での master branch)</a> <a href="https://github.com/neovim/neovim/tree/71d4f5851f068eeb432af34850dddda8cc1c71e3" rel="noreferrer" target="_blank">neovim (上に同じ)</a>
</p>
</blockquote>
@@ -121,14 +121,14 @@
</p>
<p>
- <a href="https://github.com/vim/vim/blob/8e6be34338f13a6a625f19bcef82019c9adc65f2/src/autocmd.c#L85-L86">https://github.com/vim/vim/blob/8e6be34338f13a6a625f19bcef82019c9adc65f2/src/autocmd.c#L85-L86</a>
+ <a href="https://github.com/vim/vim/blob/8e6be34338f13a6a625f19bcef82019c9adc65f2/src/autocmd.c#L85-L86" rel="noreferrer" target="_blank">https://github.com/vim/vim/blob/8e6be34338f13a6a625f19bcef82019c9adc65f2/src/autocmd.c#L85-L86</a>
</p>
<pre class="highlight" language="c"><code class="highlight">{<span class="hljs-string">&quot;BufAdd&quot;</span>, EVENT_BUFADD},
{<span class="hljs-string">&quot;BufCreate&quot;</span>, EVENT_BUFADD},</code></pre>
<p>
- <a href="https://github.com/vim/vim/blob/8e6be34338f13a6a625f19bcef82019c9adc65f2/src/autocmd.c#L95-L97">https://github.com/vim/vim/blob/8e6be34338f13a6a625f19bcef82019c9adc65f2/src/autocmd.c#L95-L97</a>
+ <a href="https://github.com/vim/vim/blob/8e6be34338f13a6a625f19bcef82019c9adc65f2/src/autocmd.c#L95-L97" rel="noreferrer" target="_blank">https://github.com/vim/vim/blob/8e6be34338f13a6a625f19bcef82019c9adc65f2/src/autocmd.c#L95-L97</a>
</p>
<pre class="highlight" language="c"><code class="highlight">{<span class="hljs-string">&quot;BufRead&quot;</span>, EVENT_BUFREADPOST},
@@ -136,7 +136,7 @@
{<span class="hljs-string">&quot;BufReadPost&quot;</span>, EVENT_BUFREADPOST},</code></pre>
<p>
- <a href="https://github.com/vim/vim/blob/8e6be34338f13a6a625f19bcef82019c9adc65f2/src/autocmd.c#L103-L105">https://github.com/vim/vim/blob/8e6be34338f13a6a625f19bcef82019c9adc65f2/src/autocmd.c#L103-L105</a>
+ <a href="https://github.com/vim/vim/blob/8e6be34338f13a6a625f19bcef82019c9adc65f2/src/autocmd.c#L103-L105" rel="noreferrer" target="_blank">https://github.com/vim/vim/blob/8e6be34338f13a6a625f19bcef82019c9adc65f2/src/autocmd.c#L103-L105</a>
</p>
<pre class="highlight" language="c"><code class="highlight">{<span class="hljs-string">&quot;BufWrite&quot;</span>, EVENT_BUFWRITEPRE},
@@ -151,7 +151,7 @@
</p>
<p>
- <a href="https://github.com/neovim/neovim/blob/71d4f5851f068eeb432af34850dddda8cc1c71e3/src/nvim/auevents.lua#L119-L124">https://github.com/neovim/neovim/blob/71d4f5851f068eeb432af34850dddda8cc1c71e3/src/nvim/auevents.lua#L119-L124</a>
+ <a href="https://github.com/neovim/neovim/blob/71d4f5851f068eeb432af34850dddda8cc1c71e3/src/nvim/auevents.lua#L119-L124" rel="noreferrer" target="_blank">https://github.com/neovim/neovim/blob/71d4f5851f068eeb432af34850dddda8cc1c71e3/src/nvim/auevents.lua#L119-L124</a>
</p>
<pre class="highlight" language="lua"><code class="highlight">aliases = {
diff --git a/vhosts/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html b/vhosts/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html
index fd183700..c501bbde 100644
--- a/vhosts/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html
+++ b/vhosts/blog/public/posts/2021-10-02/vim-swap-order-of-selected-lines/index.html
@@ -63,7 +63,7 @@
NOTE
</div>
<div class="admonition-content">
- この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/4fefb361d9a693803520">https://qiita.com/nsfisis/items/4fefb361d9a693803520</a>
+ この記事は Qiita から移植してきたものです。 元 URL: <a href="https://qiita.com/nsfisis/items/4fefb361d9a693803520" rel="noreferrer" target="_blank">https://qiita.com/nsfisis/items/4fefb361d9a693803520</a>
</div>
</div>
diff --git a/vhosts/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html b/vhosts/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html
index eade428a..c8eed57d 100644
--- a/vhosts/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html
+++ b/vhosts/blog/public/posts/2022-04-09/phperkaigi-2022-tokens/index.html
@@ -70,11 +70,11 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 本日開始された <a href="https://phperkaigi.jp/2022/">PHPerKaigi 2022</a> の PHPer チャレンジにおいて、弊社 <a href="https://www.dgcircus.com/">デジタルサーカス株式会社</a> の問題を 3問作成した。この記事では、これらの問題の解説をおこなう。
+ 本日開始された <a href="https://phperkaigi.jp/2022/" rel="noreferrer" target="_blank">PHPerKaigi 2022</a> の PHPer チャレンジにおいて、弊社 <a href="https://www.dgcircus.com/" rel="noreferrer" target="_blank">デジタルサーカス株式会社</a> の問題を 3問作成した。この記事では、これらの問題の解説をおこなう。
</p>
<p>
- リポジトリはこちら: <a href="https://github.com/nsfisis/PHPerKaigi2022-tokens">https://github.com/nsfisis/PHPerKaigi2022-tokens</a>
+ リポジトリはこちら: <a href="https://github.com/nsfisis/PHPerKaigi2022-tokens" rel="noreferrer" target="_blank">https://github.com/nsfisis/PHPerKaigi2022-tokens</a>
</p>
</section>
@@ -174,7 +174,7 @@ $🐘([
</p>
<p>
- <a href="https://ja.wikipedia.org/wiki/Brainfuck">https://ja.wikipedia.org/wiki/Brainfuck</a>
+ <a href="https://ja.wikipedia.org/wiki/Brainfuck" rel="noreferrer" target="_blank">https://ja.wikipedia.org/wiki/Brainfuck</a>
</p>
<p>
@@ -205,7 +205,7 @@ $🐘([
&lt; .</code></pre>
<p>
- 実行結果はこちら: <a href="https://ideone.com/22VWmb">https://ideone.com/22VWmb</a>
+ 実行結果はこちら: <a href="https://ideone.com/22VWmb" rel="noreferrer" target="_blank">https://ideone.com/22VWmb</a>
</p>
<p>
diff --git a/vhosts/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html b/vhosts/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
index eb32b06a..9eb5685d 100644
--- a/vhosts/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
+++ b/vhosts/blog/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
@@ -71,14 +71,14 @@
</p>
<p>
- リポジトリはこちら: <a href="https://github.com/nsfisis/term-banner">https://github.com/nsfisis/term-banner</a>
+ リポジトリはこちら: <a href="https://github.com/nsfisis/term-banner" rel="noreferrer" target="_blank">https://github.com/nsfisis/term-banner</a>
</p>
</section>
<section id="section--motivation">
<h2><a href="#section--motivation">Motivation</a></h2>
<p>
- 以前、<a href="https://github.com/nsfisis/big-clock-mode"><code>big-clock-mode</code></a> という似たようなプログラムを書いた。 これは tmux の <code>:clock-mode</code> コマンドに着想を得たもので、<code>:clock-mode</code> よりも大きく現在時刻を表示する。
+ 以前、<a href="https://github.com/nsfisis/big-clock-mode" rel="noreferrer" target="_blank"><code>big-clock-mode</code></a> という似たようなプログラムを書いた。 これは tmux の <code>:clock-mode</code> コマンドに着想を得たもので、<code>:clock-mode</code> よりも大きく現在時刻を表示する。
</p>
<p>
@@ -130,7 +130,7 @@
<section id="section--font">
<h2><a href="#section--font">フォント</a></h2>
<p>
- フリーの 8x8 ビットマップフォントである、<a href="https://littlelimit.net/misaki.htm">美咲フォント 2021-05-05a 版</a> を使わせていただいた。
+ フリーの 8x8 ビットマップフォントである、<a href="https://littlelimit.net/misaki.htm" rel="noreferrer" target="_blank">美咲フォント 2021-05-05a 版</a> を使わせていただいた。
</p>
<p>
diff --git a/vhosts/blog/public/posts/2022-05-01/phperkaigi-2022/index.html b/vhosts/blog/public/posts/2022-05-01/phperkaigi-2022/index.html
index 595d1ccd..e20bd53b 100644
--- a/vhosts/blog/public/posts/2022-05-01/phperkaigi-2022/index.html
+++ b/vhosts/blog/public/posts/2022-05-01/phperkaigi-2022/index.html
@@ -67,7 +67,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2022-04-09 から 2022-04-11 にかけて開催された、<a href="https://phperkaigi.jp/2022/">PHPerKaigi 2022</a> に、 一般参加者として参加した。 弊社<a href="https://www.dgcircus.com/">デジタルサーカス株式会社</a>はダイヤモンドスポンサーとなっており、 スポンサー枠のチケットを使わせていただいた。
+ 2022-04-09 から 2022-04-11 にかけて開催された、<a href="https://phperkaigi.jp/2022/" rel="noreferrer" target="_blank">PHPerKaigi 2022</a> に、 一般参加者として参加した。 弊社<a href="https://www.dgcircus.com/" rel="noreferrer" target="_blank">デジタルサーカス株式会社</a>はダイヤモンドスポンサーとなっており、 スポンサー枠のチケットを使わせていただいた。
</p>
<p>
@@ -84,7 +84,7 @@
</p>
<p>
- <a href="https://fortee.jp/phperkaigi-2022/proposal/ef8cf4ed-63fe-42f8-8145-b3e70054458b">予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント</a>
+ <a href="https://fortee.jp/phperkaigi-2022/proposal/ef8cf4ed-63fe-42f8-8145-b3e70054458b" rel="noreferrer" target="_blank">予防に勝る防御なし - 堅牢なコードを導く様々な設計のヒント</a>
</p>
<blockquote>
@@ -98,7 +98,7 @@
</blockquote>
<p>
- <a href="https://fortee.jp/phperkaigi-2022/proposal/db00d49e-0dd6-453f-b54b-f731d112f10e">PHPのエラーを理解して適切なエラーハンドリングを学ぼう</a>
+ <a href="https://fortee.jp/phperkaigi-2022/proposal/db00d49e-0dd6-453f-b54b-f731d112f10e" rel="noreferrer" target="_blank">PHPのエラーを理解して適切なエラーハンドリングを学ぼう</a>
</p>
<blockquote>
@@ -112,7 +112,7 @@
</blockquote>
<p>
- <a href="https://fortee.jp/phperkaigi-2022/proposal/4a7e3ded-9134-4919-955c-ec7bf4491c0d">エラー監視とテスト体制への改善作戦</a>
+ <a href="https://fortee.jp/phperkaigi-2022/proposal/4a7e3ded-9134-4919-955c-ec7bf4491c0d" rel="noreferrer" target="_blank">エラー監視とテスト体制への改善作戦</a>
</p>
<blockquote>
@@ -128,7 +128,7 @@
</blockquote>
<p>
- <a href="https://fortee.jp/phperkaigi-2022/proposal/6f47daf8-c78f-4fb1-9b99-e9656e6fe7f7">ISUCON11のPHP実装は、何を考え、どのようにして作られていたのか</a>
+ <a href="https://fortee.jp/phperkaigi-2022/proposal/6f47daf8-c78f-4fb1-9b99-e9656e6fe7f7" rel="noreferrer" target="_blank">ISUCON11のPHP実装は、何を考え、どのようにして作られていたのか</a>
</p>
<blockquote>
@@ -162,7 +162,7 @@
</blockquote>
<p>
- <a href="https://fortee.jp/phperkaigi-2022/proposal/5a260e4e-542d-4d82-849d-ef3d6cb7c854">チームの仕事はまわっていたけど、メンバーはそれぞれモヤモヤを抱えていた話──40名の大規模開発チームで1on1ログを公開してみた</a>
+ <a href="https://fortee.jp/phperkaigi-2022/proposal/5a260e4e-542d-4d82-849d-ef3d6cb7c854" rel="noreferrer" target="_blank">チームの仕事はまわっていたけど、メンバーはそれぞれモヤモヤを抱えていた話──40名の大規模開発チームで1on1ログを公開してみた</a>
</p>
<blockquote>
@@ -190,9 +190,9 @@
<section id="section--comments--phper-challenge">
<h3><a href="#section--comments--phper-challenge">PHPer チャレンジ</a></h3>
<p>
- <a href="https://fortee.jp/phperkaigi-2022/challenge">1位</a>になった。
+ <a href="https://fortee.jp/phperkaigi-2022/challenge" rel="noreferrer" target="_blank">1位</a>になった。
<br>
- また、賞品として <a href="https://www.amazon.co.jp/dp/B08MQNJC9Z">Echo Show 15</a> をいただいた。
+ また、賞品として <a href="https://www.amazon.co.jp/dp/B08MQNJC9Z" rel="noreferrer" target="_blank">Echo Show 15</a> をいただいた。
</p>
</section>
@@ -217,7 +217,7 @@
</p>
<p>
- なお、アンカンファレンスについては、1日目の終わりに<a href="https://fortee.jp/phperkaigi-2022/unconference/view/d332797a-8921-4706-a7e2-ee72640c9b5e">トークン問題の解説放送</a>もおこなった。
+ なお、アンカンファレンスについては、1日目の終わりに<a href="https://fortee.jp/phperkaigi-2022/unconference/view/d332797a-8921-4706-a7e2-ee72640c9b5e" rel="noreferrer" target="_blank">トークン問題の解説放送</a>もおこなった。
</p>
<p>
diff --git a/vhosts/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html b/vhosts/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
index 3f059649..492719a2 100644
--- a/vhosts/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
+++ b/vhosts/blog/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
@@ -67,7 +67,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 本日 <a href="https://phpcon.okinawa.jp/">PHP カンファレンス沖縄 2022</a> が開催された (らしい)。
+ 本日 <a href="https://phpcon.okinawa.jp/" rel="noreferrer" target="_blank">PHP カンファレンス沖縄 2022</a> が開催された (らしい)。
</p>
<p>
@@ -76,11 +76,11 @@
<ul>
<li>
- ツイート: <a href="https://twitter.com/m3m0r7/status/1563397620231712772">https://twitter.com/m3m0r7/status/1563397620231712772</a>
+ ツイート: <a href="https://twitter.com/m3m0r7/status/1563397620231712772" rel="noreferrer" target="_blank">https://twitter.com/m3m0r7/status/1563397620231712772</a>
</li>
<li>
- スライド: <a href="https://speakerdeck.com/memory1994/php-conference-okinawa-2022-extra?slide=3">https://speakerdeck.com/memory1994/php-conference-okinawa-2022-extra?slide=3</a>
+ スライド: <a href="https://speakerdeck.com/memory1994/php-conference-okinawa-2022-extra?slide=3" rel="noreferrer" target="_blank">https://speakerdeck.com/memory1994/php-conference-okinawa-2022-extra?slide=3</a>
</li>
</ul>
</section>
@@ -184,7 +184,7 @@
<section id="section--outro">
<h2><a href="#section--outro">おわりに</a></h2>
<p>
- 最後になりましたが、<a href="https://twitter.com/m3m0r7">めもりー</a>さん、楽しい問題をありがとうございました。
+ 最後になりましたが、<a href="https://twitter.com/m3m0r7" rel="noreferrer" target="_blank">めもりー</a>さん、楽しい問題をありがとうございました。
</p>
</section>
</div>
diff --git a/vhosts/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html b/vhosts/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html
index e9be32ea..493789bb 100644
--- a/vhosts/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html
+++ b/vhosts/blog/public/posts/2022-08-31/support-for-communty-is-employee-benefits/index.html
@@ -59,11 +59,11 @@
</p>
<p>
- 先日、私の勤める <a href="https://www.dgcircus.com/">デジタルサーカス株式会社</a> が <a href="https://opencollective.com/phpfoundation">PHP Foundation</a> へ $2,000 の寄付をおこないました。
+ 先日、私の勤める <a href="https://www.dgcircus.com/" rel="noreferrer" target="_blank">デジタルサーカス株式会社</a> が <a href="https://opencollective.com/phpfoundation" rel="noreferrer" target="_blank">PHP Foundation</a> へ $2,000 の寄付をおこないました。
</p>
<p>
- 記事: <a href="https://www.dgcircus.com/news/581">https://www.dgcircus.com/news/581</a>
+ 記事: <a href="https://www.dgcircus.com/news/581" rel="noreferrer" target="_blank">https://www.dgcircus.com/news/581</a>
</p>
<p>
@@ -96,7 +96,7 @@
</p>
<p>
- OSS を金銭的に支援したり、技術カンファレンスへ協賛したり (あるいは <a href="https://twitter.com/tomzoh">CTO</a> がカンファレンスを年2で主催したり: <a href="https://iosdc.jp">iOSDC</a> <a href="https://phperkaigi.jp">PHPerKaigi</a>) といった行為は、コミュニティへの貢献であると同時に、社員に対する精神的福利厚生でもあると言えるでしょう (知らんけど)。 これらは、技術や技術者を大切にする組織である、ということの、対外的にも対内的にも強力なメッセージなのです。
+ OSS を金銭的に支援したり、技術カンファレンスへ協賛したり (あるいは <a href="https://twitter.com/tomzoh" rel="noreferrer" target="_blank">CTO</a> がカンファレンスを年2で主催したり: <a href="https://iosdc.jp" rel="noreferrer" target="_blank">iOSDC</a> <a href="https://phperkaigi.jp" rel="noreferrer" target="_blank">PHPerKaigi</a>) といった行為は、コミュニティへの貢献であると同時に、社員に対する精神的福利厚生でもあると言えるでしょう (知らんけど)。 これらは、技術や技術者を大切にする組織である、ということの、対外的にも対内的にも強力なメッセージなのです。
</p>
<p>
diff --git a/vhosts/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html b/vhosts/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
index ab4e9d19..1fe1b48d 100644
--- a/vhosts/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
+++ b/vhosts/blog/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
@@ -64,7 +64,7 @@
<section id="section--intro">
<h2><a href="#section--intro">記事の構成について</a></h2>
<p>
- この記事は、普通の fizzbuzz を徐々に変形して最終形にしていく、という構成で書かれている。 最終形を見てどのような仕組みで動いているのか解読してから解説を読みたい、というかたがいれば、 <a href="https://gist.github.com/nsfisis/04c227d5a419867472a0b23a83ad2919#file-fizzbuzz-php-2-letters-per-line-and-supports-php-8-x-without-warnings">このページ</a> にソースコードがあるので、そちらを先に見てほしい。
+ この記事は、普通の fizzbuzz を徐々に変形して最終形にしていく、という構成で書かれている。 最終形を見てどのような仕組みで動いているのか解読してから解説を読みたい、というかたがいれば、 <a href="https://gist.github.com/nsfisis/04c227d5a419867472a0b23a83ad2919#file-fizzbuzz-php-2-letters-per-line-and-supports-php-8-x-without-warnings" rel="noreferrer" target="_blank">このページ</a> にソースコードがあるので、そちらを先に見てほしい。
</p>
</section>
diff --git a/vhosts/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html b/vhosts/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html
index 44f107ef..611c77ed 100644
--- a/vhosts/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html
+++ b/vhosts/blog/public/posts/2022-10-23/phperkaigi-2023-unused-token-quiz-1/index.html
@@ -64,7 +64,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2023 年 3 月 23 日から 25 日にかけて開催予定 (記事執筆時点) の、 <a href="https://phperkaigi.jp/2023/">PHPerKaigi 2023</a> において、 昨年と同様に、弊社 <a href="https://www.dgcircus.com/">デジタルサーカス株式会社</a> から、 トークン問題を出題予定である。
+ 2023 年 3 月 23 日から 25 日にかけて開催予定 (記事執筆時点) の、 <a href="https://phperkaigi.jp/2023/" rel="noreferrer" target="_blank">PHPerKaigi 2023</a> において、 昨年と同様に、弊社 <a href="https://www.dgcircus.com/" rel="noreferrer" target="_blank">デジタルサーカス株式会社</a> から、 トークン問題を出題予定である。
</p>
<p>
diff --git a/vhosts/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html b/vhosts/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html
index cb40e7f5..ddf2a5b7 100644
--- a/vhosts/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html
+++ b/vhosts/blog/public/posts/2022-10-28/setup-server-for-this-site/index.html
@@ -75,7 +75,7 @@
<section id="section--vps">
<h2><a href="#section--vps">VPS</a></h2>
<p>
- <a href="https://vps.sakura.ad.jp/">さくらの VPS</a> の 2 GB プラン。 そこまで真面目に選定していないので、困ったら移動するかも。
+ <a href="https://vps.sakura.ad.jp/" rel="noreferrer" target="_blank">さくらの VPS</a> の 2 GB プラン。 そこまで真面目に選定していないので、困ったら移動するかも。
</p>
</section>
@@ -221,7 +221,7 @@ $ sudo ufw status</code></pre>
$ cat ~/.ssh/github.key.pub</code></pre>
<p>
- <a href="https://github.com/settings/ssh">GitHub の設定画面</a> から、この公開鍵を追加する。
+ <a href="https://github.com/settings/ssh" rel="noreferrer" target="_blank">GitHub の設定画面</a> から、この公開鍵を追加する。
</p>
<pre class="highlight" language="shell-session"><code>$ vi ~/.ssh/config</code></pre>
diff --git a/vhosts/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html b/vhosts/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html
index 85238af1..bf288a77 100644
--- a/vhosts/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html
+++ b/vhosts/blog/public/posts/2022-11-19/phperkaigi-2023-unused-token-quiz-2/index.html
@@ -64,7 +64,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2023 年 3 月 23 日から 25 日にかけて開催予定 (記事執筆時点) の <a href="https://phperkaigi.jp/2023/">PHPerKaigi 2023</a> において、 昨年と同様に、弊社 <a href="https://www.dgcircus.com/">デジタルサーカス株式会社</a> からトークン問題を出題予定である。
+ 2023 年 3 月 23 日から 25 日にかけて開催予定 (記事執筆時点) の <a href="https://phperkaigi.jp/2023/" rel="noreferrer" target="_blank">PHPerKaigi 2023</a> において、 昨年と同様に、弊社 <a href="https://www.dgcircus.com/" rel="noreferrer" target="_blank">デジタルサーカス株式会社</a> からトークン問題を出題予定である。
</p>
<p>
@@ -213,7 +213,7 @@ P</code></pre>
<section id="section--outro">
<h2><a href="#section--outro">おわりに</a></h2>
<p>
- <a href="https://blog.rust-lang.org/2021/11/01/cve-2021-42574.html">CVE-2021-42574</a> に着想を得た作品。この脆弱性は、Unicode の制御文字である left-to-right mark と right-to-left mark を利用し、ソースコードの実際の内容を欺く、というもの。簡単のためゼロ幅スペースを用いることとし、ついでに quine にもするとこうなった。
+ <a href="https://blog.rust-lang.org/2021/11/01/cve-2021-42574.html" rel="noreferrer" target="_blank">CVE-2021-42574</a> に着想を得た作品。この脆弱性は、Unicode の制御文字である left-to-right mark と right-to-left mark を利用し、ソースコードの実際の内容を欺く、というもの。簡単のためゼロ幅スペースを用いることとし、ついでに quine にもするとこうなった。
</p>
<p>
diff --git a/vhosts/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html b/vhosts/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
index ea6b2346..dd0a5d39 100644
--- a/vhosts/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
+++ b/vhosts/blog/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
@@ -64,7 +64,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2023 年 3 月 23 日から 25 日にかけて開催予定 (記事執筆時点) の <a href="https://phperkaigi.jp/2023/">PHPerKaigi 2023</a> において、 昨年と同様に、弊社 <a href="https://www.dgcircus.com/">デジタルサーカス株式会社</a> からトークン問題を出題予定である。
+ 2023 年 3 月 23 日から 25 日にかけて開催予定 (記事執筆時点) の <a href="https://phperkaigi.jp/2023/" rel="noreferrer" target="_blank">PHPerKaigi 2023</a> において、 昨年と同様に、弊社 <a href="https://www.dgcircus.com/" rel="noreferrer" target="_blank">デジタルサーカス株式会社</a> からトークン問題を出題予定である。
</p>
<p>
@@ -230,7 +230,7 @@
<section id="section--commentary--chain-of-exceptions">
<h3><a href="#section--commentary--chain-of-exceptions">例外オブジェクトの連鎖</a></h3>
<p>
- <a href="https://www.php.net/class.Exception"><code>Exception</code></a> や <a href="https://www.php.net/class.Error"><code>Error</code></a> には <code>$previous</code> というプロパティがあり、コンストラクタの第3引数から渡すことができる。主に 2つの用法がある:
+ <a href="https://www.php.net/class.Exception" rel="noreferrer" target="_blank"><code>Exception</code></a> や <a href="https://www.php.net/class.Error" rel="noreferrer" target="_blank"><code>Error</code></a> には <code>$previous</code> というプロパティがあり、コンストラクタの第3引数から渡すことができる。主に 2つの用法がある:
</p>
<ul>
diff --git a/vhosts/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html b/vhosts/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html
index 8b129087..32a134a9 100644
--- a/vhosts/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html
+++ b/vhosts/blog/public/posts/2023-03-10/rewrite-this-blog-generator/index.html
@@ -55,7 +55,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- このブログを構築するシステムを書き直したのは 2度目である。 元々立ち上げた当初は、静的サイトジェネレータである <a href="https://gohugo.io/">Hugo</a> を使っていた。 それを <a href="https://asciidoctor.org/">Asciidoctor</a> にいくつかのカスタムを加えた自前のジェネレータに移行したのが 2022年の11月ごろだ。 そして今回、スクラッチから書いた <a href="https://deno.land/">Deno</a> 製のジェネレータに移行した。
+ このブログを構築するシステムを書き直したのは 2度目である。 元々立ち上げた当初は、静的サイトジェネレータである <a href="https://gohugo.io/" rel="noreferrer" target="_blank">Hugo</a> を使っていた。 それを <a href="https://asciidoctor.org/" rel="noreferrer" target="_blank">Asciidoctor</a> にいくつかのカスタムを加えた自前のジェネレータに移行したのが 2022年の11月ごろだ。 そして今回、スクラッチから書いた <a href="https://deno.land/" rel="noreferrer" target="_blank">Deno</a> 製のジェネレータに移行した。
</p>
<p>
@@ -131,7 +131,7 @@
簡単に実装できる
</li>
</ul>
- フォーマットが求められた。これに合致したのが、XML をベースとする <a href="https://docbook.org/">DocBook</a> (今回使っているのは、そのサブセットである <a href="https://tdg.docbook.org/tdg/sdocbook/5.1/">Simplified DocBook</a>) である。
+ フォーマットが求められた。これに合致したのが、XML をベースとする <a href="https://docbook.org/" rel="noreferrer" target="_blank">DocBook</a> (今回使っているのは、そのサブセットである <a href="https://tdg.docbook.org/tdg/sdocbook/5.1/" rel="noreferrer" target="_blank">Simplified DocBook</a>) である。
</p>
<p>
diff --git a/vhosts/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html b/vhosts/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html
index dfd95a86..885433c3 100644
--- a/vhosts/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html
+++ b/vhosts/blog/public/posts/2023-04-01/implementation-of-minimal-png-image-encoder/index.html
@@ -235,7 +235,7 @@
</ol>
<p>
- CRC (Cyclic Redundancy Check) は誤り検出符号の一種。Go 言語では <code>hash/crc32</code> パッケージにあるが、今回はこれも自前で実装する。PNG の仕様書に C 言語のサンプルコードが載っている (<a href="https://www.w3.org/TR/png/#D-CRCAppendix">D. Sample CRC implementation</a>) ので、これを Go に移植する。
+ CRC (Cyclic Redundancy Check) は誤り検出符号の一種。Go 言語では <code>hash/crc32</code> パッケージにあるが、今回はこれも自前で実装する。PNG の仕様書に C 言語のサンプルコードが載っている (<a href="https://www.w3.org/TR/png/#D-CRCAppendix" rel="noreferrer" target="_blank">D. Sample CRC implementation</a>) ので、これを Go に移植する。
</p>
<pre class="highlight" language="go"><code class="highlight"><span class="hljs-keyword">var</span> (
@@ -423,7 +423,7 @@
</p>
<p>
- Adler-32 も CRC と同じく誤り検出符号である。こちらも zlib の仕様書に C 言語でサンプルコードが記載されている (<a href="https://www.rfc-editor.org/rfc/rfc1950#section-9">9. Appendix: Sample code</a>) ので、Go に移植する。
+ Adler-32 も CRC と同じく誤り検出符号である。こちらも zlib の仕様書に C 言語でサンプルコードが記載されている (<a href="https://www.rfc-editor.org/rfc/rfc1950#section-9" rel="noreferrer" target="_blank">9. Appendix: Sample code</a>) ので、Go に移植する。
</p>
<pre class="highlight" language="go"><code class="highlight"><span class="hljs-keyword">const</span> adler32Base = <span class="hljs-number">65521</span>
@@ -732,11 +732,11 @@
<h2><a href="#section--references">参考</a></h2>
<ul>
<li>
- <a href="https://www.w3.org/TR/png">Portable Network Graphics (PNG) Specification (Third Edition)</a>
+ <a href="https://www.w3.org/TR/png" rel="noreferrer" target="_blank">Portable Network Graphics (PNG) Specification (Third Edition)</a>
</li>
<li>
- <a href="https://www.rfc-editor.org/rfc/rfc1950">ZLIB Compressed Data Format Specification version 3.3</a>
+ <a href="https://www.rfc-editor.org/rfc/rfc1950" rel="noreferrer" target="_blank">ZLIB Compressed Data Format Specification version 3.3</a>
</li>
</ul>
</section>
diff --git a/vhosts/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html b/vhosts/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html
index a5ef0d5a..a086adb8 100644
--- a/vhosts/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html
+++ b/vhosts/blog/public/posts/2023-04-04/phperkaigi-2023-report/index.html
@@ -70,7 +70,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2023-03-23 から 2023-03-25 にかけて開催された、<a href="https://phperkaigi.jp/2023/">PHPerKaigi 2023</a> に参加した。 今年は 2つのセッションのスピーカーとして、また、当日スタッフとして参加した。
+ 2023-03-23 から 2023-03-25 にかけて開催された、<a href="https://phperkaigi.jp/2023/" rel="noreferrer" target="_blank">PHPerKaigi 2023</a> に参加した。 今年は 2つのセッションのスピーカーとして、また、当日スタッフとして参加した。
</p>
<p>
@@ -99,7 +99,7 @@
詳説「参照」:PHP 処理系の実装から参照を理解する
<ul>
<li>
- <a href="https://fortee.jp/phperkaigi-2023/proposal/95e4dd94-5fc7-40fe-9e1a-230e36404cbe">プロポーザル</a>
+ <a href="https://fortee.jp/phperkaigi-2023/proposal/95e4dd94-5fc7-40fe-9e1a-230e36404cbe" rel="noreferrer" target="_blank">プロポーザル</a>
</li>
<li>
@@ -116,7 +116,7 @@
PHPerチャレンジ解説セッション - デジタルサーカス株式会社
<ul>
<li>
- <a href="https://fortee.jp/phperkaigi-2023/proposal/524c9dca-1d70-4b32-a939-9c73ffe5cb48">プロポーザル</a>
+ <a href="https://fortee.jp/phperkaigi-2023/proposal/524c9dca-1d70-4b32-a939-9c73ffe5cb48" rel="noreferrer" target="_blank">プロポーザル</a>
</li>
<li>
@@ -159,7 +159,7 @@
</p>
<p>
- <a href="https://fortee.jp/phperkaigi-2023/proposal/f7f2f18a-e6b0-47e4-ade0-e324f72428ae">ブラウザの向こう側で「200 OK」を返すまでに何が起きているのか調べてみた</a>
+ <a href="https://fortee.jp/phperkaigi-2023/proposal/f7f2f18a-e6b0-47e4-ade0-e324f72428ae" rel="noreferrer" target="_blank">ブラウザの向こう側で「200 OK」を返すまでに何が起きているのか調べてみた</a>
</p>
<p>
@@ -167,7 +167,7 @@
</p>
<p>
- <a href="https://fortee.jp/phperkaigi-2023/proposal/280706e0-7158-4237-8202-c9d64330b96f">PHPで学ぶ &quot;Cacheの距離&quot; の話</a>
+ <a href="https://fortee.jp/phperkaigi-2023/proposal/280706e0-7158-4237-8202-c9d64330b96f" rel="noreferrer" target="_blank">PHPで学ぶ &quot;Cacheの距離&quot; の話</a>
</p>
<p>
@@ -175,7 +175,7 @@
</p>
<p>
- <a href="https://fortee.jp/phperkaigi-2023/proposal/ad3ba31c-0214-4557-a0df-3755db8ed8cc">防衛的 PHP: 多様性を生き抜くための PHP 入門</a>
+ <a href="https://fortee.jp/phperkaigi-2023/proposal/ad3ba31c-0214-4557-a0df-3755db8ed8cc" rel="noreferrer" target="_blank">防衛的 PHP: 多様性を生き抜くための PHP 入門</a>
</p>
<p>
@@ -183,7 +183,7 @@
</p>
<p>
- <a href="https://fortee.jp/phperkaigi-2023/proposal/e00788a4-ef25-49ee-b254-9d2b53e19633">PHPの最高機能、配列を捨てよう!!</a>
+ <a href="https://fortee.jp/phperkaigi-2023/proposal/e00788a4-ef25-49ee-b254-9d2b53e19633" rel="noreferrer" target="_blank">PHPの最高機能、配列を捨てよう!!</a>
</p>
<p>
@@ -191,7 +191,7 @@
</p>
<p>
- <a href="https://fortee.jp/phperkaigi-2023/proposal/7e212cb2-be37-43e8-b6ee-5236d259fcbf">時間を気にせず普通にカンニングもしつつ ISUCON12 本選問題を PHP でやってみる</a>
+ <a href="https://fortee.jp/phperkaigi-2023/proposal/7e212cb2-be37-43e8-b6ee-5236d259fcbf" rel="noreferrer" target="_blank">時間を気にせず普通にカンニングもしつつ ISUCON12 本選問題を PHP でやってみる</a>
</p>
<p>
diff --git a/vhosts/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html b/vhosts/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html
index 3cb60cb8..289c2c6f 100644
--- a/vhosts/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html
+++ b/vhosts/blog/public/posts/2023-06-25/phpconfuk-2023-report/index.html
@@ -67,7 +67,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2023-06-24 に開催された、<a href="https://phpcon.fukuoka.jp/2023/">PHP カンファレンス福岡 2023</a>に参加した。 また、その前日に催された、<a href="https://connpass.com/event/282285/">非公式の前夜祭</a>にも参加した。 前夜祭では、15分の登壇もおこなった。<a href="/slides/2023-06-23/phpconfuk-2023-eve/">登壇の方の資料はこちら。</a>
+ 2023-06-24 に開催された、<a href="https://phpcon.fukuoka.jp/2023/" rel="noreferrer" target="_blank">PHP カンファレンス福岡 2023</a>に参加した。 また、その前日に催された、<a href="https://connpass.com/event/282285/" rel="noreferrer" target="_blank">非公式の前夜祭</a>にも参加した。 前夜祭では、15分の登壇もおこなった。<a href="/slides/2023-06-23/phpconfuk-2023-eve/">登壇の方の資料はこちら。</a>
</p>
</section>
@@ -76,7 +76,7 @@
<section id="section--sessions-thoughts--eve">
<h3><a href="#section--sessions-thoughts--eve">前夜祭</a></h3>
<p>
- ※セッションの題名と発表者名は、<a href="https://connpass.com/event/282285/">前夜祭イベントの connpass ページ</a>から引用。
+ ※セッションの題名と発表者名は、<a href="https://connpass.com/event/282285/" rel="noreferrer" target="_blank">前夜祭イベントの connpass ページ</a>から引用。
</p>
<ul>
@@ -103,12 +103,12 @@
<section id="section--sessions-thoughts--conference">
<h3><a href="#section--sessions-thoughts--conference">カンファレンス</a></h3>
<p>
- ※セッションの題名と発表者名は、<a href="https://fortee.jp/phpconfukuoka-2023/proposal/accepted">カンファレンスの fortee ページ</a>から引用。
+ ※セッションの題名と発表者名は、<a href="https://fortee.jp/phpconfukuoka-2023/proposal/accepted" rel="noreferrer" target="_blank">カンファレンスの fortee ページ</a>から引用。
</p>
<ul>
<li>
- <a href="https://fortee.jp/phpconfukuoka-2023/proposal/df5f06e8-900e-4e71-94d7-d0c3cc57a0ac">育成力 - エンジニアの才能を引き出す環境とチューターの立ち回り - (岡嵜 雄平 さん)</a>
+ <a href="https://fortee.jp/phpconfukuoka-2023/proposal/df5f06e8-900e-4e71-94d7-d0c3cc57a0ac" rel="noreferrer" target="_blank">育成力 - エンジニアの才能を引き出す環境とチューターの立ち回り - (岡嵜 雄平 さん)</a>
<ul>
<li>
ちょうど弊チームに新規メンバがジョインしたばかりで、オンボーディングプロセスについて考えていたところの発表でした。 すぐにすべてを取り入れるというわけにはいきませんが、弊社での新人育成プロセスの改善につながるヒントをいくつか得られたと思います。
@@ -127,11 +127,11 @@
私自身、「オブジェクト指向」については色々と言いたいことがあるのですが、だいたいツイートしたこれとこれです。
<ul>
<li>
- 「オブジェクト指向の話は、パラダイムの異なる複数の言語に触れているかどうかで見え方がまったく異なる印象がある。OOPはどうでもいいです (※個人の感想です)」 (<a href="https://twitter.com/nsfisis/status/1672502935983656960">Twitter のツイートへのリンク</a>)
+ 「オブジェクト指向の話は、パラダイムの異なる複数の言語に触れているかどうかで見え方がまったく異なる印象がある。OOPはどうでもいいです (※個人の感想です)」 (<a href="https://twitter.com/nsfisis/status/1672502935983656960" rel="noreferrer" target="_blank">Twitter のツイートへのリンク</a>)
</li>
<li>
- 「OOPは現代の言語で考える意味はほぼない古いパラダイムだよという立場ですが、OOPについてあまり大っぴらに話してると色んなところから刺されそうなんですよね (Twitterは大っぴらじゃないんですか?)」 (<a href="https://twitter.com/nsfisis/status/1672504892244787201">Twitter のツイートへのリンク</a>)
+ 「OOPは現代の言語で考える意味はほぼない古いパラダイムだよという立場ですが、OOPについてあまり大っぴらに話してると色んなところから刺されそうなんですよね (Twitterは大っぴらじゃないんですか?)」 (<a href="https://twitter.com/nsfisis/status/1672504892244787201" rel="noreferrer" target="_blank">Twitter のツイートへのリンク</a>)
</li>
</ul>
</li>
@@ -139,7 +139,7 @@
</li>
<li>
- <a href="https://fortee.jp/phpconfukuoka-2023/proposal/ae71f3a7-4c3c-4c87-8816-8426bcc8d325">その説明、コードコメントに書く?コミットメッセージに書く?プルリクエストに書く? (おかしょい/岡田正平 さん)</a>
+ <a href="https://fortee.jp/phpconfukuoka-2023/proposal/ae71f3a7-4c3c-4c87-8816-8426bcc8d325" rel="noreferrer" target="_blank">その説明、コードコメントに書く?コミットメッセージに書く?プルリクエストに書く? (おかしょい/岡田正平 さん)</a>
<ul>
<li>
Twitter にもツイートしましたが、完全に自分の意見と一致していたので、とても共感できました。 今後は社内のコードレビュー時に、こちらの資料を貼りつけることにします。
diff --git a/vhosts/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html b/vhosts/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html
index 73644ee9..607edb5e 100644
--- a/vhosts/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html
+++ b/vhosts/blog/public/posts/2023-10-02/compile-php-runtime-to-wasm/index.html
@@ -64,7 +64,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- <a href="https://emscripten.org/">Emscripten</a> を用いて <a href="https://github.com/php/php-src">PHP の処理系</a>を <a href="https://developer.mozilla.org/docs/WebAssembly">WebAssembly</a> にコンパイルした。機能をある程度絞ることで、思ったよりも簡単に実現できたので、備忘録として記しておく。
+ <a href="https://emscripten.org/" rel="noreferrer" target="_blank">Emscripten</a> を用いて <a href="https://github.com/php/php-src" rel="noreferrer" target="_blank">PHP の処理系</a>を <a href="https://developer.mozilla.org/docs/WebAssembly" rel="noreferrer" target="_blank">WebAssembly</a> にコンパイルした。機能をある程度絞ることで、思ったよりも簡単に実現できたので、備忘録として記しておく。
</p>
<p>
@@ -182,13 +182,13 @@
</p>
<p>
- まずは <a href="https://hub.docker.com/r/emscripten/emsdk">Emscripten 公式が提供している Docker イメージ</a>を使って、PHP 処理系と先ほど示した C 言語のソースコードを WebAssembly にコンパイルする。
+ まずは <a href="https://hub.docker.com/r/emscripten/emsdk" rel="noreferrer" target="_blank">Emscripten 公式が提供している Docker イメージ</a>を使って、PHP 処理系と先ほど示した C 言語のソースコードを WebAssembly にコンパイルする。
</p>
<pre class="highlight" language="dockerfile"><code class="highlight"><span class="hljs-keyword">FROM</span> emscripten/emsdk:<span class="hljs-number">3.1</span>.<span class="hljs-number">46</span> AS wasm-builder</code></pre>
<p>
- 次に、<a href="https://github.com/php/php-src">php/php-src</a> から PHP 処理系のソースコードを取得し、ビルドに必要な apt パッケージを取ってくる。 有効にする拡張を増やしたいなら、ここでインストールするパッケージも増やすことになるだろう。
+ 次に、<a href="https://github.com/php/php-src" rel="noreferrer" target="_blank">php/php-src</a> から PHP 処理系のソースコードを取得し、ビルドに必要な apt パッケージを取ってくる。 有効にする拡張を増やしたいなら、ここでインストールするパッケージも増やすことになるだろう。
</p>
<pre class="highlight" language="dockerfile"><code class="highlight"><span class="hljs-keyword">RUN</span><span class="language-bash"> git <span class="hljs-built_in">clone</span> --depth=1 --branch=php-8.2.10 https://github.com/php/php-src</span>
@@ -363,7 +363,7 @@ exit code: <span class="hljs-number">0</span></code></pre>
<section id="section--outro">
<h2><a href="#section--outro">まとめ</a></h2>
<p>
- <a href="https://github.com/nsfisis/tiny-php.wasm">ここまでをまとめた Git リポジトリ</a>を用意した。 簡単にコンパイルできるので、興味があれば試してみてほしい。
+ <a href="https://github.com/nsfisis/tiny-php.wasm" rel="noreferrer" target="_blank">ここまでをまとめた Git リポジトリ</a>を用意した。 簡単にコンパイルできるので、興味があれば試してみてほしい。
</p>
</section>
@@ -371,23 +371,23 @@ exit code: <span class="hljs-number">0</span></code></pre>
<h2><a href="#section--references">参考リンク</a></h2>
<ul>
<li>
- <a href="https://github.com/php/php-src">php/php-src: ビルドの方法について</a>
+ <a href="https://github.com/php/php-src" rel="noreferrer" target="_blank">php/php-src: ビルドの方法について</a>
</li>
<li>
- <a href="https://emscripten.org/docs/getting_started/Tutorial.html">Emscripten: チュートリアル</a>
+ <a href="https://emscripten.org/docs/getting_started/Tutorial.html" rel="noreferrer" target="_blank">Emscripten: チュートリアル</a>
</li>
<li>
- <a href="https://emscripten.org/docs/compiling/Building-Projects.html#building-projects">Emscripten: ビルドの基本</a>
+ <a href="https://emscripten.org/docs/compiling/Building-Projects.html#building-projects" rel="noreferrer" target="_blank">Emscripten: ビルドの基本</a>
</li>
<li>
- <a href="https://emscripten.org/docs/tools_reference/emcc.html#emccdoc">Emscripten: <code>emcc</code> などのリファレンス</a>
+ <a href="https://emscripten.org/docs/tools_reference/emcc.html#emccdoc" rel="noreferrer" target="_blank">Emscripten: <code>emcc</code> などのリファレンス</a>
</li>
<li>
- <a href="https://emscripten.org/docs/api_reference/module.html#module">Emscripten: 生成される JavaScript の API</a>
+ <a href="https://emscripten.org/docs/api_reference/module.html#module" rel="noreferrer" target="_blank">Emscripten: 生成される JavaScript の API</a>
</li>
</ul>
</section>
diff --git a/vhosts/blog/public/posts/2023-12-03/isucon-13/index.html b/vhosts/blog/public/posts/2023-12-03/isucon-13/index.html
index 36161caf..a4fd2bc1 100644
--- a/vhosts/blog/public/posts/2023-12-03/isucon-13/index.html
+++ b/vhosts/blog/public/posts/2023-12-03/isucon-13/index.html
@@ -61,7 +61,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 先日 11月25日、<a href="https://isucon.net/archives/57801192.html">ISUCON 13</a> に参加した。 ISUCON への参加は今回が初めてとなる。 私 nsfisis の1人チーム「うつしもゆ」として参加し、最終スコアは 13,580 点だった。使用言語は Go。
+ 先日 11月25日、<a href="https://isucon.net/archives/57801192.html" rel="noreferrer" target="_blank">ISUCON 13</a> に参加した。 ISUCON への参加は今回が初めてとなる。 私 nsfisis の1人チーム「うつしもゆ」として参加し、最終スコアは 13,580 点だった。使用言語は Go。
</p>
<div class="admonition">
@@ -69,7 +69,7 @@
NOTE
</div>
<div class="admonition-content">
- 「ISUCON」は、LINEヤフー株式会社の商標または登録商標です。<a href="https://isucon.net/">ISUCON 公式サイトはこちら。</a>
+ 「ISUCON」は、LINEヤフー株式会社の商標または登録商標です。<a href="https://isucon.net/" rel="noreferrer" target="_blank">ISUCON 公式サイトはこちら。</a>
</div>
</div>
</section>
diff --git a/vhosts/blog/public/posts/2023-12-31/2023-reflections/index.html b/vhosts/blog/public/posts/2023-12-31/2023-reflections/index.html
index 69f7ddb8..5d5b219b 100644
--- a/vhosts/blog/public/posts/2023-12-31/2023-reflections/index.html
+++ b/vhosts/blog/public/posts/2023-12-31/2023-reflections/index.html
@@ -160,15 +160,15 @@
<ul>
<li>
- <a href="https://github.com/nsfisis/PHPerKaigi2023-tokens">PHPerKaigi2023-tokens</a>: PHPerKaigi 2023 でおこなわれた PHPer チャレンジという企画で用意した問題
+ <a href="https://github.com/nsfisis/PHPerKaigi2023-tokens" rel="noreferrer" target="_blank">PHPerKaigi2023-tokens</a>: PHPerKaigi 2023 でおこなわれた PHPer チャレンジという企画で用意した問題
</li>
<li>
- <a href="https://github.com/nsfisis/twitter2x-quine">twitter2x-quine</a>: Twitter のロゴを 𝕏 にする変則 quine
+ <a href="https://github.com/nsfisis/twitter2x-quine" rel="noreferrer" target="_blank">twitter2x-quine</a>: Twitter のロゴを 𝕏 にする変則 quine
</li>
<li>
- <a href="https://github.com/nsfisis/9-puzzle-quine.php">9-puzzle-quine.php</a>: 9パズルが遊べる変則 quine
+ <a href="https://github.com/nsfisis/9-puzzle-quine.php" rel="noreferrer" target="_blank">9-puzzle-quine.php</a>: 9パズルが遊べる変則 quine
</li>
</ul>
</section>
diff --git a/vhosts/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html b/vhosts/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html
index be0a39f7..7c30e091 100644
--- a/vhosts/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html
+++ b/vhosts/blog/public/posts/2024-01-10/neovim-insert-namespace-declaration-to-empty-php-file/index.html
@@ -66,7 +66,7 @@
NOTE
</div>
<div class="admonition-content">
- この記事は <a href="https://vim-jp.org/ekiden/">Vim 駅伝</a> #136 の記事です。
+ この記事は <a href="https://vim-jp.org/ekiden/" rel="noreferrer" target="_blank">Vim 駅伝</a> #136 の記事です。
</div>
</div>
diff --git a/vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html b/vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html
index e48e135b..1132448a 100644
--- a/vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html
+++ b/vhosts/blog/public/posts/2024-02-03/install-wireguard-on-personal-server/index.html
@@ -67,7 +67,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 個人用サービスのセルフホストに使っているサーバに <a href="https://www.wireguard.com/">WireGuard</a> を導入する作業をしたのでメモ。
+ 個人用サービスのセルフホストに使っているサーバに <a href="https://www.wireguard.com/" rel="noreferrer" target="_blank">WireGuard</a> を導入する作業をしたのでメモ。
</p>
<p>
diff --git a/vhosts/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html b/vhosts/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html
index 55ed13a0..47a19be7 100644
--- a/vhosts/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html
+++ b/vhosts/blog/public/posts/2024-02-10/yapcjapan-2024-report/index.html
@@ -67,19 +67,19 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2024-02-10 に開催された、<a href="https://yapcjapan.org/2024hiroshima/">YAPC::Hiroshima 2024</a> に参加した。
+ 2024-02-10 に開催された、<a href="https://yapcjapan.org/2024hiroshima/" rel="noreferrer" target="_blank">YAPC::Hiroshima 2024</a> に参加した。
</p>
</section>
<section id="section--sessions-thoughts">
<h2><a href="#section--sessions-thoughts">セッションの感想</a></h2>
<p>
- ※セッションの題名と発表者名は、<a href="https://fortee.jp/yapc-hiroshima-2024">カンファレンスの fortee ページ</a>から引用。
+ ※セッションの題名と発表者名は、<a href="https://fortee.jp/yapc-hiroshima-2024" rel="noreferrer" target="_blank">カンファレンスの fortee ページ</a>から引用。
</p>
<ul>
<li>
- <a href="https://fortee.jp/yapc-hiroshima-2024/proposal/c0e77f91-f856-48a0-9741-b9afb662cd30">VISAカードの裏側と “手が掛かる” 決済システムの育て方 (三谷 さん)</a>
+ <a href="https://fortee.jp/yapc-hiroshima-2024/proposal/c0e77f91-f856-48a0-9741-b9afb662cd30" rel="noreferrer" target="_blank">VISAカードの裏側と “手が掛かる” 決済システムの育て方 (三谷 さん)</a>
<ul>
<li>
ベストスピーカー賞にも選ばれていましたが、大変面白い発表でした。私自身はカード決済の知識がまったくなかったのですが、巧みな説明により、「わかったような気がする」状態になれました。
@@ -88,7 +88,7 @@
</li>
<li>
- <a href="https://fortee.jp/yapc-hiroshima-2024/proposal/0e545260-61e1-465e-951c-91d6afb7782c">awkでつくってわかる、Webアプリケーション (やんまー さん)</a>
+ <a href="https://fortee.jp/yapc-hiroshima-2024/proposal/0e545260-61e1-465e-951c-91d6afb7782c" rel="noreferrer" target="_blank">awkでつくってわかる、Webアプリケーション (やんまー さん)</a>
<ul>
<li>
ゲームでもプログラミングでも縛りプレイほど楽しいものはないと思います。発表中ではさらっと流されていましたが、データベースとの通信や TLS、GitHub の SSO など、およそ awk で書かれたとは思えぬ機能が多数実装されており、カンファレンスなどの場でしかなかなか味わうことのない狂気に触れることができました。
@@ -106,7 +106,7 @@
</li>
<li>
- 私が小学6年生のとき、プログラミングを始めようと最初に開いたのが「<a href="https://www.tohoho-web.com/java/">とほほの Java 入門</a>」でした。私の人生の道を決定したその第一歩目のサイトの運営者が今まさに目の前で話しているというのは、感動などという言葉ではとても言い尽くせません。これだけで、広島まで来る価値があったと断言できます。
+ 私が小学6年生のとき、プログラミングを始めようと最初に開いたのが「<a href="https://www.tohoho-web.com/java/" rel="noreferrer" target="_blank">とほほの Java 入門</a>」でした。私の人生の道を決定したその第一歩目のサイトの運営者が今まさに目の前で話しているというのは、感動などという言葉ではとても言い尽くせません。これだけで、広島まで来る価値があったと断言できます。
</li>
</ul>
</ul>
diff --git a/vhosts/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html b/vhosts/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html
index 35d1691d..cb722b51 100644
--- a/vhosts/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html
+++ b/vhosts/blog/public/posts/2024-02-22/phpkansai-2024-report/index.html
@@ -67,19 +67,19 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2024-02-11 に開催された、<a href="https://2024.kphpug.jp/">PHPカンファレンス関西 2024</a> に参加した。
+ 2024-02-11 に開催された、<a href="https://2024.kphpug.jp/" rel="noreferrer" target="_blank">PHPカンファレンス関西 2024</a> に参加した。
</p>
</section>
<section id="section--sessions-thoughts">
<h2><a href="#section--sessions-thoughts">セッションの感想</a></h2>
<p>
- ※セッションの題名と発表者名は、<a href="https://fortee.jp/phpcon-kansai2024">カンファレンスの fortee ページ</a>から引用。
+ ※セッションの題名と発表者名は、<a href="https://fortee.jp/phpcon-kansai2024" rel="noreferrer" target="_blank">カンファレンスの fortee ページ</a>から引用。
</p>
<ul>
<li>
- <a href="https://fortee.jp/phpcon-kansai2024/proposal/4e03491c-2a97-40aa-8ff9-a68593b0e847">RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド (曽根 壮大 さん)</a>
+ <a href="https://fortee.jp/phpcon-kansai2024/proposal/4e03491c-2a97-40aa-8ff9-a68593b0e847" rel="noreferrer" target="_blank">RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド (曽根 壮大 さん)</a>
<ul>
<li>
アンチパターンとして紙の上での知識だけあるものの、実際にどう設計すべきなのか、あるいは今すでに使われている場合にどう直していくべきなのかについては、知識がまったく足りていなかったため、よい機会となりました。データベース分野については、今後も知識のインプットと経験が必要だと感じています。
@@ -88,7 +88,7 @@
</li>
<li>
- <a href="https://fortee.jp/phpcon-kansai2024/proposal/c903c4be-77bb-47b9-85a1-5bfdfd61c1aa">PHPコミュニティ、その魅力と熱狂をあなたにも!!! (ことみん さん)</a>
+ <a href="https://fortee.jp/phpcon-kansai2024/proposal/c903c4be-77bb-47b9-85a1-5bfdfd61c1aa" rel="noreferrer" target="_blank">PHPコミュニティ、その魅力と熱狂をあなたにも!!! (ことみん さん)</a>
<ul>
<li>
もしこの記事を読んでいるあなたがまだ一度もカンファレンスや勉強会に参加したことがないなら、この記事はどうでもいいのでスライドを見てください。伝えるべきことは以上です。
@@ -97,7 +97,7 @@
</li>
<li>
- <a href="https://fortee.jp/phpcon-kansai2024/proposal/0e0befdb-2028-42c8-98e2-b19e434f5a82">ほげ言語にあってPHPにない機能 (田中ひさてる さん)</a>
+ <a href="https://fortee.jp/phpcon-kansai2024/proposal/0e0befdb-2028-42c8-98e2-b19e434f5a82" rel="noreferrer" target="_blank">ほげ言語にあってPHPにない機能 (田中ひさてる さん)</a>
</li>
<ul>
diff --git a/vhosts/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html b/vhosts/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html
index 890033a2..563ae322 100644
--- a/vhosts/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html
+++ b/vhosts/blog/public/posts/2024-03-17/phperkaigi-2024-report/index.html
@@ -70,7 +70,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2024-03-07 から 2024-03-09 にかけて開催された、<a href="https://phperkaigi.jp/2024/">PHPerKaigi 2024</a> に参加した。 今年はスピーカーとして、また、コアスタッフとして参加した。
+ 2024-03-07 から 2024-03-09 にかけて開催された、<a href="https://phperkaigi.jp/2024/" rel="noreferrer" target="_blank">PHPerKaigi 2024</a> に参加した。 今年はスピーカーとして、また、コアスタッフとして参加した。
</p>
<p>
@@ -103,7 +103,7 @@
WebAssembly を理解する 〜VM の作成を通して〜
<ul>
<li>
- <a href="https://fortee.jp/phperkaigi-2024/proposal/bc5dc153-17af-4079-8f1b-2660af97e2c8">プロポーザル</a>
+ <a href="https://fortee.jp/phperkaigi-2024/proposal/bc5dc153-17af-4079-8f1b-2660af97e2c8" rel="noreferrer" target="_blank">プロポーザル</a>
</li>
<li>
@@ -125,7 +125,7 @@
</p>
<p>
- <a href="https://t.nil.ninja/phperkaigi/2024/golf/">Albatross.PHP</a>
+ <a href="https://t.nil.ninja/phperkaigi/2024/golf/" rel="noreferrer" target="_blank">Albatross.PHP</a>
</p>
<p>
@@ -138,7 +138,7 @@
<section id="section--as-attendee--my-best-session">
<h3><a href="#section--as-attendee--my-best-session">マイベストセッション</a></h3>
<p>
- <a href="https://fortee.jp/phperkaigi-2024/proposal/ac59d0dd-795a-47cb-ba59-c0b1772d00cc">RubyVM を PHP で実装する〜Hello World を出力するまで〜</a> (めもりー さん)
+ <a href="https://fortee.jp/phperkaigi-2024/proposal/ac59d0dd-795a-47cb-ba59-c0b1772d00cc" rel="noreferrer" target="_blank">RubyVM を PHP で実装する〜Hello World を出力するまで〜</a> (めもりー さん)
</p>
<p>
@@ -150,7 +150,7 @@
</p>
<p>
- 2024-07-07 追記: <a href="https://github.com/nsfisis/php-waddiwasi/commit/a312e95a95d243943535f94653822d6796d4637f">コミット a312e95</a> で、ついに Ruby VM on PHP VM on Wasm VM on PHP を実現した。現時点での動かしかたは README に記載している。
+ 2024-07-07 追記: <a href="https://github.com/nsfisis/php-waddiwasi/commit/a312e95a95d243943535f94653822d6796d4637f" rel="noreferrer" target="_blank">コミット a312e95</a> で、ついに Ruby VM on PHP VM on Wasm VM on PHP を実現した。現時点での動かしかたは README に記載している。
</p>
</section>
</section>
@@ -162,7 +162,7 @@
</p>
<p>
- <a href="https://twitter.com/nsfisis/status/1765366490277253502">ゴリゴリに開発しなければいけないセッションのスピーカーとゴリゴリに開発しなければいけない企画のスタッフを同じカンファレンスでやってはいけない</a>
+ <a href="https://twitter.com/nsfisis/status/1765366490277253502" rel="noreferrer" target="_blank">ゴリゴリに開発しなければいけないセッションのスピーカーとゴリゴリに開発しなければいけない企画のスタッフを同じカンファレンスでやってはいけない</a>
</p>
<p>
@@ -170,7 +170,7 @@
</p>
<p>
- 来月は、また登壇とスタッフ (こちらは当日スタッフ) をおこなう <a href="https://phpcon-odawara.jp/">PHP カンファレンス小田原</a> があるので、良いトーク・良いカンファレンスを作れるようにしたい。
+ 来月は、また登壇とスタッフ (こちらは当日スタッフ) をおこなう <a href="https://phpcon-odawara.jp/" rel="noreferrer" target="_blank">PHP カンファレンス小田原</a> があるので、良いトーク・良いカンファレンスを作れるようにしたい。
</p>
<p>
diff --git a/vhosts/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html b/vhosts/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html
index 7e8e4534..422ddd3d 100644
--- a/vhosts/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html
+++ b/vhosts/blog/public/posts/2024-04-14/phpcon-odawara-2024-report/index.html
@@ -70,7 +70,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2024-04-13 に開催された<a href="https://phpcon-odawara.jp/">PHP カンファレンス小田原</a>に、スピーカーとして、また当日スタッフとして参加した。
+ 2024-04-13 に開催された<a href="https://phpcon-odawara.jp/" rel="noreferrer" target="_blank">PHP カンファレンス小田原</a>に、スピーカーとして、また当日スタッフとして参加した。
</p>
</section>
@@ -85,7 +85,7 @@
来る新 JIT エンジンについて知った気になる
<ul>
<li>
- <a href="https://fortee.jp/phpconodawara-2024/proposal/bc9669f6-6583-489c-aa6a-1b68abf7c291">プロポーザル</a>
+ <a href="https://fortee.jp/phpconodawara-2024/proposal/bc9669f6-6583-489c-aa6a-1b68abf7c291" rel="noreferrer" target="_blank">プロポーザル</a>
</li>
<li>
@@ -100,7 +100,7 @@
</p>
<p>
- PHP の処理系がスクリプトを opcode へ変換する過程については、ちょうど同じカンファレンスの<a href="https://fortee.jp/phpconodawara-2024/proposal/21d94a60-404d-4fba-8c60-d1c8889a0138">めもりーさんの発表</a>あたりを参考にしていただくとよいだろう。 また、新しい IR についてより詳しく知りたいという方は、スライド末尾の「参考資料」にあるリンクを参照いただくのがよいかと思う。
+ PHP の処理系がスクリプトを opcode へ変換する過程については、ちょうど同じカンファレンスの<a href="https://fortee.jp/phpconodawara-2024/proposal/21d94a60-404d-4fba-8c60-d1c8889a0138" rel="noreferrer" target="_blank">めもりーさんの発表</a>あたりを参考にしていただくとよいだろう。 また、新しい IR についてより詳しく知りたいという方は、スライド末尾の「参考資料」にあるリンクを参照いただくのがよいかと思う。
</p>
<p>
@@ -134,7 +134,7 @@
FigmaとPHPで作る、1ミリたりとも表示崩れしない最強の帳票印刷ソリューション (たつきち さん)
<ul>
<li>
- プロポーザルリンク: <a href="https://fortee.jp/phpconodawara-2024/proposal/7c57d5ca-213a-4d7a-aaf0-26ddc44897f0">https://fortee.jp/phpconodawara-2024/proposal/7c57d5ca-213a-4d7a-aaf0-26ddc44897f0</a>
+ プロポーザルリンク: <a href="https://fortee.jp/phpconodawara-2024/proposal/7c57d5ca-213a-4d7a-aaf0-26ddc44897f0" rel="noreferrer" target="_blank">https://fortee.jp/phpconodawara-2024/proposal/7c57d5ca-213a-4d7a-aaf0-26ddc44897f0</a>
</li>
<li>
@@ -147,7 +147,7 @@
PHPの次期バージョンはこの時期どうなっているのか、Internalsの開発体制について (てきめん さん)
<ul>
<li>
- プロポーザルリンク: <a href="https://fortee.jp/phpconodawara-2024/proposal/740b034a-81f0-4b7a-90e9-cd3fa01c651f">https://fortee.jp/phpconodawara-2024/proposal/740b034a-81f0-4b7a-90e9-cd3fa01c651f</a>
+ プロポーザルリンク: <a href="https://fortee.jp/phpconodawara-2024/proposal/740b034a-81f0-4b7a-90e9-cd3fa01c651f" rel="noreferrer" target="_blank">https://fortee.jp/phpconodawara-2024/proposal/740b034a-81f0-4b7a-90e9-cd3fa01c651f</a>
</li>
<li>
@@ -160,7 +160,7 @@
Architecture Decision Record を一年運用してみた (富所 亮 さん)
<ul>
<li>
- プロポーザルリンク: <a href="https://fortee.jp/phpconodawara-2024/proposal/56218b4f-b724-4199-82f1-67497501a9ef">https://fortee.jp/phpconodawara-2024/proposal/56218b4f-b724-4199-82f1-67497501a9ef</a>
+ プロポーザルリンク: <a href="https://fortee.jp/phpconodawara-2024/proposal/56218b4f-b724-4199-82f1-67497501a9ef" rel="noreferrer" target="_blank">https://fortee.jp/phpconodawara-2024/proposal/56218b4f-b724-4199-82f1-67497501a9ef</a>
</li>
<li>
diff --git a/vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html b/vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html
index cb7f85af..6d21b1d2 100644
--- a/vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html
+++ b/vhosts/blog/public/posts/2024-04-21/pipefail-option-in-gitlab-ci-cd/index.html
@@ -69,7 +69,7 @@
NOTE
</div>
<div class="admonition-content">
- この記事は、2022-11-17 に<a href="https://www.dgcircus.com/">デジタルサーカス株式会社</a> の社内 Qiita Team に公開された記事をベースに、加筆修正して一般公開したものです。
+ この記事は、2022-11-17 に<a href="https://www.dgcircus.com/" rel="noreferrer" target="_blank">デジタルサーカス株式会社</a> の社内 Qiita Team に公開された記事をベースに、加筆修正して一般公開したものです。
</div>
</div>
@@ -187,7 +187,7 @@ set +o pipefail</code></pre>
<section id="section--where-pipefail-is-enabled">
<h2><a href="#section--where-pipefail-is-enabled">どこで <code>pipefail</code> が on になるか</a></h2>
<p>
- <code>.gitlab-ci.yml</code> で明示的には書いていないので、GitLab Runner (GitLab CI/CD のスクリプトを実行するプログラム) が勝手に追加しているに違いない。 そう仮説を立てて <a href="https://gitlab.com/gitlab-org/gitlab-runner">GitLab Runner のリポジトリ</a> を調査したところ、<a href="https://gitlab.com/gitlab-org/gitlab-runner/-/blob/c75da0796a0e3048991dccfdf2784e3d931beda4/shells/bash.go#L276">ソースコード中の以下の箇所</a> で <code>set -o pipefail</code> していることが判明した (コメントは筆者による)。
+ <code>.gitlab-ci.yml</code> で明示的には書いていないので、GitLab Runner (GitLab CI/CD のスクリプトを実行するプログラム) が勝手に追加しているに違いない。 そう仮説を立てて <a href="https://gitlab.com/gitlab-org/gitlab-runner" rel="noreferrer" target="_blank">GitLab Runner のリポジトリ</a> を調査したところ、<a href="https://gitlab.com/gitlab-org/gitlab-runner/-/blob/c75da0796a0e3048991dccfdf2784e3d931beda4/shells/bash.go#L276" rel="noreferrer" target="_blank">ソースコード中の以下の箇所</a> で <code>set -o pipefail</code> していることが判明した (コメントは筆者による)。
</p>
<pre class="highlight" language="go"><code class="highlight"><span class="hljs-comment">// pipefail オプションが存在しない環境にも対応するため、</span>
diff --git a/vhosts/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html b/vhosts/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html
index 7cd9c052..8a9b3919 100644
--- a/vhosts/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html
+++ b/vhosts/blog/public/posts/2024-04-29/zsh-file-completion-for-composer-custom-commands/index.html
@@ -84,7 +84,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- <a href="https://getcomposer.org/">Composer</a> は PHP のデファクトスタンダードなパッケージマネージャである。 Zsh では、<code>composer</code> コマンドに対する補完が提供されており、<code>composer</code> と入力してタブキーを押すと、利用可能なコマンドやオプションが補完される。 Zsh の補完はシェル関数の形で実装されており、<code>composer</code> コマンドに対応した補完をおこなうのは <code>_composer</code> である。 <a href="https://github.com/zsh-users/zsh/blob/a66e92918568881af110a3e2e3018b317c054e4a/Completion/Unix/Command/_composer">記事執筆時点での補完関数の定義は、GitHub のミラーリポジトリから参照できる。</a>
+ <a href="https://getcomposer.org/" rel="noreferrer" target="_blank">Composer</a> は PHP のデファクトスタンダードなパッケージマネージャである。 Zsh では、<code>composer</code> コマンドに対する補完が提供されており、<code>composer</code> と入力してタブキーを押すと、利用可能なコマンドやオプションが補完される。 Zsh の補完はシェル関数の形で実装されており、<code>composer</code> コマンドに対応した補完をおこなうのは <code>_composer</code> である。 <a href="https://github.com/zsh-users/zsh/blob/a66e92918568881af110a3e2e3018b317c054e4a/Completion/Unix/Command/_composer" rel="noreferrer" target="_blank">記事執筆時点での補完関数の定義は、GitHub のミラーリポジトリから参照できる。</a>
</p>
</section>
diff --git a/vhosts/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html b/vhosts/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html
index 53d6a7ef..b651f5b3 100644
--- a/vhosts/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html
+++ b/vhosts/blog/public/posts/2024-05-11/phpconkagawa-2024-report/index.html
@@ -67,7 +67,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2024-05-11 に開催された <a href="https://phpcon.kagawa.jp/2024/">PHP カンファレンス香川 2024</a> に参加した。
+ 2024-05-11 に開催された <a href="https://phpcon.kagawa.jp/2024/" rel="noreferrer" target="_blank">PHP カンファレンス香川 2024</a> に参加した。
</p>
</section>
@@ -78,7 +78,7 @@
泥まみれの技術革新: あなたの[ PHPバージョンアップ | 新フレームワーク採用 | アーキテクチャ刷新 | … ]を後押しするために by nrslib
<ul>
<li>
- fortee URL: <a href="https://fortee.jp/phpconkagawa-2024/proposal/7f4622af-03b6-4b83-a0ef-e1cfc7b7c930">https://fortee.jp/phpconkagawa-2024/proposal/7f4622af-03b6-4b83-a0ef-e1cfc7b7c930</a>
+ fortee URL: <a href="https://fortee.jp/phpconkagawa-2024/proposal/7f4622af-03b6-4b83-a0ef-e1cfc7b7c930" rel="noreferrer" target="_blank">https://fortee.jp/phpconkagawa-2024/proposal/7f4622af-03b6-4b83-a0ef-e1cfc7b7c930</a>
</li>
<li>
@@ -91,7 +91,7 @@
PHP 9 に備えよ - 動的プロパティ、どうすればいぃ? by 荒瀬 泰輔
<ul>
<li>
- fortee URL: <a href="https://fortee.jp/phpconkagawa-2024/proposal/039ebb21-d104-4df2-86bb-be2680979b7b">https://fortee.jp/phpconkagawa-2024/proposal/039ebb21-d104-4df2-86bb-be2680979b7b</a>
+ fortee URL: <a href="https://fortee.jp/phpconkagawa-2024/proposal/039ebb21-d104-4df2-86bb-be2680979b7b" rel="noreferrer" target="_blank">https://fortee.jp/phpconkagawa-2024/proposal/039ebb21-d104-4df2-86bb-be2680979b7b</a>
</li>
<li>
@@ -104,7 +104,7 @@
1人プロ・ペアプロ・モブプロの効果的な使い分け by まきまき
<ul>
<li>
- fortee URL: <a href="https://fortee.jp/phpconkagawa-2024/proposal/db3e9634-4a79-46c1-84fd-8ffa4d495a13">https://fortee.jp/phpconkagawa-2024/proposal/db3e9634-4a79-46c1-84fd-8ffa4d495a13</a>
+ fortee URL: <a href="https://fortee.jp/phpconkagawa-2024/proposal/db3e9634-4a79-46c1-84fd-8ffa4d495a13" rel="noreferrer" target="_blank">https://fortee.jp/phpconkagawa-2024/proposal/db3e9634-4a79-46c1-84fd-8ffa4d495a13</a>
</li>
<li>
@@ -117,7 +117,7 @@
mb_trim関数を作りました - PHPに新しい関数を追加しました - by てきめん
<ul>
<li>
- fortee URL: <a href="https://fortee.jp/phpconkagawa-2024/proposal/0ec36f50-c4b7-4aa4-abef-006f8bab3931">https://fortee.jp/phpconkagawa-2024/proposal/0ec36f50-c4b7-4aa4-abef-006f8bab3931</a>
+ fortee URL: <a href="https://fortee.jp/phpconkagawa-2024/proposal/0ec36f50-c4b7-4aa4-abef-006f8bab3931" rel="noreferrer" target="_blank">https://fortee.jp/phpconkagawa-2024/proposal/0ec36f50-c4b7-4aa4-abef-006f8bab3931</a>
</li>
<li>
@@ -130,7 +130,7 @@
(「PHPカンファレンス小田原2024」を実行委員長がふりかえる by asumikam)
<ul>
<li>
- fortee URL: <a href="https://fortee.jp/phpconkagawa-2024/proposal/c1efd828-72c9-4719-93f7-2ca3f8f20ac1">https://fortee.jp/phpconkagawa-2024/proposal/c1efd828-72c9-4719-93f7-2ca3f8f20ac1</a>
+ fortee URL: <a href="https://fortee.jp/phpconkagawa-2024/proposal/c1efd828-72c9-4719-93f7-2ca3f8f20ac1" rel="noreferrer" target="_blank">https://fortee.jp/phpconkagawa-2024/proposal/c1efd828-72c9-4719-93f7-2ca3f8f20ac1</a>
</li>
<li>
diff --git a/vhosts/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html b/vhosts/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html
index e7b80ff2..1461147e 100644
--- a/vhosts/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html
+++ b/vhosts/blog/public/posts/2024-06-19/scalamatsuri-2024-report/index.html
@@ -67,7 +67,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2024-06-08 から 2024-06-09 にかけて開催された <a href="https://2024.scalamatsuri.org/ja">ScalaMatsuri 2024</a> に参加した。
+ 2024-06-08 から 2024-06-09 にかけて開催された <a href="https://2024.scalamatsuri.org/ja" rel="noreferrer" target="_blank">ScalaMatsuri 2024</a> に参加した。
</p>
<p>
@@ -78,21 +78,21 @@
<section id="section--sessions">
<h2><a href="#section--sessions">セッション感想</a></h2>
<p>
- 特に印象に残ったセッションを、day 1 と day 2 で一つずつ選んだ (タイトルと登壇者名は <a href="https://2024.scalamatsuri.org/ja/programs">公式ホームページの「プログラム」</a> から引用)。
+ 特に印象に残ったセッションを、day 1 と day 2 で一つずつ選んだ (タイトルと登壇者名は <a href="https://2024.scalamatsuri.org/ja/programs" rel="noreferrer" target="_blank">公式ホームページの「プログラム」</a> から引用)。
</p>
<ul>
<li>
- <a href="https://2024.scalamatsuri.org/ja/programs/SESSION_DAY_1_02">Scala to WebAssembly: 動機と方法</a> (Rikito Taniguchi さん)
+ <a href="https://2024.scalamatsuri.org/ja/programs/SESSION_DAY_1_02" rel="noreferrer" target="_blank">Scala to WebAssembly: 動機と方法</a> (Rikito Taniguchi さん)
<ul>
<a href="/posts/2024-03-17/phperkaigi-2024-report/#section--as-speaker">最近 WebAssembly の処理系を作った</a> こともあって、気になっていたセッションです。私の処理系は WasmGC proposal を実装していないので動かせないのですが、いつかサポートして動かしてみたいですね。
</ul>
</li>
<li>
- <a href="https://2024.scalamatsuri.org/ja/programs/SESSION_DAY_2_04">作って学ぶ Extensible Effects</a> (Kory さん・hsjoihs さん)
+ <a href="https://2024.scalamatsuri.org/ja/programs/SESSION_DAY_2_04" rel="noreferrer" target="_blank">作って学ぶ Extensible Effects</a> (Kory さん・hsjoihs さん)
<ul>
- 今回一番楽しみにしていたセッションです。Day 2 当日は参加できず、後日アーカイブ動画を視聴したのですが、期待を裏切らない濃厚なセッションでした。後日開かれた <a href="https://nextbeat.connpass.com/event/315988/">NB-Scala レトロスペクティブ (非公式後夜祭)</a> の発表も拝聴したのですが、どちらも非常に面白かったです。
+ 今回一番楽しみにしていたセッションです。Day 2 当日は参加できず、後日アーカイブ動画を視聴したのですが、期待を裏切らない濃厚なセッションでした。後日開かれた <a href="https://nextbeat.connpass.com/event/315988/" rel="noreferrer" target="_blank">NB-Scala レトロスペクティブ (非公式後夜祭)</a> の発表も拝聴したのですが、どちらも非常に面白かったです。
</ul>
</li>
</ul>
@@ -106,7 +106,7 @@
</li>
<li>
- ランチにお弁当が用意されており、おいしかった (<a href="https://x.com/nsfisis/status/1799276217583260092">参考画像</a>)
+ ランチにお弁当が用意されており、おいしかった (<a href="https://x.com/nsfisis/status/1799276217583260092" rel="noreferrer" target="_blank">参考画像</a>)
</li>
</ul>
</section>
diff --git a/vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html b/vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html
index a2b24317..785aae33 100644
--- a/vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html
+++ b/vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html
@@ -66,7 +66,7 @@
NOTE
</div>
<div class="admonition-content">
- この記事は <a href="https://vim-jp.org/ekiden/">Vim 駅伝</a> #218 の記事です。
+ この記事は <a href="https://vim-jp.org/ekiden/" rel="noreferrer" target="_blank">Vim 駅伝</a> #218 の記事です。
</div>
</div>
@@ -84,7 +84,7 @@
<section id="section--reparojson">
<h2><a href="#section--reparojson">作ったもの</a></h2>
<p>
- 作成したものがこちら: <a href="https://github.com/nsfisis/reparojson">ReparoJSON</a>
+ 作成したものがこちら: <a href="https://github.com/nsfisis/reparojson" rel="noreferrer" target="_blank">ReparoJSON</a>
</p>
<p>
@@ -137,7 +137,7 @@ $ echo &apos;{ &quot;foo&quot;: 1, &quot;bar&quot;: 2, }&apos; | reparojson
</p>
<p>
- ここでは、<a href="https://github.com/neovim/nvim-lspconfig">nvim-lspconfig</a> と <a href="https://github.com/mattn/efm-langserver">efm-langserver</a> を用いた設定例を紹介する。
+ ここでは、<a href="https://github.com/neovim/nvim-lspconfig" rel="noreferrer" target="_blank">nvim-lspconfig</a> と <a href="https://github.com/mattn/efm-langserver" rel="noreferrer" target="_blank">efm-langserver</a> を用いた設定例を紹介する。
</p>
<pre class="highlight" language="lua"><code class="highlight"><span class="hljs-keyword">local</span> lspconfig = <span class="hljs-built_in">require</span>(<span class="hljs-string">&#x27;lspconfig&#x27;</span>)
diff --git a/vhosts/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html b/vhosts/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html
index f95cdb96..9abb2e7b 100644
--- a/vhosts/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html
+++ b/vhosts/blog/public/posts/2024-08-19/go-template-access-outer-scope-pipeline-within-with-or-range/index.html
@@ -163,7 +163,7 @@
</p>
<p>
- このことは、<a href="https://pkg.go.dev/text/template#hdr-Variables"><code>text/template</code> の公式ドキュメント</a>にも以下のように記載されている。
+ このことは、<a href="https://pkg.go.dev/text/template#hdr-Variables" rel="noreferrer" target="_blank"><code>text/template</code> の公式ドキュメント</a>にも以下のように記載されている。
</p>
<blockquote>
@@ -175,11 +175,11 @@
<h2><a href="#section--reference">参考</a></h2>
<ul>
<li>
- <a href="https://stackoverflow.com/questions/14800204/in-a-template-how-do-you-access-an-outer-scope-while-inside-of-a-with-or-rang">直接の出典である Stack Overflow の回答: &quot;In a template how do you access an outer scope while inside of a &quot;with&quot; or &quot;range&quot; scope?&quot;</a>
+ <a href="https://stackoverflow.com/questions/14800204/in-a-template-how-do-you-access-an-outer-scope-while-inside-of-a-with-or-rang" rel="noreferrer" target="_blank">直接の出典である Stack Overflow の回答: &quot;In a template how do you access an outer scope while inside of a &quot;with&quot; or &quot;range&quot; scope?&quot;</a>
</li>
<li>
- <a href="https://pkg.go.dev/text/template#hdr-Variables">大元の出典である <code>text/template</code> の公式ドキュメント</a>
+ <a href="https://pkg.go.dev/text/template#hdr-Variables" rel="noreferrer" target="_blank">大元の出典である <code>text/template</code> の公式ドキュメント</a>
</li>
</ul>
</section>
diff --git a/vhosts/blog/public/posts/2024-09-28/mncore-challenge-1/index.html b/vhosts/blog/public/posts/2024-09-28/mncore-challenge-1/index.html
index 2758ff23..bd71abce 100644
--- a/vhosts/blog/public/posts/2024-09-28/mncore-challenge-1/index.html
+++ b/vhosts/blog/public/posts/2024-09-28/mncore-challenge-1/index.html
@@ -70,11 +70,11 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2024-08-28 から 2024-09-24 の約1ヶ月に渡り開催された <a href="https://mncore-challenge.preferred.jp/">MN-Core Challenge #1</a> に参加した。私 nsfisis (<a href="https://x.com/nsfisis/status/1838276770560364977">あるいは <code>0b0100000111111000</code></a>) はスコア 1181 で、最終順位 29 位だった。
+ 2024-08-28 から 2024-09-24 の約1ヶ月に渡り開催された <a href="https://mncore-challenge.preferred.jp/" rel="noreferrer" target="_blank">MN-Core Challenge #1</a> に参加した。私 nsfisis (<a href="https://x.com/nsfisis/status/1838276770560364977" rel="noreferrer" target="_blank">あるいは <code>0b0100000111111000</code></a>) はスコア 1181 で、最終順位 29 位だった。
</p>
<p>
- この記事で解説はしないが、提出した回答はこちらのリポジトリ (<a href="https://github.com/nsfisis/mncore-challenge">GitHub: nsfisis/mncore-challenge</a>) にアップロードしている。
+ この記事で解説はしないが、提出した回答はこちらのリポジトリ (<a href="https://github.com/nsfisis/mncore-challenge" rel="noreferrer" target="_blank">GitHub: nsfisis/mncore-challenge</a>) にアップロードしている。
</p>
</section>
diff --git a/vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html b/vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html
index 649efcc0..0d0aff8d 100644
--- a/vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html
+++ b/vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html
@@ -67,7 +67,7 @@
<section id="section--intro">
<h2><a href="#section--intro">はじめに</a></h2>
<p>
- 2024-11-30 に開催された<a href="https://connpass.com/event/329428/">紅白ぺぱ合戦</a>なる催しに参加しました。私は「ぺ」陣営のメンバとして LT をおこないました。
+ 2024-11-30 に開催された<a href="https://connpass.com/event/329428/" rel="noreferrer" target="_blank">紅白ぺぱ合戦</a>なる催しに参加しました。私は「ぺ」陣営のメンバとして LT をおこないました。
</p>
<p>
@@ -76,7 +76,7 @@
<blockquote>
<p>
- Webエンジニアの<a href="https://x.com/asumikam">asumikam</a>とWebエンジニアの<a href="https://x.com/stefafafan">stefafafan</a>が2024年7月7日に結婚しました。
+ Webエンジニアの<a href="https://x.com/asumikam" rel="noreferrer" target="_blank">asumikam</a>とWebエンジニアの<a href="https://x.com/stefafafan" rel="noreferrer" target="_blank">stefafafan</a>が2024年7月7日に結婚しました。
</p>
<p>
@@ -131,7 +131,7 @@
</p>
<p>
- 最終的にお祝いのメッセージを仕込んだソースコードで締めるという構成は、我ながら綺麗にまとまったと思っています。忌み言葉の案は他にも大量にあったのですが、技術 LT かつ結婚祝いスピーチにするためにどうしても最後のソースコードが必要だったので、時間の関係上それらには犠牲となってもらいました (<a href="https://x.com/nsfisis/status/1862798137452327206">ボツになった案のひとつ</a>)。
+ 最終的にお祝いのメッセージを仕込んだソースコードで締めるという構成は、我ながら綺麗にまとまったと思っています。忌み言葉の案は他にも大量にあったのですが、技術 LT かつ結婚祝いスピーチにするためにどうしても最後のソースコードが必要だったので、時間の関係上それらには犠牲となってもらいました (<a href="https://x.com/nsfisis/status/1862798137452327206" rel="noreferrer" target="_blank">ボツになった案のひとつ</a>)。
</p>
<p>
@@ -143,7 +143,7 @@
<section id="section--congrats">
<h2><a href="#section--congrats">ご結婚おめでとうございます</a></h2>
<p>
- <a href="https://github.com/nsfisis/cohackpp/blob/main/congrats.php">https://github.com/nsfisis/cohackpp/blob/main/congrats.php</a>
+ <a href="https://github.com/nsfisis/cohackpp/blob/main/congrats.php" rel="noreferrer" target="_blank">https://github.com/nsfisis/cohackpp/blob/main/congrats.php</a>
</p>
<pre class="highlight" language="php"><code class="highlight"><span class="hljs-meta">&lt;?php</span>
diff --git a/vhosts/blog/public/posts/2024-12-33/2024-reflections/index.html b/vhosts/blog/public/posts/2024-12-33/2024-reflections/index.html
index 40cd6705..5b2e51ac 100644
--- a/vhosts/blog/public/posts/2024-12-33/2024-reflections/index.html
+++ b/vhosts/blog/public/posts/2024-12-33/2024-reflections/index.html
@@ -184,15 +184,15 @@
<ul>
<li>
- <a href="https://github.com/nsfisis/php-waddiwasi">Waddiwasi: pure PHP で書かれた WebAssembly ランタイム</a>
+ <a href="https://github.com/nsfisis/php-waddiwasi" rel="noreferrer" target="_blank">Waddiwasi: pure PHP で書かれた WebAssembly ランタイム</a>
</li>
<li>
- <a href="https://github.com/nsfisis/phperkaigi-2024-albatross">Albatross.PHP: PHPerKaigi 2024 のコードゴルフ企画で使われたシステム</a>
+ <a href="https://github.com/nsfisis/phperkaigi-2024-albatross" rel="noreferrer" target="_blank">Albatross.PHP: PHPerKaigi 2024 のコードゴルフ企画で使われたシステム</a>
</li>
<li>
- <a href="https://github.com/nsfisis/iosdc-japan-2024-albatross">Albatross.swift: iOSDC Japan 2024 のコードバトル企画で使われたシステム</a>
+ <a href="https://github.com/nsfisis/iosdc-japan-2024-albatross" rel="noreferrer" target="_blank">Albatross.swift: iOSDC Japan 2024 のコードバトル企画で使われたシステム</a>
</li>
<li>
diff --git a/vhosts/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html b/vhosts/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html
index 67a2c1ea..c76dd5fa 100644
--- a/vhosts/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html
+++ b/vhosts/blog/public/posts/2025-01-08/phperkaigi-2023-tokens-q1/index.html
@@ -82,7 +82,7 @@
</div>
<p>
- 2023-03-23 から 2023-03-25 にかけて開催された <a href="https://phperkaigi.jp/2023/">PHPerKaigi 2023</a> では、PHPer チャレンジという企画がおこなわれた。 PHPer チャレンジとは、スポンサーのパンフレットやカンファレンス会場などから「#」記号で始まる文字列を集め、景品などを得るという企画である。 この文字列は「PHPer トークン」と呼ばれている。弊社<a href="https://www.dgcircus.com/">デジタルサーカス株式会社</a>からは、トークン問題という形で、PHP に関する問題を解くと PHPer トークンが得られるようになっている問題を出題した。
+ 2023-03-23 から 2023-03-25 にかけて開催された <a href="https://phperkaigi.jp/2023/" rel="noreferrer" target="_blank">PHPerKaigi 2023</a> では、PHPer チャレンジという企画がおこなわれた。 PHPer チャレンジとは、スポンサーのパンフレットやカンファレンス会場などから「#」記号で始まる文字列を集め、景品などを得るという企画である。 この文字列は「PHPer トークン」と呼ばれている。弊社<a href="https://www.dgcircus.com/" rel="noreferrer" target="_blank">デジタルサーカス株式会社</a>からは、トークン問題という形で、PHP に関する問題を解くと PHPer トークンが得られるようになっている問題を出題した。
</p>
<p>
@@ -116,7 +116,7 @@
</ol>
<p>
- それぞれの問題はこちらの GitHub リポジトリ (<a href="https://github.com/nsfisis/PHPerKaigi2023-tokens">nsfisis/PHPerKaigi2023-tokens</a>) からも閲覧できる。
+ それぞれの問題はこちらの GitHub リポジトリ (<a href="https://github.com/nsfisis/PHPerKaigi2023-tokens" rel="noreferrer" target="_blank">nsfisis/PHPerKaigi2023-tokens</a>) からも閲覧できる。
</p>
</section>
@@ -281,7 +281,7 @@ $h = $b[24]+2;
</p>
<p>
- なお、このように PNG 画像などに本来のデータとは異なる別のデータを隠すことを「ステガノグラフィ」(<a href="https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%86%E3%82%AC%E3%83%8E%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%BC">Wikipedia「ステガノグラフィー」</a>) と呼ぶ。
+ なお、このように PNG 画像などに本来のデータとは異なる別のデータを隠すことを「ステガノグラフィ」(<a href="https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%86%E3%82%AC%E3%83%8E%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%BC" rel="noreferrer" target="_blank">Wikipedia「ステガノグラフィー」</a>) と呼ぶ。
</p>
</section>
@@ -394,7 +394,7 @@ $h = $b[24]+2;
<span class="hljs-title function_ invoke__">fwrite</span>(STDERR, <span class="hljs-title function_ invoke__">str_replace</span>(<span class="hljs-string">&#x27;403 Forbidden&#x27;</span>, <span class="hljs-string">&#x27;401 Unauthorized&#x27;</span>, <span class="hljs-variable">$o</span>));</code></pre>
<p>
- これは一体なんなのか。ずばり、難解プログラミング言語の一つ Piet のインタプリタである。 Piet はピエト・モンドリアン (『赤・青・黄のコンポジション』などで知られる抽象画家) の作品にインスピレーションを受けて作られた、画像をソースコードとするプログラミング言語である。 インタプリタは画像の各ピクセルの上を進みながら、色等に応じて特定の処理をおこなっていく。 ここでは詳しい言語仕様については解説しないので、気になる方は <a href="https://ja.wikipedia.org/wiki/Piet">Wikipedia の記事「Piet」</a> などを参照してほしい。
+ これは一体なんなのか。ずばり、難解プログラミング言語の一つ Piet のインタプリタである。 Piet はピエト・モンドリアン (『赤・青・黄のコンポジション』などで知られる抽象画家) の作品にインスピレーションを受けて作られた、画像をソースコードとするプログラミング言語である。 インタプリタは画像の各ピクセルの上を進みながら、色等に応じて特定の処理をおこなっていく。 ここでは詳しい言語仕様については解説しないので、気になる方は <a href="https://ja.wikipedia.org/wiki/Piet" rel="noreferrer" target="_blank">Wikipedia の記事「Piet」</a> などを参照してほしい。
</p>
<p>
diff --git a/vhosts/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html b/vhosts/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html
index 19161543..d2dfaeae 100644
--- a/vhosts/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html
+++ b/vhosts/blog/public/posts/2025-01-26/yaml-breaking-changes-between-v1-1-and-v1-2/index.html
@@ -66,7 +66,7 @@
NOTE
</div>
<div class="admonition-content">
- この記事は、2021-06-30 に<a href="https://www.dgcircus.com/">デジタルサーカス株式会社</a> の社内 Qiita Team に公開された記事をベースに、加筆修正して一般公開したものです。
+ この記事は、2021-06-30 に<a href="https://www.dgcircus.com/" rel="noreferrer" target="_blank">デジタルサーカス株式会社</a> の社内 Qiita Team に公開された記事をベースに、加筆修正して一般公開したものです。
</div>
</div>
@@ -77,7 +77,7 @@
</p>
<p>
- 参照した仕様書はこちら: <a href="https://yaml.org/spec/1.2.2/ext/changes/">https://yaml.org/spec/1.2.2/ext/changes/</a>
+ 参照した仕様書はこちら: <a href="https://yaml.org/spec/1.2.2/ext/changes/" rel="noreferrer" target="_blank">https://yaml.org/spec/1.2.2/ext/changes/</a>
</p>
</section>