Help
RSS
API
Feed
Maltego
Contact
Domain > bqh.me
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2026-02-27
104.21.93.105
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Fri, 27 Feb 2026 09:51:25 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Server: cloudflareLast-Modified: Fri, 05 Dec 2025 14:37:13 GMTAccess-Control-Allow-Origin: *expires: Fri, 27 Feb 2026 10:01:25 GMTCache-Control: max-age600Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sUK2GQS7q7ylktURdJMY6%2FXSdsq3iFdpdc3IZB6KSQ1W1WWNW2sZckbBeoMs1p206F66GFYy2vGR2j89IvE%2Bld7LfdvRcDw%3D%3D}}x-proxy-cache: MISSX-GitHub-Request-Id: 6CFD:20C6A4:6FFB26:768A81:69A1691DAge: 0Via: 1.1 varnishX-Served-By: cache-sjc10076-SJCX-Cache: MISSX-Cache-Hits: 0X-Timer: S1772185886.839457,VS0,VE84Vary: Accept-EncodingX-Fastly-Request-ID: 05200eb442d96c0b5e3205839a20cc36696507dbcf-cache-status: DYNAMICCF-RAY: 9d46c89a3d2a87cd-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langzh>head>meta charSetutf-8/>meta nameviewport contentwidthdevice-width, initial-scale1/>link relstylesheet href/_next/static/css/0812ef79795b4c2e.css data-precedencenext/>link relpreload asscript fetchPrioritylow href/_next/static/chunks/webpack-81f4aff1faaa705c.js/>script src/_next/static/chunks/94c12b52-5098f580c6a0e9fe.js async>/script>script src/_next/static/chunks/842-20b21fd1cff4d340.js async>/script>script src/_next/static/chunks/main-app-776c93af47dab609.js async>/script>script src/_next/static/chunks/812-9dcd11b73e404920.js async>/script>script src/_next/static/chunks/app/not-found-3d51d5413dafbd57.js async>/script>link relshortcut icon href/favicon.ico/>title>Writing/title>meta namedescription contentBan Qinghe's personal website/>script src/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js noModule>/script>/head>body classtext-gray-700>main classw-560px max-w-90% mx-auto pt-12 md:pt-24>h1 classmb-8 text-3xl font-bold>Writing/h1>div>div classmb-2>h2 classtext-2xl font-bold mb-3 text-slate-900>2025/h2>a classflex justify-between group href/posts/read-vite-plugins>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>读几个我常用的 Vite plugin/h3>time dateTime12-03 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>12/03/time>/a>a classflex justify-between group href/posts/llm-typewriter>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>我们怎样渲染 LLM 的输出/h3>time dateTime11-23 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>11/23/time>/a>a classflex justify-between group href/posts/computer-graphics-from-scratch-part1>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Note Computer Graphics from Scratch - Part I: Raytracing/h3>time dateTime11-09 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>11/09/time>/a>a classflex justify-between group href/posts/web-custom-context-menu>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Web 上的 custom context menu/h3>time dateTime05-04 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>05/04/time>/a>a classflex justify-between group href/posts/ray-tracing-in-one-weekend>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Ray Tracing in One Weekend 学习记录/h3>time dateTime03-02 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>03/02/time>/a>a classflex justify-between group href/posts/reaclit>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>用 lit-html 制作简易 react/h3>time dateTime02-15 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>02/15/time>/a>/div>div classmb-2>h2 classtext-2xl font-bold mb-3 text-slate-900>2024/h2>a classflex justify-between group href/posts/pratt-parser>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>使用 Pratt Parser 解析表达式/h3>time dateTime11-08 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>11/08/time>/a>a classflex justify-between group href/posts/pnpm-create-vite>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>pnpm create vite 做了什么?/h3>time dateTime10-20 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>10/20/time>/a>a classflex justify-between group href/posts/learn-react-from-foxact>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>从 foxact 中学习 react/h3>time dateTime10-14 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>10/14/time>/a>a classflex justify-between group href/posts/git-reset>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Git 中的撤销操作/h3>time dateTime08-30 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>08/30/time>/a>/div>div classmb-2>h2 classtext-2xl font-bold mb-3 text-slate-900>2022/h2>a classflex justify-between group href/posts/react-strict-mode-and-pure-function-component>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>React strict mode 和 纯函数组件/h3>time dateTime07-31 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>07/31/time>/a>a classflex justify-between group href/posts/webgl-image-processing>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>WebGL 图像处理/h3>time dateTime07-03 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>07/03/time>/a>a classflex justify-between group href/posts/quick-sort>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>快排、第 K 大元素/h3>time dateTime06-15 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>06/15/time>/a>a classflex justify-between group href/posts/textarea-auto-height>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70><textarea> 高度自适应/h3>time dateTime06-06 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>06/06/time>/a>a classflex justify-between group href/posts/service-worker-workbox-note>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Service worker & Workbox Note/h3>time dateTime05-29 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>05/29/time>/a>a classflex justify-between group href/posts/collection-of-npm-packages>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Collection of npm packages/h3>time dateTime05-27 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>05/27/time>/a>a classflex justify-between group href/posts/webgl-guide-note>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>WebGL Guide Note/h3>time dateTime01-12 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>01/12/time>/a>/div>div classmb-2>h2 classtext-2xl font-bold mb-3 text-slate-900>2021/h2>a classflex justify-between group href/posts/react-markdown-test>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>markdown 展示效果测试/h3>time dateTime6-19 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>6/19 /time>/a>a classflex justify-between group href/posts/rewrite-blog-with-vite>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>使用 Vite 重写博客/h3>time dateTime11-23 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>11/23/time>/a>a classflex justify-between group href/posts/create-blog-website>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>使用 create-react-app 构建静态博客/h3>time dateTime06-29 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>06/29/time>/a>/div>div classmb-2>h2 classtext-2xl font-bold mb-3 text-slate-900>2020/h2>a classflex justify-between group href/posts/vue-native>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Vue 中的 .native/h3>time dateTime12-16 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>12/16/time>/a>a classflex justify-between group href/posts/javascript-note-for-bad-memory>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>因为我记性差才做的 JavaScript 笔记/h3>time dateTime12-02 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>12/02/time>/a>a classflex justify-between group href/posts/inline-to-block>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>inline 元素自动变为 block 元素的两种情况/h3>time dateTime10-06 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>10/06/time>/a>a classflex justify-between group href/posts/css-triangle>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>CSS 实现三角形和对话框箭头/h3>time dateTime09-19 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>09/19/time>/a>a classflex justify-between group href/posts/learn-webpack>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>webpack 基础学习/h3>time dateTime09-11 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>09/11/time>/a>a classflex justify-between group href/posts/thinking-in-java-notes>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>《Java编程思想》读书笔记/h3>time dateTime07-11 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>07/11/time>/a>a classflex justify-between group href/posts/css-note2>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>CSS 笔记(2) 样式化和布局/h3>time dateTime05-15 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>05/15/time>/a>a classflex justify-between group href/posts/css-note1>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>CSS 笔记(1) 基础知识/h3>time dateTime05-15 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>05/15/time>/a>a classflex justify-between group href/posts/html-note2>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>HTML笔记(2) 表格和表单/h3>time dateTime04-07 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>04/07/time>/a>a classflex justify-between group href/posts/html-note1>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>HTML笔记(1) 文档和多媒体/h3>time dateTime04-07 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>04/07/time>/a>a classflex justify-between group href/posts/deploy-hexo-vps>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>将 hexo 博客部署至 VPS/h3>time dateTime03-21 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>03/21/time>/a>a classflex justify-between group href/posts/learn-python>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>极简的 Python 入门指南/h3>time dateTime02-16 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>02/16/time>/a>/div>div classmb-2>h2 classtext-2xl font-bold mb-3 text-slate-900>2019/h2>a classflex justify-between group href/posts/glut-line-circle>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Glut 绘制直线和圆/h3>time dateTime10-08 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>10/08/time>/a>a classflex justify-between group href/posts/java-stack-queue-implement>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>栈和队列的实现/h3>time dateTime08-09 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>08/09/time>/a>a classflex justify-between group href/posts/beauty-ubuntu>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Ubuntu 18.04的美化和配置/h3>time dateTime08-01 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>08/01/time>/a>/div>/div>footer classflex justify-between py-16 text-xs md:text-sm text-gray-400>div>abbr classcursor-help decoration-dotted titleThis site and all its content are licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.>CC BY-NC 4.0/abbr>time dateTime2025 classmx-2>2019-PRESENT/time>© Ban Qinghe./div>a classtext-gray-600 hover:text-gray-400 hrefhttps://github.com/banqinghe/banqinghe.github.io/>GitHub/a>/footer>/main>script src/_next/static/chunks/webpack-81f4aff1faaa705c.js async>/script>script>(self.__next_fself.__next_f||).push(0);self.__next_f.push(2,null)/script>script>self.__next_f.push(1,1:HL\/_next/static/css/0812ef79795b4c2e.css\,\style\\n)/script>script>self.__next_f.push(1,2:I9148,,\\\n4:I9812,\812\,\static/chunks/812-9dcd11b73e404920.js\,\160\,\static/chunks/app/not-found-3d51d5413dafbd57.js\,\\\n5:I6731,,\\\n6:I2923,,\\\n8:I1304,,\\\n9:\n)/script>script>self.__next_f.push(1,0:\$\,\link\,\0\,{\rel\:\stylesheet\,\href\:\/_next/static/css/0812ef79795b4c2e.css\,\precedence\:\next\,\crossOrigin\:\$undefined\},\$\,\$L2\,null,{\buildId\:\Oi37_mHep8E1834PpQNFM\,\assetPrefix\:\\,\initialCanonicalUrl\:\/\,\initialTree\:\\,{\children\:\__PAGE__\,{}},\$undefined\,\$undefined\,true,\initialSeedData\:\\,{\children\:\__PAGE__\,{},\$L3\,\$\,\main\,null,{\className\:\w-560px max-w-90% mx-auto pt-12 md:pt-24\,\children\:\$\,\h1\,null,{\className\:\mb-8 text-3xl font-bold\,\children\:\Writing\},\$\,\div\,null,{\children\:\$\,\div\,\2025\,{\className\:\mb-2\,\children\:\$\,\h2\,null,{\className\:\text-2xl font-bold mb-3 text-slate-900\,\children\:\2025\},\$\,\$L4\,\read-vite-plugins\,{\href\:\/posts/read-vite-plugins\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\读几个我常用的 Vite plugin\},\$\,\time\,null,{\dateTime\:\12-03\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\12/03\}},\$\,\$L4\,\llm-typewriter\,{\href\:\/posts/llm-typewriter\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\我们怎样渲染 LLM 的输出\},\$\,\time\,null,{\dateTime\:\11-23\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\11/23\}},\$\,\$L4\,\computer-graphics-from-scratch-part1\,{\href\:\/posts/computer-graphics-from-scratch-part1\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Note Computer Graphics from Scratch - Part I: Raytracing\},\$\,\time\,null,{\dateTime\:\11-09\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\11/09\}},\$\,\$L4\,\web-custom-context-menu\,{\href\:\/posts/web-custom-context-menu\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Web 上的 custom context menu\},\$\,\time\,null,{\dateTime\:\05-04\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\05/04\}},\$\,\$L4\,\ray-tracing-in-one-weekend\,{\href\:\/posts/ray-tracing-in-one-weekend\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Ray Tracing in One Weekend 学习记录\},\$\,\time\,null,{\dateTime\:\03-02\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\03/02\}},\$\,\$L4\,\reaclit\,{\href\:\/posts/reaclit\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\用 lit-html 制作简易 react\},\$\,\time\,null,{\dateTime\:\02-15\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\02/15\}}},\$\,\div\,\2024\,{\className\:\mb-2\,\children\:\$\,\h2\,null,{\className\:\text-2xl font-bold mb-3 text-slate-900\,\children\:\2024\},\$\,\$L4\,\pratt-parser\,{\href\:\/posts/pratt-parser\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\使用 Pratt Parser 解析表达式\},\$\,\time\,null,{\dateTime\:\11-08\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\11/08\}},\$\,\$L4\,\pnpm-create-vite\,{\href\:\/posts/pnpm-create-vite\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\pnpm create vite 做了什么?\},\$\,\time\,null,{\dateTime\:\10-20\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\10/20\}},\$\,\$L4\,\learn-react-from-foxact\,{\href\:\/posts/learn-react-from-foxact\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\从 foxact 中学习 react\},\$\,\time\,null,{\dateTime\:\10-14\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\10/14\}},\$\,\$L4\,\git-reset\,{\href\:\/posts/git-reset\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Git 中的撤销操作\},\$\,\time\,null,{\dateTime\:\08-30\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\08/30\}}},\$\,\div\,\2022\,{\className\:\mb-2\,\children\:\$\,\h2\,null,{\className\:\text-2xl font-bold mb-3 text-slate-900\,\children\:\2022\},\$\,\$L4\,\react-strict-mode-and-pure-function-component\,{\href\:\/posts/react-strict-mode-and-pure-function-component\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\React strict mode 和 纯函数组件\},\$\,\time\,null,{\dateTime\:\07-31\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\07/31\}},\$\,\$L4\,\webgl-image-processing\,{\href\:\/posts/webgl-image-processing\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\WebGL 图像处理\},\$\,\time\,null,{\dateTime\:\07-03\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\07/03\}},\$\,\$L4\,\quick-sort\,{\href\:\/posts/quick-sort\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\快排、第 K 大元素\},\$\,\time\,null,{\dateTime\:\06-15\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\06/15\}},\$\,\$L4\,\textarea-auto-height\,{\href\:\/posts/textarea-auto-height\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\\u003ctextarea\u003e 高度自适应\},\$\,\time\,null,{\dateTime\:\06-06\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\06/06\}},\$\,\$L4\,\service-worker-workbox-note\,{\href\:\/posts/service-worker-workbox-note\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Service worker \u0026 Workbox Note\},\$\,\time\,null,{\dateTime\:\05-29\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\05/29\}},\$\,\$L4\,\collection-of-npm-packages\,{\href\:\/posts/collection-of-npm-packages\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Collection of npm packages\},\$\,\time\,null,{\dateTime\:\05-27\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\05/27\}},\$\,\$L4\,\webgl-guide-note\,{\href\:\/posts/webgl-guide-note\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\WebGL Guide Note\},\$\,\time\,null,{\dateTime\:\01-12\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\01/12\}}},\$\,\div\,\2021\,{\className\:\mb-2\,\children\:\$\,\h2\,null,{\className\:\text-2xl font-bold mb-3 text-slate-900\,\children\:\2021\},\$\,\$L4\,\react-markdown-test\,{\href\:\/posts/react-markdown-test\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\markdown 展示效果测试\},\$\,\time\,null,{\dateTime\:\6-19 \,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\6/19 \}},\$\,\$L4\,\rewrite-blog-with-vite\,{\href\:\/posts/rewrite-blog-with-vite\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\使用 Vite 重写博客\},\$\,\time\,null,{\dateTime\:\11-23\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\11/23\}},\$\,\$L4\,\create-blog-website\,{\href\:\/posts/create-blog-website\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\使用 create-react-app 构建静态博客\},\$\,\time\,null,{\dateTime\:\06-29\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\06/29\}}},\$\,\div\,\2020\,{\className\:\mb-2\,\children\:\$\,\h2\,null,{\className\:\text-2xl font-bold mb-3 text-slate-900\,\children\:\2020\},\$\,\$L4\,\vue-native\,{\href\:\/posts/vue-native\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Vue 中的 .native\},\$\,\time\,null,{\dateTime\:\12-16\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\12/16\}},\$\,\$L4\,\javascript-note-for-bad-memory\,{\href\:\/posts/javascript-note-for-bad-memory\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\因为我记性差才做的 JavaScript 笔记\},\$\,\time\,null,{\dateTime\:\12-02\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\12/02\}},\$\,\$L4\,\inline-to-block\,{\href\:\/posts/inline-to-block\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\inline 元素自动变为 block 元素的两种情况\},\$\,\time\,null,{\dateTime\:\10-06\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\10/06\}},\$\,\$L4\,\css-triangle\,{\href\:\/posts/css-triangle\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\CSS 实现三角形和对话框箭头\},\$\,\time\,null,{\dateTime\:\09-19\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\09/19\}},\$\,\$L4\,\learn-webpack\,{\href\:\/posts/learn-webpack\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\webpack 基础学习\},\$\,\time\,null,{\dateTime\:\09-11\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\09/11\}},\$\,\$L4\,\thinking-in-java-notes\,{\href\:\/posts/thinking-in-java-notes\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\《Java编程思想》读书笔记\},\$\,\time\,null,{\dateTime\:\07-11\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\07/11\}},\$\,\$L4\,\css-note2\,{\href\:\/posts/css-note2\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\CSS 笔记(2) 样式化和布局\},\$\,\time\,null,{\dateTime\:\05-15\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\05/15\}},\$\,\$L4\,\css-note1\,{\href\:\/posts/css-note1\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\CSS 笔记(1) 基础知识\},\$\,\time\,null,{\dateTime\:\05-15\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\05/15\}},\$\,\$L4\,\html-note2\,{\href\:\/posts/html-note2\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\HTML笔记(2) 表格和表单\},\$\,\time\,null,{\dateTime\:\04-07\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\04/07\}},\$\,\$L4\,\html-note1\,{\href\:\/posts/html-note1\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\HTML笔记(1) 文档和多媒体\},\$\,\time\,null,{\dateTime\:\04-07\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\04/07\}},\$\,\$L4\,\deploy-hexo-vps\,{\href\:\/posts/deploy-hexo-vps\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\将 hexo 博客部署至 VPS\},\$\,\time\,null,{\dateTime\:\03-21\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\03/21\}},\$\,\$L4\,\learn-python\,{\href\:\/posts/learn-python\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\极简的 Python 入门指南\},\$\,\time\,null,{\dateTime\:\02-16\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\02/16\}}},\$\,\div\,\2019\,{\className\:\mb-2\,\children\:\$\,\h2\,null,{\className\:\text-2xl font-bold mb-3 text-slate-900\,\children\:\2019\},\$\,\$L4\,\glut-line-circle\,{\href\:\/posts/glut-line-circle\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Glut 绘制直线和圆\},\$\,\time\,null,{\dateTime\:\10-08\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\10/08\}},\$\,\$L4\,\java-stack-queue-implement\,{\href\:\/posts/java-stack-queue-implement\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\栈和队列的实现\},\$\,\time\,null,{\dateTime\:\08-09\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\08/09\}},\$\,\$L4\,\beauty-ubuntu\,{\href\:\/posts/beauty-ubuntu\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Ubuntu 18.04的美化和配置\},\$\,\time\,null,{\dateTime\:\08-01\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\08/01\}}}},\$\,\footer\,null,{\className\:\flex justify-between py-16 text-xs md:text-sm text-gray-400\,\children\:\$\,\div\,null,{\children\:\$\,\abbr\,null,{\className\:\cursor-help decoration-dotted\,\title\:\This site and all its content are licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.\,\children\:\CC BY-NC 4.0\},\$\,\time\,null,{\dateTime\:\2025\,\className\:\mx-2\,\children\:\2019-PRESENT\},\© Ban Qinghe.\},\$\,\a\,null,{\className\:\text-gray-600 hover:text-gray-400\,\href\:\https://github.com/banqinghe/banqinghe.github.io/\,\children\:\GitHub\}}},null,null},\$\,\html\,null,{\lang\:\zh\,\children\:\$\,\head\,null,{\children\:\$\,\link\,null,{\rel\:\shortcut icon\,\href\:\/favicon.ico\}},\$\,\body\,null,{\className\:\text-gray-700\,\children\:\$\,\$L5\,null,{\parallelRouterKey\:\children\,\segmentPath\:\children\,\error\:\$undefined\,\errorStyles\:\$undefined\,\errorScripts\:\$undefined\,\template\:\$\,\$L6\,null,{},\templateStyles\:\$undefined\,\templateScripts\:\$undefined\,\notFound\:\$\,\main\,null,{\className\:\w-700px max-w-90% h-36rem mx-auto pt-12 md:pt-24\,\children\:\$\,\h1\,null,{\className\:\mb-6 text-2xl md:text-4xl font-bold\,\children\:\404\},\$\,\$L4\,null,{\href\:\/\,\className\:\underline\,\children\:\Back to Home\}},\notFoundStyles\:,\styles\:null}}},null,null,\couldBeIntercepted\:false,\initialHead\:null,\$L7\,\globalErrorComponent\:\$8\,\missingSlots\:\$W9\}\n)/script>script>self.__next_f.push(1,7:\$\,\meta\,\0\,{\name\:\viewport\,\content\:\widthdevice-width, initial-scale1\},\$\,\meta\,\1\,{\charSet\:\utf-8\},\$\,\title\,\2\,{\children\:\Writing\},\$\,\meta\,\3\,{\name\:\description\,\content\:\Ban Qinghes personal website\}\n3:null\n)/script>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Fri, 27 Feb 2026 09:51:26 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveServer: cloudflarex-origin-cache: HITlast-modified: Fri, 05 Dec 2025 14:37:13 GMTaccess-control-allow-origin: *expires: Fri, 27 Feb 2026 10:01:26 GMTCache-Control: max-age600Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?s1ngIkKH9uBFCkkQnYZ6JYDhZ4NEbWOw9ZMkFUmiSixEU1HKmqToGs3xc7UdzrgG23LTiS50tAtcxEAMQFdeHZV%2B6qnE%3D}}x-proxy-cache: MISSx-github-request-id: 5DB8:1E97E7:7355DA:79E611:69A1691DNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Age: 0via: 1.1 varnishx-served-by: cache-sjc1000113-SJCx-cache: MISSx-cache-hits: 0x-timer: S1772185886.042848,VS0,VE78vary: Accept-Encodingx-fastly-request-id: baf0bb6ae3ece60e8854ed6bbc7eae33965b63c7cf-cache-status: DYNAMICCF-RAY: 9d46c89b58069bf9-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langzh>head>meta charSetutf-8/>meta nameviewport contentwidthdevice-width, initial-scale1/>link relstylesheet href/_next/static/css/0812ef79795b4c2e.css data-precedencenext/>link relpreload asscript fetchPrioritylow href/_next/static/chunks/webpack-81f4aff1faaa705c.js/>script src/_next/static/chunks/94c12b52-5098f580c6a0e9fe.js async>/script>script src/_next/static/chunks/842-20b21fd1cff4d340.js async>/script>script src/_next/static/chunks/main-app-776c93af47dab609.js async>/script>script src/_next/static/chunks/812-9dcd11b73e404920.js async>/script>script src/_next/static/chunks/app/not-found-3d51d5413dafbd57.js async>/script>link relshortcut icon href/favicon.ico/>title>Writing/title>meta namedescription contentBan Qinghe's personal website/>script src/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js noModule>/script>/head>body classtext-gray-700>main classw-560px max-w-90% mx-auto pt-12 md:pt-24>h1 classmb-8 text-3xl font-bold>Writing/h1>div>div classmb-2>h2 classtext-2xl font-bold mb-3 text-slate-900>2025/h2>a classflex justify-between group href/posts/read-vite-plugins>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>读几个我常用的 Vite plugin/h3>time dateTime12-03 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>12/03/time>/a>a classflex justify-between group href/posts/llm-typewriter>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>我们怎样渲染 LLM 的输出/h3>time dateTime11-23 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>11/23/time>/a>a classflex justify-between group href/posts/computer-graphics-from-scratch-part1>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Note Computer Graphics from Scratch - Part I: Raytracing/h3>time dateTime11-09 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>11/09/time>/a>a classflex justify-between group href/posts/web-custom-context-menu>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Web 上的 custom context menu/h3>time dateTime05-04 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>05/04/time>/a>a classflex justify-between group href/posts/ray-tracing-in-one-weekend>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Ray Tracing in One Weekend 学习记录/h3>time dateTime03-02 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>03/02/time>/a>a classflex justify-between group href/posts/reaclit>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>用 lit-html 制作简易 react/h3>time dateTime02-15 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>02/15/time>/a>/div>div classmb-2>h2 classtext-2xl font-bold mb-3 text-slate-900>2024/h2>a classflex justify-between group href/posts/pratt-parser>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>使用 Pratt Parser 解析表达式/h3>time dateTime11-08 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>11/08/time>/a>a classflex justify-between group href/posts/pnpm-create-vite>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>pnpm create vite 做了什么?/h3>time dateTime10-20 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>10/20/time>/a>a classflex justify-between group href/posts/learn-react-from-foxact>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>从 foxact 中学习 react/h3>time dateTime10-14 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>10/14/time>/a>a classflex justify-between group href/posts/git-reset>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Git 中的撤销操作/h3>time dateTime08-30 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>08/30/time>/a>/div>div classmb-2>h2 classtext-2xl font-bold mb-3 text-slate-900>2022/h2>a classflex justify-between group href/posts/react-strict-mode-and-pure-function-component>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>React strict mode 和 纯函数组件/h3>time dateTime07-31 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>07/31/time>/a>a classflex justify-between group href/posts/webgl-image-processing>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>WebGL 图像处理/h3>time dateTime07-03 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>07/03/time>/a>a classflex justify-between group href/posts/quick-sort>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>快排、第 K 大元素/h3>time dateTime06-15 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>06/15/time>/a>a classflex justify-between group href/posts/textarea-auto-height>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70><textarea> 高度自适应/h3>time dateTime06-06 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>06/06/time>/a>a classflex justify-between group href/posts/service-worker-workbox-note>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Service worker & Workbox Note/h3>time dateTime05-29 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>05/29/time>/a>a classflex justify-between group href/posts/collection-of-npm-packages>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Collection of npm packages/h3>time dateTime05-27 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>05/27/time>/a>a classflex justify-between group href/posts/webgl-guide-note>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>WebGL Guide Note/h3>time dateTime01-12 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>01/12/time>/a>/div>div classmb-2>h2 classtext-2xl font-bold mb-3 text-slate-900>2021/h2>a classflex justify-between group href/posts/react-markdown-test>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>markdown 展示效果测试/h3>time dateTime6-19 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>6/19 /time>/a>a classflex justify-between group href/posts/rewrite-blog-with-vite>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>使用 Vite 重写博客/h3>time dateTime11-23 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>11/23/time>/a>a classflex justify-between group href/posts/create-blog-website>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>使用 create-react-app 构建静态博客/h3>time dateTime06-29 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>06/29/time>/a>/div>div classmb-2>h2 classtext-2xl font-bold mb-3 text-slate-900>2020/h2>a classflex justify-between group href/posts/vue-native>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Vue 中的 .native/h3>time dateTime12-16 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>12/16/time>/a>a classflex justify-between group href/posts/javascript-note-for-bad-memory>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>因为我记性差才做的 JavaScript 笔记/h3>time dateTime12-02 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>12/02/time>/a>a classflex justify-between group href/posts/inline-to-block>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>inline 元素自动变为 block 元素的两种情况/h3>time dateTime10-06 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>10/06/time>/a>a classflex justify-between group href/posts/css-triangle>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>CSS 实现三角形和对话框箭头/h3>time dateTime09-19 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>09/19/time>/a>a classflex justify-between group href/posts/learn-webpack>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>webpack 基础学习/h3>time dateTime09-11 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>09/11/time>/a>a classflex justify-between group href/posts/thinking-in-java-notes>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>《Java编程思想》读书笔记/h3>time dateTime07-11 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>07/11/time>/a>a classflex justify-between group href/posts/css-note2>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>CSS 笔记(2) 样式化和布局/h3>time dateTime05-15 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>05/15/time>/a>a classflex justify-between group href/posts/css-note1>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>CSS 笔记(1) 基础知识/h3>time dateTime05-15 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>05/15/time>/a>a classflex justify-between group href/posts/html-note2>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>HTML笔记(2) 表格和表单/h3>time dateTime04-07 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>04/07/time>/a>a classflex justify-between group href/posts/html-note1>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>HTML笔记(1) 文档和多媒体/h3>time dateTime04-07 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>04/07/time>/a>a classflex justify-between group href/posts/deploy-hexo-vps>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>将 hexo 博客部署至 VPS/h3>time dateTime03-21 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>03/21/time>/a>a classflex justify-between group href/posts/learn-python>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>极简的 Python 入门指南/h3>time dateTime02-16 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>02/16/time>/a>/div>div classmb-2>h2 classtext-2xl font-bold mb-3 text-slate-900>2019/h2>a classflex justify-between group href/posts/glut-line-circle>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Glut 绘制直线和圆/h3>time dateTime10-08 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>10/08/time>/a>a classflex justify-between group href/posts/java-stack-queue-implement>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>栈和队列的实现/h3>time dateTime08-09 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>08/09/time>/a>a classflex justify-between group href/posts/beauty-ubuntu>h3 classtext-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70>Ubuntu 18.04的美化和配置/h3>time dateTime08-01 classml-3 text-md text-gray-400 whitespace-nowrap font-mono>08/01/time>/a>/div>/div>footer classflex justify-between py-16 text-xs md:text-sm text-gray-400>div>abbr classcursor-help decoration-dotted titleThis site and all its content are licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.>CC BY-NC 4.0/abbr>time dateTime2025 classmx-2>2019-PRESENT/time>© Ban Qinghe./div>a classtext-gray-600 hover:text-gray-400 hrefhttps://github.com/banqinghe/banqinghe.github.io/>GitHub/a>/footer>/main>script src/_next/static/chunks/webpack-81f4aff1faaa705c.js async>/script>script>(self.__next_fself.__next_f||).push(0);self.__next_f.push(2,null)/script>script>self.__next_f.push(1,1:HL\/_next/static/css/0812ef79795b4c2e.css\,\style\\n)/script>script>self.__next_f.push(1,2:I9148,,\\\n4:I9812,\812\,\static/chunks/812-9dcd11b73e404920.js\,\160\,\static/chunks/app/not-found-3d51d5413dafbd57.js\,\\\n5:I6731,,\\\n6:I2923,,\\\n8:I1304,,\\\n9:\n)/script>script>self.__next_f.push(1,0:\$\,\link\,\0\,{\rel\:\stylesheet\,\href\:\/_next/static/css/0812ef79795b4c2e.css\,\precedence\:\next\,\crossOrigin\:\$undefined\},\$\,\$L2\,null,{\buildId\:\Oi37_mHep8E1834PpQNFM\,\assetPrefix\:\\,\initialCanonicalUrl\:\/\,\initialTree\:\\,{\children\:\__PAGE__\,{}},\$undefined\,\$undefined\,true,\initialSeedData\:\\,{\children\:\__PAGE__\,{},\$L3\,\$\,\main\,null,{\className\:\w-560px max-w-90% mx-auto pt-12 md:pt-24\,\children\:\$\,\h1\,null,{\className\:\mb-8 text-3xl font-bold\,\children\:\Writing\},\$\,\div\,null,{\children\:\$\,\div\,\2025\,{\className\:\mb-2\,\children\:\$\,\h2\,null,{\className\:\text-2xl font-bold mb-3 text-slate-900\,\children\:\2025\},\$\,\$L4\,\read-vite-plugins\,{\href\:\/posts/read-vite-plugins\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\读几个我常用的 Vite plugin\},\$\,\time\,null,{\dateTime\:\12-03\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\12/03\}},\$\,\$L4\,\llm-typewriter\,{\href\:\/posts/llm-typewriter\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\我们怎样渲染 LLM 的输出\},\$\,\time\,null,{\dateTime\:\11-23\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\11/23\}},\$\,\$L4\,\computer-graphics-from-scratch-part1\,{\href\:\/posts/computer-graphics-from-scratch-part1\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Note Computer Graphics from Scratch - Part I: Raytracing\},\$\,\time\,null,{\dateTime\:\11-09\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\11/09\}},\$\,\$L4\,\web-custom-context-menu\,{\href\:\/posts/web-custom-context-menu\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Web 上的 custom context menu\},\$\,\time\,null,{\dateTime\:\05-04\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\05/04\}},\$\,\$L4\,\ray-tracing-in-one-weekend\,{\href\:\/posts/ray-tracing-in-one-weekend\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Ray Tracing in One Weekend 学习记录\},\$\,\time\,null,{\dateTime\:\03-02\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\03/02\}},\$\,\$L4\,\reaclit\,{\href\:\/posts/reaclit\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\用 lit-html 制作简易 react\},\$\,\time\,null,{\dateTime\:\02-15\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\02/15\}}},\$\,\div\,\2024\,{\className\:\mb-2\,\children\:\$\,\h2\,null,{\className\:\text-2xl font-bold mb-3 text-slate-900\,\children\:\2024\},\$\,\$L4\,\pratt-parser\,{\href\:\/posts/pratt-parser\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\使用 Pratt Parser 解析表达式\},\$\,\time\,null,{\dateTime\:\11-08\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\11/08\}},\$\,\$L4\,\pnpm-create-vite\,{\href\:\/posts/pnpm-create-vite\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\pnpm create vite 做了什么?\},\$\,\time\,null,{\dateTime\:\10-20\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\10/20\}},\$\,\$L4\,\learn-react-from-foxact\,{\href\:\/posts/learn-react-from-foxact\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\从 foxact 中学习 react\},\$\,\time\,null,{\dateTime\:\10-14\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\10/14\}},\$\,\$L4\,\git-reset\,{\href\:\/posts/git-reset\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Git 中的撤销操作\},\$\,\time\,null,{\dateTime\:\08-30\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\08/30\}}},\$\,\div\,\2022\,{\className\:\mb-2\,\children\:\$\,\h2\,null,{\className\:\text-2xl font-bold mb-3 text-slate-900\,\children\:\2022\},\$\,\$L4\,\react-strict-mode-and-pure-function-component\,{\href\:\/posts/react-strict-mode-and-pure-function-component\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\React strict mode 和 纯函数组件\},\$\,\time\,null,{\dateTime\:\07-31\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\07/31\}},\$\,\$L4\,\webgl-image-processing\,{\href\:\/posts/webgl-image-processing\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\WebGL 图像处理\},\$\,\time\,null,{\dateTime\:\07-03\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\07/03\}},\$\,\$L4\,\quick-sort\,{\href\:\/posts/quick-sort\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\快排、第 K 大元素\},\$\,\time\,null,{\dateTime\:\06-15\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\06/15\}},\$\,\$L4\,\textarea-auto-height\,{\href\:\/posts/textarea-auto-height\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\\u003ctextarea\u003e 高度自适应\},\$\,\time\,null,{\dateTime\:\06-06\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\06/06\}},\$\,\$L4\,\service-worker-workbox-note\,{\href\:\/posts/service-worker-workbox-note\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Service worker \u0026 Workbox Note\},\$\,\time\,null,{\dateTime\:\05-29\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\05/29\}},\$\,\$L4\,\collection-of-npm-packages\,{\href\:\/posts/collection-of-npm-packages\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Collection of npm packages\},\$\,\time\,null,{\dateTime\:\05-27\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\05/27\}},\$\,\$L4\,\webgl-guide-note\,{\href\:\/posts/webgl-guide-note\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\WebGL Guide Note\},\$\,\time\,null,{\dateTime\:\01-12\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\01/12\}}},\$\,\div\,\2021\,{\className\:\mb-2\,\children\:\$\,\h2\,null,{\className\:\text-2xl font-bold mb-3 text-slate-900\,\children\:\2021\},\$\,\$L4\,\react-markdown-test\,{\href\:\/posts/react-markdown-test\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\markdown 展示效果测试\},\$\,\time\,null,{\dateTime\:\6-19 \,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\6/19 \}},\$\,\$L4\,\rewrite-blog-with-vite\,{\href\:\/posts/rewrite-blog-with-vite\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\使用 Vite 重写博客\},\$\,\time\,null,{\dateTime\:\11-23\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\11/23\}},\$\,\$L4\,\create-blog-website\,{\href\:\/posts/create-blog-website\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\使用 create-react-app 构建静态博客\},\$\,\time\,null,{\dateTime\:\06-29\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\06/29\}}},\$\,\div\,\2020\,{\className\:\mb-2\,\children\:\$\,\h2\,null,{\className\:\text-2xl font-bold mb-3 text-slate-900\,\children\:\2020\},\$\,\$L4\,\vue-native\,{\href\:\/posts/vue-native\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Vue 中的 .native\},\$\,\time\,null,{\dateTime\:\12-16\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\12/16\}},\$\,\$L4\,\javascript-note-for-bad-memory\,{\href\:\/posts/javascript-note-for-bad-memory\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\因为我记性差才做的 JavaScript 笔记\},\$\,\time\,null,{\dateTime\:\12-02\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\12/02\}},\$\,\$L4\,\inline-to-block\,{\href\:\/posts/inline-to-block\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\inline 元素自动变为 block 元素的两种情况\},\$\,\time\,null,{\dateTime\:\10-06\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\10/06\}},\$\,\$L4\,\css-triangle\,{\href\:\/posts/css-triangle\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\CSS 实现三角形和对话框箭头\},\$\,\time\,null,{\dateTime\:\09-19\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\09/19\}},\$\,\$L4\,\learn-webpack\,{\href\:\/posts/learn-webpack\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\webpack 基础学习\},\$\,\time\,null,{\dateTime\:\09-11\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\09/11\}},\$\,\$L4\,\thinking-in-java-notes\,{\href\:\/posts/thinking-in-java-notes\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\《Java编程思想》读书笔记\},\$\,\time\,null,{\dateTime\:\07-11\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\07/11\}},\$\,\$L4\,\css-note2\,{\href\:\/posts/css-note2\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\CSS 笔记(2) 样式化和布局\},\$\,\time\,null,{\dateTime\:\05-15\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\05/15\}},\$\,\$L4\,\css-note1\,{\href\:\/posts/css-note1\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\CSS 笔记(1) 基础知识\},\$\,\time\,null,{\dateTime\:\05-15\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\05/15\}},\$\,\$L4\,\html-note2\,{\href\:\/posts/html-note2\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\HTML笔记(2) 表格和表单\},\$\,\time\,null,{\dateTime\:\04-07\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\04/07\}},\$\,\$L4\,\html-note1\,{\href\:\/posts/html-note1\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\HTML笔记(1) 文档和多媒体\},\$\,\time\,null,{\dateTime\:\04-07\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\04/07\}},\$\,\$L4\,\deploy-hexo-vps\,{\href\:\/posts/deploy-hexo-vps\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\将 hexo 博客部署至 VPS\},\$\,\time\,null,{\dateTime\:\03-21\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\03/21\}},\$\,\$L4\,\learn-python\,{\href\:\/posts/learn-python\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\极简的 Python 入门指南\},\$\,\time\,null,{\dateTime\:\02-16\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\02/16\}}},\$\,\div\,\2019\,{\className\:\mb-2\,\children\:\$\,\h2\,null,{\className\:\text-2xl font-bold mb-3 text-slate-900\,\children\:\2019\},\$\,\$L4\,\glut-line-circle\,{\href\:\/posts/glut-line-circle\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Glut 绘制直线和圆\},\$\,\time\,null,{\dateTime\:\10-08\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\10/08\}},\$\,\$L4\,\java-stack-queue-implement\,{\href\:\/posts/java-stack-queue-implement\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\栈和队列的实现\},\$\,\time\,null,{\dateTime\:\08-09\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\08/09\}},\$\,\$L4\,\beauty-ubuntu\,{\href\:\/posts/beauty-ubuntu\,\className\:\flex justify-between group\,\children\:\$\,\h3\,null,{\className\:\text-lg font-medium mb-3 leading-snug text-slate-900 transition-opacity group-hover:opacity-70\,\children\:\Ubuntu 18.04的美化和配置\},\$\,\time\,null,{\dateTime\:\08-01\,\className\:\ml-3 text-md text-gray-400 whitespace-nowrap font-mono\,\children\:\08/01\}}}},\$\,\footer\,null,{\className\:\flex justify-between py-16 text-xs md:text-sm text-gray-400\,\children\:\$\,\div\,null,{\children\:\$\,\abbr\,null,{\className\:\cursor-help decoration-dotted\,\title\:\This site and all its content are licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.\,\children\:\CC BY-NC 4.0\},\$\,\time\,null,{\dateTime\:\2025\,\className\:\mx-2\,\children\:\2019-PRESENT\},\© Ban Qinghe.\},\$\,\a\,null,{\className\:\text-gray-600 hover:text-gray-400\,\href\:\https://github.com/banqinghe/banqinghe.github.io/\,\children\:\GitHub\}}},null,null},\$\,\html\,null,{\lang\:\zh\,\children\:\$\,\head\,null,{\children\:\$\,\link\,null,{\rel\:\shortcut icon\,\href\:\/favicon.ico\}},\$\,\body\,null,{\className\:\text-gray-700\,\children\:\$\,\$L5\,null,{\parallelRouterKey\:\children\,\segmentPath\:\children\,\error\:\$undefined\,\errorStyles\:\$undefined\,\errorScripts\:\$undefined\,\template\:\$\,\$L6\,null,{},\templateStyles\:\$undefined\,\templateScripts\:\$undefined\,\notFound\:\$\,\main\,null,{\className\:\w-700px max-w-90% h-36rem mx-auto pt-12 md:pt-24\,\children\:\$\,\h1\,null,{\className\:\mb-6 text-2xl md:text-4xl font-bold\,\children\:\404\},\$\,\$L4\,null,{\href\:\/\,\className\:\underline\,\children\:\Back to Home\}},\notFoundStyles\:,\styles\:null}}},null,null,\couldBeIntercepted\:false,\initialHead\:null,\$L7\,\globalErrorComponent\:\$8\,\missingSlots\:\$W9\}\n)/script>script>self.__next_f.push(1,7:\$\,\meta\,\0\,{\name\:\viewport\,\content\:\widthdevice-width, initial-scale1\},\$\,\meta\,\1\,{\charSet\:\utf-8\},\$\,\title\,\2\,{\children\:\Writing\},\$\,\meta\,\3\,{\name\:\description\,\content\:\Ban Qinghes personal website\}\n3:null\n)/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]