k0nnyaku @ k0nnyaku.me

Init

Apr 29

这是一篇初始化博客文章,用于测试 Markdown 渲染及数学公式支持。

数学公式测试

行内公式

质能方程 E=mc2E = mc^2,勾股定理 a2+b2=c2a^2 + b^2 = c^2,欧拉恒等式 eiπ+1=0e^{i\pi} + 1 = 0

行间公式

Maxwell 方程组 — 高斯电场定律:

ΩEdS=1ϵ0ΩρdV\oint_{\partial \Omega} \mathbf{E} \cdot d\mathbf{S} = \frac{1}{\epsilon_0} \iiint_\Omega \rho \, dV

高斯磁场定律:

ΩBdS=0\oint_{\partial \Omega} \mathbf{B} \cdot d\mathbf{S} = 0

法拉第电磁感应定律:

ΣEd=ddtΣBdS\oint_{\partial \Sigma} \mathbf{E} \cdot d\ell = -\frac{d}{dt} \iint_\Sigma \mathbf{B} \cdot d\mathbf{S}

安培-麦克斯韦定律:

ΣBd=μ0ΣJdS+μ0ϵ0ddtΣEdS\oint_{\partial \Sigma} \mathbf{B} \cdot d\ell = \mu_0 \iint_\Sigma \mathbf{J} \cdot d\mathbf{S} + \mu_0 \epsilon_0 \frac{d}{dt} \iint_\Sigma \mathbf{E} \cdot d\mathbf{S}

信息熵:

H(X)=i=1nP(xi)logbP(xi)H(X) = -\sum_{i=1}^{n} P(x_i) \log_b P(x_i)

傅里叶变换:

f^(ξ)=f(x)e2πixξdx\hat{f}(\xi) = \int_{-\infty}^{\infty} f(x) \, e^{-2\pi i x \xi} \, dx

贝叶斯定理:

P(AB)=P(BA)P(A)P(B)P(A \mid B) = \frac{P(B \mid A) \, P(A)}{P(B)}

矩阵

(a11a12a1na21a22a2nam1am2amn)\begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{pmatrix}

代码测试

// TypeScript 类型体操
type DeepReadonly<T> = {
  readonly [K in keyof T]: T[K] extends object
    ? T[K] extends Function ? T[K] : DeepReadonly<T[K]>
    : T[K]
}

interface User {
  name: string
  profile: {
    avatar: string
    bio: string
  }
}

type ReadonlyUser = DeepReadonly<User>
//   ^? { readonly name: string; readonly profile: { readonly avatar: string; readonly bio: string } }
// Rust: 斐波那契
fn fibonacci(n: u64) -> u64 {
    match n {
        0 => 0,
        1 => 1,
        _ => fibonacci(n - 1) + fibonacci(n - 2),
    }
}

表格测试

方法时间复杂度空间复杂度稳定
冒泡排序O(n2)O(n^2)O(1)O(1)
快速排序O(nlogn)O(n \log n)O(logn)O(\log n)
归并排序O(nlogn)O(n \log n)O(n)O(n)
堆排序O(nlogn)O(n \log n)O(1)O(1)

持续优化

后续可按需添加渲染插件,例如 markdown-it-katex

pnpm add -D markdown-it-katex katex

然后在 vite.config.tsmarkdownItSetup 中添加:

import mk from 'markdown-it-katex'
md.use(mk)

>