<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>快乐的春饼</title><link>https://nispring.cn/</link><description>Recent content on 快乐的春饼</description><generator>Hugo</generator><language>zh-CN</language><copyright>© 2026 快乐的春饼</copyright><lastBuildDate>Mon, 04 May 2026 20:40:58 +0800</lastBuildDate><atom:link href="https://nispring.cn/index.xml" rel="self" type="application/rss+xml"/><item><title>Nginx 常用配置和解释</title><link>https://nispring.cn/posts/nginx-conf/</link><pubDate>Sun, 03 May 2026 20:40:58 +0800</pubDate><guid>https://nispring.cn/posts/nginx-conf/</guid><description>&lt;h2 id="配置文件位置"&gt;配置文件位置&lt;/h2&gt;
&lt;p&gt;在 Linux 上，对于作为系统服务的 Nginx，主配置文件路径为&lt;code&gt;/etc/nginx/nginx.conf&lt;/code&gt;。为了避免在同一个配置文件里塞入太多内容，我们可以在&lt;code&gt;/etc/nginx/conf.d/&lt;/code&gt;中创建不同的 conf 文件，然后在主配置文件中&lt;code&gt;include /etc/nginx/conf.d/*.conf;&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>Virtual Judge 自动抓取 OJ Cookie</title><link>https://nispring.cn/posts/vjudge-cookie-filler/</link><pubDate>Thu, 22 May 2025 22:08:28 +0800</pubDate><guid>https://nispring.cn/posts/vjudge-cookie-filler/</guid><description>&lt;h2 id="问题引入"&gt;问题引入&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://vjudge.net/"&gt;Virtual Judge&lt;/a&gt;（简称VJ）可以向其他 Online Judge（简称 OJ）提交题目，并在 VJ 上留下记录。&lt;/p&gt;
&lt;p&gt;VJ 有其中一些 OJ 的机器人账号，如果提交的题目是这些 OJ 上的，VJ 直接用机器人账号交题。&lt;/p&gt;</description></item><item><title>常见正则表达式的规则及使用</title><link>https://nispring.cn/posts/python-re/</link><pubDate>Sat, 01 Mar 2025 22:32:33 +0800</pubDate><guid>https://nispring.cn/posts/python-re/</guid><description>&lt;h2 id="regex101"&gt;&lt;a href="https://regex101.com/"&gt;regex101&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;一个可以&lt;strong&gt;测试&lt;/strong&gt;、&lt;strong&gt;解释&lt;/strong&gt;以及&lt;strong&gt;参考&lt;/strong&gt;正则表达式的网站。&lt;/p&gt;
&lt;h2 id="正则表达式规则"&gt;正则表达式规则&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;元字符&lt;/th&gt;
 &lt;th style="text-align: center"&gt;说明&lt;/th&gt;
 &lt;th style="text-align: center"&gt;示例&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;\d&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;匹配数字 (0-9)&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;\d&lt;/code&gt; → &amp;ldquo;5&amp;rdquo;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;\w&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;字母/数字/下划线 (a-z,0-9,_)&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;\w+&lt;/code&gt; → &amp;ldquo;Hello&amp;rdquo;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;\b&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;单词的开始或结束&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;\bHello\b&lt;/code&gt; → &amp;quot; Hello &amp;quot;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;任意单个字符（换行除外）&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;h.&lt;/code&gt; → &amp;ldquo;ha&amp;rdquo;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;*&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;0次或多次重复&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;a*&lt;/code&gt; → &amp;ldquo;aa&amp;rdquo;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;+&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;1次或多次重复&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;\d+&lt;/code&gt; → &amp;ldquo;123&amp;rdquo;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;?&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;0次或1次重复&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;a?&lt;/code&gt; → &amp;ldquo;a&amp;rdquo;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;{n}&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;精确匹配n次&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;\d{3}&lt;/code&gt; → &amp;ldquo;123&amp;rdquo;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;{n,}&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;匹配n次或更多次&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;\d{3,}&lt;/code&gt; → &amp;ldquo;123&amp;rdquo;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;{n,m}&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;匹配n到m次&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;\d{3,4}&lt;/code&gt; → &amp;ldquo;123&amp;rdquo;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;[ ]&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;字符集合&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;[a-c]&lt;/code&gt; → a/b/c&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;^&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;开头匹配 / 取反&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;^\d&lt;/code&gt; 开头为数字&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;$&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;结尾匹配&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;\d$&lt;/code&gt; 结尾为数字&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;|&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;或&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;a|b&lt;/code&gt; → a 或 b&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;[^x]&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;除了x以外的字符&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;code&gt;[^a]&lt;/code&gt; 除了a的字符&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="捕获组"&gt;捕获组&lt;/h3&gt;
&lt;p&gt;用圆括号括起来的部分就是捕获组，方便进一步获取内容。&lt;/p&gt;</description></item><item><title>浮点数和端序</title><link>https://nispring.cn/posts/float-and-endian/</link><pubDate>Wed, 18 Dec 2024 22:42:15 +0800</pubDate><guid>https://nispring.cn/posts/float-and-endian/</guid><description>&lt;h2 id="float-和-double"&gt;float 和 double&lt;/h2&gt;
&lt;p&gt;计算机中通常用浮点数来表示小数。在 IEEE 754 标准中，规定了两种常用的浮点类型：float和double，分别为单精度和双精度浮点类型。float采用4个字节存储，double采用8个字节存储。浮点类型类似于科学计数法的结构。float的结构是，从高位向低位，依次是1比特符号、8比特阶码、23比特尾数。double的结构是，从高位向低位，依次是1比特符号、11比特阶码、52比特尾数。比如-123.25的float表示是&lt;/p&gt;</description></item><item><title>一种开方算法</title><link>https://nispring.cn/posts/square-root-algorithm/</link><pubDate>Sat, 27 May 2023 12:43:57 +0800</pubDate><guid>https://nispring.cn/posts/square-root-algorithm/</guid><description>&lt;h2 id="介绍"&gt;介绍&lt;/h2&gt;
&lt;p&gt;这个方法是我之前做数学题的时候，苦于没有一个好的方法可以化简有双重根号的式子，而费了一番功夫想出来的。如下所示：&lt;/p&gt;
&lt;p&gt;$$
\begin{aligned}
&amp;amp; 若存在 x, y, a, b \in R，且 x &amp;gt; y &amp;gt; 0, a &amp;gt; b &amp;gt; 0，使得 x + y = \sqrt{a+b}或x - y = \sqrt{a-b}，\\
&amp;amp;则 x = \sqrt{\frac {a + \sqrt{a^2-b^2}} 2}, y = \sqrt{\frac {a - \sqrt{a^2-b^2}} 2} \end{aligned}
$$&lt;/p&gt;</description></item><item><title>斐波那契数列计算</title><link>https://nispring.cn/posts/fibonacci-sequence/</link><pubDate>Sun, 16 Apr 2023 12:35:57 +0800</pubDate><guid>https://nispring.cn/posts/fibonacci-sequence/</guid><description>&lt;blockquote&gt;
&lt;p&gt;练习1.13 证明 $Fib(n)$ 是最接近 $\phi ^ n / \sqrt {5}$ 的整数，其中 $\phi = (1 + \sqrt {5}) / 2$。提示：利用归纳法和斐波那契数列的定义，证明 $Fib(n) = (\phi ^ n - \gamma ^ n) / \sqrt {5}$。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;斐波那契数列定义如下：&lt;/p&gt;</description></item><item><title>二项分布均值与方差计算</title><link>https://nispring.cn/posts/binomial-distribution/</link><pubDate>Sat, 15 Apr 2023 12:12:44 +0800</pubDate><guid>https://nispring.cn/posts/binomial-distribution/</guid><description>&lt;p&gt;对于 $X∼B(n,p)$ 的第k项，其概率为 $P(X=k) = C_n^k p^k(1-p)^(n-k)$。&lt;/p&gt;
&lt;p&gt;下面的计算中我用了几个变形技巧：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;易证当存在 $n, k \in N, 且 n \ge k 时，有 kC_n^k = nC_{n-1}^{k-1}$&lt;/li&gt;
&lt;li&gt;二项展开式 $(a + b)^n = \sum_{k=0}^{n} C_n^k a^{n-k} b^k$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;则&lt;/p&gt;</description></item><item><title>常用科学常数</title><link>https://nispring.cn/posts/common-constant/</link><pubDate>Sat, 14 Jan 2023 12:03:54 +0800</pubDate><guid>https://nispring.cn/posts/common-constant/</guid><description>&lt;ul&gt;
&lt;li&gt;圆周率 $\pi = 3.14159\ 26535\ 89793$&lt;/li&gt;
&lt;li&gt;自然底数 $e = 2.71828\ 18284\ 59045$&lt;/li&gt;
&lt;li&gt;光速 $c = 299792458\ m/s$&lt;/li&gt;
&lt;li&gt;基本电荷 $e = 1.602176634 \times 10^{-19}\ C$&lt;/li&gt;
&lt;li&gt;普朗克常数 $h = 6.62607015 \times 10^{-34}\ J \cdot s$&lt;/li&gt;
&lt;li&gt;阿伏伽德罗常数 $N_A = 6.02214076 \times 10^{23}\ mol^{-1}$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;部分常数的位数做了取舍。物理相关常数摘自中国计量科学研究院提供的&lt;a href="https://www.nim.ac.cn/sites/default/files/inline-files/1%20%E7%AC%AC26%E5%B1%8A%E5%9B%BD%E9%99%85%E8%AE%A1%E9%87%8F%E5%A4%A7%E4%BC%9A%EF%BC%88CGPM%EF%BC%89%E5%86%B3%E8%AE%AE-%20%E5%9B%BD%E9%99%85%E5%8D%95%E4%BD%8D%E5%88%B6%E4%BF%AE%E8%AE%A2%EF%BC%88%E4%B8%AD%E6%96%87%E7%89%88%EF%BC%89.pdf"&gt;第26届国际计量大会（CGPM）决议&lt;/a&gt;。&lt;/p&gt;</description></item></channel></rss>