<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>yexca'Blog</title><link>https://blog.yexca.net/en/</link><description>Recent content on yexca'Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>yexca</copyright><lastBuildDate>Sun, 08 Mar 2026 18:21:05 +0900</lastBuildDate><atom:link href="https://blog.yexca.net/en/feed.xml" rel="self" type="application/rss+xml"/><item><title>i18n Implementation in Decoupled Architectures</title><link>https://blog.yexca.net/en/archives/269/</link><pubDate>Sun, 08 Mar 2026 18:21:05 +0900</pubDate><guid>https://blog.yexca.net/en/archives/269/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>There are many ways to implement internationalization (i18n) today. The technology is mature, so it&amp;rsquo;s all about choosing the right approach for your specific needs.&lt;/p></description></item><item><title>First Dive into Deep Research: What's the Point of Human Employees Anymore?</title><link>https://blog.yexca.net/en/archives/268/</link><pubDate>Fri, 13 Feb 2026 19:05:52 +0900</pubDate><guid>https://blog.yexca.net/en/archives/268/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>The recent releases of GLM-5 and OpenAI GPT-5.3, along with my hands-on experience with the trending &amp;ldquo;Imouto Monogatari&amp;rdquo; and a deeper look into AutoGPT — even if some of these are older tech, it was my first time diving in, and it totally blew my mind. After two days of intense exploration into bleeding-edge AI, the unemployment anxiety hit me again.&lt;/p></description></item><item><title>Energy and Power</title><link>https://blog.yexca.net/en/archives/267/</link><pubDate>Wed, 11 Feb 2026 19:32:48 +0900</pubDate><guid>https://blog.yexca.net/en/archives/267/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>Even with only one wing, you can still fly high.&lt;/p></description></item><item><title>Getting Started with LaTeX</title><link>https://blog.yexca.net/en/archives/266/</link><pubDate>Tue, 13 Jan 2026 00:15:47 +0900</pubDate><guid>https://blog.yexca.net/en/archives/266/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Writing articles with citations in Word can be a real pain. After trying LaTeX, I realized it&amp;rsquo;s just like my switch to Markdown—focusing purely on the writing experience is fantastic. Plus, the generated PDFs look professional and polished.&lt;/p></description></item><item><title>Setting Up a Minecraft Server with Docker</title><link>https://blog.yexca.net/en/archives/265/</link><pubDate>Tue, 06 Jan 2026 20:38:41 +0900</pubDate><guid>https://blog.yexca.net/en/archives/265/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="using-the-image">Using the Image
&lt;/h2>&lt;p>Image:
&lt;a class="link" href="https://hub.docker.com/r/itzg/minecraft-server"
target="_blank" rel="noopener"
>
https://hub.docker.com/r/itzg/minecraft-server
&lt;/a>
&lt;/p></description></item><item><title>Into the NDE: Debugging the Afterlife</title><link>https://blog.yexca.net/en/archives/264/</link><pubDate>Thu, 01 Jan 2026 17:16:59 +0900</pubDate><guid>https://blog.yexca.net/en/archives/264/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-pro
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>Consciousness: Containerized. Intuition: Overclocked. Observation: Write-Access to Reality.&lt;/p></description></item><item><title>2025 Annual Review</title><link>https://blog.yexca.net/en/archives/263/</link><pubDate>Wed, 31 Dec 2025 16:16:44 +0900</pubDate><guid>https://blog.yexca.net/en/archives/263/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>The year-end is approaching, and a new year is beginning. Looking back at this year, so many things happened, to the point where I wasn&amp;rsquo;t sure if I should write about them or if I even could. After much hesitation, on a swing in the park, I finally decided to write it all down.&lt;/p></description></item><item><title>Building Temporary Interactive Linux Environments with Docker</title><link>https://blog.yexca.net/en/archives/262/</link><pubDate>Fri, 26 Dec 2025 18:43:04 +0900</pubDate><guid>https://blog.yexca.net/en/archives/262/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Running a bash script on Windows is a pain. Even on Linux, running a script tailored for a different distribution can be a hassle. Docker solves this while keeping your host system clean.&lt;/p></description></item><item><title>Your next NAS is not a NAS</title><link>https://blog.yexca.net/en/archives/261/</link><pubDate>Thu, 13 Nov 2025 17:57:29 +0900</pubDate><guid>https://blog.yexca.net/en/archives/261/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-2.5-pro
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Back in
&lt;a class="link" href="https://blog.yexca.net/en/archives/73/"
target="_blank" rel="noopener"
>
2022, when I was first messing with Linux(Simplify Chinese)
&lt;/a>
, I had this idea that you don&amp;rsquo;t necessarily have to pay for a special OS just to build a NAS.&lt;/p></description></item><item><title>Vibing with Sound - "pris-magic!"</title><link>https://blog.yexca.net/en/archives/260/</link><pubDate>Sat, 01 Nov 2025 14:30:01 +0900</pubDate><guid>https://blog.yexca.net/en/archives/260/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;details>
&lt;summary>Sound Vibes Series&lt;/summary>
&lt;div>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Song Title&lt;/th>
&lt;th style="text-align: left">Translation&lt;/th>
&lt;th style="text-align: left">Link&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">僕が死のうと思ったのは&lt;/td>
&lt;td style="text-align: left">I Thought About Dying&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/214"
>
https://blog.yexca.net/en/archives/214
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">あくあ色ぱれっと&lt;/td>
&lt;td style="text-align: left">Aqua Color Palette&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/219"
>
https://blog.yexca.net/en/archives/219
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋の押し売り&lt;/td>
&lt;td style="text-align: left">Love Sales Pitch&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/220"
>
https://blog.yexca.net/en/archives/220
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">17さいのうた&lt;/td>
&lt;td style="text-align: left">The 17-Year-Old&amp;rsquo;s Song&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/224"
>
https://blog.yexca.net/en/archives/224
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">drop&lt;/td>
&lt;td style="text-align: left">Falling in Love&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/230"
>
https://blog.yexca.net/en/archives/230
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">生きるを選んだ私へ&lt;/td>
&lt;td style="text-align: left">To Myself, Who Chose to Live&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/239"
>
https://blog.yexca.net/en/archives/239
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">rainy lady&lt;/td>
&lt;td style="text-align: left">Uncleared Rain Vibes&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/249"
>
https://blog.yexca.net/en/archives/249
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋しくなったら手を叩こう&lt;/td>
&lt;td style="text-align: left">If You Miss Love, Clap Your Hands&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/250"
>
https://blog.yexca.net/en/archives/250
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">pris-magic!&lt;/td>
&lt;td style="text-align: left">Prism Magic!&lt;/td>
&lt;td style="text-align: left">This Article&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/details>
&lt;style lang="scss">
details {
margin: 1.5em 0;
padding: 1rem;
border: 1px solid #e0e0e0;
border-radius: 8px;
background-color: var(--body-background);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
&amp;:hover {
border-color: #cccccc;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
}
summary {
display: block;
cursor: pointer;
font-weight: 600;
color: var(--card-text-color-main);
padding: 0;
list-style: none;
&amp;::-webkit-details-marker {
display: none;
}
&amp;::before {
content: '▶';
margin-right: 0.5em;
font-size: 0.8em;
transition: transform 0.2s ease;
display: inline-block;
}
}
details[open] > summary::before {
content: '▼';
transform: rotate(0deg);
}
details > div {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px dashed #e0e0e0;
line-height: 1.6;
color: var(--card-text-color-main)
}
details > div pre {
margin-bottom: 0;
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>I grabbed Shigure Ui&amp;rsquo;s first physical album, &amp;ldquo;Mada Ame wa Yamanai,&amp;rdquo; a while back, but honestly, I mostly just had &amp;ldquo;rainy lady&amp;rdquo; on repeat. Then, last week, I stumbled upon the limited first-edition of her second album, &amp;ldquo;fiction,&amp;rdquo; and snagged it. While checking it out, I went back to &amp;ldquo;Mada Ame wa Yamanai&amp;rdquo; and realized I&amp;rsquo;d totally overlooked this gem of a track!&lt;/p></description></item><item><title>Vue 3: Get Elements, Components, and Cross-Component Data Transfer</title><link>https://blog.yexca.net/en/archives/259/</link><pubDate>Tue, 14 Oct 2025 20:58:25 +0900</pubDate><guid>https://blog.yexca.net/en/archives/259/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="getting-elements">Getting Elements
&lt;/h2>&lt;p>You grab elements by defining a &lt;code>ref&lt;/code> object.&lt;/p></description></item><item><title>Tinkering with Manga and Audio Websites</title><link>https://blog.yexca.net/en/archives/258/</link><pubDate>Sun, 05 Oct 2025 01:58:35 +0900</pubDate><guid>https://blog.yexca.net/en/archives/258/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Google&amp;rsquo;s Gemini Pro subscription comes with 2TiB of space, which naturally got me thinking about tinkering again. So, let&amp;rsquo;s get to it.&lt;/p></description></item><item><title>2025 New Server Deployment Log</title><link>https://blog.yexca.net/en/archives/257/</link><pubDate>Fri, 03 Oct 2025 10:22:25 +0900</pubDate><guid>https://blog.yexca.net/en/archives/257/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>My server&amp;rsquo;s almost up. Renewed it last year, but this year, with all the deals popping up, renewing felt a bit pricey. After checking out some smaller server providers, I saw Alibaba Cloud offers discounts if you&amp;rsquo;ve been bill-free for 12 months. Since I was already looking at big names, Oracle popped into my head.&lt;/p></description></item><item><title>Support</title><link>https://blog.yexca.net/en/support/</link><pubDate>Tue, 30 Sep 2025 19:07:24 +0900</pubDate><guid>https://blog.yexca.net/en/support/</guid><description>&lt;p>If you find something here helpful,&lt;br>
consider buying me a coffee ☕ to support my work.&lt;/p>
&lt;p>Thanks for keeping this little blog alive!&lt;/p>
&lt;ul>
&lt;li>
&lt;a class="link" href="https://buymeacoffee.com/yexca"
target="_blank" rel="noopener"
>
Buy me a Coffee @yexca
&lt;/a>
&lt;/li>
&lt;li>
&lt;a class="link" href="https://afdian.com/a/yexca"
target="_blank" rel="noopener"
>
AFDIAN @yexca
&lt;/a>
&lt;/li>
&lt;/ul></description></item><item><title>Python: Handling JSON Files</title><link>https://blog.yexca.net/en/archives/256/</link><pubDate>Sun, 28 Sep 2025 10:34:38 +0900</pubDate><guid>https://blog.yexca.net/en/archives/256/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>Got some Record Tree JSON files from a senior dev. So I quickly
&lt;a class="link" href="https://github.com/yexca/RecordTreeDownloader-SQLite"
target="_blank" rel="noopener"
>
coded up this thing
&lt;/a>
to make life easier and jot down what I always forget. &lt;del>(Hey, fitting that this is article #256!)&lt;/del>&lt;/p></description></item><item><title>Vue3 Parent-Child Component Communication</title><link>https://blog.yexca.net/en/archives/255/</link><pubDate>Sun, 21 Sep 2025 19:17:40 +0900</pubDate><guid>https://blog.yexca.net/en/archives/255/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Alright, article #255! Haven&amp;rsquo;t had any super special ideas lately, so let&amp;rsquo;s just dive into some Vue notes.&lt;/p></description></item><item><title>Vue3 Composition API Deep Dive</title><link>https://blog.yexca.net/en/archives/254/</link><pubDate>Sun, 14 Sep 2025 22:27:27 +0900</pubDate><guid>https://blog.yexca.net/en/archives/254/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="project-setup">Project Setup
&lt;/h2>&lt;p>Requires Node.js 16.0 or higher. Run this command:&lt;/p></description></item><item><title>Relaxation ≠ Entertainment: Rethinking Mental Energy</title><link>https://blog.yexca.net/en/archives/253/</link><pubDate>Fri, 22 Aug 2025 22:17:38 +0900</pubDate><guid>https://blog.yexca.net/en/archives/253/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by ChatGPT
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Scrolling through videos, playing games—these always felt like relaxing activities, the kind that should restore my energy afterward. Yet living like this every day has left me feeling empty and fatigued. This raised a question: in theory, I haven’t been doing anything energy-intensive, so why do I still feel so drained?&lt;/p></description></item><item><title>Adrift in Learning, Misaligned in Life</title><link>https://blog.yexca.net/en/archives/252/</link><pubDate>Mon, 18 Aug 2025 18:27:12 +0900</pubDate><guid>https://blog.yexca.net/en/archives/252/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by ChatGPT
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction-the-drifting-sense-of-learning">Introduction: The Drifting Sense of Learning
&lt;/h2>&lt;p>In order to improve my English a little, I try to use it for things that aren’t too important, like games or daily apps. But every time I use it, I end up with a strange feeling of not having grasped anything—almost like drifting, as if I never truly experienced it at all.&lt;/p></description></item><item><title>Phantom Dream</title><link>https://blog.yexca.net/en/archives/251/</link><pubDate>Sun, 17 Aug 2025 01:13:32 +0900</pubDate><guid>https://blog.yexca.net/en/archives/251/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by ChatGPT
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>A few days ago (2025-08-13), I had a dream. In it, the second film of a certain series was titled Phantom Dream, and my name appeared in the credits—though I didn’t know if I was the director or the screenwriter. The title itself wasn’t even original; it was just picked out from two short phrases used by the production studio, just like the first film. But the two films had no connection at all.&lt;/p></description></item><item><title>Sound Vibes - "When You Miss Someone, Clap Your Hands"</title><link>https://blog.yexca.net/en/archives/250/</link><pubDate>Sat, 07 Jun 2025 01:09:19 +0900</pubDate><guid>https://blog.yexca.net/en/archives/250/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;details>
&lt;summary>Sound Vibes Series&lt;/summary>
&lt;div>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Song Title&lt;/th>
&lt;th style="text-align: left">Translation&lt;/th>
&lt;th style="text-align: left">Link&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">僕が死のうと思ったのは&lt;/td>
&lt;td style="text-align: left">I Thought About Dying&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/214"
>
https://blog.yexca.net/en/archives/214
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">あくあ色ぱれっと&lt;/td>
&lt;td style="text-align: left">Aqua-Colored Palette&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/219"
>
https://blog.yexca.net/en/archives/219
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋の押し売り&lt;/td>
&lt;td style="text-align: left">Love Sales Pitch&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/220"
>
https://blog.yexca.net/en/archives/220
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">17さいのうた&lt;/td>
&lt;td style="text-align: left">Song of 17&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/224"
>
https://blog.yexca.net/en/archives/224
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">drop&lt;/td>
&lt;td style="text-align: left">Falling in Love&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/230"
>
https://blog.yexca.net/en/archives/230
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">生きるを選んだ私へ&lt;/td>
&lt;td style="text-align: left">To Myself Who Chose to Live&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/239"
>
https://blog.yexca.net/en/archives/239
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">rainy lady&lt;/td>
&lt;td style="text-align: left">Rainy Lady&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/249"
>
https://blog.yexca.net/en/archives/249
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋しくなったら手を叩こう&lt;/td>
&lt;td style="text-align: left">When You Miss Someone, Clap Your Hands&lt;/td>
&lt;td style="text-align: left">This Article&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">pris-magic!&lt;/td>
&lt;td style="text-align: left">Prism Magic!&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/260"
>
https://blog.yexca.net/en/archives/260
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/details>
&lt;style lang="scss">
details {
margin: 1.5em 0;
padding: 1rem;
border: 1px solid #e0e0e0;
border-radius: 8px;
background-color: var(--body-background);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
&amp;:hover {
border-color: #cccccc;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
}
summary {
display: block;
cursor: pointer;
font-weight: 600;
color: var(--card-text-color-main);
padding: 0;
list-style: none;
&amp;::-webkit-details-marker {
display: none;
}
&amp;::before {
content: '▶';
margin-right: 0.5em;
font-size: 0.8em;
transition: transform 0.2s ease;
display: inline-block;
}
}
details[open] > summary::before {
content: '▼';
transform: rotate(0deg);
}
details > div {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px dashed #e0e0e0;
line-height: 1.6;
color: var(--card-text-color-main)
}
details > div pre {
margin-bottom: 0;
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>The sound and the song&amp;rsquo;s vibe? A perfect match, seriously. Especially after the &amp;ldquo;Se-no!&amp;rdquo; kicks in, it just bursts with this airy, youthful feel. Super fresh, super sweet style.&lt;/p></description></item><item><title>Musings on Sound - "rainy lady"</title><link>https://blog.yexca.net/en/archives/249/</link><pubDate>Tue, 20 May 2025 23:44:07 +0900</pubDate><guid>https://blog.yexca.net/en/archives/249/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>Considering this series doesn&amp;rsquo;t seem to offer much actual help for &amp;ldquo;Japanese Learning&amp;rdquo; and is publicly searchable, I&amp;rsquo;ve renamed the series to better reflect its current state.&lt;br>
Basically, these are mostly my personal reflections on music. The lyric translations follow my own interpretation (how I felt when I heard them) and might not perfectly align with the original text.&lt;/p></description></item><item><title>Pixiv Downloader Refactor: From Haphazard Code to Understanding the Chaos</title><link>https://blog.yexca.net/en/archives/248/</link><pubDate>Sun, 18 May 2025 16:20:33 +0900</pubDate><guid>https://blog.yexca.net/en/archives/248/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Initially, I just planned to whip up a small utility, use it for a couple of days, then forget about it (like most of my past projects). But it ended up saving me a ton of time without a single bug, and the more I used it, the smoother it felt.&lt;/p></description></item><item><title>Embracing DevOps: Offloading My Blog Build and Deploy to GitHub</title><link>https://blog.yexca.net/en/archives/247/</link><pubDate>Fri, 16 May 2025 18:14:06 +0900</pubDate><guid>https://blog.yexca.net/en/archives/247/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Lately, while thinking about what to do or learn next, the word &amp;ldquo;DevOps&amp;rdquo; kept popping up. Initially, I did a quick search and found that I was familiar with most of the listed tech stack. I thought it was just about knowing more tools, similar to &amp;ldquo;full-stack&amp;rdquo; (which, in a way, it is). But I wasn&amp;rsquo;t too interested, so I put it aside (honestly, I just lacked development passion).&lt;/p></description></item><item><title>So My Name Can Be Found: A Small Site SEO Debugging Practice</title><link>https://blog.yexca.net/en/archives/246/</link><pubDate>Sun, 27 Apr 2025 17:38:16 +0900</pubDate><guid>https://blog.yexca.net/en/archives/246/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Another self-introduction, and my blog popped into my mind again.&lt;/p></description></item><item><title>From Card Enthusiast to Architect: A Philosophy of Life-Driven System Design</title><link>https://blog.yexca.net/en/archives/245/</link><pubDate>Tue, 22 Apr 2025 00:35:15 +0900</pubDate><guid>https://blog.yexca.net/en/archives/245/</guid><description>&lt;img src="https://github.com/yexca/picx-images-hosting/raw/master/2025/04-FromCardEnthusiastToArchitect/250422-EN.7snerqkrqj.webp" alt="Featured image of post From Card Enthusiast to Architect: A Philosophy of Life-Driven System Design" />&lt;blockquote>
&lt;p>This article was partially machine translated&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Not everyone who swipes cards is chasing cashback, and not everyone who designs systems is a programmer. Some swipe cards like designers, and design systems like they live life.&lt;/p>
&lt;/blockquote>
&lt;h2 id="1-introduction-what-is-a-card-enthusiast">1. Introduction: What is a Card Enthusiast?
&lt;/h2>&lt;p>Let’s start with something I once saw online—the seven favorite hobbies of card enthusiasts:&lt;/p>
&lt;blockquote>
&lt;p>Note: “Mainland China” here refers to regions where capital inflow and outflow are restricted.&lt;/p></description></item><item><title>From Saving Money, To Living Life, To Saying Goodbye</title><link>https://blog.yexca.net/en/archives/244/</link><pubDate>Mon, 14 Apr 2025 16:23:48 +0900</pubDate><guid>https://blog.yexca.net/en/archives/244/</guid><description>&lt;blockquote>
&lt;p>This article was partially machine translated&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>I started Bookkeeping in April 2023. I stopped in April 2025.&lt;br>
My last entry: ¥0&lt;/p>
&lt;/blockquote>
&lt;h2 id="the-beginning-to-save-money-and-gain-control">The Beginning: To Save Money and Gain Control
&lt;/h2>&lt;p>It all started very simply — I wanted to control my spending and build better financial awareness. And in the beginning, it really worked. I successfully curbed some of my bad spending habits.&lt;/p>
&lt;h2 id="the-process-stepping-into-the-world-of-optimization-and-card-collecting">The Process: Stepping Into the World of Optimization and Card Collecting
&lt;/h2>&lt;p>Gradually, in pursuit of “better” consumption, I started comparing everything, looking for the optimal choice. At first, it was just comparing product prices. Later, it expanded to payment methods, tools, and eventually to bank promotions and card applications.&lt;/p></description></item><item><title>Curating My Music, Preserving My Vibes</title><link>https://blog.yexca.net/en/archives/243/</link><pubDate>Wed, 26 Mar 2025 18:18:31 +0900</pubDate><guid>https://blog.yexca.net/en/archives/243/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>My blog started getting super dry and dull after I began posting more specialized learning content. Seriously, opening it just screamed &amp;lsquo;study time,&amp;rsquo; which built up this mental block against writing. I&amp;rsquo;ve wanted to post other stuff for ages but never got around to it. Well, thanks to some recent events, I&amp;rsquo;m gonna give a non-tech post a shot.&lt;/p></description></item><item><title>Software Designer - Operating System Notes</title><link>https://blog.yexca.net/en/archives/242/</link><pubDate>Sun, 16 Mar 2025 19:35:38 +0900</pubDate><guid>https://blog.yexca.net/en/archives/242/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>These notes were likely written around the same time as previous ones. Since the file creation time is past the exam date, it might have been created during a file move.&lt;/p></description></item><item><title>Deploying FISCO BCOS Blockchain with WeBASE</title><link>https://blog.yexca.net/en/archives/241/</link><pubDate>Thu, 13 Mar 2025 01:08:02 +0900</pubDate><guid>https://blog.yexca.net/en/archives/241/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>This article was written on 2024-04-29, then revised once. I thought it was finished, but apparently not when I checked today. Unfortunately, I&amp;rsquo;ve already deleted the relevant stuff, so I guess this is it.&lt;/p></description></item><item><title>Adapting Fonts for Internationalization</title><link>https://blog.yexca.net/en/archives/240/</link><pubDate>Mon, 10 Mar 2025 23:56:56 +0900</pubDate><guid>https://blog.yexca.net/en/archives/240/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>After going international, I didn&amp;rsquo;t pay much attention to posts in other languages. That is, until I saw some nice Japanese fonts while browsing. I had to snag them, only to realize the fonts for my other languages were&amp;hellip; well, pretty rough.&lt;/p></description></item><item><title>Thoughts on Music - "To Myself Who Chose to Live"</title><link>https://blog.yexca.net/en/archives/239/</link><pubDate>Fri, 07 Mar 2025 01:26:31 +0900</pubDate><guid>https://blog.yexca.net/en/archives/239/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;details>
&lt;summary>Thoughts on Music Series&lt;/summary>
&lt;div>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Song Title&lt;/th>
&lt;th style="text-align: left">Translation&lt;/th>
&lt;th style="text-align: left">Link&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">僕が死のうと思ったのは&lt;/td>
&lt;td style="text-align: left">I Once Thought I&amp;rsquo;d Die&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/214"
>
https://blog.yexca.net/en/archives/214
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">あくあ色ぱれっと&lt;/td>
&lt;td style="text-align: left">Aqua&amp;rsquo;s Color Palette&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/219"
>
https://blog.yexca.net/en/archives/219
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋の押し売り&lt;/td>
&lt;td style="text-align: left">Pushy Love Sales&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/220"
>
https://blog.yexca.net/en/archives/220
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">17さいのうた&lt;/td>
&lt;td style="text-align: left">Song of a 17-Year-Old&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/224"
>
https://blog.yexca.net/en/archives/224
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">drop&lt;/td>
&lt;td style="text-align: left">Falling in Love&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/230"
>
https://blog.yexca.net/en/archives/230
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">生きるを選んだ私へ&lt;/td>
&lt;td style="text-align: left">To Myself Who Chose to Live&lt;/td>
&lt;td style="text-align: left">This Article&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">rainy lady&lt;/td>
&lt;td style="text-align: left">Rainy Lady&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/249"
>
https://blog.yexca.net/en/archives/249
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋しくなったら手を叩こう&lt;/td>
&lt;td style="text-align: left">If You Miss Love, Clap Your Hands&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/250"
>
https://blog.yexca.net/en/archives/250
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">pris-magic!&lt;/td>
&lt;td style="text-align: left">Pris-Magic!&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/260"
>
https://blog.yexca.net/en/archives/260
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/details>
&lt;style lang="scss">
details {
margin: 1.5em 0;
padding: 1rem;
border: 1px solid #e0e0e0;
border-radius: 8px;
background-color: var(--body-background);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
&amp;:hover {
border-color: #cccccc;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
}
summary {
display: block;
cursor: pointer;
font-weight: 600;
color: var(--card-text-color-main);
padding: 0;
list-style: none;
&amp;::-webkit-details-marker {
display: none;
}
&amp;::before {
content: '▶';
margin-right: 0.5em;
font-size: 0.8em;
transition: transform 0.2s ease;
display: inline-block;
}
}
details[open] > summary::before {
content: '▼';
transform: rotate(0deg);
}
details > div {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px dashed #e0e0e0;
line-height: 1.6;
color: var(--card-text-color-main)
}
details > div pre {
margin-bottom: 0;
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Just by the title, I roughly grasped the song&amp;rsquo;s meaning, and it also triggered my past thoughts on life. Before, I could never find an answer to &amp;ldquo;why live?&amp;rdquo;. But, flipping it, &amp;ldquo;why not end it?&amp;rdquo;. I explored ways to commit suicide and their consequences. I realized I feared suicide. So, because of that fear, I chose to live. This perfectly aligns with the song.&lt;/p></description></item><item><title>Software Designer - InfoSec Notes</title><link>https://blog.yexca.net/en/archives/238/</link><pubDate>Tue, 04 Mar 2025 18:38:28 +0900</pubDate><guid>https://blog.yexca.net/en/archives/238/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>This article was written around the same time as my
&lt;a class="link" href="https://blog.yexca.net/en/archives/236/"
>
Computer Networks notes
&lt;/a>
. Both topics are usually covered together for the exam, so I studied them concurrently.&lt;/p></description></item><item><title>Get OneDrive Direct Download Links</title><link>https://blog.yexca.net/en/archives/237/</link><pubDate>Sun, 02 Mar 2025 12:58:57 +0900</pubDate><guid>https://blog.yexca.net/en/archives/237/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Recently, I found that IDM couldn&amp;rsquo;t automatically capture files shared via OneDrive. Browser downloads were unstable and kept failing, so I decided to find a way to get direct download links.&lt;/p></description></item><item><title>Software Designer - Computer Networks Notes</title><link>https://blog.yexca.net/en/archives/236/</link><pubDate>Sat, 01 Mar 2025 23:28:30 +0900</pubDate><guid>https://blog.yexca.net/en/archives/236/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>You can tell from the image links these are my 2023-04 notes. I hadn&amp;rsquo;t posted them because they&amp;rsquo;re mostly just raw knowledge points, not a polished article. But they&amp;rsquo;re notes nonetheless, and it&amp;rsquo;s handy to have them on the blog for quick reference.&lt;/p></description></item><item><title>Elasticsearch Cluster</title><link>https://blog.yexca.net/en/archives/235/</link><pubDate>Sat, 15 Feb 2025 17:17:08 +0900</pubDate><guid>https://blog.yexca.net/en/archives/235/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Elasticsearch Series&lt;/strong>&lt;/p></description></item><item><title>Elasticsearch Data Synchronization</title><link>https://blog.yexca.net/en/archives/234/</link><pubDate>Fri, 14 Feb 2025 20:36:55 +0900</pubDate><guid>https://blog.yexca.net/en/archives/234/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Elasticsearch Series&lt;/strong>&lt;/p></description></item><item><title>My Personal Tea Journey</title><link>https://blog.yexca.net/en/archives/233/</link><pubDate>Wed, 12 Feb 2025 23:58:53 +0900</pubDate><guid>https://blog.yexca.net/en/archives/233/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>This article was created and last modified between 2022.10.31 and 2024.09.15. It logs the teas I&amp;rsquo;ve tasted and my personal take on them during this period.&lt;/p></description></item><item><title>Elasticsearch Autocomplete</title><link>https://blog.yexca.net/en/archives/232/</link><pubDate>Sun, 09 Feb 2025 17:29:28 +0900</pubDate><guid>https://blog.yexca.net/en/archives/232/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Elasticsearch Series&lt;/strong>&lt;/p></description></item><item><title>Elasticsearch Data Aggregations</title><link>https://blog.yexca.net/en/archives/231/</link><pubDate>Sat, 08 Feb 2025 14:56:36 +0900</pubDate><guid>https://blog.yexca.net/en/archives/231/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Elasticsearch Series&lt;/strong>&lt;/p></description></item><item><title>Sound Sensations - "drop"</title><link>https://blog.yexca.net/en/archives/230/</link><pubDate>Thu, 06 Feb 2025 22:06:10 +0900</pubDate><guid>https://blog.yexca.net/en/archives/230/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;details>
&lt;summary>Sound Sensations Series&lt;/summary>
&lt;div>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Song Title&lt;/th>
&lt;th style="text-align: left">Translation&lt;/th>
&lt;th style="text-align: left">Link&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">僕が死のうと思ったのは&lt;/td>
&lt;td style="text-align: left">I Wanted To Die&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/214"
>
https://blog.yexca.net/en/archives/214
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">あくあ色ぱれっと&lt;/td>
&lt;td style="text-align: left">Aqua-Colored Palette&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/219"
>
https://blog.yexca.net/en/archives/219
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋の押し売り&lt;/td>
&lt;td style="text-align: left">Love Sales Pitch&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/220"
>
https://blog.yexca.net/en/archives/220
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">17さいのうた&lt;/td>
&lt;td style="text-align: left">Song of 17&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/224"
>
https://blog.yexca.net/en/archives/224
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">drop&lt;/td>
&lt;td style="text-align: left">Falling in Love&lt;/td>
&lt;td style="text-align: left">This Article&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">生きるを選んだ私へ&lt;/td>
&lt;td style="text-align: left">To the Me Who Chose to Live&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/239"
>
https://blog.yexca.net/en/archives/239
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">rainy lady&lt;/td>
&lt;td style="text-align: left">rainy lady&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/249"
>
https://blog.yexca.net/en/archives/249
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋しくなったら手を叩こう&lt;/td>
&lt;td style="text-align: left">If You Miss Love, Clap Your Hands&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/250"
>
https://blog.yexca.net/en/archives/250
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">pris-magic!&lt;/td>
&lt;td style="text-align: left">pris-magic!&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/260"
>
https://blog.yexca.net/en/archives/260
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/details>
&lt;style lang="scss">
details {
margin: 1.5em 0;
padding: 1rem;
border: 1px solid #e0e0e0;
border-radius: 8px;
background-color: var(--body-background);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
&amp;:hover {
border-color: #cccccc;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
}
summary {
display: block;
cursor: pointer;
font-weight: 600;
color: var(--card-text-color-main);
padding: 0;
list-style: none;
&amp;::-webkit-details-marker {
display: none;
}
&amp;::before {
content: '▶';
margin-right: 0.5em;
font-size: 0.8em;
transition: transform 0.2s ease;
display: inline-block;
}
}
details[open] > summary::before {
content: '▼';
transform: rotate(0deg);
}
details > div {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px dashed #e0e0e0;
line-height: 1.6;
color: var(--card-text-color-main)
}
details > div pre {
margin-bottom: 0;
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>Today, I tried the December 2019 N1 test. Accidentally passed! That instantly sparked my desire to write articles about learning Japanese – thus, this series was born.&lt;/p></description></item><item><title>Elasticsearch RestClient Queries</title><link>https://blog.yexca.net/en/archives/229/</link><pubDate>Wed, 05 Feb 2025 15:50:26 +0900</pubDate><guid>https://blog.yexca.net/en/archives/229/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Elasticsearch Series&lt;/strong>&lt;/p></description></item><item><title>Getting Started with Elasticsearch RestClient</title><link>https://blog.yexca.net/en/archives/228/</link><pubDate>Mon, 03 Feb 2025 22:30:00 +0900</pubDate><guid>https://blog.yexca.net/en/archives/228/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Elasticsearch Series&lt;/strong>&lt;/p></description></item><item><title>Elasticsearch Queries</title><link>https://blog.yexca.net/en/archives/227/</link><pubDate>Sat, 01 Feb 2025 15:16:28 +0900</pubDate><guid>https://blog.yexca.net/en/archives/227/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Elasticsearch Series&lt;/strong>&lt;/p></description></item><item><title>Elasticsearch Getting Started</title><link>https://blog.yexca.net/en/archives/226/</link><pubDate>Wed, 29 Jan 2025 23:38:51 +0900</pubDate><guid>https://blog.yexca.net/en/archives/226/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Elasticsearch Series&lt;/strong>&lt;/p></description></item><item><title>Redis Distributed Caching</title><link>https://blog.yexca.net/en/archives/225/</link><pubDate>Tue, 28 Jan 2025 21:47:19 +0900</pubDate><guid>https://blog.yexca.net/en/archives/225/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>Redis Basics:
&lt;a class="link" href="https://blog.yexca.net/en/archives/157/"
>
https://blog.yexca.net/en/archives/157/
&lt;/a>
&lt;br>
Redis Distributed Caching: This article&lt;/p></description></item><item><title>Musical Feelings - "17-sai no Uta"</title><link>https://blog.yexca.net/en/archives/224/</link><pubDate>Sat, 25 Jan 2025 16:57:49 +0900</pubDate><guid>https://blog.yexca.net/en/archives/224/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;details>
&lt;summary>Musical Feelings Series&lt;/summary>
&lt;div>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Song Name&lt;/th>
&lt;th style="text-align: left">Translation&lt;/th>
&lt;th style="text-align: left">Link&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">僕が死のうと思ったのは&lt;/td>
&lt;td style="text-align: left">I Once Thought About Ending It All&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/214"
>
https://blog.yexca.net/en/archives/214
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">あくあ色ぱれっと&lt;/td>
&lt;td style="text-align: left">Aqua&amp;rsquo;s Palette&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/219"
>
https://blog.yexca.net/en/archives/219
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋の押し売り&lt;/td>
&lt;td style="text-align: left">Forced Love&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/220"
>
https://blog.yexca.net/en/archives/220
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">17さいのうた&lt;/td>
&lt;td style="text-align: left">17-Year-Old&amp;rsquo;s Song&lt;/td>
&lt;td style="text-align: left">This Article&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">drop&lt;/td>
&lt;td style="text-align: left">Falling in Love&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/230"
>
https://blog.yexca.net/en/archives/230
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">生きるを選んだ私へ&lt;/td>
&lt;td style="text-align: left">To My Self Who Chose to Live&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/239"
>
https://blog.yexca.net/en/archives/239
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">rainy lady&lt;/td>
&lt;td style="text-align: left">The Rain Hasn&amp;rsquo;t Cleared&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/249"
>
https://blog.yexca.net/en/archives/249
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋しくなったら手を叩こう&lt;/td>
&lt;td style="text-align: left">Clap Your Hands if You Want to Fall in Love&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/250"
>
https://blog.yexca.net/en/archives/250
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">pris-magic!&lt;/td>
&lt;td style="text-align: left">Pris-Magic!&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/260"
>
https://blog.yexca.net/en/archives/260
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/details>
&lt;style lang="scss">
details {
margin: 1.5em 0;
padding: 1rem;
border: 1px solid #e0e0e0;
border-radius: 8px;
background-color: var(--body-background);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
&amp;:hover {
border-color: #cccccc;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
}
summary {
display: block;
cursor: pointer;
font-weight: 600;
color: var(--card-text-color-main);
padding: 0;
list-style: none;
&amp;::-webkit-details-marker {
display: none;
}
&amp;::before {
content: '▶';
margin-right: 0.5em;
font-size: 0.8em;
transition: transform 0.2s ease;
display: inline-block;
}
}
details[open] > summary::before {
content: '▼';
transform: rotate(0deg);
}
details > div {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px dashed #e0e0e0;
line-height: 1.6;
color: var(--card-text-color-main)
}
details > div pre {
margin-bottom: 0;
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>At first, I could only understand the part about the letter to the self. It felt like it matched where I was when I first heard it, so I kept it on repeat.&lt;/p></description></item><item><title>Spring Auto-Configuration and Starter Dependencies</title><link>https://blog.yexca.net/en/archives/223/</link><pubDate>Thu, 23 Jan 2025 15:06:36 +0900</pubDate><guid>https://blog.yexca.net/en/archives/223/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="configuration">Configuration
&lt;/h2>&lt;p>You can configure things using YAML, YML, or properties files. Java system properties and command-line arguments also work.&lt;/p></description></item><item><title>Spring Transaction Management</title><link>https://blog.yexca.net/en/archives/222/</link><pubDate>Wed, 22 Jan 2025 13:30:38 +0900</pubDate><guid>https://blog.yexca.net/en/archives/222/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="transactions">Transactions
&lt;/h2>&lt;p>A transaction is a set of operations that form an indivisible unit of work. These operations either all succeed together or all fail together.&lt;/p></description></item><item><title>Spring AOP (Aspect-Oriented Programming)</title><link>https://blog.yexca.net/en/archives/221/</link><pubDate>Tue, 21 Jan 2025 16:05:57 +0900</pubDate><guid>https://blog.yexca.net/en/archives/221/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Aspect-Oriented Programming (AOP) is about programming for specific methods.&lt;/p></description></item><item><title>Sound Impressions - "Love's Hard Sell"</title><link>https://blog.yexca.net/en/archives/220/</link><pubDate>Mon, 20 Jan 2025 16:24:43 +0900</pubDate><guid>https://blog.yexca.net/en/archives/220/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;details>
&lt;summary>Sound Impressions Series&lt;/summary>
&lt;div>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Song Title&lt;/th>
&lt;th style="text-align: left">Translation&lt;/th>
&lt;th style="text-align: left">Link&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">僕が死のうと思ったのは&lt;/td>
&lt;td style="text-align: left">I Wanted to Die&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/214"
>
https://blog.yexca.net/en/archives/214
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">あくあ色ぱれっと&lt;/td>
&lt;td style="text-align: left">Aqua-colored Palette&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/219"
>
https://blog.yexca.net/en/archives/219
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋の押し売り&lt;/td>
&lt;td style="text-align: left">Love&amp;rsquo;s Hard Sell&lt;/td>
&lt;td style="text-align: left">This Article&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">17さいのうた&lt;/td>
&lt;td style="text-align: left">17-Year-Old&amp;rsquo;s Song&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/224"
>
https://blog.yexca.net/en/archives/224
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">drop&lt;/td>
&lt;td style="text-align: left">Drop&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/230"
>
https://blog.yexca.net/en/archives/230
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">生きるを選んだ私へ&lt;/td>
&lt;td style="text-align: left">To the Me Who Chose to Live&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/239"
>
https://blog.yexca.net/en/archives/239
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">rainy lady&lt;/td>
&lt;td style="text-align: left">Rainy Lady&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/249"
>
https://blog.yexca.net/en/archives/249
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋しくなったら手を叩こう&lt;/td>
&lt;td style="text-align: left">If You Get Lonely, Clap Your Hands&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/250"
>
https://blog.yexca.net/en/archives/250
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">pris-magic!&lt;/td>
&lt;td style="text-align: left">Pris-Magic!&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/260"
>
https://blog.yexca.net/en/archives/260
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/details>
&lt;style lang="scss">
details {
margin: 1.5em 0;
padding: 1rem;
border: 1px solid #e0e0e0;
border-radius: 8px;
background-color: var(--body-background);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
&amp;:hover {
border-color: #cccccc;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
}
summary {
display: block;
cursor: pointer;
font-weight: 600;
color: var(--card-text-color-main);
padding: 0;
list-style: none;
&amp;::-webkit-details-marker {
display: none;
}
&amp;::before {
content: '▶';
margin-right: 0.5em;
font-size: 0.8em;
transition: transform 0.2s ease;
display: inline-block;
}
}
details[open] > summary::before {
content: '▼';
transform: rotate(0deg);
}
details > div {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px dashed #e0e0e0;
line-height: 1.6;
color: var(--card-text-color-main)
}
details > div pre {
margin-bottom: 0;
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>Actually, I translated this a while ago, lol &lt;del>(￣▽￣)&lt;/del>*&lt;/p></description></item><item><title>Thoughts on Music - "Aqua-Colored Palette"</title><link>https://blog.yexca.net/en/archives/219/</link><pubDate>Mon, 20 Jan 2025 00:16:48 +0900</pubDate><guid>https://blog.yexca.net/en/archives/219/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;details>
&lt;summary>Thoughts on Music Series&lt;/summary>
&lt;div>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Song Title&lt;/th>
&lt;th style="text-align: left">Translation&lt;/th>
&lt;th style="text-align: left">Link&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">僕が死のうと思ったのは&lt;/td>
&lt;td style="text-align: left">I Once Thought I&amp;rsquo;d Rather Die&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/214"
>
https://blog.yexca.net/en/archives/214
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">あくあ色ぱれっと&lt;/td>
&lt;td style="text-align: left">Aqua-Colored Palette&lt;/td>
&lt;td style="text-align: left">This Article&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋の押し売り&lt;/td>
&lt;td style="text-align: left">Love Push-Selling&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/220"
>
https://blog.yexca.net/en/archives/220
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">17さいのうた&lt;/td>
&lt;td style="text-align: left">Song of a 17-Year-Old&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/224"
>
https://blog.yexca.net/en/archives/224
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">drop&lt;/td>
&lt;td style="text-align: left">Drop&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/230"
>
https://blog.yexca.net/en/archives/230
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">生きるを選んだ私へ&lt;/td>
&lt;td style="text-align: left">To the Me Who Chose to Live&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/239"
>
https://blog.yexca.net/en/archives/239
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">rainy lady&lt;/td>
&lt;td style="text-align: left">Rain Still Lingers&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/249"
>
https://blog.yexca.net/en/archives/249
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋しくなったら手を叩こう&lt;/td>
&lt;td style="text-align: left">If You Want to Fall in Love, Clap Your Hands&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/250"
>
https://blog.yexca.net/en/archives/250
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">pris-magic!&lt;/td>
&lt;td style="text-align: left">Prism Magic!&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/260"
>
https://blog.yexca.net/en/archives/260
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/details>
&lt;style lang="scss">
details {
margin: 1.5em 0;
padding: 1rem;
border: 1px solid #e0e0e0;
border-radius: 8px;
background-color: var(--body-background);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
&amp;:hover {
border-color: #cccccc;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
}
summary {
display: block;
cursor: pointer;
font-weight: 600;
color: var(--card-text-color-main);
padding: 0;
list-style: none;
&amp;::-webkit-details-marker {
display: none;
}
&amp;::before {
content: '▶';
margin-right: 0.5em;
font-size: 0.8em;
transition: transform 0.2s ease;
display: inline-block;
}
}
details[open] > summary::before {
content: '▼';
transform: rotate(0deg);
}
details > div {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px dashed #e0e0e0;
line-height: 1.6;
color: var(--card-text-color-main)
}
details > div pre {
margin-bottom: 0;
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>My initial pick for the second song was my 2024 Song of the Year. But then an Aqua song came on, and this one clicked. I&amp;rsquo;d been listening to it because a middle section kind of mirrored my own life. After a deep dive into the translation, it hit me: &lt;em>this&lt;/em> is the origin of the &amp;ldquo;dyed in Aqua&amp;rsquo;s colors&amp;rdquo; meme! (I heard &amp;ldquo;want to be dyed in Aqua&amp;rsquo;s colors&amp;rdquo; at C105 and actually thought it was from &amp;lsquo;Kimi-iro ni Somaru&amp;rsquo;).&lt;/p></description></item><item><title>JWT Login Authentication</title><link>https://blog.yexca.net/en/archives/218/</link><pubDate>Thu, 16 Jan 2025 23:06:20 +0900</pubDate><guid>https://blog.yexca.net/en/archives/218/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="session-technology">Session Technology
&lt;/h2>&lt;p>Session: When a user opens a browser and accesses web server resources, a session is established. It ends when either side disconnects. A single session can include multiple requests and responses.&lt;/p></description></item><item><title>SpringAMQP</title><link>https://blog.yexca.net/en/archives/217/</link><pubDate>Wed, 15 Jan 2025 17:03:32 +0900</pubDate><guid>https://blog.yexca.net/en/archives/217/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro-to-mq">Intro to MQ
&lt;/h2>&lt;h3 id="synchronous-calls">Synchronous Calls
&lt;/h3>&lt;p>Microservices calling each other via Feign is a synchronous approach, which comes with some issues.&lt;/p></description></item><item><title>MyBatis Usage</title><link>https://blog.yexca.net/en/archives/216/</link><pubDate>Mon, 13 Jan 2025 21:06:03 +0900</pubDate><guid>https://blog.yexca.net/en/archives/216/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>MyBatis Series&lt;/strong>&lt;/p></description></item><item><title>MyBatis Installation and Getting Started</title><link>https://blog.yexca.net/en/archives/215/</link><pubDate>Sun, 12 Jan 2025 23:59:48 +0900</pubDate><guid>https://blog.yexca.net/en/archives/215/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>MyBatis Series&lt;/strong>&lt;/p></description></item><item><title>Echoes of Emotion - 《僕が死のうと思ったのは》</title><link>https://blog.yexca.net/en/archives/214/</link><pubDate>Sat, 11 Jan 2025 01:10:51 +0900</pubDate><guid>https://blog.yexca.net/en/archives/214/</guid><description>&lt;blockquote>
&lt;p>This article was partially machine translated&lt;/p>
&lt;/blockquote>
&lt;details>
&lt;summary>Thoughts on Music Series&lt;/summary>
&lt;div>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">Song Title&lt;/th>
&lt;th style="text-align: left">Translation&lt;/th>
&lt;th style="text-align: left">Link&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">僕が死のうと思ったのは&lt;/td>
&lt;td style="text-align: left">I Once Thought I&amp;rsquo;d Rather Die&lt;/td>
&lt;td style="text-align: left">This Article&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">あくあ色ぱれっと&lt;/td>
&lt;td style="text-align: left">Aqua-Colored Palette&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/219"
>
https://blog.yexca.net/en/archives/219
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋の押し売り&lt;/td>
&lt;td style="text-align: left">Love Push-Selling&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/220"
>
https://blog.yexca.net/en/archives/220
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">17さいのうた&lt;/td>
&lt;td style="text-align: left">Song of a 17-Year-Old&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/224"
>
https://blog.yexca.net/en/archives/224
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">drop&lt;/td>
&lt;td style="text-align: left">Drop&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/230"
>
https://blog.yexca.net/en/archives/230
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">生きるを選んだ私へ&lt;/td>
&lt;td style="text-align: left">To the Me Who Chose to Live&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/239"
>
https://blog.yexca.net/en/archives/239
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">rainy lady&lt;/td>
&lt;td style="text-align: left">Rain Still Lingers&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/249"
>
https://blog.yexca.net/en/archives/249
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">恋しくなったら手を叩こう&lt;/td>
&lt;td style="text-align: left">If You Want to Fall in Love, Clap Your Hands&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/250"
>
https://blog.yexca.net/en/archives/250
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">pris-magic!&lt;/td>
&lt;td style="text-align: left">Prism Magic!&lt;/td>
&lt;td style="text-align: left">
&lt;a class="link" href="https://blog.yexca.net/en/archives/260"
>
https://blog.yexca.net/en/archives/260
&lt;/a>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;/div>
&lt;/details>
&lt;style lang="scss">
details {
margin: 1.5em 0;
padding: 1rem;
border: 1px solid #e0e0e0;
border-radius: 8px;
background-color: var(--body-background);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
&amp;:hover {
border-color: #cccccc;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
}
summary {
display: block;
cursor: pointer;
font-weight: 600;
color: var(--card-text-color-main);
padding: 0;
list-style: none;
&amp;::-webkit-details-marker {
display: none;
}
&amp;::before {
content: '▶';
margin-right: 0.5em;
font-size: 0.8em;
transition: transform 0.2s ease;
display: inline-block;
}
}
details[open] > summary::before {
content: '▼';
transform: rotate(0deg);
}
details > div {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px dashed #e0e0e0;
line-height: 1.6;
color: var(--card-text-color-main)
}
details > div pre {
margin-bottom: 0;
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Is there a a way to study language listening without feeling like you&amp;rsquo;re studying, sometimes you can listen to repeatedly and try shadowing? Isn&amp;rsquo;t that music!&lt;/p></description></item><item><title>Python PyInstaller Packaging</title><link>https://blog.yexca.net/en/archives/213/</link><pubDate>Tue, 07 Jan 2025 17:26:09 +0900</pubDate><guid>https://blog.yexca.net/en/archives/213/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>PyInstaller packaging is system-dependent. On Windows, it creates an &lt;code>.exe&lt;/code> executable; on Linux, it outputs an ELF binary. Cross-platform packaging isn&amp;rsquo;t supported.&lt;/p></description></item><item><title>Glassmorphism</title><link>https://blog.yexca.net/en/archives/212/</link><pubDate>Sun, 05 Jan 2025 16:19:36 +0900</pubDate><guid>https://blog.yexca.net/en/archives/212/</guid><description>&lt;blockquote>
&lt;p>This article was partially machine translated&lt;/p>
&lt;/blockquote>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Today, I want to summarize the things I recently designed, such as semi-transparent elements, frosted glass effects and rounded corners. But then It occurred to me that I created a webpage on December 1, 2023, so I decided to rebuild it by the way.&lt;/p>
&lt;h2 id="webpage-background">webpage background
&lt;/h2>&lt;p>A modern &lt;del>(anime style)&lt;/del> website needs a background image.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-css" data-lang="css">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">body&lt;/span>&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">background-image&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nb">url&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;../img/77194247_p0.jpg&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">background-size&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">cover&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">background-attachment&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">fixed&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c">/* fixed image */&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">background-repeat&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">no-repeat&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c">/* no repeat image */&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">padding&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">margin&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="semi-transparent-and-frosted-glass-effects">Semi-transparent and Frosted Glass effects
&lt;/h2>&lt;p>Then apply a mask to the background in order to achieve the semi-transparent and frosted glass effects.&lt;/p></description></item><item><title>Pixiv Downloader</title><link>https://blog.yexca.net/en/archives/211/</link><pubDate>Fri, 03 Jan 2025 20:05:44 +0900</pubDate><guid>https://blog.yexca.net/en/archives/211/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>2025-05-18 Update&lt;br>
I wrote a SQLite version so you don&amp;rsquo;t have to configure a database. Details:
&lt;a class="link" href="https://blog.yexca.net/en/archives/248"
>
https://blog.yexca.net/en/archives/248
&lt;/a>
&lt;/p></description></item><item><title>2024 Year in Review</title><link>https://blog.yexca.net/en/archives/210/</link><pubDate>Tue, 31 Dec 2024 17:40:09 +0900</pubDate><guid>https://blog.yexca.net/en/archives/210/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>This post is for myself. It’s a 2024 summary, but also a record of my thoughts and journey over the past few years. My writing isn&amp;rsquo;t the most polished, and I have a lot I want to say but don&amp;rsquo;t quite know how to synthesize it all. So, here it is.&lt;/p></description></item><item><title>Blog Internationalization with Hugo</title><link>https://blog.yexca.net/en/archives/209/</link><pubDate>Fri, 27 Dec 2024 23:11:45 +0900</pubDate><guid>https://blog.yexca.net/en/archives/209/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>As I consume more information, I often find the need to write articles in other languages (especially since modern projects are almost always multilingual). Ever since I added i18n support to my graduation project, I&amp;rsquo;ve wanted it for everything I design or build. Even my
&lt;a class="link" href="https://github.com/yexca/yasumiProject"
target="_blank" rel="noopener"
>
recent practice project
&lt;/a>
includes multilingual support (though that one is a bit dated; I&amp;rsquo;m
&lt;a class="link" href="https://github.com/yexca/yasumiProject-frontend"
target="_blank" rel="noopener"
>
working on a more modern version
&lt;/a>
now).&lt;/p></description></item><item><title>Links</title><link>https://blog.yexca.net/en/links/</link><pubDate>Fri, 27 Dec 2024 18:20:25 +0900</pubDate><guid>https://blog.yexca.net/en/links/</guid><description/></item><item><title>GoLang Backend Intro</title><link>https://blog.yexca.net/en/archives/208/</link><pubDate>Sun, 22 Dec 2024 22:07:15 +0800</pubDate><guid>https://blog.yexca.net/en/archives/208/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>A simple, no-framework Go backend.&lt;/p></description></item><item><title>GoLang Channels</title><link>https://blog.yexca.net/en/archives/207/</link><pubDate>Sat, 21 Dec 2024 14:52:55 +0800</pubDate><guid>https://blog.yexca.net/en/archives/207/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Golang Series&lt;/strong>&lt;/p></description></item><item><title>GoLang Goroutines</title><link>https://blog.yexca.net/en/archives/206/</link><pubDate>Tue, 17 Dec 2024 21:16:31 +0800</pubDate><guid>https://blog.yexca.net/en/archives/206/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Golang Series&lt;/strong>&lt;/p></description></item><item><title>GoLang Struct Tags</title><link>https://blog.yexca.net/en/archives/205/</link><pubDate>Wed, 11 Dec 2024 18:31:18 +0800</pubDate><guid>https://blog.yexca.net/en/archives/205/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Golang Series&lt;/strong>&lt;/p></description></item><item><title>GoLang Reflection</title><link>https://blog.yexca.net/en/archives/204/</link><pubDate>Tue, 03 Dec 2024 14:07:18 +0800</pubDate><guid>https://blog.yexca.net/en/archives/204/</guid><description>&lt;blockquote>
&lt;p>&lt;strong>Golang Series&lt;/strong>&lt;/p>
&lt;p>Hello GoLang:
&lt;a class="link" href="https://blog.yexca.net/en/archives/154"
>
https://blog.yexca.net/en/archives/154
&lt;/a>
&lt;br>
GoLang (var and const) Variables and Constants:
&lt;a class="link" href="https://blog.yexca.net/en/archives/155"
>
https://blog.yexca.net/en/archives/155
&lt;/a>
&lt;br>
GoLang (func) Functions:
&lt;a class="link" href="https://blog.yexca.net/en/archives/156"
>
https://blog.yexca.net/en/archives/156
&lt;/a>
&lt;br>
GoLang (slice and map) Slices and Maps:
&lt;a class="link" href="https://blog.yexca.net/en/archives/160"
>
https://blog.yexca.net/en/archives/160
&lt;/a>
&lt;br>
GoLang (OOP) Object-Oriented Programming:
&lt;a class="link" href="https://blog.yexca.net/en/archives/162"
>
https://blog.yexca.net/en/archives/162
&lt;/a>
&lt;br>
GoLang (reflect) Reflection: This Article&lt;br>
GoLang (struct tag) Struct Tags:
&lt;a class="link" href="https://blog.yexca.net/en/archives/205"
>
https://blog.yexca.net/en/archives/205
&lt;/a>
&lt;br>
GoLang (goroutine) Goroutines:
&lt;a class="link" href="https://blog.yexca.net/en/archives/206"
>
https://blog.yexca.net/en/archives/206
&lt;/a>
&lt;br>
GoLang (channel) Channels:
&lt;a class="link" href="https://blog.yexca.net/en/archives/207"
>
https://blog.yexca.net/en/archives/207
&lt;/a>
&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;p>notify:
&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;/p></description></item><item><title>Tokyo University of Science Graduate School of Information Science and Technology 2020 Problem 5 / TUS Graduate School of IST 2020 Problem 5</title><link>https://blog.yexca.net/en/archives/203/</link><pubDate>Sun, 01 Dec 2024 18:15:28 +0800</pubDate><guid>https://blog.yexca.net/en/archives/203/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Problem 1:
&lt;a class="link" href="https://blog.yexca.net/en/archives/198"
>
https://blog.yexca.net/en/archives/198
&lt;/a>
&lt;br>
Problem 2:
&lt;a class="link" href="https://blog.yexca.net/en/archives/201"
>
https://blog.yexca.net/en/archives/201
&lt;/a>
&lt;br>
Problem 3:
&lt;a class="link" href="https://blog.yexca.net/en/archives/200"
>
https://blog.yexca.net/en/archives/200
&lt;/a>
&lt;br>
Problem 4:
&lt;a class="link" href="https://blog.yexca.net/en/archives/202"
>
https://blog.yexca.net/en/archives/202
&lt;/a>
&lt;br>
Problem 5: This Article&lt;/p></description></item><item><title>Institute of Science Tokyo Graduate School of Information Science and Engineering 2020 Question 4</title><link>https://blog.yexca.net/en/archives/202/</link><pubDate>Thu, 28 Nov 2024 15:51:16 +0800</pubDate><guid>https://blog.yexca.net/en/archives/202/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Question 1:
&lt;a class="link" href="https://blog.yexca.net/en/archives/198"
>
https://blog.yexca.net/en/archives/198
&lt;/a>
&lt;br>
Question 2:
&lt;a class="link" href="https://blog.yexca.net/en/archives/201"
>
https://blog.yexca.net/en/archives/201
&lt;/a>
&lt;br>
Question 3:
&lt;a class="link" href="https://blog.yexca.net/en/archives/200"
>
https://blog.yexca.net/en/archives/200
&lt;/a>
&lt;br>
Question 4: This article&lt;br>
Question 5:
&lt;a class="link" href="https://blog.yexca.net/en/archives/203"
>
https://blog.yexca.net/en/archives/203
&lt;/a>
&lt;/p></description></item><item><title>Institute of Science Tokyo, Graduate School of Information Science and Engineering 2020, Question 2</title><link>https://blog.yexca.net/en/archives/201/</link><pubDate>Sun, 24 Nov 2024 22:42:18 +0800</pubDate><guid>https://blog.yexca.net/en/archives/201/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Question 1:
&lt;a class="link" href="https://blog.yexca.net/en/archives/198"
>
https://blog.yexca.net/en/archives/198
&lt;/a>
&lt;br>
Question 2: This article&lt;br>
Question 3:
&lt;a class="link" href="https://blog.yexca.net/en/archives/200"
>
https://blog.yexca.net/en/archives/200
&lt;/a>
&lt;br>
Question 4:
&lt;a class="link" href="https://blog.yexca.net/en/archives/202"
>
https://blog.yexca.net/en/archives/202
&lt;/a>
&lt;br>
Question 5:
&lt;a class="link" href="https://blog.yexca.net/en/archives/203"
>
https://blog.yexca.net/en/archives/203
&lt;/a>
&lt;/p></description></item><item><title>Tokyo University of Science, Graduate School of Information Science and Technology 2020, Problem 3</title><link>https://blog.yexca.net/en/archives/200/</link><pubDate>Sat, 23 Nov 2024 20:35:28 +0800</pubDate><guid>https://blog.yexca.net/en/archives/200/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Problem 1:
&lt;a class="link" href="https://blog.yexca.net/en/archives/198"
>
https://blog.yexca.net/en/archives/198
&lt;/a>
&lt;br>
Problem 2:
&lt;a class="link" href="https://blog.yexca.net/en/archives/201"
>
https://blog.yexca.net/en/archives/201
&lt;/a>
&lt;br>
Problem 3: This Article&lt;br>
Problem 4:
&lt;a class="link" href="https://blog.yexca.net/en/archives/202"
>
https://blog.yexca.net/en/archives/202
&lt;/a>
&lt;br>
Problem 5:
&lt;a class="link" href="https://blog.yexca.net/en/archives/203"
>
https://blog.yexca.net/en/archives/203
&lt;/a>
&lt;/p></description></item><item><title>Intranet Tunneling</title><link>https://blog.yexca.net/en/archives/199/</link><pubDate>Fri, 22 Nov 2024 22:05:34 +0800</pubDate><guid>https://blog.yexca.net/en/archives/199/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>An old post I wrote, system creation date 2023.12.01.&lt;/p></description></item><item><title>Institute of Science Tokyo, Graduate School of Information Science and Engineering, 2020 Question 1</title><link>https://blog.yexca.net/en/archives/198/</link><pubDate>Thu, 21 Nov 2024 15:42:18 +0800</pubDate><guid>https://blog.yexca.net/en/archives/198/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Question 1: This article&lt;br>
Question 2:
&lt;a class="link" href="https://blog.yexca.net/en/archives/201"
>
https://blog.yexca.net/en/archives/201
&lt;/a>
&lt;br>
Question 3:
&lt;a class="link" href="https://blog.yexca.net/en/archives/200"
>
https://blog.yexca.net/en/archives/200
&lt;/a>
&lt;br>
Question 4:
&lt;a class="link" href="https://blog.yexca.net/en/archives/202"
>
https://blog.yexca.net/en/archives/202
&lt;/a>
&lt;br>
Question 5:
&lt;a class="link" href="https://blog.yexca.net/en/archives/203"
>
https://blog.yexca.net/en/archives/203
&lt;/a>
&lt;/p></description></item><item><title>Formal Languages and Automata - Basic Concepts</title><link>https://blog.yexca.net/en/archives/197/</link><pubDate>Tue, 19 Nov 2024 22:18:42 +0800</pubDate><guid>https://blog.yexca.net/en/archives/197/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Sometimes it&amp;rsquo;s the people who no one imagines anything of who do the things that no one can imagine&lt;/p></description></item><item><title>Learning Vue</title><link>https://blog.yexca.net/en/archives/196/</link><pubDate>Fri, 15 Nov 2024 20:48:29 +0800</pubDate><guid>https://blog.yexca.net/en/archives/196/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="vue-directives">Vue Directives
&lt;/h2>&lt;p>Vue uses various directives—special tag attributes prefixed with &lt;code>v-&lt;/code>—to apply different functionalities to HTML tags.&lt;/p></description></item><item><title>HTML Learning Three - Web Layout</title><link>https://blog.yexca.net/en/archives/195/</link><pubDate>Sun, 10 Nov 2024 21:36:51 +0800</pubDate><guid>https://blog.yexca.net/en/archives/195/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>HTML Learning One - Basics:
&lt;a class="link" href="https://blog.yexca.net/en/archives/146"
>
https://blog.yexca.net/en/archives/146
&lt;/a>
&lt;br>
HTML Learning Two - Lists, Tables, and Forms:
&lt;a class="link" href="https://blog.yexca.net/en/archives/150"
>
https://blog.yexca.net/en/archives/150
&lt;/a>
&lt;br>
HTML Learning Three - Web Layout:
&lt;a class="link" href="https://blog.yexca.net/en/archives/195"
>
https://blog.yexca.net/en/archives/195
&lt;/a>
&lt;/p></description></item><item><title>2022 SA am2 - 21-25</title><link>https://blog.yexca.net/en/archives/194/</link><pubDate>Fri, 08 Nov 2024 18:29:54 +0800</pubDate><guid>https://blog.yexca.net/en/archives/194/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;blockquote>
&lt;p>&lt;strong>2022 SA am2&lt;/strong>&lt;/p></description></item><item><title>2022 SA am2 - Questions 16-20</title><link>https://blog.yexca.net/en/archives/193/</link><pubDate>Wed, 06 Nov 2024 22:05:18 +0800</pubDate><guid>https://blog.yexca.net/en/archives/193/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;blockquote>
&lt;p>&lt;strong>2022 SA am2&lt;/strong>&lt;/p></description></item><item><title>2022 SA am2 -09-15</title><link>https://blog.yexca.net/en/archives/192/</link><pubDate>Mon, 04 Nov 2024 23:29:15 +0800</pubDate><guid>https://blog.yexca.net/en/archives/192/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;blockquote>
&lt;p>&lt;strong>2022 SA am2&lt;/strong>&lt;/p></description></item><item><title>2022 SA am2 -01-08</title><link>https://blog.yexca.net/en/archives/191/</link><pubDate>Sun, 03 Nov 2024 23:11:52 +0800</pubDate><guid>https://blog.yexca.net/en/archives/191/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;blockquote>
&lt;p>&lt;strong>2022 SA am2&lt;/strong>&lt;/p></description></item><item><title>2022 SA am1 -16-30</title><link>https://blog.yexca.net/en/archives/190/</link><pubDate>Mon, 28 Oct 2024 19:04:14 +0800</pubDate><guid>https://blog.yexca.net/en/archives/190/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;blockquote>
&lt;p>&lt;strong>2022 SA am1&lt;/strong>&lt;/p></description></item><item><title>2022 SA am1 -11-15</title><link>https://blog.yexca.net/en/archives/189/</link><pubDate>Sat, 26 Oct 2024 21:41:16 +0800</pubDate><guid>https://blog.yexca.net/en/archives/189/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;blockquote>
&lt;p>&lt;strong>2022 SA am1&lt;/strong>&lt;/p></description></item><item><title>University of Tokyo Graduate School of Engineering Mathematics 2020 Problem 3</title><link>https://blog.yexca.net/en/archives/188/</link><pubDate>Fri, 25 Oct 2024 19:24:36 +0800</pubDate><guid>https://blog.yexca.net/en/archives/188/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Even if I write a Japanese title, this post isn&amp;rsquo;t primarily in Japanese. &lt;del>Might add more if I have time.&lt;/del>&lt;/p></description></item><item><title>University of Tokyo Graduate School of Science and Engineering Mathematics 2020 Problem 2</title><link>https://blog.yexca.net/en/archives/187/</link><pubDate>Thu, 24 Oct 2024 22:46:25 +0800</pubDate><guid>https://blog.yexca.net/en/archives/187/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Even if the title is in Japanese, this post isn&amp;rsquo;t primarily in Japanese. &lt;del>I might add more content if I have time.&lt;/del>&lt;/p></description></item><item><title>2022 SA am1 -06-10</title><link>https://blog.yexca.net/en/archives/186/</link><pubDate>Tue, 22 Oct 2024 15:37:34 +0800</pubDate><guid>https://blog.yexca.net/en/archives/186/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;blockquote>
&lt;p>&lt;strong>2022 SA am1&lt;/strong>&lt;/p></description></item><item><title>2022 SA am1 -03-05</title><link>https://blog.yexca.net/en/archives/185/</link><pubDate>Mon, 21 Oct 2024 20:35:34 +0800</pubDate><guid>https://blog.yexca.net/en/archives/185/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;blockquote>
&lt;p>&lt;strong>2022 SA am1&lt;/strong>&lt;/p></description></item><item><title>2022 SA am1 -01-02</title><link>https://blog.yexca.net/en/archives/184/</link><pubDate>Sun, 20 Oct 2024 20:19:11 +0800</pubDate><guid>https://blog.yexca.net/en/archives/184/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;blockquote>
&lt;p>&lt;strong>2022 SA am1&lt;/strong>&lt;/p></description></item><item><title>U Tokyo Grad School Math 2020 Problem 1 / 東大院理工学 数学 2020 問題一</title><link>https://blog.yexca.net/en/archives/183/</link><pubDate>Mon, 14 Oct 2024 21:37:58 +0800</pubDate><guid>https://blog.yexca.net/en/archives/183/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Even with a Japanese title, this post isn&amp;rsquo;t primarily in Japanese. &lt;del>Might add more if I find time.&lt;/del>&lt;/p></description></item><item><title>2024 PC Setup Log</title><link>https://blog.yexca.net/en/archives/182/</link><pubDate>Wed, 02 Oct 2024 21:35:24 +0800</pubDate><guid>https://blog.yexca.net/en/archives/182/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>I recently reinstalled my OS after swapping out some drives. When I pulled out my ancient setup USB drive, the software inside was pretty outdated—some wouldn&amp;rsquo;t even run on a modern system, and for others, I’ve found better alternatives. I&amp;rsquo;m writing this article to document the software I used for this 2024 build.&lt;/p></description></item><item><title>Deploying CuteOne on Baota Panel</title><link>https://blog.yexca.net/en/archives/181/</link><pubDate>Tue, 10 Sep 2024 23:06:59 +0800</pubDate><guid>https://blog.yexca.net/en/archives/181/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Article written on Nov 30, 2022. Since I no longer use this panel or CuteOne, this article isn&amp;rsquo;t updated for the latest versions and might not be reproducible.&lt;/p></description></item><item><title>Building a Website with OneDrive (oneindex)</title><link>https://blog.yexca.net/en/archives/180/</link><pubDate>Tue, 27 Aug 2024 11:00:24 +0800</pubDate><guid>https://blog.yexca.net/en/archives/180/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>This article was written on May 9, 2022. It hasn&amp;rsquo;t been updated and may be difficult to replicate. I recommend checking out newer projects instead.&lt;/p></description></item><item><title>Setting Up OLAINDEX with BT Panel</title><link>https://blog.yexca.net/en/archives/179/</link><pubDate>Fri, 23 Aug 2024 17:14:26 +0800</pubDate><guid>https://blog.yexca.net/en/archives/179/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>This article was written on 2022.06.09. Since I no longer use this panel or OLAINDEX, there are no recent updates. It might not be reproducible.&lt;/p></description></item><item><title>Deploying ZFile with BT Panel</title><link>https://blog.yexca.net/en/archives/178/</link><pubDate>Fri, 16 Aug 2024 14:43:25 +0800</pubDate><guid>https://blog.yexca.net/en/archives/178/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>This post was written on 2022.06.12. I wasn&amp;rsquo;t originally going to publish it, but since it&amp;rsquo;s fairly complete, I&amp;rsquo;m posting it for posterity. I haven&amp;rsquo;t used BT Panel or ZFile in a long time, so this guide isn&amp;rsquo;t updated and might not work perfectly with current versions.&lt;/p></description></item><item><title>Hexo Installation and Usage</title><link>https://blog.yexca.net/en/archives/177/</link><pubDate>Fri, 09 Aug 2024 08:49:53 +0800</pubDate><guid>https://blog.yexca.net/en/archives/177/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>My server was about to expire recently, so I decided to migrate VRC Blog to GitHub. I started looking for a good theme. I originally wanted to use the Typecho theme I&amp;rsquo;m currently using (which was ported from Jekyll), but I couldn&amp;rsquo;t find it when I searched for it half a year ago. Lately, I&amp;rsquo;ve been wanting to check out Hexo. After searching for themes, I remembered that Argon, which I really like, has a Hexo version. Hence, this article.&lt;/p></description></item><item><title>Algorithm: n-Queens Problem (Backtracking)</title><link>https://blog.yexca.net/en/archives/176/</link><pubDate>Sun, 28 Jul 2024 14:26:26 +0800</pubDate><guid>https://blog.yexca.net/en/archives/176/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="problem-description">Problem Description
&lt;/h2>&lt;p>The n-Queens problem involves placing $n$ queens on an $n \times n$ chessboard such that no two queens attack each other. This means no two queens can be in the same row, same column, or on the same diagonal (following standard chess queen movement rules).&lt;/p></description></item><item><title>Cannot Login to Typecho Admin via HTTPS</title><link>https://blog.yexca.net/en/archives/175/</link><pubDate>Fri, 26 Jul 2024 22:22:22 +0800</pubDate><guid>https://blog.yexca.net/en/archives/175/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>After migrating Typecho to a Docker container, enabling HTTPS caused errors when trying to log into the admin panel. It worked fine over HTTP. Since my previous non-Docker deployment didn&amp;rsquo;t have this issue, I initially suspected a Docker networking problem. At the time, I only needed to make a one-off update, so I just disabled HTTPS, finished the changes, and left it. Now that I&amp;rsquo;m using Typecho again and need to post regularly, it&amp;rsquo;s time to fix it properly.&lt;/p></description></item><item><title>ElementUI</title><link>https://blog.yexca.net/en/archives/174/</link><pubDate>Mon, 03 Jun 2024 18:04:58 +0800</pubDate><guid>https://blog.yexca.net/en/archives/174/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>ElementUI, built by the Ele.me team, is a desktop UI component library for developers, designers, and product managers, powered by Vue 2.0.&lt;/p></description></item><item><title>Simple Vue Project</title><link>https://blog.yexca.net/en/archives/173/</link><pubDate>Tue, 28 May 2024 16:22:15 +0800</pubDate><guid>https://blog.yexca.net/en/archives/173/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>In early full-stack development, communication overhead was high, roles were fuzzy, and it was tough to manage or extend projects.&lt;/p></description></item><item><title>Blog running time</title><link>https://blog.yexca.net/en/archives/172/</link><pubDate>Tue, 14 May 2024 11:08:25 +0800</pubDate><guid>https://blog.yexca.net/en/archives/172/</guid><description>&lt;h2 id="introduction">introduction
&lt;/h2>&lt;p>Graduation thesis is really torture. When was this article written? The file was created on 2023.11.30 and modified on 2022.09.18. I don’t understand it, but I am shocked.&lt;/p>
&lt;h2 id="code">Code
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-html" data-lang="html">&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">function&lt;/span> &lt;span class="nx">secondToDate&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">second&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="o">!&lt;/span>&lt;span class="nx">second&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">time&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nb">Array&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">second&lt;/span> &lt;span class="o">&amp;gt;=&lt;/span> &lt;span class="mi">365&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">24&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">3600&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">time&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">second&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">365&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">24&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">3600&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">second&lt;/span> &lt;span class="o">%=&lt;/span> &lt;span class="mi">365&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">24&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">3600&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">second&lt;/span> &lt;span class="o">&amp;gt;=&lt;/span> &lt;span class="mi">24&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">3600&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">time&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">second&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">24&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">3600&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">second&lt;/span> &lt;span class="o">%=&lt;/span> &lt;span class="mi">24&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">3600&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">second&lt;/span> &lt;span class="o">&amp;gt;=&lt;/span> &lt;span class="mi">3600&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">time&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">second&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mi">3600&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">second&lt;/span> &lt;span class="o">%=&lt;/span> &lt;span class="mi">3600&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">second&lt;/span> &lt;span class="o">&amp;gt;=&lt;/span> &lt;span class="mi">60&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">time&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">second&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mi">60&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">second&lt;/span> &lt;span class="o">%=&lt;/span> &lt;span class="mi">60&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">second&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">time&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">second&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="nx">time&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&amp;lt;/&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">script&lt;/span> &lt;span class="na">type&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;text/javascript&amp;#34;&lt;/span> &lt;span class="na">language&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;javascript&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">function&lt;/span> &lt;span class="nx">setTime&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">create_time&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">Math&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">round&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">new&lt;/span> &lt;span class="nb">Date&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">Date&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">UTC&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2021&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">11&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">06&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">14&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">15&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">19&lt;/span>&lt;span class="p">)).&lt;/span>&lt;span class="nx">getTime&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mi">1000&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">timestamp&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">Math&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">round&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="k">new&lt;/span> &lt;span class="nb">Date&lt;/span>&lt;span class="p">().&lt;/span>&lt;span class="nx">getTime&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">8&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">60&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">60&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="mi">1000&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="mi">1000&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">currentTime&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">secondToDate&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="nx">timestamp&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="nx">create_time&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">currentTimeHtml&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s1">&amp;#39;This Blog has running: &amp;lt;br/&amp;gt;&amp;#39;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="nx">currentTime&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="s1">&amp;#39; y &amp;#39;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="nx">currentTime&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="s1">&amp;#39; d &amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">+&lt;/span> &lt;span class="nx">currentTime&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="s1">&amp;#39; h &amp;#39;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="nx">currentTime&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="s1">&amp;#39; m &amp;#39;&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="nx">currentTime&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="o">+&lt;/span> &lt;span class="s1">&amp;#39; s&amp;#39;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getElementById&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;htmer_time&amp;#34;&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="nx">innerHTML&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">currentTimeHtml&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span> &lt;span class="nx">setInterval&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">setTime&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1000&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="quote">quote
&lt;/h2>&lt;p>Add it where you want&lt;/p></description></item><item><title>Gateway Service Gateway</title><link>https://blog.yexca.net/en/archives/171/</link><pubDate>Sun, 05 May 2024 00:54:52 +0800</pubDate><guid>https://blog.yexca.net/en/archives/171/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Gateway acts as the unified entry point for all microservices. It handles the following:&lt;/p></description></item><item><title>Feign Remote Calls</title><link>https://blog.yexca.net/en/archives/170/</link><pubDate>Fri, 03 May 2024 23:11:52 +0800</pubDate><guid>https://blog.yexca.net/en/archives/170/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Feign is a declarative HTTP client. GitHub:
&lt;a class="link" href="https://github.com/OpenFeign/feign"
target="_blank" rel="noopener"
>
https://github.com/OpenFeign/feign
&lt;/a>
&lt;/p></description></item><item><title>Nacos Service Registry</title><link>https://blog.yexca.net/en/archives/169/</link><pubDate>Thu, 02 May 2024 22:36:17 +0800</pubDate><guid>https://blog.yexca.net/en/archives/169/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Install the software first. Official website:
&lt;a class="link" href="https://nacos.io/en/"
target="_blank" rel="noopener"
>
https://nacos.io/en/
&lt;/a>
&lt;/p></description></item><item><title>Ribbon Load Balancing</title><link>https://blog.yexca.net/en/archives/168/</link><pubDate>Sun, 28 Apr 2024 15:50:15 +0800</pubDate><guid>https://blog.yexca.net/en/archives/168/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>When a consumer initiates a request, it&amp;rsquo;s intercepted by Ribbon. Ribbon pulls the provider list from Eureka, Eureka returns the list, and Ribbon selects a server based on &lt;code>IRule&lt;/code> to send the request.&lt;/p></description></item><item><title>CSS Box Model</title><link>https://blog.yexca.net/en/archives/167/</link><pubDate>Sat, 13 Apr 2024 22:06:58 +0800</pubDate><guid>https://blog.yexca.net/en/archives/167/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="display-modes">Display Modes
&lt;/h2>&lt;p>Display modes define how elements behave on a page. When laying out a web page, you pick the right display mode for your elements to position content effectively.&lt;/p></description></item><item><title>CSS Background Properties</title><link>https://blog.yexca.net/en/archives/166/</link><pubDate>Wed, 10 Apr 2024 16:21:51 +0800</pubDate><guid>https://blog.yexca.net/en/archives/166/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Here are the background properties:&lt;/p></description></item><item><title>CSS Text Control Properties</title><link>https://blog.yexca.net/en/archives/165/</link><pubDate>Thu, 14 Mar 2024 21:07:15 +0800</pubDate><guid>https://blog.yexca.net/en/archives/165/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Here&amp;rsquo;s what text control properties can handle:&lt;/p></description></item><item><title>CSS's Three Main Features</title><link>https://blog.yexca.net/en/archives/164/</link><pubDate>Mon, 11 Mar 2024 16:38:34 +0800</pubDate><guid>https://blog.yexca.net/en/archives/164/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>CSS&amp;rsquo;s Three Main Features: Inheritance, Cascading, Specificity&lt;/p></description></item><item><title>CSS Selectors</title><link>https://blog.yexca.net/en/archives/163/</link><pubDate>Sat, 02 Mar 2024 17:15:35 +0800</pubDate><guid>https://blog.yexca.net/en/archives/163/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="how-to-include-css">How to Include CSS
&lt;/h2>&lt;p>There are three ways to include CSS. The first is internal stylesheets, typically used for learning only.&lt;/p></description></item><item><title>GoLang OOP</title><link>https://blog.yexca.net/en/archives/162/</link><pubDate>Fri, 01 Mar 2024 15:35:38 +0800</pubDate><guid>https://blog.yexca.net/en/archives/162/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Golang Series&lt;/strong>&lt;/p></description></item><item><title>Service Registry - Eureka</title><link>https://blog.yexca.net/en/archives/161/</link><pubDate>Thu, 29 Feb 2024 16:53:15 +0800</pubDate><guid>https://blog.yexca.net/en/archives/161/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Before diving into service registries, let&amp;rsquo;s define the concepts of Providers and Consumers.&lt;/p></description></item><item><title>GoLang Slices</title><link>https://blog.yexca.net/en/archives/160/</link><pubDate>Tue, 27 Feb 2024 20:00:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/160/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Golang Series&lt;/strong>&lt;/p></description></item><item><title>Linux Scheduled Tasks: crontab</title><link>https://blog.yexca.net/en/archives/159/</link><pubDate>Mon, 26 Feb 2024 21:34:15 +0800</pubDate><guid>https://blog.yexca.net/en/archives/159/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>&lt;del>This article is quite old. The writing style is different from my current one, and it feels a bit strange to read.&lt;/del>&lt;/p></description></item><item><title>Hi SpringCloud</title><link>https://blog.yexca.net/en/archives/158/</link><pubDate>Sun, 25 Feb 2024 17:56:54 +0800</pubDate><guid>https://blog.yexca.net/en/archives/158/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="service-architecture">Service Architecture
&lt;/h2>&lt;h3 id="monolithic-architecture">Monolithic Architecture
&lt;/h3>&lt;p>All business functions are integrated into a single project, packaged as one unit for deployment.&lt;/p></description></item><item><title>Redis</title><link>https://blog.yexca.net/en/archives/157/</link><pubDate>Fri, 23 Feb 2024 16:40:34 +0800</pubDate><guid>https://blog.yexca.net/en/archives/157/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>Redis Basics: This article&lt;br>
Redis Distributed Cache:
&lt;a class="link" href="https://blog.yexca.net/en/archives/225/"
>
https://blog.yexca.net/en/archives/225/
&lt;/a>
&lt;/p></description></item><item><title>GoLang Functions</title><link>https://blog.yexca.net/en/archives/156/</link><pubDate>Thu, 22 Feb 2024 04:47:28 +0800</pubDate><guid>https://blog.yexca.net/en/archives/156/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>GoLang Series&lt;/strong>&lt;/p></description></item><item><title>GoLang Variables and Constants</title><link>https://blog.yexca.net/en/archives/155/</link><pubDate>Tue, 20 Feb 2024 06:41:18 +0800</pubDate><guid>https://blog.yexca.net/en/archives/155/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>GoLang Series&lt;/strong>&lt;/p></description></item><item><title>Hello GoLang</title><link>https://blog.yexca.net/en/archives/154/</link><pubDate>Mon, 19 Feb 2024 07:58:37 +0800</pubDate><guid>https://blog.yexca.net/en/archives/154/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>Golang Series&lt;/strong>&lt;/p></description></item><item><title>Installing Xfce on CentOS 7</title><link>https://blog.yexca.net/en/archives/153/</link><pubDate>Sat, 17 Feb 2024 22:51:34 +0800</pubDate><guid>https://blog.yexca.net/en/archives/153/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>&lt;del>When did I even write this? (&lt;/del>&lt;/p></description></item><item><title>WeChat Login Backend</title><link>https://blog.yexca.net/en/archives/152/</link><pubDate>Sat, 10 Feb 2024 18:09:17 +0800</pubDate><guid>https://blog.yexca.net/en/archives/152/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Happy Lunar Year!&lt;/p></description></item><item><title>Understanding WeChat Mini Programs</title><link>https://blog.yexca.net/en/archives/151/</link><pubDate>Wed, 31 Jan 2024 16:50:34 +0800</pubDate><guid>https://blog.yexca.net/en/archives/151/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Official Website:
&lt;a class="link" href="https://mp.weixin.qq.com/cgi-bin/wx"
target="_blank" rel="noopener"
>
https://mp.weixin.qq.com/cgi-bin/wx
&lt;/a>
&lt;/p></description></item><item><title>HTML Learning Part Two - Lists, Tables, and Forms</title><link>https://blog.yexca.net/en/archives/150/</link><pubDate>Mon, 29 Jan 2024 13:24:25 +0800</pubDate><guid>https://blog.yexca.net/en/archives/150/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>HTML Learning Part One - Basics:
&lt;a class="link" href="https://blog.yexca.net/en/archives/146"
>
https://blog.yexca.net/en/archives/146
&lt;/a>
&lt;br>
HTML Learning Part Two - Lists, Tables, and Forms:
&lt;a class="link" href="https://blog.yexca.net/en/archives/150"
>
https://blog.yexca.net/en/archives/150
&lt;/a>
&lt;br>
HTML Learning Part Three - Web Layout:
&lt;a class="link" href="https://blog.yexca.net/en/archives/195"
>
https://blog.yexca.net/en/archives/195
&lt;/a>
&lt;/p></description></item><item><title>Running Scripts on Fedora Boot</title><link>https://blog.yexca.net/en/archives/149/</link><pubDate>Sun, 28 Jan 2024 14:25:58 +0800</pubDate><guid>https://blog.yexca.net/en/archives/149/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Seriously, don&amp;rsquo;t put infinite loops in here!!! We&amp;rsquo;re using the systemd way.&lt;/p></description></item><item><title>Learning JavaScript</title><link>https://blog.yexca.net/en/archives/148/</link><pubDate>Mon, 22 Jan 2024 19:51:24 +0800</pubDate><guid>https://blog.yexca.net/en/archives/148/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>JS is a cross-platform, object-oriented scripting language used to control webpage behavior and make pages interactive.&lt;/p></description></item><item><title>Three-Tier Architecture and Layered Decoupling</title><link>https://blog.yexca.net/en/archives/147/</link><pubDate>Fri, 19 Jan 2024 10:37:15 +0800</pubDate><guid>https://blog.yexca.net/en/archives/147/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="case-introduction">Case Introduction
&lt;/h2>&lt;p>Get employee data, return a unified response, and render it on the page.&lt;/p></description></item><item><title>HTML Learning Part One - Basics</title><link>https://blog.yexca.net/en/archives/146/</link><pubDate>Thu, 18 Jan 2024 14:43:34 +0800</pubDate><guid>https://blog.yexca.net/en/archives/146/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>HTML Learning Part One - Basics:
&lt;a class="link" href="https://blog.yexca.net/en/archives/146"
>
https://blog.yexca.net/en/archives/146
&lt;/a>
&lt;br>
HTML Learning Part Two - Lists, Tables, and Forms:
&lt;a class="link" href="https://blog.yexca.net/en/archives/150"
>
https://blog.yexca.net/en/archives/150
&lt;/a>
&lt;br>
HTML Learning Part Three - Web Page Layout:
&lt;a class="link" href="https://blog.yexca.net/en/archives/195"
>
https://blog.yexca.net/en/archives/195
&lt;/a>
&lt;/p></description></item><item><title>Structured Development</title><link>https://blog.yexca.net/en/archives/145/</link><pubDate>Tue, 16 Jan 2024 08:10:10 +0800</pubDate><guid>https://blog.yexca.net/en/archives/145/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="core-principles-of-system-design">Core Principles of System Design
&lt;/h2>&lt;p>Abstraction, Modularity, Information Hiding, Module Independence&lt;/p></description></item><item><title>Spring Request and Response</title><link>https://blog.yexca.net/en/archives/144/</link><pubDate>Sun, 14 Jan 2024 16:47:28 +0800</pubDate><guid>https://blog.yexca.net/en/archives/144/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>When a browser sends a request, it first goes through the DispatcherServlet, which forwards it to the various *Controller programs for processing. After processing, the result is returned to the DispatcherServlet, and then sent back to the browser.&lt;/p></description></item><item><title>Learning Maven</title><link>https://blog.yexca.net/en/archives/143/</link><pubDate>Sat, 13 Jan 2024 23:58:42 +0800</pubDate><guid>https://blog.yexca.net/en/archives/143/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Maven is a tool for managing and building Java projects.&lt;/p></description></item><item><title>Intro to JavaWeb</title><link>https://blog.yexca.net/en/archives/142/</link><pubDate>Wed, 10 Jan 2024 17:53:18 +0800</pubDate><guid>https://blog.yexca.net/en/archives/142/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="springboot-getting-started-example">SpringBoot Getting Started Example
&lt;/h2>&lt;p>Goal: Build a web application using SpringBoot where a browser request to &lt;code>/hello&lt;/code> returns the string &amp;ldquo;Hello Spring&amp;rdquo;.&lt;/p></description></item><item><title>Docker: Building and Pushing H5 Images</title><link>https://blog.yexca.net/en/archives/141/</link><pubDate>Tue, 09 Jan 2024 21:50:25 +0800</pubDate><guid>https://blog.yexca.net/en/archives/141/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Create a new directory and place your web files into &lt;code>./dist&lt;/code>.&lt;/p></description></item><item><title>Design Patterns Index</title><link>https://blog.yexca.net/en/archives/140/</link><pubDate>Wed, 27 Dec 2023 16:14:15 +0800</pubDate><guid>https://blog.yexca.net/en/archives/140/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Brief intro to design patterns&lt;/p></description></item><item><title>Visitor Pattern</title><link>https://blog.yexca.net/en/archives/139/</link><pubDate>Tue, 26 Dec 2023 16:09:09 +0800</pubDate><guid>https://blog.yexca.net/en/archives/139/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Visitor Pattern: A Behavioral Design Pattern&lt;/p></description></item><item><title>Template Method Pattern</title><link>https://blog.yexca.net/en/archives/138/</link><pubDate>Mon, 25 Dec 2023 21:06:06 +0800</pubDate><guid>https://blog.yexca.net/en/archives/138/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Template Method Pattern: Class Behavioral Pattern&lt;/p></description></item><item><title>Strategy Pattern</title><link>https://blog.yexca.net/en/archives/137/</link><pubDate>Sun, 24 Dec 2023 18:30:30 +0800</pubDate><guid>https://blog.yexca.net/en/archives/137/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Strategy Pattern: Object Behavioral Pattern&lt;/p></description></item><item><title>State Pattern</title><link>https://blog.yexca.net/en/archives/136/</link><pubDate>Fri, 22 Dec 2023 15:11:16 +0800</pubDate><guid>https://blog.yexca.net/en/archives/136/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>State Pattern (Object Behavioral Pattern)&lt;/p></description></item><item><title>Ajax and Axios</title><link>https://blog.yexca.net/en/archives/135/</link><pubDate>Thu, 21 Dec 2023 13:32:15 +0800</pubDate><guid>https://blog.yexca.net/en/archives/135/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Asynchronous JavaScript And XML (AJAX). What it does:&lt;/p></description></item><item><title>Observer Pattern</title><link>https://blog.yexca.net/en/archives/134/</link><pubDate>Thu, 21 Dec 2023 01:18:25 +0800</pubDate><guid>https://blog.yexca.net/en/archives/134/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Observer Pattern (Behavioral Object Pattern)&lt;/p></description></item><item><title>hvdb Registration Monitoring</title><link>https://blog.yexca.net/en/archives/133/</link><pubDate>Sat, 02 Dec 2023 21:23:01 +0800</pubDate><guid>https://blog.yexca.net/en/archives/133/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong>
This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;div class="notice warn">&lt;strong>⚠️&lt;/strong>
I do not have an account or an invitation code. Please refrain from contacting me regarding invitations, as I cannot help you.
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>I&amp;rsquo;ve been into ASMR and doujin voice works since&amp;hellip; well, I don&amp;rsquo;t remember exactly when. High prices naturally drive me to search the vast internet, which led me to this site. However, the site only shows full content to logged-in users, and registration is almost never open except at random intervals. This made me curious.&lt;/p></description></item><item><title>Memento Pattern</title><link>https://blog.yexca.net/en/archives/132/</link><pubDate>Mon, 27 Nov 2023 14:08:05 +0800</pubDate><guid>https://blog.yexca.net/en/archives/132/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Memento Pattern: Object Behavioral Pattern&lt;/p></description></item><item><title>2023 New Server Deployment Log</title><link>https://blog.yexca.net/en/archives/131/</link><pubDate>Fri, 03 Nov 2023 15:34:01 +0800</pubDate><guid>https://blog.yexca.net/en/archives/131/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>After moving my blog to GitHub, I didn&amp;rsquo;t plan on buying any more servers. Maybe it&amp;rsquo;s because things have been too quiet lately and I felt like tinkering, or maybe it&amp;rsquo;s that &amp;ldquo;I might not need it, but I must have it&amp;rdquo; mindset, but I ended up making an impulse purchase.&lt;/p></description></item><item><title>NetEase Cloud Music 2020-2022 Annual Reports</title><link>https://blog.yexca.net/en/archives/130/</link><pubDate>Sun, 29 Oct 2023 23:45:01 +0800</pubDate><guid>https://blog.yexca.net/en/archives/130/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="links">Links
&lt;/h2>&lt;p>View via mobile (tested on iOS).&lt;/p></description></item><item><title>Linux Learning Index</title><link>https://blog.yexca.net/en/archives/129/</link><pubDate>Sat, 21 Oct 2023 14:18:15 +0800</pubDate><guid>https://blog.yexca.net/en/archives/129/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Written in Dec 2022. Remained unpublished for various reasons until now.&lt;/p></description></item><item><title>Mediator Pattern</title><link>https://blog.yexca.net/en/archives/128/</link><pubDate>Sun, 15 Oct 2023 17:14:26 +0800</pubDate><guid>https://blog.yexca.net/en/archives/128/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Mediator Pattern - Object Behavioral Pattern&lt;/p></description></item><item><title>Iterator Pattern</title><link>https://blog.yexca.net/en/archives/127/</link><pubDate>Thu, 12 Oct 2023 09:09:24 +0800</pubDate><guid>https://blog.yexca.net/en/archives/127/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Iterator Pattern - Object Behavioral Pattern&lt;/p></description></item><item><title>Interpreter Pattern</title><link>https://blog.yexca.net/en/archives/126/</link><pubDate>Mon, 09 Oct 2023 17:31:58 +0800</pubDate><guid>https://blog.yexca.net/en/archives/126/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Interpreter Pattern: Class Behavioral Pattern&lt;/p></description></item><item><title>Command Pattern</title><link>https://blog.yexca.net/en/archives/125/</link><pubDate>Sun, 10 Sep 2023 15:26:55 +0800</pubDate><guid>https://blog.yexca.net/en/archives/125/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Command Pattern: A Behavioral Design Pattern&lt;/p></description></item><item><title>Chain of Responsibility Pattern</title><link>https://blog.yexca.net/en/archives/124/</link><pubDate>Sat, 09 Sep 2023 07:02:55 +0800</pubDate><guid>https://blog.yexca.net/en/archives/124/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Chain of Responsibility Pattern (Object Behavioral Pattern)&lt;/p></description></item><item><title>Proxy Pattern</title><link>https://blog.yexca.net/en/archives/123/</link><pubDate>Fri, 08 Sep 2023 12:15:26 +0800</pubDate><guid>https://blog.yexca.net/en/archives/123/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Proxy Pattern - Object Structural Pattern&lt;/p></description></item><item><title>Flyweight Pattern</title><link>https://blog.yexca.net/en/archives/122/</link><pubDate>Thu, 07 Sep 2023 13:54:55 +0800</pubDate><guid>https://blog.yexca.net/en/archives/122/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Flyweight Pattern - Structural Pattern&lt;/p></description></item><item><title>Facade Pattern</title><link>https://blog.yexca.net/en/archives/121/</link><pubDate>Wed, 06 Sep 2023 03:02:02 +0800</pubDate><guid>https://blog.yexca.net/en/archives/121/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Facade Pattern: Object Structural Pattern&lt;/p></description></item><item><title>Decorator Pattern</title><link>https://blog.yexca.net/en/archives/120/</link><pubDate>Tue, 05 Sep 2023 21:45:45 +0800</pubDate><guid>https://blog.yexca.net/en/archives/120/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Decorator Pattern: A Structural Design Pattern&lt;/p></description></item><item><title>Composite Pattern</title><link>https://blog.yexca.net/en/archives/119/</link><pubDate>Sun, 03 Sep 2023 15:44:45 +0800</pubDate><guid>https://blog.yexca.net/en/archives/119/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Composite Pattern (Object Structural Pattern)&lt;/p></description></item><item><title>Bridge Pattern</title><link>https://blog.yexca.net/en/archives/118/</link><pubDate>Sat, 02 Sep 2023 17:34:34 +0800</pubDate><guid>https://blog.yexca.net/en/archives/118/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Bridge Pattern: Object Structural Pattern&lt;/p></description></item><item><title>Adapter Pattern</title><link>https://blog.yexca.net/en/archives/117/</link><pubDate>Fri, 01 Sep 2023 15:03:03 +0800</pubDate><guid>https://blog.yexca.net/en/archives/117/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Adapter Pattern: Class Structural / Object Structural Patterns&lt;/p></description></item><item><title>Redirecting a Domain to a URL with a Path Using CNAME</title><link>https://blog.yexca.net/en/archives/116/</link><pubDate>Mon, 28 Aug 2023 15:31:01 +0800</pubDate><guid>https://blog.yexca.net/en/archives/116/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>I thought about doing this back when I had my own server, but since I could just set up another site on the server to solve it, I never looked into it deeply. Now that my server has expired and I&amp;rsquo;ve moved my blog to GitHub, that&amp;rsquo;s no longer an option. So, I went looking for a solution.&lt;/p></description></item><item><title>Singleton Pattern</title><link>https://blog.yexca.net/en/archives/115/</link><pubDate>Wed, 05 Jul 2023 13:58:25 +0800</pubDate><guid>https://blog.yexca.net/en/archives/115/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Singleton Pattern: Object Creational Pattern&lt;/p></description></item><item><title>IP Rules for THE IDOLM@STER MILLION LIVE!</title><link>https://blog.yexca.net/en/archives/114/</link><pubDate>Fri, 09 Jun 2023 23:32:09 +0800</pubDate><guid>https://blog.yexca.net/en/archives/114/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Recently, I couldn&amp;rsquo;t connect while playing Mirishita, so I looked for a solution. (Also testing a Spotify embed—this theme doesn&amp;rsquo;t support direct H5 parsing, and I&amp;rsquo;m too lazy to fix it.)&lt;/p></description></item><item><title>Prototype Pattern</title><link>https://blog.yexca.net/en/archives/113/</link><pubDate>Fri, 02 Jun 2023 19:31:44 +0800</pubDate><guid>https://blog.yexca.net/en/archives/113/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Prototype Pattern - Creational Pattern&lt;/p></description></item><item><title>Builder Pattern</title><link>https://blog.yexca.net/en/archives/112/</link><pubDate>Thu, 01 Jun 2023 23:33:17 +0800</pubDate><guid>https://blog.yexca.net/en/archives/112/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Builder Pattern - Creational Pattern&lt;/p></description></item><item><title>Factory Pattern</title><link>https://blog.yexca.net/en/archives/111/</link><pubDate>Sun, 28 May 2023 10:23:46 +0800</pubDate><guid>https://blog.yexca.net/en/archives/111/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="simple-factory-pattern">Simple Factory Pattern
&lt;/h2>&lt;p>Simple Factory is a creational pattern, but it is &lt;strong>not&lt;/strong> one of the 23 standard GoF design patterns.&lt;/p></description></item><item><title>Algorithm: Rod-Cutting Problem (Dynamic Programming vs Divide and Conquer)</title><link>https://blog.yexca.net/en/archives/110/</link><pubDate>Sat, 27 May 2023 19:37:08 +0800</pubDate><guid>https://blog.yexca.net/en/archives/110/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="problem-description">Problem Description
&lt;/h2>&lt;p>A company buys long steel rods and cuts them for sale. Cutting costs are negligible. Rod lengths are in inches. Given a price table $p$, where $p_{i}(i=1,2,\cdots,m)$ represents the price of a rod of length $i$ inches, find the cutting scheme that maximizes total revenue.&lt;/p></description></item><item><title>Algorithm: Counterfeit Coin Problem (Divide and Conquer)</title><link>https://blog.yexca.net/en/archives/109/</link><pubDate>Thu, 18 May 2023 20:17:35 +0800</pubDate><guid>https://blog.yexca.net/en/archives/109/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="problem-description">Problem Description
&lt;/h2>&lt;p>You have $n$ coins. One of them is a counterfeit and is known to be lighter than the genuine coins. Using only a balance scale, find the counterfeit coin with the minimum number of comparisons.&lt;/p></description></item><item><title>Intro to Design Patterns</title><link>https://blog.yexca.net/en/archives/108/</link><pubDate>Wed, 17 May 2023 22:50:20 +0800</pubDate><guid>https://blog.yexca.net/en/archives/108/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>&amp;ldquo;Each design pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.&amp;rdquo; The core of design patterns is providing solutions to recurring problems, allowing developers to easily reuse successful designs and architectures.&lt;/p></description></item><item><title>Honkai: Star Rail Global Server Split Tunneling Rules</title><link>https://blog.yexca.net/en/archives/107/</link><pubDate>Tue, 16 May 2023 23:13:21 +0800</pubDate><guid>https://blog.yexca.net/en/archives/107/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Split tunneling rules for addressing connection issues from mainland China.&lt;/p></description></item><item><title>Algorithm: Circuit Routing Problem (Dynamic Programming)</title><link>https://blog.yexca.net/en/archives/106/</link><pubDate>Tue, 16 May 2023 17:53:31 +0800</pubDate><guid>https://blog.yexca.net/en/archives/106/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="problem-description">Problem Description
&lt;/h2>&lt;p>A circuit board has $n$ terminals on both the top and bottom sides. According to the circuit design, $(i, \pi(i))$ represents a connection between the top terminal $i$ and the bottom terminal $\pi(i)$, referred to as the $i$-th net.&lt;/p></description></item><item><title>Building a Personal Music Website</title><link>https://blog.yexca.net/en/archives/105/</link><pubDate>Tue, 02 May 2023 02:27:39 +0800</pubDate><guid>https://blog.yexca.net/en/archives/105/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Use Rclone to mount OneDrive music files and Navidrome to build the website, both deployed using Docker.&lt;/p></description></item><item><title>Diagrams in UML</title><link>https://blog.yexca.net/en/archives/104/</link><pubDate>Thu, 13 Apr 2023 20:02:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/104/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>A Diagram is a visual representation of elements. Most of the time, we draw diagrams as connected graphs with vertices (representing &amp;rsquo;things&amp;rsquo;) and arcs (representing relationships). To visualize a system, you can draw diagrams from different angles; they&amp;rsquo;re essentially projections of the system.&lt;/p></description></item><item><title>UML</title><link>https://blog.yexca.net/en/archives/103/</link><pubDate>Tue, 11 Apr 2023 08:01:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/103/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Object-oriented analysis focuses on defining the characteristics and behaviors of objects within a system. Many object-oriented methods have emerged internationally. The industry widely accepts UML (Unified Modeling Language).&lt;/p></description></item><item><title>Server Docker Deployment Record</title><link>https://blog.yexca.net/en/archives/102/</link><pubDate>Tue, 04 Apr 2023 22:31:45 +0800</pubDate><guid>https://blog.yexca.net/en/archives/102/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>It took three months from the initial idea to full implementation &lt;del>(mostly because I was too lazy)&lt;/del>.&lt;/p></description></item><item><title>Software Engineering - Software Quality and Software Tools</title><link>https://blog.yexca.net/en/archives/101/</link><pubDate>Mon, 03 Apr 2023 19:59:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/101/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Software Engineering Series Article 6&lt;/p></description></item><item><title>Software Engineering - Software Project Management</title><link>https://blog.yexca.net/en/archives/100/</link><pubDate>Sun, 02 Apr 2023 06:58:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/100/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Software Engineering Series - Article 5&lt;/p></description></item><item><title>Software Engineering - System Maintenance Overview</title><link>https://blog.yexca.net/en/archives/99/</link><pubDate>Fri, 31 Mar 2023 07:57:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/99/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Software Engineering Series - Part 4&lt;/p></description></item><item><title>Software Engineering - System Testing</title><link>https://blog.yexca.net/en/archives/98/</link><pubDate>Wed, 29 Mar 2023 19:56:57 +0800</pubDate><guid>https://blog.yexca.net/en/archives/98/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Software Engineering Series - Article 3&lt;/p></description></item><item><title>Software Engineering - Requirements Analysis and System Design</title><link>https://blog.yexca.net/en/archives/97/</link><pubDate>Wed, 29 Mar 2023 17:04:45 +0800</pubDate><guid>https://blog.yexca.net/en/archives/97/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Software Engineering Series Article Two&lt;/p></description></item><item><title>Software Engineering - Software Process and Software Process Models</title><link>https://blog.yexca.net/en/archives/96/</link><pubDate>Tue, 28 Mar 2023 15:45:47 +0800</pubDate><guid>https://blog.yexca.net/en/archives/96/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Software Engineering Series Article One&lt;/p></description></item><item><title>Learning Git</title><link>https://blog.yexca.net/en/archives/95/</link><pubDate>Sun, 05 Mar 2023 15:03:43 +0800</pubDate><guid>https://blog.yexca.net/en/archives/95/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Here is a summary of the Git-related content I&amp;rsquo;ve learned.&lt;/p></description></item><item><title>Using a Database to Track Downloaded Artist Artworks</title><link>https://blog.yexca.net/en/archives/94/</link><pubDate>Thu, 02 Mar 2023 10:16:38 +0800</pubDate><guid>https://blog.yexca.net/en/archives/94/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Following the principle that &amp;ldquo;it&amp;rsquo;s not yours unless it&amp;rsquo;s on your own hard drive,&amp;rdquo; and with my phone&amp;rsquo;s growing image collection desperately needing an offload to save storage, I decided to download and organize artworks by artist. I needed a way to record progress and query/update data quickly. I originally used a Markdown list, but as the artist count grew, searching became way too slow.&lt;/p></description></item><item><title>Object-Oriented Basics</title><link>https://blog.yexca.net/en/archives/93/</link><pubDate>Sat, 25 Feb 2023 19:34:30 +0800</pubDate><guid>https://blog.yexca.net/en/archives/93/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Object-Oriented (OO) is a highly practical, systematic approach to software development.&lt;/p></description></item><item><title>Database Study Seven: Database Control Functions</title><link>https://blog.yexca.net/en/archives/92/</link><pubDate>Sun, 12 Feb 2023 08:15:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/92/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>SQL Series&lt;/strong>&lt;/p></description></item><item><title>Database Learning 6: Database Design</title><link>https://blog.yexca.net/en/archives/91/</link><pubDate>Sat, 11 Feb 2023 08:15:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/91/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>SQL Series&lt;/strong>&lt;/p></description></item><item><title>Database Study Five: Normal Forms</title><link>https://blog.yexca.net/en/archives/90/</link><pubDate>Fri, 10 Feb 2023 08:13:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/90/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>&lt;strong>SQL Series&lt;/strong>&lt;/p></description></item><item><title>Relational Database Theory: Database Learning Part 4</title><link>https://blog.yexca.net/en/archives/89/</link><pubDate>Thu, 09 Feb 2023 08:10:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/89/</guid><description>&lt;blockquote>
&lt;p>&lt;strong>SQL Series&lt;/strong>&lt;/p>
&lt;p>Database Learning 1: Introduction to Databases:
&lt;a class="link" href="https://blog.yexca.net/en/archives/86"
>
https://blog.yexca.net/en/archives/86
&lt;/a>
&lt;br>
Database Learning 2: Relational Model:
&lt;a class="link" href="https://blog.yexca.net/en/archives/87"
>
https://blog.yexca.net/en/archives/87
&lt;/a>
&lt;br>
Database Learning 3: SQL Language:
&lt;a class="link" href="https://blog.yexca.net/en/archives/88"
>
https://blog.yexca.net/en/archives/88
&lt;/a>
&lt;br>
Database Learning 4: Relational Database Theory: This Article&lt;br>
Database Learning 5: Normalization:
&lt;a class="link" href="https://blog.yexca.net/en/archives/90"
>
https://blog.yexca.net/en/archives/90
&lt;/a>
&lt;br>
Database Learning 6: Database Design:
&lt;a class="link" href="https://blog.yexca.net/en/archives/91"
>
https://blog.yexca.net/en/archives/91
&lt;/a>
&lt;br>
Database Learning 7: Database Control Functions:
&lt;a class="link" href="https://blog.yexca.net/en/archives/92"
>
https://blog.yexca.net/en/archives/92
&lt;/a>
&lt;/p>
&lt;/blockquote>
&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="relational-schema">Relational Schema
&lt;/h2>&lt;p>A relational schema is formally defined as a 5-tuple (including the relation name):&lt;/p></description></item><item><title>Database Learning Part 3: SQL</title><link>https://blog.yexca.net/en/archives/88/</link><pubDate>Wed, 08 Feb 2023 08:00:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/88/</guid><description>&lt;blockquote>
&lt;p>&lt;strong>SQL Series&lt;/strong>&lt;/p>
&lt;p>Database Learning 1: Introduction:
&lt;a class="link" href="https://blog.yexca.net/en/archives/86"
>
https://blog.yexca.net/en/archives/86
&lt;/a>
&lt;br>
Database Learning 2: Relational Model:
&lt;a class="link" href="https://blog.yexca.net/en/archives/87"
>
https://blog.yexca.net/en/archives/87
&lt;/a>
&lt;br>
Database Learning 3: SQL: This article&lt;br>
Database Learning 4: Relational Database Theory:
&lt;a class="link" href="https://blog.yexca.net/en/archives/89"
>
https://blog.yexca.net/en/archives/89
&lt;/a>
&lt;br>
Database Learning 5: Normal Forms:
&lt;a class="link" href="https://blog.yexca.net/en/archives/90"
>
https://blog.yexca.net/en/archives/90
&lt;/a>
&lt;br>
Database Learning 6: Database Design:
&lt;a class="link" href="https://blog.yexca.net/en/archives/91"
>
https://blog.yexca.net/en/archives/91
&lt;/a>
&lt;br>
Database Learning 7: Database Control Functions:
&lt;a class="link" href="https://blog.yexca.net/en/archives/92"
>
https://blog.yexca.net/en/archives/92
&lt;/a>
&lt;/p>
&lt;/blockquote>
&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="sql-classification">SQL Classification
&lt;/h2>&lt;ul>
&lt;li>DDL (Data Definition Language)&lt;/li>
&lt;/ul>
&lt;p>In a database system, every database, table, view, and index is an object. DDL is used to create and delete these objects. DDL includes commands like &lt;code>CREATE&lt;/code>, &lt;code>ALTER&lt;/code>, and &lt;code>DROP&lt;/code>.&lt;/p></description></item><item><title>Database Learning 2: The Relational Model</title><link>https://blog.yexca.net/en/archives/87/</link><pubDate>Tue, 07 Feb 2023 06:00:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/87/</guid><description>&lt;blockquote>
&lt;p>&lt;strong>SQL Series&lt;/strong>&lt;/p>
&lt;p>Database Learning 1: Introduction:
&lt;a class="link" href="https://blog.yexca.net/en/archives/86"
>
https://blog.yexca.net/en/archives/86
&lt;/a>
&lt;br>
Database Learning 2: Relational Model: This article&lt;br>
Database Learning 3: SQL Language:
&lt;a class="link" href="https://blog.yexca.net/en/archives/88"
>
https://blog.yexca.net/en/archives/88
&lt;/a>
&lt;br>
Database Learning 4: Relational Database Theory:
&lt;a class="link" href="https://blog.yexca.net/en/archives/89"
>
https://blog.yexca.net/en/archives/89
&lt;/a>
&lt;br>
Database Learning 5: Normal Forms:
&lt;a class="link" href="https://blog.yexca.net/en/archives/90"
>
https://blog.yexca.net/en/archives/90
&lt;/a>
&lt;br>
Database Learning 6: Database Design:
&lt;a class="link" href="https://blog.yexca.net/en/archives/91"
>
https://blog.yexca.net/en/archives/91
&lt;/a>
&lt;br>
Database Learning 7: Database Control Functions:
&lt;a class="link" href="https://blog.yexca.net/en/archives/92"
>
https://blog.yexca.net/en/archives/92
&lt;/a>
&lt;/p>
&lt;/blockquote>
&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="basic-terms-in-the-relational-model">Basic Terms in the Relational Model
&lt;/h2>&lt;p>A relational database system is a database system that supports the relational model. Here are some basic terms:&lt;/p></description></item><item><title>Database Learning 1: Introduction to Databases</title><link>https://blog.yexca.net/en/archives/86/</link><pubDate>Mon, 06 Feb 2023 19:57:35 +0800</pubDate><guid>https://blog.yexca.net/en/archives/86/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>My previous database notes were a bit of a mess, so I&amp;rsquo;m rewriting them while reviewing the material (though this might still be a bit disorganized).&lt;/p></description></item><item><title>Learning Linux Chapter 12: Managing Disks and Filesystems</title><link>https://blog.yexca.net/en/archives/85/</link><pubDate>Tue, 03 Jan 2023 13:37:48 +0800</pubDate><guid>https://blog.yexca.net/en/archives/85/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="chapter-12-managing-disks-and-filesystems">Chapter 12: Managing Disks and Filesystems
&lt;/h2>&lt;h3 id="121-understanding-disk-storage">12.1 Understanding Disk Storage
&lt;/h3>&lt;p>The fundamental principles of data storage are similar across most modern operating systems. Disks serve as permanent storage, while RAM (Random Access Memory) and swap space are used for temporary storage. For instance, when you run a command, it&amp;rsquo;s copied from the hard drive to RAM so the CPU (Central Processing Unit) can access it faster.&lt;/p></description></item><item><title>Linux Learning Chapter 11: Managing User Accounts</title><link>https://blog.yexca.net/en/archives/84/</link><pubDate>Mon, 02 Jan 2023 12:29:03 +0800</pubDate><guid>https://blog.yexca.net/en/archives/84/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="chapter-11-managing-user-accounts">Chapter 11: Managing User Accounts
&lt;/h2>&lt;p>User accounts maintain the boundary between the people using the system and the processes running within it. Groups are a method for assigning system permissions to multiple users at once.&lt;/p></description></item><item><title>Linux Learning Chapter 10: Getting and Managing Software</title><link>https://blog.yexca.net/en/archives/83/</link><pubDate>Thu, 08 Dec 2022 16:35:57 +0800</pubDate><guid>https://blog.yexca.net/en/archives/83/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="chapter-10-getting-and-managing-software">Chapter 10: Getting and Managing Software
&lt;/h2>&lt;h3 id="101-managing-software-on-the-desktop">10.1 Managing Software on the Desktop
&lt;/h3>&lt;p>Manage via software centers and GUIs.&lt;/p></description></item><item><title>Linux Learning Chapters 8 &amp; 9: System Administration and Installing Linux</title><link>https://blog.yexca.net/en/archives/82/</link><pubDate>Wed, 07 Dec 2022 16:29:05 +0800</pubDate><guid>https://blog.yexca.net/en/archives/82/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="chapter-8-learning-system-administration">Chapter 8 Learning System Administration
&lt;/h2>&lt;h3 id="81-understanding-system-administration">8.1 Understanding System Administration
&lt;/h3>&lt;ul>
&lt;li>
&lt;p>su command &amp;mdash; Opens a shell as the root user.&lt;/p></description></item><item><title>Linux Learning Chapter 7: Writing Simple Shell Scripts</title><link>https://blog.yexca.net/en/archives/81/</link><pubDate>Mon, 05 Dec 2022 20:47:43 +0800</pubDate><guid>https://blog.yexca.net/en/archives/81/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="chapter-7-writing-simple-shell-scripts">Chapter 7: Writing Simple Shell Scripts
&lt;/h2>&lt;p>If you need to perform a task repeatedly that requires many command lines, you can write a shell script to get the job done with a single command.&lt;/p></description></item><item><title>My Thoughts on "Manga Guide to Digital Electronics"</title><link>https://blog.yexca.net/en/archives/80/</link><pubDate>Sun, 04 Dec 2022 16:54:29 +0800</pubDate><guid>https://blog.yexca.net/en/archives/80/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Recently, I read &amp;ldquo;Manga Guide to Digital Electronics.&amp;rdquo; Here are some quick notes.&lt;/p></description></item><item><title>Linux Learning Chapter 6: Managing Running Processes</title><link>https://blog.yexca.net/en/archives/79/</link><pubDate>Sat, 03 Dec 2022 15:07:03 +0800</pubDate><guid>https://blog.yexca.net/en/archives/79/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="chapter-6-managing-running-processes">Chapter 6: Managing Running Processes
&lt;/h2>&lt;p>Linux is a multi-user, multi-tasking operating system. Multi-tasking means multiple programs can run simultaneously. An instance of a running program is called a process.&lt;/p></description></item><item><title>Linux Learning Chapter 5: Working with Text Files</title><link>https://blog.yexca.net/en/archives/78/</link><pubDate>Sat, 19 Nov 2022 21:07:03 +0800</pubDate><guid>https://blog.yexca.net/en/archives/78/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="chapter-5-working-with-text-files">Chapter 5: Working with Text Files
&lt;/h2>&lt;p>Most Linux configuration is done by editing plain text files. Whether you&amp;rsquo;re modifying files in the &lt;code>/etc&lt;/code> directory to configure local services or editing Ansible playbooks to manage hosts, plain text files are everywhere in these tasks.&lt;/p></description></item><item><title>NovelAI Image Generation (WebUI)</title><link>https://blog.yexca.net/en/archives/77/</link><pubDate>Sun, 30 Oct 2022 16:23:07 +0800</pubDate><guid>https://blog.yexca.net/en/archives/77/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash-lite
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Deploying on Windows 11. For other systems (like Linux), refer to:
&lt;a class="link" href="https://github.com/AUTOMATIC1111/stable-diffusion-webui#automatic-installation-on-linux"
target="_blank" rel="noopener"
>
AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI
&lt;/a>
&lt;/p></description></item><item><title>Arch Linux Installation Log in a VM</title><link>https://blog.yexca.net/en/archives/76/</link><pubDate>Sun, 02 Oct 2022 13:39:26 +0800</pubDate><guid>https://blog.yexca.net/en/archives/76/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>Installing in a VM, using Fedora&amp;rsquo;s &lt;em>Boxes&lt;/em> software.&lt;/p></description></item><item><title>Linux Learning Chapter 4: Moving Around the File System</title><link>https://blog.yexca.net/en/archives/75/</link><pubDate>Sun, 25 Sep 2022 20:35:02 +0800</pubDate><guid>https://blog.yexca.net/en/archives/75/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="chapter-4-moving-around-the-file-system">Chapter 4: Moving Around the File System
&lt;/h2>&lt;p>The Linux file system stores all information on the computer.&lt;/p></description></item><item><title>Fedora Desktop Customization</title><link>https://blog.yexca.net/en/archives/74/</link><pubDate>Sun, 18 Sep 2022 11:10:58 +0800</pubDate><guid>https://blog.yexca.net/en/archives/74/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>This should be my last time tweaking things for a while. After enabling a lot of plugins, the desktop takes quite a while to appear after booting. I&amp;rsquo;ll need to disable some unused ones later.&lt;/p></description></item><item><title>Personal Intranet Tinkering</title><link>https://blog.yexca.net/en/archives/73/</link><pubDate>Fri, 16 Sep 2022 15:00:01 +0800</pubDate><guid>https://blog.yexca.net/en/archives/73/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Humans always pursue something better once they have the basics; desire is endless. I wanted a NAS, but the budget didn&amp;rsquo;t allow it. So, I used four projects to set up a portal, anime, manga, and audio library on my own PC.&lt;/p></description></item><item><title>Disable WordPress Plugin via Database</title><link>https://blog.yexca.net/en/archives/72/</link><pubDate>Thu, 15 Sep 2022 22:17:02 +0800</pubDate><guid>https://blog.yexca.net/en/archives/72/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash-lite
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>Activated a plugin, now the backend is throwing a 502.&lt;/p></description></item><item><title>Installing Komga on Fedora</title><link>https://blog.yexca.net/en/archives/71/</link><pubDate>Wed, 14 Sep 2022 18:47:16 +0800</pubDate><guid>https://blog.yexca.net/en/archives/71/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Setting this up to make reading manga easier on my local network.&lt;/p></description></item><item><title>SSH Public Key Authentication</title><link>https://blog.yexca.net/en/archives/70/</link><pubDate>Mon, 12 Sep 2022 19:24:25 +0800</pubDate><guid>https://blog.yexca.net/en/archives/70/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Typing a password every time I connect to a machine is a hassle (mostly because I keep forgetting it).&lt;/p></description></item><item><title>Linux Learning Chapter 3: Using the Shell</title><link>https://blog.yexca.net/en/archives/69/</link><pubDate>Mon, 12 Sep 2022 15:04:10 +0800</pubDate><guid>https://blog.yexca.net/en/archives/69/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="chapter-3-using-the-shell">Chapter 3: Using the Shell
&lt;/h2>&lt;p>This chapter introduces the Linux shell known as the Bash shell, short for Bourne Again shell. There are other shells, such as the C shell (csh) popular among BSD UNIX users, the Korn shell (ksh) popular in UNIX System V, Dash (Ubuntu&amp;rsquo;s default shell, faster than Bash), Tcsh (an improved C shell), and Ash (very similar to the Bourne shell).&lt;/p></description></item><item><title>Downloading YouTube Videos on Linux</title><link>https://blog.yexca.net/en/archives/68/</link><pubDate>Sat, 10 Sep 2022 19:29:58 +0800</pubDate><guid>https://blog.yexca.net/en/archives/68/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Since we&amp;rsquo;ve already covered the Windows command line, we can&amp;rsquo;t skip Linux.&lt;/p></description></item><item><title>Implementing Moegirl-style "Blackout" Text in WordPress Argon Theme</title><link>https://blog.yexca.net/en/archives/67/</link><pubDate>Mon, 05 Sep 2022 21:51:23 +0800</pubDate><guid>https://blog.yexca.net/en/archives/67/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>This &amp;ldquo;blackout&amp;rdquo; effect (Heimu) is a lot of fun. Unfortunately, it won&amp;rsquo;t render on the homepage, and writing it directly in Markdown is a bit of a pain.&lt;/p></description></item><item><title>Tinkering with OpenWRT for Shenlan Network Authentication</title><link>https://blog.yexca.net/en/archives/66/</link><pubDate>Mon, 05 Sep 2022 21:24:23 +0800</pubDate><guid>https://blog.yexca.net/en/archives/66/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash-lite
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Documenting my process of getting my OpenWRT router to connect to my school&amp;rsquo;s network. Although the final result was, well, something, I learned quite a bit along the way.&lt;/p></description></item><item><title>ffmpeg Batch Video Format Conversion</title><link>https://blog.yexca.net/en/archives/65/</link><pubDate>Mon, 05 Sep 2022 16:41:38 +0800</pubDate><guid>https://blog.yexca.net/en/archives/65/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>I stumbled upon
&lt;a class="link" href="https://blog.yexca.net/en/archives/52"
>
YouTube-dl
&lt;/a>
and found it super handy for downloading entire channels. The only catch was the &lt;code>webm&lt;/code> format it outputted isn&amp;rsquo;t always compatible. So, I looked into &lt;code>ffmpeg&lt;/code> commands for format conversion.&lt;/p></description></item><item><title>HTTP Learning</title><link>https://blog.yexca.net/en/archives/64/</link><pubDate>Mon, 05 Sep 2022 16:03:36 +0800</pubDate><guid>https://blog.yexca.net/en/archives/64/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>This is a summary of HTTP-related content after reading Xiao Jia&amp;rsquo;s book &amp;ldquo;HTTP Packet Sniffing Practice,&amp;rdquo; focusing mainly on message structures. (Note: Reading the book and writing this took 5 days).&lt;/p></description></item><item><title>Installing Java 8 (Oracle JDK) on Fedora</title><link>https://blog.yexca.net/en/archives/63/</link><pubDate>Fri, 02 Sep 2022 17:37:51 +0800</pubDate><guid>https://blog.yexca.net/en/archives/63/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>Fedora comes with Java, but it&amp;rsquo;s OpenJDK. Sometimes, you just need Oracle&amp;rsquo;s version.&lt;/p></description></item><item><title>Aria2+AriaNG Setup and Configuration</title><link>https://blog.yexca.net/en/archives/62/</link><pubDate>Thu, 01 Sep 2022 23:06:38 +0800</pubDate><guid>https://blog.yexca.net/en/archives/62/</guid><description>&lt;blockquote>
&lt;p>This article was written by
&lt;a class="link" href="https://blog.hiyoung.icu/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p>
&lt;p>Original post:
&lt;a class="link" href="https://blog.hiyoung.icu/2022/09/01/906d191f9a59/"
target="_blank" rel="noopener"
>
https://blog.hiyoung.icu/2022/09/01/906d191f9a59/
&lt;/a>
&lt;/p>
&lt;/blockquote>
&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Aria2 is a CLI-based download tool for Linux. This guide covers installation and configuration for Windows. Since the official Aria2 has no GUI, we&amp;rsquo;ll use AriaNG as a web interface for operations.&lt;/p></description></item><item><title>Fiddler Capturing HTTPS</title><link>https://blog.yexca.net/en/archives/61/</link><pubDate>Thu, 01 Sep 2022 08:17:32 +0800</pubDate><guid>https://blog.yexca.net/en/archives/61/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash-lite
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>By default, Fiddler only captures HTTP traffic. You need to configure it to capture HTTPS. Most websites now use HTTPS or HSTS, so enabling HTTPS capture is essential.&lt;/p></description></item><item><title>The bin Directories in Linux</title><link>https://blog.yexca.net/en/archives/60/</link><pubDate>Wed, 31 Aug 2022 00:27:09 +0800</pubDate><guid>https://blog.yexca.net/en/archives/60/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Technically, you can put executable files anywhere you want. These directories are just conventions, but following them is a good idea—nobody wants a messy system, especially on Linux.&lt;/p></description></item><item><title>Fedora Post-Install Setup</title><link>https://blog.yexca.net/en/archives/59/</link><pubDate>Wed, 24 Aug 2022 12:13:30 +0800</pubDate><guid>https://blog.yexca.net/en/archives/59/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>Here&amp;rsquo;s a list of things I install after setting up Fedora.&lt;/p></description></item><item><title>GitHub Connection Refused</title><link>https://blog.yexca.net/en/archives/58/</link><pubDate>Mon, 15 Aug 2022 02:44:47 +0800</pubDate><guid>https://blog.yexca.net/en/archives/58/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>Today I tried pushing via Git and got: &lt;code>fatal: unable to access 'https://github.com/yexca-VRChat/yexca-VRChat.github.io.git/': Failed to connect to 127.0.0.1 port 1081 after 2074 ms: Connection refused&lt;/code>. Even a reboot didn&amp;rsquo;t help, so it was time to find a fix &lt;del>(why won&amp;rsquo;t it let me access my own repo?)&lt;/del>.&lt;/p></description></item><item><title>Set Up Git Server and Sync to a Specific Directory</title><link>https://blog.yexca.net/en/archives/57/</link><pubDate>Sat, 13 Aug 2022 10:28:50 +0800</pubDate><guid>https://blog.yexca.net/en/archives/57/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Git makes managing code with friends way easier, and it&amp;rsquo;s super handy for syncing code too. Since I&amp;rsquo;m into static sites, using Git to sync web files is really practical.&lt;/p></description></item><item><title>Embedding External Video Links in Blogs</title><link>https://blog.yexca.net/en/archives/56/</link><pubDate>Fri, 12 Aug 2022 00:11:17 +0800</pubDate><guid>https://blog.yexca.net/en/archives/56/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>This article was written by
&lt;a class="link" href="https://blog.hiyoung.icu/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p></description></item><item><title>RSS</title><link>https://blog.yexca.net/en/archives/55/</link><pubDate>Tue, 09 Aug 2022 16:08:14 +0800</pubDate><guid>https://blog.yexca.net/en/archives/55/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>I first encountered RSS back when I was browsing HACG. By the time I actually understood it, RSS was already on the decline. Projects like RSSHub were keeping the flame alive, but I eventually gave up on it due to frequent connection issues. However, as I&amp;rsquo;ve discovered more blogs, I&amp;rsquo;ve returned to RSS to stay updated and keep track of what I&amp;rsquo;ve read.&lt;/p></description></item><item><title>Logging My First Grey Hack Mission (Password Acquisition)</title><link>https://blog.yexca.net/en/archives/54/</link><pubDate>Wed, 03 Aug 2022 22:41:06 +0800</pubDate><guid>https://blog.yexca.net/en/archives/54/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>Logging my first mission from yesterday. It&amp;rsquo;s a retelling, so some details might not be exact.&lt;/p></description></item><item><title>Uploading Files to GitHub Using Git</title><link>https://blog.yexca.net/en/archives/53/</link><pubDate>Wed, 03 Aug 2022 12:49:27 +0800</pubDate><guid>https://blog.yexca.net/en/archives/53/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>Written by
&lt;a class="link" href="https://blog.hiyoung.icu/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p></description></item><item><title>Download YouTube Videos from the Command Line</title><link>https://blog.yexca.net/en/archives/52/</link><pubDate>Mon, 25 Jul 2022 12:52:27 +0800</pubDate><guid>https://blog.yexca.net/en/archives/52/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>What dev doesn&amp;rsquo;t want to run stuff from the command line just to look cool? I knew about youtube-dl before but thought it looked too complicated to bother with. Tried it today and it&amp;rsquo;s actually super slick!&lt;/p></description></item><item><title>Changing Fonts in VS Code</title><link>https://blog.yexca.net/en/archives/51/</link><pubDate>Wed, 13 Jul 2022 17:47:57 +0800</pubDate><guid>https://blog.yexca.net/en/archives/51/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>Recently, while browsing online, I found a font I quite liked, so I looked up how to change it. &lt;del>Turns out, it wasn&amp;rsquo;t as impressive in practice.&lt;/del>&lt;/p></description></item><item><title>Remove Windows Network Addresses (FTP) from Quick Access</title><link>https://blog.yexca.net/en/archives/50/</link><pubDate>Mon, 27 Jun 2022 13:31:58 +0800</pubDate><guid>https://blog.yexca.net/en/archives/50/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>No direct fix, but you can clear all custom Quick Access entries (resets to default).&lt;/p></description></item><item><title>OpenWRT Wireless Relaying</title><link>https://blog.yexca.net/en/archives/49/</link><pubDate>Thu, 23 Jun 2022 14:50:21 +0800</pubDate><guid>https://blog.yexca.net/en/archives/49/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>I tried setting up a wireless relay again today and realized I&amp;rsquo;d forgotten how to do it. It&amp;rsquo;s definitely better to write these things down for future reference.&lt;/p></description></item><item><title>Batch Process Images with Photoshop Automation Scripts</title><link>https://blog.yexca.net/en/archives/48/</link><pubDate>Fri, 10 Jun 2022 00:54:44 +0800</pubDate><guid>https://blog.yexca.net/en/archives/48/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>This article was written by
&lt;a class="link" href="https://blog.hiyoung.icu/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p></description></item><item><title>Genshin Impact Auto Check-in (Docker on Linux Server)</title><link>https://blog.yexca.net/en/archives/47/</link><pubDate>Thu, 09 Jun 2022 13:33:42 +0800</pubDate><guid>https://blog.yexca.net/en/archives/47/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Since Tencent Cloud Functions started charging in June, I&amp;rsquo;ve moved my setup to my own server.&lt;/p></description></item><item><title>Real-time Markdown Preview in VS Code</title><link>https://blog.yexca.net/en/archives/46/</link><pubDate>Thu, 09 Jun 2022 00:03:34 +0800</pubDate><guid>https://blog.yexca.net/en/archives/46/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>After learning
&lt;a class="link" href="https://yexca.xyz/index.php/2022/05/28/markdown%e7%ae%80%e6%98%93%e5%85%a5%e9%97%a8%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0/"
target="_blank" rel="noopener"
>
how to use Markdown
&lt;/a>
, I&amp;rsquo;ve found it incredibly useful (&lt;del>all my recent posts are written in Markdown&lt;/del>). Since I often work with Markdown for coding or
&lt;a class="link" href="https://yexca.xyz/index.php/2022/05/28/github-pages%e5%bb%ba%e7%ab%99%e5%8f%8a%e8%87%aa%e5%ae%9a%e4%b9%89%e5%9f%9f%e5%90%8d/"
target="_blank" rel="noopener"
>
building GitHub Pages
&lt;/a>
, and VS Code is my go-to editor (&lt;del>for watching Diana&lt;/del>), I looked for a way to enable real-time previews.&lt;/p></description></item><item><title>Jia Ran in the Bottom Right Corner of VS Code</title><link>https://blog.yexca.net/en/archives/45/</link><pubDate>Wed, 01 Jun 2022 06:01:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/45/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>First off, I&amp;rsquo;m not a Jia Ran fan. I just think she&amp;rsquo;s super cute (&lt;del>I didn&amp;rsquo;t even know it was Jia Ran at first&lt;/del>). Yeah, this thing has quite a few bugs, and autostart doesn&amp;rsquo;t always trigger, but she&amp;rsquo;s just too adorable!&lt;/p></description></item><item><title>Building a Site with GitHub Pages and Custom Domains</title><link>https://blog.yexca.net/en/archives/44/</link><pubDate>Sat, 28 May 2022 15:30:43 +0800</pubDate><guid>https://blog.yexca.net/en/archives/44/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>I recently set up a personal page using GitHub Pages (it&amp;rsquo;s gone now), so here&amp;rsquo;s a quick guide on how to build a site and use a custom domain.&lt;/p></description></item><item><title>Markdown Basics (Learning Notes)</title><link>https://blog.yexca.net/en/archives/43/</link><pubDate>Sat, 28 May 2022 00:59:23 +0800</pubDate><guid>https://blog.yexca.net/en/archives/43/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>Recently, while building a
&lt;a class="link" href="https://pan.vrchat.yexca.xyz/"
target="_blank" rel="noopener"
>
cloud storage website
&lt;/a>
, I learned about Markdown. This thing is super useful, so I&amp;rsquo;m writing up some learning notes.&lt;/p></description></item><item><title>Project Sekai IP Rules</title><link>https://blog.yexca.net/en/archives/42/</link><pubDate>Thu, 19 May 2022 15:01:25 +0800</pubDate><guid>https://blog.yexca.net/en/archives/42/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>I can connect to the game directly, but using a game booster or VPN blocks access. Since toggling the VPN every time I launch the game is a hassle and I couldn&amp;rsquo;t find a fix online, I&amp;rsquo;m documenting it here. (Note: Using the iOS JP server).&lt;/p></description></item><item><title>Linux Adding Users and Admin Users</title><link>https://blog.yexca.net/en/archives/41/</link><pubDate>Mon, 16 May 2022 15:29:21 +0800</pubDate><guid>https://blog.yexca.net/en/archives/41/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>This article was written by
&lt;a class="link" href="https://blog.hiyoung.xyz/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p></description></item><item><title>Linux Quick Notes</title><link>https://blog.yexca.net/en/archives/40/</link><pubDate>Sat, 30 Apr 2022 04:24:07 +0800</pubDate><guid>https://blog.yexca.net/en/archives/40/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>This article was written by
&lt;a class="link" href="https://blog.hiyoung.xyz/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p></description></item><item><title>Setting up a Static IP in a VM (CentOS example)</title><link>https://blog.yexca.net/en/archives/39/</link><pubDate>Fri, 22 Apr 2022 18:13:42 +0800</pubDate><guid>https://blog.yexca.net/en/archives/39/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>This article was written by
&lt;a class="link" href="https://blog.hiyoung.xyz/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p></description></item><item><title>Systematic Linux Study Notes</title><link>https://blog.yexca.net/en/archives/38/</link><pubDate>Tue, 19 Apr 2022 02:53:27 +0800</pubDate><guid>https://blog.yexca.net/en/archives/38/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>Written by
&lt;a class="link" href="https://blog.hiyoung.xyz/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p></description></item><item><title>Launch OBS without Steam</title><link>https://blog.yexca.net/en/archives/37/</link><pubDate>Mon, 11 Apr 2022 22:19:48 +0800</pubDate><guid>https://blog.yexca.net/en/archives/37/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>OBS launched on Steam on March 22, 2022. While it makes updates easier, having to open Steam every time you want to use it is a bit of a hassle.&lt;/p></description></item><item><title>Check Bilibili Registration Time (Precise to the Second)</title><link>https://blog.yexca.net/en/archives/36/</link><pubDate>Sat, 09 Apr 2022 13:47:52 +0800</pubDate><guid>https://blog.yexca.net/en/archives/36/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="1-get-the-timestamp">1. Get the Timestamp
&lt;/h2>&lt;p>Open this page:
&lt;a class="link" href="https://member.bilibili.com/x2/creative/h5/calendar/event?ts=0"
target="_blank" rel="noopener"
>
https://member.bilibili.com/x2/creative/h5/calendar/event?ts=0
&lt;/a>
&lt;br>
Press &lt;code>CTRL+F&lt;/code>, type &lt;code>jointime&lt;/code>, and the number after &lt;code>jointime&lt;/code> is your timestamp.&lt;/p></description></item><item><title>Fix "Bad credentials" Error When Uploading Images with PicX</title><link>https://blog.yexca.net/en/archives/35/</link><pubDate>Tue, 22 Mar 2022 16:30:12 +0800</pubDate><guid>https://blog.yexca.net/en/archives/35/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>While writing a post today, I found that PicX was no longer working and showed a &lt;code>Bad credentials&lt;/code> error. Here is how to fix it.&lt;/p></description></item><item><title>VRChat Auto-Playing Piano in Chinese World</title><link>https://blog.yexca.net/en/archives/34/</link><pubDate>Tue, 22 Mar 2022 16:11:47 +0800</pubDate><guid>https://blog.yexca.net/en/archives/34/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>I also wrote a model modification tutorial, you can check it out here:
&lt;a class="link" href="https://vrchat.yexca.net/"
target="_blank" rel="noopener"
>
https://vrchat.yexca.net/
&lt;/a>
&lt;/p></description></item><item><title>Image Hosting Sites Summary</title><link>https://blog.yexca.net/en/archives/33/</link><pubDate>Sun, 20 Mar 2022 16:54:36 +0800</pubDate><guid>https://blog.yexca.net/en/archives/33/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>This article is a collection of free image hosting services I&amp;rsquo;ve gathered. I have personally used some of these. If you are looking to set up your own, I recommend reading
&lt;a class="link" href="https://blog.yexca.net/en/archives/27/"
>
Building a Free Image Host with PicX – yexca’Blog
&lt;/a>
.&lt;/p></description></item><item><title>Windows Screenshots and Screen Recording</title><link>https://blog.yexca.net/en/archives/32/</link><pubDate>Sat, 19 Mar 2022 13:57:39 +0800</pubDate><guid>https://blog.yexca.net/en/archives/32/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>These methods are for general use. For specialized requirements, you&amp;rsquo;ll need to do your own research.&lt;/p></description></item><item><title>Adding Custom Song Packs to Beat Saber</title><link>https://blog.yexca.net/en/archives/31/</link><pubDate>Fri, 18 Mar 2022 17:46:00 +0800</pubDate><guid>https://blog.yexca.net/en/archives/31/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash-lite
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>I recently bought Beat Saber (on the Argentinian store), and wanted to add custom songs. I found a tutorial by
&lt;a class="link" href="https://bs.wgzeyu.com/"
target="_blank" rel="noopener"
>
WGzeyu
&lt;/a>
in the Steam reviews. Since my goal is simple, and their tutorial is quite comprehensive, I&amp;rsquo;m writing this article to summarize it.&lt;/p></description></item><item><title>Issues and Solutions When Playing Koikatsu in VR with Quest 2</title><link>https://blog.yexca.net/en/archives/30/</link><pubDate>Fri, 18 Mar 2022 16:54:23 +0800</pubDate><guid>https://blog.yexca.net/en/archives/30/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by ChatGPT
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>After playing VR games like Beat Saber and VRChat, I suddenly remembered that some Illusion games support VR. Since Koikatu is my favorite, I decided to give it a try. However, I encountered several issues, so I’m documenting them here. Note: the VR version has no story mode, and I used the vanilla version of the game, so there were fewer problems overall.&lt;/p></description></item><item><title>Summary and Discussion After Reading 'Illustrated HTTP'</title><link>https://blog.yexca.net/en/archives/29/</link><pubDate>Wed, 16 Mar 2022 23:56:48 +0800</pubDate><guid>https://blog.yexca.net/en/archives/29/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>This article was written by
&lt;a class="link" href="https://blog.hiyoung.icu/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p></description></item><item><title>Importing MMD Models into Unity</title><link>https://blog.yexca.net/en/archives/28/</link><pubDate>Thu, 10 Mar 2022 13:15:26 +0800</pubDate><guid>https://blog.yexca.net/en/archives/28/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="note">Note
&lt;/h2>&lt;p>This article is mirrored from
&lt;a class="link" href="https://blog.nowcoder.net/n/6edf811b327945fd8143e14a34b0e2f2"
target="_blank" rel="noopener"
>
《unity学习笔记》——将MMD模型导入unity
&lt;/a>
for personal reference. Some content has been modified.&lt;/p></description></item><item><title>Build Your Own Free Image Hosting with PicX</title><link>https://blog.yexca.net/en/archives/27/</link><pubDate>Thu, 17 Feb 2022 23:02:13 +0800</pubDate><guid>https://blog.yexca.net/en/archives/27/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by Gemini-3-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>When writing articles, I often need to insert images (though I haven&amp;rsquo;t used many lately). Hosting them on your own server consumes quite a bit of bandwidth, and the loading speeds aren&amp;rsquo;t always great. This is where image hosting comes in. However, most free image hosts suffer from disappearing images or slow speeds, so I started looking into self-hosted solutions.&lt;/p></description></item><item><title>Import Course Schedule to Calendar (Shuwei Academic System)</title><link>https://blog.yexca.net/en/archives/26/</link><pubDate>Wed, 16 Feb 2022 17:53:16 +0800</pubDate><guid>https://blog.yexca.net/en/archives/26/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>Checking your course schedule on the school&amp;rsquo;s academic system isn&amp;rsquo;t convenient. Plus, third-party apps come with security risks and way too many ads. So, I figured I&amp;rsquo;d import my course schedule directly into a calendar. I went with Outlook Calendar for seamless sync across iOS, Windows, and Android.&lt;/p></description></item><item><title>Check if Server Port is Open</title><link>https://blog.yexca.net/en/archives/25/</link><pubDate>Sun, 13 Feb 2022 19:46:38 +0800</pubDate><guid>https://blog.yexca.net/en/archives/25/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash-lite
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="domestic-tools">Domestic Tools
&lt;/h2>&lt;p>Use the port scanner from 站长工具 (Zhanzhang Tool). Enter the IP address or domain name and port, then click &amp;ldquo;Start Scan&amp;rdquo;.&lt;/p></description></item><item><title>Sending and Receiving QQ Messages in VS Code</title><link>https://blog.yexca.net/en/archives/24/</link><pubDate>Fri, 11 Feb 2022 21:47:56 +0800</pubDate><guid>https://blog.yexca.net/en/archives/24/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction">Introduction
&lt;/h2>&lt;p>The official QQ client is too bloated, asks for too many permissions, and frequently freezes up. I looked for alternatives, starting with bridging QQ messages to Telegram, but the setup was complex and unstable. Eventually, I switched to using a VS Code extension.&lt;/p></description></item><item><title>Remove Potplayer Bottom-Right Pop-ups</title><link>https://blog.yexca.net/en/archives/23/</link><pubDate>Sun, 06 Feb 2022 21:37:45 +0800</pubDate><guid>https://blog.yexca.net/en/archives/23/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>Potplayer is an excellent video player. However, recent versions have started showing annoying pop-up ads in the bottom-right corner. This article covers two methods to get rid of them.&lt;/p></description></item><item><title>Flashing OpenWRT Firmware on FIR300M Router</title><link>https://blog.yexca.net/en/archives/22/</link><pubDate>Sun, 06 Feb 2022 20:44:10 +0800</pubDate><guid>https://blog.yexca.net/en/archives/22/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash-lite
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction-rambling">Introduction (Rambling)
&lt;/h2>&lt;p>Had some free time, so I decided to tinker with my router and use it as a gateway. (Later found out this router has too little space to install many plugins, so it was a wasted afternoon.)&lt;/p></description></item><item><title>Background</title><link>https://blog.yexca.net/en/background/</link><pubDate>Mon, 31 Jan 2022 20:40:24 +0800</pubDate><guid>https://blog.yexca.net/en/background/</guid><description>&lt;blockquote>
&lt;p>This page uses machine translation ( ¯_(ツ)_/¯)&lt;/p>
&lt;/blockquote>
&lt;h2 id="引言">引言
&lt;/h2>&lt;p>Due to my low technical ability, this site has crashed and reinstalled many times. This page will start from the background used after using the theme
&lt;a class="link" href="https://github.com/solstice23/argon-theme"
target="_blank" rel="noopener"
>
Argon
&lt;/a>
&lt;/p>
&lt;p>After migrating to Jekyll, it is a bit troublesome to use background images for this theme. This post ends&lt;/p>
&lt;p>Emmm, although the blog system has been changed, there is still no application scenario&lt;/p></description></item><item><title>Inserting Code with Syntax Highlighting in Microsoft Word</title><link>https://blog.yexca.net/en/archives/21/</link><pubDate>Thu, 20 Jan 2022 14:28:52 +0800</pubDate><guid>https://blog.yexca.net/en/archives/21/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="introduction-the-fluff">Introduction (The Fluff)
&lt;/h2>&lt;p>Sometimes you need to insert code into a Word document. Simply pasting it looks messy, and the lack of syntax highlighting makes it a pain to read.&lt;/p></description></item><item><title>Locale Emulator: Region Emulation Software</title><link>https://blog.yexca.net/en/archives/20/</link><pubDate>Fri, 14 Jan 2022 15:53:40 +0800</pubDate><guid>https://blog.yexca.net/en/archives/20/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="intro">Intro
&lt;/h2>&lt;p>When playing some older or niche games from other regions, you often encounter garbled text, making them unplayable or causing crashes. To fix this, you need to switch your system&amp;rsquo;s locale to match the correct language.&lt;/p></description></item><item><title>Linux Server (Network Related)</title><link>https://blog.yexca.net/en/archives/19/</link><pubDate>Fri, 14 Jan 2022 01:30:54 +0800</pubDate><guid>https://blog.yexca.net/en/archives/19/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>This article was written by
&lt;a class="link" href="https://blog.hiyoung.xyz/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
.&lt;/p></description></item><item><title>Connecting to a CentOS 7 VM via Xshell</title><link>https://blog.yexca.net/en/archives/18/</link><pubDate>Sun, 26 Dec 2021 15:34:59 +0800</pubDate><guid>https://blog.yexca.net/en/archives/18/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Note: This method is for a temporary connection. You will need to reconfigure it if the virtual machine restarts or shuts down.&lt;/p></description></item><item><title>Data Structures: Stack Code</title><link>https://blog.yexca.net/en/archives/17/</link><pubDate>Sun, 21 Nov 2021 22:19:04 +0800</pubDate><guid>https://blog.yexca.net/en/archives/17/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="sequential-stack-array-implementation">Sequential Stack (Array Implementation)
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-c" data-lang="c">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;stdio.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Push element &amp;#39;elem&amp;#39; onto stack. &amp;#39;a&amp;#39; is the array, &amp;#39;top&amp;#39; is current stack top index.
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="nf">push&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span>&lt;span class="o">*&lt;/span> &lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">elem&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">a&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="n">top&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="n">elem&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Pop element from stack
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="nf">pop&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">top&lt;/span>&lt;span class="o">==-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Stack is empty&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Popped element: %d&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">top&lt;/span>&lt;span class="p">]);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">top&lt;/span>&lt;span class="o">--&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">void&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">a&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">100&lt;/span>&lt;span class="p">];&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="o">=-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">top&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">push&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">top&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">push&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">top&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">push&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">top&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">push&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">top&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">pop&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">top&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">pop&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">top&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">pop&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">top&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">pop&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">top&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">pop&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">top&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Output:&lt;/p></description></item><item><title>Data Structure: Sequence List Implementation</title><link>https://blog.yexca.net/en/archives/16/</link><pubDate>Sat, 20 Nov 2021 23:01:47 +0800</pubDate><guid>https://blog.yexca.net/en/archives/16/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="code">Code
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt"> 10
&lt;/span>&lt;span class="lnt"> 11
&lt;/span>&lt;span class="lnt"> 12
&lt;/span>&lt;span class="lnt"> 13
&lt;/span>&lt;span class="lnt"> 14
&lt;/span>&lt;span class="lnt"> 15
&lt;/span>&lt;span class="lnt"> 16
&lt;/span>&lt;span class="lnt"> 17
&lt;/span>&lt;span class="lnt"> 18
&lt;/span>&lt;span class="lnt"> 19
&lt;/span>&lt;span class="lnt"> 20
&lt;/span>&lt;span class="lnt"> 21
&lt;/span>&lt;span class="lnt"> 22
&lt;/span>&lt;span class="lnt"> 23
&lt;/span>&lt;span class="lnt"> 24
&lt;/span>&lt;span class="lnt"> 25
&lt;/span>&lt;span class="lnt"> 26
&lt;/span>&lt;span class="lnt"> 27
&lt;/span>&lt;span class="lnt"> 28
&lt;/span>&lt;span class="lnt"> 29
&lt;/span>&lt;span class="lnt"> 30
&lt;/span>&lt;span class="lnt"> 31
&lt;/span>&lt;span class="lnt"> 32
&lt;/span>&lt;span class="lnt"> 33
&lt;/span>&lt;span class="lnt"> 34
&lt;/span>&lt;span class="lnt"> 35
&lt;/span>&lt;span class="lnt"> 36
&lt;/span>&lt;span class="lnt"> 37
&lt;/span>&lt;span class="lnt"> 38
&lt;/span>&lt;span class="lnt"> 39
&lt;/span>&lt;span class="lnt"> 40
&lt;/span>&lt;span class="lnt"> 41
&lt;/span>&lt;span class="lnt"> 42
&lt;/span>&lt;span class="lnt"> 43
&lt;/span>&lt;span class="lnt"> 44
&lt;/span>&lt;span class="lnt"> 45
&lt;/span>&lt;span class="lnt"> 46
&lt;/span>&lt;span class="lnt"> 47
&lt;/span>&lt;span class="lnt"> 48
&lt;/span>&lt;span class="lnt"> 49
&lt;/span>&lt;span class="lnt"> 50
&lt;/span>&lt;span class="lnt"> 51
&lt;/span>&lt;span class="lnt"> 52
&lt;/span>&lt;span class="lnt"> 53
&lt;/span>&lt;span class="lnt"> 54
&lt;/span>&lt;span class="lnt"> 55
&lt;/span>&lt;span class="lnt"> 56
&lt;/span>&lt;span class="lnt"> 57
&lt;/span>&lt;span class="lnt"> 58
&lt;/span>&lt;span class="lnt"> 59
&lt;/span>&lt;span class="lnt"> 60
&lt;/span>&lt;span class="lnt"> 61
&lt;/span>&lt;span class="lnt"> 62
&lt;/span>&lt;span class="lnt"> 63
&lt;/span>&lt;span class="lnt"> 64
&lt;/span>&lt;span class="lnt"> 65
&lt;/span>&lt;span class="lnt"> 66
&lt;/span>&lt;span class="lnt"> 67
&lt;/span>&lt;span class="lnt"> 68
&lt;/span>&lt;span class="lnt"> 69
&lt;/span>&lt;span class="lnt"> 70
&lt;/span>&lt;span class="lnt"> 71
&lt;/span>&lt;span class="lnt"> 72
&lt;/span>&lt;span class="lnt"> 73
&lt;/span>&lt;span class="lnt"> 74
&lt;/span>&lt;span class="lnt"> 75
&lt;/span>&lt;span class="lnt"> 76
&lt;/span>&lt;span class="lnt"> 77
&lt;/span>&lt;span class="lnt"> 78
&lt;/span>&lt;span class="lnt"> 79
&lt;/span>&lt;span class="lnt"> 80
&lt;/span>&lt;span class="lnt"> 81
&lt;/span>&lt;span class="lnt"> 82
&lt;/span>&lt;span class="lnt"> 83
&lt;/span>&lt;span class="lnt"> 84
&lt;/span>&lt;span class="lnt"> 85
&lt;/span>&lt;span class="lnt"> 86
&lt;/span>&lt;span class="lnt"> 87
&lt;/span>&lt;span class="lnt"> 88
&lt;/span>&lt;span class="lnt"> 89
&lt;/span>&lt;span class="lnt"> 90
&lt;/span>&lt;span class="lnt"> 91
&lt;/span>&lt;span class="lnt"> 92
&lt;/span>&lt;span class="lnt"> 93
&lt;/span>&lt;span class="lnt"> 94
&lt;/span>&lt;span class="lnt"> 95
&lt;/span>&lt;span class="lnt"> 96
&lt;/span>&lt;span class="lnt"> 97
&lt;/span>&lt;span class="lnt"> 98
&lt;/span>&lt;span class="lnt"> 99
&lt;/span>&lt;span class="lnt">100
&lt;/span>&lt;span class="lnt">101
&lt;/span>&lt;span class="lnt">102
&lt;/span>&lt;span class="lnt">103
&lt;/span>&lt;span class="lnt">104
&lt;/span>&lt;span class="lnt">105
&lt;/span>&lt;span class="lnt">106
&lt;/span>&lt;span class="lnt">107
&lt;/span>&lt;span class="lnt">108
&lt;/span>&lt;span class="lnt">109
&lt;/span>&lt;span class="lnt">110
&lt;/span>&lt;span class="lnt">111
&lt;/span>&lt;span class="lnt">112
&lt;/span>&lt;span class="lnt">113
&lt;/span>&lt;span class="lnt">114
&lt;/span>&lt;span class="lnt">115
&lt;/span>&lt;span class="lnt">116
&lt;/span>&lt;span class="lnt">117
&lt;/span>&lt;span class="lnt">118
&lt;/span>&lt;span class="lnt">119
&lt;/span>&lt;span class="lnt">120
&lt;/span>&lt;span class="lnt">121
&lt;/span>&lt;span class="lnt">122
&lt;/span>&lt;span class="lnt">123
&lt;/span>&lt;span class="lnt">124
&lt;/span>&lt;span class="lnt">125
&lt;/span>&lt;span class="lnt">126
&lt;/span>&lt;span class="lnt">127
&lt;/span>&lt;span class="lnt">128
&lt;/span>&lt;span class="lnt">129
&lt;/span>&lt;span class="lnt">130
&lt;/span>&lt;span class="lnt">131
&lt;/span>&lt;span class="lnt">132
&lt;/span>&lt;span class="lnt">133
&lt;/span>&lt;span class="lnt">134
&lt;/span>&lt;span class="lnt">135
&lt;/span>&lt;span class="lnt">136
&lt;/span>&lt;span class="lnt">137
&lt;/span>&lt;span class="lnt">138
&lt;/span>&lt;span class="lnt">139
&lt;/span>&lt;span class="lnt">140
&lt;/span>&lt;span class="lnt">141
&lt;/span>&lt;span class="lnt">142
&lt;/span>&lt;span class="lnt">143
&lt;/span>&lt;span class="lnt">144
&lt;/span>&lt;span class="lnt">145
&lt;/span>&lt;span class="lnt">146
&lt;/span>&lt;span class="lnt">147
&lt;/span>&lt;span class="lnt">148
&lt;/span>&lt;span class="lnt">149
&lt;/span>&lt;span class="lnt">150
&lt;/span>&lt;span class="lnt">151
&lt;/span>&lt;span class="lnt">152
&lt;/span>&lt;span class="lnt">153
&lt;/span>&lt;span class="lnt">154
&lt;/span>&lt;span class="lnt">155
&lt;/span>&lt;span class="lnt">156
&lt;/span>&lt;span class="lnt">157
&lt;/span>&lt;span class="lnt">158
&lt;/span>&lt;span class="lnt">159
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-c" data-lang="c">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;stdio.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;stdlib.h&amp;gt; // malloc(), exit()&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#define Size 5 &lt;/span>&lt;span class="c1">// Define the initial allocation size of the sequence list
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">typedef&lt;/span> &lt;span class="k">struct&lt;/span> &lt;span class="n">Table&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">head&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Pointer to the dynamic array
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="n">length&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Current length of the list
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="n">size&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Allocated capacity of the list
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="p">}&lt;/span>&lt;span class="n">table&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Initialization function
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="n">table&lt;/span> &lt;span class="nf">initTable&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">table&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="nf">malloc&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">Size&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="k">sizeof&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span>&lt;span class="p">));&lt;/span> &lt;span class="c1">// Allocate memory for the list
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="o">!&lt;/span>&lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="c1">// Exit if allocation fails
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Initialization failed&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">exit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Initialize length to 0
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Size&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Set initial capacity
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Insertion function: elem is the value to insert, add is the position (1-based index)
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="n">table&lt;/span> &lt;span class="nf">addTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">table&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="n">elem&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="n">add&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Check if the position is valid
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">add&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span> &lt;span class="o">||&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Invalid insertion position&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// If capacity is full, reallocate memory
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="o">*&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="nf">realloc&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="k">sizeof&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">int&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="o">!&lt;/span>&lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Memory reallocation failed&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">size&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Shift elements starting from the insertion point to the right
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;gt;=&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="o">--&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">];&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Insert the element at the specified position
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">add&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">elem&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Increment the length
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Deletion function
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="n">table&lt;/span> &lt;span class="nf">delTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">table&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="n">add&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">add&lt;/span> &lt;span class="o">&amp;gt;&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span> &lt;span class="o">||&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Invalid deletion position&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">exit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Shift elements after the deleted element to the left
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">add&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">];&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="o">--&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Search function: returns the 1-based position of the given element value
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="kt">int&lt;/span> &lt;span class="nf">selectTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">table&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="n">elem&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="n">elem&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Update function: replace elem with newElem
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="n">table&lt;/span> &lt;span class="nf">amendTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">table&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="n">elem&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="n">newElem&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">selectTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">t&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">elem&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">add&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">newElem&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">// Print the elements of the sequence list
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span>&lt;span class="kt">void&lt;/span> &lt;span class="nf">displayTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">table&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;%d &amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">t&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">]);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">int&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">int&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">add&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">table&lt;/span> &lt;span class="n">t1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">initTable&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// Fill the sequence list
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">&amp;lt;=&lt;/span> &lt;span class="n">Size&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">t1&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">head&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">t1&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">length&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Original List:&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">displayTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">t1&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Deleting element at position 1:&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">t1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">delTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">t1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">displayTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">t1&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Inserting 5 at position 2:&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">t1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">addTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">t1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">5&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">displayTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">t1&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Finding position of element 3:&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">selectTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">t1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;%d&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">add&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;Changing 3 to 6:&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">t1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nf">amendTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">t1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">3&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">6&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">displayTable&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">t1&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="results">Results
&lt;/h2>&lt;p>Program output:&lt;/p></description></item><item><title>Data Structures: Linked List Code</title><link>https://blog.yexca.net/en/archives/15/</link><pubDate>Wed, 17 Nov 2021 12:00:49 +0800</pubDate><guid>https://blog.yexca.net/en/archives/15/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="simple-linked-list">Simple Linked List
&lt;/h2>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-c" data-lang="c">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#include&lt;/span> &lt;span class="cpf">&amp;lt;stdio.h&amp;gt;&lt;/span>&lt;span class="cp">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">struct&lt;/span> &lt;span class="n">student&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">long&lt;/span> &lt;span class="n">num&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kt">float&lt;/span> &lt;span class="n">score&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">struct&lt;/span> &lt;span class="n">student&lt;/span> &lt;span class="o">*&lt;/span>&lt;span class="n">next&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">};&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kt">void&lt;/span> &lt;span class="nf">main&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">struct&lt;/span> &lt;span class="n">student&lt;/span> &lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">c&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">*&lt;/span>&lt;span class="n">head&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="o">*&lt;/span>&lt;span class="n">p&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">a&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">num&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">99101&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">a&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">score&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mf">89.5&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">b&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">num&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">99103&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">score&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">90&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">c&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">num&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">99107&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="n">c&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">score&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">85&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Assign values to num and score members
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">head&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Assign start address of node a to head pointer
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">a&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">next&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">b&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Assign start address of node b to node a&amp;#39;s next member
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">b&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">next&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="o">&amp;amp;&lt;/span>&lt;span class="n">c&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">c&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="n">next&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">NULL&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Node c&amp;#39;s next member stores no further address
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">p&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">head&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Point p to node a
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">do&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nf">printf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;%ld %5.1f&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s">&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">p&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">num&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">p&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">score&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="c1">// Output data from node pointed to by p
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="n">p&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">p&lt;/span>&lt;span class="o">-&amp;gt;&lt;/span>&lt;span class="n">next&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="c1">// Move p to the next node
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="p">}&lt;/span>&lt;span class="k">while&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">p&lt;/span> &lt;span class="o">!=&lt;/span> &lt;span class="nb">NULL&lt;/span>&lt;span class="p">);&lt;/span> &lt;span class="c1">// p becomes NULL after node c is output
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="nf">system&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s">&amp;#34;pause&amp;#34;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="memory-allocation-functions">Memory Allocation Functions
&lt;/h2>&lt;ul>
&lt;li>&lt;strong>malloc function&lt;/strong>&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-c" data-lang="c">&lt;span class="line">&lt;span class="cl">&lt;span class="kt">void&lt;/span> &lt;span class="o">*&lt;/span>&lt;span class="nf">malloc&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kt">unsigned&lt;/span> &lt;span class="kt">int&lt;/span> &lt;span class="n">size&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Allocates a block of memory of length &lt;code>size&lt;/code> in the dynamic storage area. The return value is a pointer (type &lt;code>void *&lt;/code>) to the starting address of the allocated space. If the function fails (e.g., insufficient memory), it returns a &lt;code>NULL&lt;/code> pointer.&lt;/p></description></item><item><title>C Data Structure Code</title><link>https://blog.yexca.net/en/archives/14/</link><pubDate>Thu, 11 Nov 2021 23:03:27 +0800</pubDate><guid>https://blog.yexca.net/en/archives/14/</guid><description>&lt;p>notify:
&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;/p></description></item><item><title>After the Apricot Rain in Yangzhou</title><link>https://blog.yexca.net/en/archives/13/</link><pubDate>Thu, 11 Nov 2021 18:01:33 +0800</pubDate><guid>https://blog.yexca.net/en/archives/13/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> Because there is only picture, it cannot be translated
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>This article was written by ctxbb&lt;/p></description></item><item><title>Genshin Impact Resin Tracking and Notifications</title><link>https://blog.yexca.net/en/archives/12/</link><pubDate>Wed, 10 Nov 2021 15:21:30 +0800</pubDate><guid>https://blog.yexca.net/en/archives/12/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>While miHoYo&amp;rsquo;s HoYoLAB provides a way to check Genshin Impact Resin, it&amp;rsquo;s a bit of a pain to have to reach for your phone and open the app every time you&amp;rsquo;re working on your PC.&lt;/p></description></item><item><title>Weibo Video Downloader</title><link>https://blog.yexca.net/en/archives/11/</link><pubDate>Wed, 10 Nov 2021 11:29:51 +0800</pubDate><guid>https://blog.yexca.net/en/archives/11/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>First, find the video you want to download (obviously). Copy the link highlighted in the box below.&lt;/p></description></item><item><title>Adding a "Back to Previous Page" Button in WordPress</title><link>https://blog.yexca.net/en/archives/10/</link><pubDate>Wed, 10 Nov 2021 11:06:27 +0800</pubDate><guid>https://blog.yexca.net/en/archives/10/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>Most of the time, we use the browser&amp;rsquo;s built-in back button. However, some system interactions are clunky, and adding a dedicated &amp;ldquo;Back&amp;rdquo; button on the page can significantly improve the user experience.&lt;/p></description></item><item><title>Installing Official Android Subsystem on Win11</title><link>https://blog.yexca.net/en/archives/9/</link><pubDate>Tue, 09 Nov 2021 23:45:42 +0800</pubDate><guid>https://blog.yexca.net/en/archives/9/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>This article was written by
&lt;a class="link" href="https://blog.hiyoung.icu/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p></description></item><item><title>SQL Syntax Details (SQL Server)</title><link>https://blog.yexca.net/en/archives/8/</link><pubDate>Mon, 08 Nov 2021 11:51:18 +0800</pubDate><guid>https://blog.yexca.net/en/archives/8/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>This article was written by
&lt;a class="link" href="https://blog.hiyoung.icu/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p></description></item><item><title>Issues Connecting Navicat to SQL Server</title><link>https://blog.yexca.net/en/archives/7/</link><pubDate>Sun, 07 Nov 2021 23:41:46 +0800</pubDate><guid>https://blog.yexca.net/en/archives/7/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>This article was written by
&lt;a class="link" href="https://blog.hiyoung.icu/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p></description></item><item><title>Setting Up C Environment in VS Code</title><link>https://blog.yexca.net/en/archives/6/</link><pubDate>Sun, 07 Nov 2021 23:32:26 +0800</pubDate><guid>https://blog.yexca.net/en/archives/6/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>This article was written by
&lt;a class="link" href="https://blog.hiyoung.icu/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p></description></item><item><title>Setting Up Python in VS Code</title><link>https://blog.yexca.net/en/archives/5/</link><pubDate>Sun, 07 Nov 2021 11:28:58 +0800</pubDate><guid>https://blog.yexca.net/en/archives/5/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-2.5-flash
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="lets-get-started">Let&amp;rsquo;s Get Started
&lt;/h2>&lt;p>First off, after you&amp;rsquo;ve got VS Code and Python installed and environment variables all set:&lt;/p></description></item><item><title>How to Automatically Open the Default System Email Client</title><link>https://blog.yexca.net/en/archives/4/</link><pubDate>Sat, 06 Nov 2021 17:05:36 +0800</pubDate><guid>https://blog.yexca.net/en/archives/4/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;blockquote>
&lt;p>This article was written by
&lt;a class="link" href="https://blog.hiyoung.icu/"
target="_blank" rel="noopener"
>
Hiyoung
&lt;/a>
&lt;/p></description></item><item><title>Embedding Bilibili Videos in WordPress</title><link>https://blog.yexca.net/en/archives/3/</link><pubDate>Sat, 06 Nov 2021 16:43:20 +0800</pubDate><guid>https://blog.yexca.net/en/archives/3/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;h2 id="content">Content
&lt;/h2>&lt;p>First, hover your mouse over the share button on the video you want to embed (no need to click).&lt;/p></description></item><item><title>Restricting User Access to the Media Library in WordPress</title><link>https://blog.yexca.net/en/archives/2/</link><pubDate>Sat, 06 Nov 2021 14:31:04 +0800</pubDate><guid>https://blog.yexca.net/en/archives/2/</guid><description>&lt;div class="notice ">&lt;strong>📢&lt;/strong> This article was translated by gemini-3-flash-preview
&lt;/div>
&lt;style lang="scss">
.notice {
padding: 0.75em 1em;
margin: 1em 0;
border-left: 4px solid;
border-radius: 4px;
&amp;.default {
border-color: #ccc;
background-color: #f9f9f9;
color: #333;
}
&amp;.info {
border-color: #2196f3;
background-color: #e3f2fd;
color: #1a237e;
}
&amp;.warn {
border-color: #ff9800;
background-color: #fff3e0;
color: #e65100;
}
&amp;.danger {
border-color: #f44336;
background-color: #ffebee;
color: #b71c1c;
}
}
[data-scheme="dark"] {
.notice {
&amp;.default {
border-color: #666;
background-color: #2a2a2a;
color: #eee;
}
&amp;.info {
border-color: #90caf9;
background-color: #1e3a5f;
color: #e3f2fd;
}
&amp;.warn {
border-color: #ffb74d;
background-color: #4e342e;
color: #fff3e0;
}
&amp;.danger {
border-color: #ef5350;
background-color: #3e2723;
color: #ffebee;
}
}
}
[data-scheme="sepia"] {
.notice {
&amp;.info {
border-color: #6a5acd;
background-color: #fdf6e3;
color: #3c2f2f;
}
&amp;.warn {
border-color: #e9967a;
background-color: #faf0e6;
color: #5c4033;
}
&amp;.danger {
border-color: #cd5c5c;
background-color: #f5e0dc;
color: #7b3f3f;
}
}
}
&lt;/style>
&lt;p>By default, WordPress allows authors to see all images in your site&amp;rsquo;s media library. They can view files uploaded by administrators, editors, or other authors.&lt;/p></description></item><item><title>Hello World！</title><link>https://blog.yexca.net/en/archives/1/</link><pubDate>Sat, 06 Nov 2021 14:15:19 +0800</pubDate><guid>https://blog.yexca.net/en/archives/1/</guid><description>&lt;p>Welcome to WordPress. This is your first post. Edit or delete it and start writing.&lt;/p></description></item><item><title>About</title><link>https://blog.yexca.net/en/about/</link><pubDate>Thu, 04 Nov 2021 20:20:20 +0800</pubDate><guid>https://blog.yexca.net/en/about/</guid><description>&lt;blockquote>
&lt;p>This page was partially machine translated (๑˃̵ᴗ˂̵)&lt;/p>
&lt;/blockquote>
&lt;p>Hi there! I&amp;rsquo;m
&lt;a class="link" href="https://blog.yexca.net/en/"
>
yexca /jɛkɑ/
&lt;/a>
&lt;/p>
&lt;h2 id="where">Where?
&lt;/h2>&lt;p>Welcome to my personal blog! Think of this as my cozy little corner for jotting down what I’ve learned and explored. Lately, I’ve been sprinkling in some life musings too.&lt;/p>
&lt;h2 id="what">What?
&lt;/h2>&lt;p>This blog is my &lt;strong>personal knowledge base&lt;/strong>, where I record tricky problems and their solutions from my learning journey. Occasionally, I share some cool discoveries as well.&lt;/p></description></item><item><title>Archives</title><link>https://blog.yexca.net/en/archives/</link><pubDate>Thu, 04 Nov 2021 20:20:20 +0800</pubDate><guid>https://blog.yexca.net/en/archives/</guid><description/></item><item><title>Search</title><link>https://blog.yexca.net/en/search/</link><pubDate>Thu, 04 Nov 2021 20:20:20 +0800</pubDate><guid>https://blog.yexca.net/en/search/</guid><description/></item></channel></rss>