-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
54 lines (54 loc) · 30.5 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<!doctype html>
<html lang="zh"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><meta><title>make more sense</title><link rel="manifest" href="/manifest.json"><meta name="application-name" content="make more sense"><meta name="msapplication-TileImage" content="/img/favicon.svg"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="make more sense"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta property="og:type" content="blog"><meta property="og:title" content="make more sense"><meta property="og:url" content="https://asevenm.github.io/"><meta property="og:site_name" content="make more sense"><meta property="og:locale" content="zh_CN"><meta property="og:image" content="https://asevenm.github.io/img/og_image.png"><meta property="article:author" content="Aseven"><meta property="twitter:card" content="summary"><meta property="twitter:image" content="/img/og_image.png"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BlogPosting","mainEntityOfPage":{"@type":"WebPage","@id":"https://asevenm.github.io"},"headline":"make more sense","image":["https://asevenm.github.io/img/og_image.png"],"author":{"@type":"Person","name":"Aseven"},"publisher":{"@type":"Organization","name":"make more sense","logo":{"@type":"ImageObject","url":"https://asevenm.github.io/images/avatar.jpeg"}},"description":null}</script><link rel="icon" href="/img/favicon.svg"><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.2/css/all.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/styles/xt256.css"><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Oxanium:wght@300;400;600&family=Roboto+Mono"><link rel="stylesheet" href="/css/cyberpunk.css"><style>body>.footer,body>.navbar,body>.section{opacity:0}</style><!--!--><!--!--><!--!--><!--!--><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/build/cookieconsent.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/lightgallery.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/justifiedGallery.min.css"><!--!--><!--!--><style>.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#3273dc;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}</style><script src="https://cdn.jsdelivr.net/npm/[email protected]/pace.min.js"></script><!--!--><!--!--><meta name="generator" content="Hexo 6.1.0"></head><body class="is-3-column"><nav class="navbar navbar-main"><div class="container"><div class="navbar-brand justify-content-center"><a class="navbar-item navbar-logo" href="/"><img src="/images/avatar.jpeg" alt="make more sense" height="28"></a></div><div class="navbar-menu"><div class="navbar-start"><a class="navbar-item is-active" href="/">首页</a><a class="navbar-item" href="/archives">归档</a><a class="navbar-item" href="/categories">分类</a><a class="navbar-item" href="/tags">标签</a><a class="navbar-item" href="/about">关于</a></div><div class="navbar-end"><a class="navbar-item search" title="搜索" href="javascript:;"><i class="fas fa-search"></i></a></div></div></div></nav><section class="section"><div class="container"><div class="columns"><div class="column order-2 column-main is-8-tablet is-8-desktop is-6-widescreen"><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2022-05-07T08:04:34.000Z" title="5/7/2022, 4:04:34 PM">2022-05-07</time>发表</span><span class="level-item"><time dateTime="2022-05-07T12:12:31.464Z" title="5/7/2022, 8:12:31 PM">2022-05-07</time>更新</span><span class="level-item"><a class="link-muted" href="/categories/nginx/">nginx</a></span><span class="level-item">11 分钟读完 (大约1628个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2022/05/07/nginx/">nginx</a></h1><div class="content"><h3 id="Nginx工作原理"><a href="#Nginx工作原理" class="headerlink" title="Nginx工作原理"></a>Nginx工作原理</h3><ol>
<li>master和worker<br><img src="/images/nginx/1.jpeg" alt="1"></li>
<li>worker工作方式<br><img src="/images/nginx/2.jpeg" alt="2"></li>
</ol></div><a class="article-more button is-small is-size-7" href="/2022/05/07/nginx/#more">阅读更多</a></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2022-05-04T10:59:22.000Z" title="5/4/2022, 6:59:22 PM">2022-05-04</time>发表</span><span class="level-item"><time dateTime="2022-05-05T01:29:57.591Z" title="5/5/2022, 9:29:57 AM">2022-05-05</time>更新</span><span class="level-item"><a class="link-muted" href="/categories/docker/">docker</a></span><span class="level-item">6 分钟读完 (大约939个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2022/05/04/docker/">Docker指令</a></h1><div class="content"><h2 id="一、指令示例"><a href="#一、指令示例" class="headerlink" title="一、指令示例"></a>一、指令示例</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta prompt_"># </span><span class="language-bash">运行Nginx服务器</span></span><br><span class="line">docker run -p 8080:80 nginx</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">后台运行Nginx服务器</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">-d(--detach)指后台运行</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">--name 指定容器名称</span></span><br><span class="line">docker run -p 8080:80 --name my-nginx -d nginx</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">交互式运行</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">-it 选项,等于是同时指定 -i(--interactive,交互式模式)和 -t(--<span class="built_in">tty</span>,分配一个模拟终端) 两个选项</span></span><br><span class="line">docker run -it --name dreamland ubuntu</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">输出所有容器的ID</span> </span><br><span class="line">docker ps -aq</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">删除所有容器</span></span><br><span class="line">docker rm $(docker ps -aq)</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">创建自定义网络</span></span><br><span class="line">docker network create dream-net</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">容器化服务器</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">构建服务器镜像</span></span><br><span class="line">docker build -t dream-server server</span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">使用官方Mongo镜像创建并运行容器</span></span><br><span class="line">docker run --name dream-db --network dream-net -d mongo</span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">运行服务器容器</span></span><br><span class="line">docker run -p 4000:4000 --name dream-api --network dream-net -d dream-serve</span><br><span class="line"><span class="meta prompt_"></span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">容器化前端页面</span></span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">构建镜像(.指当前处于项目根目录)</span></span><br><span class="line">docker build -it dream-client .</span><br><span class="line"><span class="meta prompt_"># </span><span class="language-bash">运行前端容器</span></span><br><span class="line">docker run -p 8080:80 --name client -d dream-client</span><br><span class="line"></span><br></pre></td></tr></table></figure></div><a class="article-more button is-small is-size-7" href="/2022/05/04/docker/#more">阅读更多</a></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2022-05-04T02:14:13.000Z" title="5/4/2022, 10:14:13 AM">2022-05-04</time>发表</span><span class="level-item"><time dateTime="2022-05-05T01:28:17.091Z" title="5/5/2022, 9:28:17 AM">2022-05-05</time>更新</span><span class="level-item"><a class="link-muted" href="/categories/js/">js</a></span><span class="level-item">21 分钟读完 (大约3213个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2022/05/04/JS%E5%BC%82%E6%AD%A5%E6%80%BB%E7%BB%93/">JS异步总结</a></h1><div class="content"><h2 id="一、若干概念"><a href="#一、若干概念" class="headerlink" title="一、若干概念"></a>一、若干概念</h2><ol>
<li>事件循环<br>javascript引擎并不是独立运行的,它运行在宿主环境(如:web浏览器)。所有这些环境都有一个共同 <em>点</em>(线程),他们提供了一种机制来处理程序中多个块的执行,且执行块时调用JavaScript引擎。这种机制成为事件循环。Javascript引擎本身并没有时间的概念,只是一个按序执行JavaScript任意代码片段的环境。”事件“调度总是由包含它的环境运行。 </li>
<li>并行线程<br>并行计算最常见的工具就是进程和线程。进程和线程独立运行,并可能同时运行,甚至不同的计算机上,但多个线程共享单个进程的内存事件循环把自身的工作分成一个个任务并顺序执行,不允许对共享内存的并行访问和修改。 </li>
<li>任务<br>在es6中有一个新的概念建立在事件循环队列之上,叫做任务队列。promise的异步特性是基于任务的。</li>
<li>完整运行(es6前)由于JavaScript的单线程特性,函数中的代码具有原子性</div><a class="article-more button is-small is-size-7" href="/2022/05/04/JS%E5%BC%82%E6%AD%A5%E6%80%BB%E7%BB%93/#more">阅读更多</a></article></div><div class="card"><article class="card-content article" role="article"><div class="article-meta is-size-7 is-uppercase level is-mobile"><div class="level-left"><span class="level-item"><time dateTime="2019-06-30T01:58:46.000Z" title="6/30/2019, 9:58:46 AM">2019-06-30</time>发表</span><span class="level-item"><time dateTime="2022-05-05T01:29:47.152Z" title="5/5/2022, 9:29:47 AM">2022-05-05</time>更新</span><span class="level-item"><a class="link-muted" href="/categories/js/">js</a></span><span class="level-item">8 分钟读完 (大约1260个字)</span></div></div><h1 class="title is-3 is-size-4-mobile"><a class="link-muted" href="/2019/06/30/Javascript-%E7%BB%A7%E6%89%BF%E6%96%B9%E5%BC%8F%E6%80%BB%E7%BB%93/">Javascript 继承方式总结</a></h1><div class="content"><h3 id="0-寄生组合式继承(这种方式是引用类型最理想的继承范式)"><a href="#0-寄生组合式继承(这种方式是引用类型最理想的继承范式)" class="headerlink" title="0.寄生组合式继承(这种方式是引用类型最理想的继承范式)"></a>0.寄生组合式继承(这种方式是引用类型最理想的继承范式)</h3><p>这种方式的做法是,通过借用构造函数来继承属性,通过原型链的形式来继承方法。与组合式继承不同的是:不必为了指定子类型的原型而调用超类型的构造函数, 只需获得超类型原型的一个副本。基本模式如下:</p>
<figure class="highlight javascript"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// 封装子类型继承超类型原型的过程</span></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">inheritPrototype</span>(<span class="params">subType, superType</span>) {</span><br><span class="line"> subType.<span class="property"><span class="keyword">prototype</span></span> = <span class="title class_">Object</span>.<span class="title function_">create</span>(superType.<span class="property"><span class="keyword">prototype</span></span>);</span><br><span class="line"> subType.<span class="property"><span class="keyword">prototype</span></span>.<span class="property">constructor</span> = subType;</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">Animal</span>(<span class="params">name</span>) {</span><br><span class="line"> <span class="variable language_">this</span>.<span class="property">name</span> = name;</span><br><span class="line"> <span class="variable language_">this</span>.<span class="property">colors</span> = [<span class="string">'black'</span>, <span class="string">'white'</span>];</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="title class_">Animal</span>.<span class="property"><span class="keyword">prototype</span></span>.<span class="property">getName</span> = <span class="keyword">function</span>(<span class="params"></span>) {</span><br><span class="line"> <span class="variable language_">console</span>.<span class="title function_">log</span>(<span class="variable language_">this</span>.<span class="property">name</span>);</span><br><span class="line">}</span><br><span class="line"><span class="title class_">Animal</span>.<span class="property"><span class="keyword">prototype</span></span>.<span class="property">getColos</span> = <span class="keyword">function</span>(<span class="params"></span>) {</span><br><span class="line"> <span class="variable language_">console</span>.<span class="title function_">log</span>(<span class="variable language_">this</span>.<span class="property">colors</span>);</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="keyword">function</span> <span class="title function_">Cat</span>(<span class="params">name, age</span>) {</span><br><span class="line"> <span class="title class_">Animal</span>.<span class="title function_">call</span>(<span class="variable language_">this</span>, name);</span><br><span class="line"> <span class="variable language_">this</span>.<span class="property">age</span> = age;</span><br><span class="line">} </span><br><span class="line"></span><br><span class="line"><span class="comment">// 注意:要在给Cat原型添加方法之前调用</span></span><br><span class="line"><span class="title function_">inheritPrototype</span>(<span class="title class_">Cat</span>, <span class="title class_">Animal</span>);</span><br><span class="line"></span><br><span class="line"><span class="title class_">Cat</span>.<span class="property"><span class="keyword">prototype</span></span>.<span class="property">getAge</span> = <span class="keyword">function</span>(<span class="params"></span>) {</span><br><span class="line"> <span class="variable language_">console</span>.<span class="title function_">log</span>(<span class="variable language_">this</span>.<span class="property">age</span>);</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> cat1 = <span class="keyword">new</span> <span class="title class_">Cat</span>(<span class="string">'koko'</span>, <span class="number">2</span>);</span><br><span class="line">cat1.<span class="property">colors</span>.<span class="title function_">push</span>(<span class="string">'yellow'</span>); </span><br><span class="line">cat1.<span class="title function_">getColors</span>(); <span class="comment">// ['black', 'white', 'yellow']</span></span><br><span class="line">cat1.<span class="title function_">getName</span>(); <span class="comment">// 'koko'</span></span><br><span class="line">cat1.<span class="title function_">getAge</span>(); <span class="comment">// 2</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> cat2 = <span class="keyword">new</span> <span class="title class_">Cat</span>(<span class="string">'yuli'</span>, <span class="number">3</span>);</span><br><span class="line">cat2.<span class="title function_">getColors</span>(); <span class="comment">// ['black', 'white']</span></span><br><span class="line">cat2.<span class="title function_">getName</span>(); <span class="comment">// 'yuli'</span></span><br><span class="line">cat2.<span class="title function_">getAge</span>(); <span class="comment">// 3</span></span><br></pre></td></tr></table></figure></div><a class="article-more button is-small is-size-7" href="/2019/06/30/Javascript-%E7%BB%A7%E6%89%BF%E6%96%B9%E5%BC%8F%E6%80%BB%E7%BB%93/#more">阅读更多</a></article></div></div><div class="column column-left is-4-tablet is-4-desktop is-3-widescreen order-1"><div class="card widget" data-type="profile"><div class="card-content"><nav class="level"><div class="level-item has-text-centered flex-shrink-1"><div><figure class="image is-128x128 mx-auto mb-2"><img class="avatar is-rounded" src="/images/hollowKight.jpeg" alt="Aseven"></figure><p class="title is-size-4 is-block" style="line-height:inherit;">Aseven</p><p class="is-size-6 is-flex justify-content-center"><i class="fas fa-map-marker-alt mr-1"></i><span>上海</span></p></div></div></nav><nav class="level is-mobile"><div class="level-item has-text-centered is-marginless"><div><p class="heading">文章</p><a href="/archives"><p class="title">4</p></a></div></div><div class="level-item has-text-centered is-marginless"><div><p class="heading">分类</p><a href="/categories"><p class="title">3</p></a></div></div><div class="level-item has-text-centered is-marginless"><div><p class="heading">标签</p><a href="/tags"><p class="title">5</p></a></div></div></nav><div class="level is-mobile is-multiline"><a class="level-item button is-transparent is-marginless" target="_blank" rel="noopener" title="Github" href="https://github.com/asevenm"><i class="fab fa-github"></i></a><a class="level-item button is-transparent is-marginless" target="_blank" rel="noopener" title="Facebook" href="/"><i class="fab fa-facebook"></i></a><a class="level-item button is-transparent is-marginless" target="_blank" rel="noopener" title="Twitter" href="/"><i class="fab fa-twitter"></i></a><a class="level-item button is-transparent is-marginless" target="_blank" rel="noopener" title="Dribbble" href="/"><i class="fab fa-dribbble"></i></a><a class="level-item button is-transparent is-marginless" target="_blank" rel="noopener" title="RSS" href="/"><i class="fas fa-rss"></i></a></div></div></div><!--!--><div class="card widget" data-type="categories"><div class="card-content"><div class="menu"><h3 class="menu-label">分类</h3><ul class="menu-list"><li><a class="level is-mobile" href="/categories/docker/"><span class="level-start"><span class="level-item">docker</span></span><span class="level-end"><span class="level-item tag">1</span></span></a></li><li><a class="level is-mobile" href="/categories/js/"><span class="level-start"><span class="level-item">js</span></span><span class="level-end"><span class="level-item tag">2</span></span></a></li><li><a class="level is-mobile" href="/categories/nginx/"><span class="level-start"><span class="level-item">nginx</span></span><span class="level-end"><span class="level-item tag">1</span></span></a></li></ul></div></div></div><div class="card widget" data-type="archives"><div class="card-content"><div class="menu"><h3 class="menu-label">归档</h3><ul class="menu-list"><li><a class="level is-mobile" href="/archives/2022/05/"><span class="level-start"><span class="level-item">五月 2022</span></span><span class="level-end"><span class="level-item tag">3</span></span></a></li><li><a class="level is-mobile" href="/archives/2019/06/"><span class="level-start"><span class="level-item">六月 2019</span></span><span class="level-end"><span class="level-item tag">1</span></span></a></li></ul></div></div></div><div class="card widget" data-type="tags"><div class="card-content"><div class="menu"><h3 class="menu-label">标签</h3><div class="field is-grouped is-grouped-multiline"><div class="control"><a class="tags has-addons" href="/tags/docker/"><span class="tag">docker</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/generator/"><span class="tag">generator</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/js/"><span class="tag">js</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/nginx/"><span class="tag">nginx</span><span class="tag">1</span></a></div><div class="control"><a class="tags has-addons" href="/tags/promise/"><span class="tag">promise</span><span class="tag">1</span></a></div></div></div></div></div><div class="column-right-shadow is-hidden-widescreen"></div></div><div class="column column-right is-4-tablet is-4-desktop is-3-widescreen is-hidden-touch is-hidden-desktop-only order-3"><div class="card widget" data-type="recent-posts"><div class="card-content"><h3 class="menu-label">最新文章</h3><article class="media"><div class="media-content"><p class="date"><time dateTime="2022-05-07T08:04:34.000Z">2022-05-07</time></p><p class="title"><a href="/2022/05/07/nginx/">nginx</a></p><p class="categories"><a href="/categories/nginx/">nginx</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2022-05-04T10:59:22.000Z">2022-05-04</time></p><p class="title"><a href="/2022/05/04/docker/">Docker指令</a></p><p class="categories"><a href="/categories/docker/">docker</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2022-05-04T02:14:13.000Z">2022-05-04</time></p><p class="title"><a href="/2022/05/04/JS%E5%BC%82%E6%AD%A5%E6%80%BB%E7%BB%93/">JS异步总结</a></p><p class="categories"><a href="/categories/js/">js</a></p></div></article><article class="media"><div class="media-content"><p class="date"><time dateTime="2019-06-30T01:58:46.000Z">2019-06-30</time></p><p class="title"><a href="/2019/06/30/Javascript-%E7%BB%A7%E6%89%BF%E6%96%B9%E5%BC%8F%E6%80%BB%E7%BB%93/">Javascript 继承方式总结</a></p><p class="categories"><a href="/categories/js/">js</a></p></div></article></div></div><div class="card widget" data-type="subscribe-email"><div class="card-content"><div class="menu"><h3 class="menu-label">订阅更新</h3><form action="https://feedburner.google.com/fb/a/mailverify" method="post" target="popupwindow" onsubmit="window.open('https://feedburner.google.com/fb/a/mailverify?uri=','popupwindow','scrollbars=yes,width=550,height=520');return true"><input type="hidden" value="" name="uri"><input type="hidden" name="loc" value="en_US"><div class="field has-addons"><div class="control has-icons-left is-expanded"><input class="input" name="email" type="email" placeholder="Email"><span class="icon is-small is-left"><i class="fas fa-envelope"></i></span></div><div class="control"><input class="button" type="submit" value="订阅"></div></div></form></div></div></div></div></div></div></section><footer class="footer"><div class="container"><div class="level"><div class="level-start"><a class="footer-logo is-block mb-2" href="/"><img src="/images/avatar.jpeg" alt="make more sense" height="28"></a><p class="is-size-7"><span>© 2022 Aseven</span> Powered by <a href="https://hexo.io/" target="_blank" rel="noopener">Hexo</a> & <a href="https://github.com/ppoffice/hexo-theme-icarus" target="_blank" rel="noopener">Icarus</a></p></div><div class="level-end"><div class="field has-addons"><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="Creative Commons" href="https://creativecommons.org/"><i class="fab fa-creative-commons"></i></a></p><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="Attribution 4.0 International" href="https://creativecommons.org/licenses/by/4.0/"><i class="fab fa-creative-commons-by"></i></a></p><p class="control"><a class="button is-transparent is-large" target="_blank" rel="noopener" title="Download on GitHub" href="https://github.com/asevenm"><i class="fab fa-github"></i></a></p></div></div></div></div></footer><script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script><script src="https://cdn.jsdelivr.net/npm/[email protected]/min/moment-with-locales.min.js"></script><script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/clipboard.min.js" defer></script><script>moment.locale("zh-CN");</script><script>var IcarusThemeSettings = {
article: {
highlight: {
clipboard: true,
fold: 'unfolded'
}
}
};</script><script src="/js/column.js"></script><script src="/js/animation.js"></script><a id="back-to-top" title="回到顶端" href="javascript:;"><i class="fas fa-chevron-up"></i></a><script src="/js/back_to_top.js" defer></script><!--!--><!--!--><!--!--><script src="https://cdn.jsdelivr.net/npm/[email protected]/build/cookieconsent.min.js" defer></script><script>window.addEventListener("load", () => {
window.cookieconsent.initialise({
type: "info",
theme: "edgeless",
static: false,
position: "bottom-left",
content: {
message: "此网站使用Cookie来改善您的体验。",
dismiss: "知道了!",
allow: "允许使用Cookie",
deny: "拒绝",
link: "了解更多",
policy: "Cookie政策",
href: "https://www.cookiesandyou.com/",
},
palette: {
popup: {
background: "#edeff5",
text: "#838391"
},
button: {
background: "#4b81e8"
},
},
});
});</script><script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/lightgallery.min.js" defer></script><script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/jquery.justifiedGallery.min.js" defer></script><script>window.addEventListener("load", () => {
if (typeof $.fn.lightGallery === 'function') {
$('.article').lightGallery({ selector: '.gallery-item' });
}
if (typeof $.fn.justifiedGallery === 'function') {
if ($('.justified-gallery > p > .gallery-item').length) {
$('.justified-gallery > p > .gallery-item').unwrap();
}
$('.justified-gallery').justifiedGallery();
}
});</script><!--!--><!--!--><!--!--><!--!--><!--!--><script src="/js/main.js" defer></script><div class="searchbox"><div class="searchbox-container"><div class="searchbox-header"><div class="searchbox-input-container"><input class="searchbox-input" type="text" placeholder="想要查找什么..."></div><a class="searchbox-close" href="javascript:;">×</a></div><div class="searchbox-body"></div></div></div><script src="/js/insight.js" defer></script><script>document.addEventListener('DOMContentLoaded', function () {
loadInsight({"contentUrl":"/content.json"}, {"hint":"想要查找什么...","untitled":"(无标题)","posts":"文章","pages":"页面","categories":"分类","tags":"标签"});
});</script></body></html>