-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
20 lines (20 loc) · 51.9 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=2"><meta name="theme-color" content="#222"><meta name="generator" content="Hexo 4.0.0"><link rel="apple-touch-icon" sizes="180x180" href="https://mengqistatic.azureedge.net/staticfiles/avatar/favicon/apple-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="https://mengqistatic.azureedge.net/staticfiles/avatar/favicon/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="https://mengqistatic.azureedge.net/staticfiles/avatar/favicon/favicon-16x16.png"><link rel="mask-icon" href="https://mengqistatic.azureedge.net/staticfiles/avatar/favicon/favicon-16x16.png" color="#222"><link rel="manifest" href="https://mengqistatic.azureedge.net/staticfiles/avatar/favicon/manifest.json"><meta name="msapplication-config" content="https://mengqistatic.azureedge.net/staticfiles/avatar/favicon/browserconfig.xml"><meta name="google-site-verification" content="4Fw5av3MAK9VoBQQanNGeiDwK9jEJjQBL6jk3PSY-B4"><link rel="stylesheet" href="/css/main.css"><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic&display=swap&subset=latin,latin-ext"><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css"><script id="hexo-configurations">var NexT=window.NexT||{},CONFIG={hostname:"mengqi92.github.io",root:"/",scheme:"Mist",version:"7.8.0",exturl:!0,sidebar:{position:"right",display:"hide",padding:18,offset:12,onmobile:!1},copycode:{enable:!1,show_result:!1,style:null},back2top:{enable:!0,sidebar:!1,scrollpercent:!1},bookmark:{enable:!1,color:"#222",save:"auto"},fancybox:!1,mediumzoom:!1,lazyload:!0,pangu:!1,comments:{style:"tabs",active:null,storage:!0,lazyload:!1,nav:null},algolia:{hits:{per_page:10},labels:{input_placeholder:"Search for Posts",hits_empty:"We didn't find any results for the search: ${query}",hits_stats:"${hits} results found in ${time} ms"}},localsearch:{enable:!1,trigger:"auto",top_n_per_article:1,unescape:!1,preload:!1},motion:{enable:!1,async:!1,transition:{post_block:"fadeIn",post_header:"slideDownIn",post_body:"slideDownIn",coll_header:"slideLeftIn",sidebar:"slideUpIn"}},path:"search.xml"}</script><meta name="description" content="Happiness only real when shared."><meta property="og:type" content="website"><meta property="og:title" content="Mengqi's blog"><meta property="og:url" content="http://mengqi92.github.io/index.html"><meta property="og:site_name" content="Mengqi's blog"><meta property="og:description" content="Happiness only real when shared."><meta property="og:locale" content="zh-CN"><meta name="twitter:card" content="summary"><link rel="canonical" href="http://mengqi92.github.io/"><script id="page-configurations">CONFIG.page={sidebar:"",isHome:!0,isPost:!1,lang:"zh-CN"}</script><title>Mengqi's blog</title><script async src="https://www.googletagmanager.com/gtag/js?id=UA-68396368-1"></script><script>if(CONFIG.hostname===location.hostname){function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","UA-68396368-1")}</script><script>var _hmt=_hmt||[];!function(){var e=document.createElement("script");e.src="https://hm.baidu.com/hm.js?8800f71adfa983d80f6c943ceb1ee330";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)}()</script><noscript><style>.sidebar-inner,.use-motion .brand,.use-motion .collection-header,.use-motion .comments,.use-motion .menu-item,.use-motion .pagination,.use-motion .post-block,.use-motion .post-body,.use-motion .post-header{opacity:initial}.use-motion .site-subtitle,.use-motion .site-title{opacity:initial;top:initial}.use-motion .logo-line-before i{left:initial}.use-motion .logo-line-after i{right:initial}</style></noscript><link rel="alternate" href="/atom.xml" title="Mengqi's blog" type="application/atom+xml">
</head><body itemscope itemtype="http://schema.org/WebPage"><div class="container"><div class="headband"></div><header class="header" itemscope itemtype="http://schema.org/WPHeader"><div class="header-inner"><div class="site-brand-container"><div class="site-nav-toggle"><div class="toggle" aria-label="切换导航栏"><span class="toggle-line toggle-line-first"></span> <span class="toggle-line toggle-line-middle"></span> <span class="toggle-line toggle-line-last"></span></div></div><div class="site-meta"><a href="/" class="brand" rel="start"><span class="logo-line-before"><i></i></span><h1 class="site-title">Mengqi's blog</h1><span class="logo-line-after"><i></i></span></a><p class="site-subtitle" itemprop="description">a paranoid android.</p></div><div class="site-nav-right"><div class="toggle popup-trigger"></div></div></div><nav class="site-nav"><ul id="menu" class="main-menu menu"><li class="menu-item menu-item-home"><a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a></li><li class="menu-item menu-item-tags"><a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>标签</a></li><li class="menu-item menu-item-categories"><a href="/categories/" rel="section"><i class="fa fa-th fa-fw"></i>分类</a></li><li class="menu-item menu-item-archives"><a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档</a></li><li class="menu-item menu-item-commonweal"><a href="/404/" rel="section"><i class="fa fa-heartbeat fa-fw"></i>公益 404</a></li><li class="menu-item menu-item-quotes"><a href="/analects/" rel="section"><i class="fa fa-scroll fa-fw"></i>古文乱选</a></li></ul></nav></div></header><div class="back-to-top"><i class="fa fa-arrow-up"></i> <span>0%</span></div><main class="main"><div class="main-inner"><div class="content-wrap"><div class="content index posts-expand"><article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN"><link itemprop="mainEntityOfPage" href="http://mengqi92.github.io/2021/02/23/personal-finance-101-xnpv/"><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://mengqistatic.azureedge.net/staticfiles/avatar/astronaut.png"><meta itemprop="name" content="Mengqi"><meta itemprop="description" content="Happiness only real when shared."></span><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Mengqi's blog"></span><header class="post-header"><h2 class="post-title" itemprop="name headline"><a href="/2021/02/23/personal-finance-101-xnpv/" class="post-title-link" itemprop="url">个人财务 101 - NPV 的实现与改进</a></h2><div class="post-meta"><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar"></i> </span><span class="post-meta-item-text">发表于</span> <time title="创建时间:2021-02-23 22:27:19" itemprop="dateCreated datePublished" datetime="2021-02-23T22:27:19+00:00">2021-02-23</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar-check"></i> </span><span class="post-meta-item-text">更新于</span> <time title="修改时间:2021-04-05 08:01:37" itemprop="dateModified" datetime="2021-04-05T08:01:37+00:00">2021-04-05</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-folder"></i> </span><span class="post-meta-item-text">分类于</span> <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/%E4%B8%AA%E4%BA%BA%E8%B4%A2%E5%8A%A1/" itemprop="url" rel="index"><span itemprop="name">个人财务</span></a></span></span></div></header><div class="post-body" itemprop="articleBody"><img data-src="https://mengqistatic.azureedge.net/staticfiles/personal-finance-101-xnpv/banner.jpg"><p>在<a href="/2020/07/19/personal-finance-101-rate-of-return/" title="上一篇文章">上一篇文章</a>,我们介绍了净现值 NPV,用来表示未来现金流在当前时刻的折现值。它的公式是:</p><p class="katex-block"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi>N</mi><mi>P</mi><mi>V</mi><mo>=</mo><munderover><mo>∑</mo><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mfrac><msub><mi>R</mi><mi>t</mi></msub><mrow><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mi>i</mi><msup><mo stretchy="false">)</mo><mi>t</mi></msup></mrow></mfrac></mrow><annotation encoding="application/x-tex">NPV=\sum^n_{t=1}\frac{R_t}{(1+i)^t}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:.68333em;vertical-align:0"></span><span class="mord mathdefault" style="margin-right:.10903em">N</span><span class="mord mathdefault" style="margin-right:.13889em">P</span><span class="mord mathdefault" style="margin-right:.22222em">V</span><span class="mspace" style="margin-right:.2777777777777778em"></span><span class="mrel">=</span><span class="mspace" style="margin-right:.2777777777777778em"></span></span><span class="base"><span class="strut" style="height:2.9185100000000004em;vertical-align:-1.267113em"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.6513970000000002em"><span style="top:-1.882887em;margin-left:0"><span class="pstrut" style="height:3.05em"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord mathdefault mtight">t</span><span class="mrel mtight">=</span><span class="mord mtight">1</span></span></span></span><span style="top:-3.050005em"><span class="pstrut" style="height:3.05em"></span><span><span class="mop op-symbol large-op">∑</span></span></span><span style="top:-4.3000050000000005em;margin-left:0"><span class="pstrut" style="height:3.05em"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight">n</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:1.267113em"><span></span></span></span></span></span><span class="mspace" style="margin-right:.16666666666666666em"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.36033em"><span style="top:-2.314em"><span class="pstrut" style="height:3em"></span><span class="mord"><span class="mopen">(</span><span class="mord">1</span><span class="mspace" style="margin-right:.2222222222222222em"></span><span class="mbin">+</span><span class="mspace" style="margin-right:.2222222222222222em"></span><span class="mord mathdefault">i</span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:.7195559999999999em"><span style="top:-2.9890000000000003em;margin-right:.05em"><span class="pstrut" style="height:2.7em"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight">t</span></span></span></span></span></span></span></span></span></span><span style="top:-3.23em"><span class="pstrut" style="height:3em"></span><span class="frac-line" style="border-bottom-width:.04em"></span></span><span style="top:-3.677em"><span class="pstrut" style="height:3em"></span><span class="mord"><span class="mord"><span class="mord mathdefault" style="margin-right:.00773em">R</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:.2805559999999999em"><span style="top:-2.5500000000000003em;margin-left:-.00773em;margin-right:.05em"><span class="pstrut" style="height:2.7em"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight">t</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:.15em"><span></span></span></span></span></span></span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:.936em"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span></p><p>其中,t 为期数,i 为折现率。</p><p>NPV 是一个很方便的值,利用它,我们可以排除通货膨胀率(或者备选投资回报率)的干扰,将跨越时间的投资现金流投影到此时此刻,是真正收益还是亏损,看得清清楚楚。此外,NPV 的计算也能帮助我们理解内部回报率(IRR)的计算。这一篇,我们就尝试一下通过代码计算 NPV。</p><div class="post-button"><a class="btn" href="/2021/02/23/personal-finance-101-xnpv/#more" rel="contents">阅读全文 »</a></div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN"><link itemprop="mainEntityOfPage" href="http://mengqi92.github.io/2020/07/19/personal-finance-101-rate-of-return/"><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://mengqistatic.azureedge.net/staticfiles/avatar/astronaut.png"><meta itemprop="name" content="Mengqi"><meta itemprop="description" content="Happiness only real when shared."></span><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Mengqi's blog"></span><header class="post-header"><h2 class="post-title" itemprop="name headline"><a href="/2020/07/19/personal-finance-101-rate-of-return/" class="post-title-link" itemprop="url">个人财务 101 - 回报率</a></h2><div class="post-meta"><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar"></i> </span><span class="post-meta-item-text">发表于</span> <time title="创建时间:2020-07-19 20:30:36" itemprop="dateCreated datePublished" datetime="2020-07-19T20:30:36+00:00">2020-07-19</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar-check"></i> </span><span class="post-meta-item-text">更新于</span> <time title="修改时间:2021-04-05 08:01:37" itemprop="dateModified" datetime="2021-04-05T08:01:37+00:00">2021-04-05</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-folder"></i> </span><span class="post-meta-item-text">分类于</span> <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/%E4%B8%AA%E4%BA%BA%E8%B4%A2%E5%8A%A1/" itemprop="url" rel="index"><span itemprop="name">个人财务</span></a></span></span></div></header><div class="post-body" itemprop="articleBody"><img data-src="https://mengqistatic.azureedge.net/staticfiles/personal-finance-101-rate-of-return/Banner.jpg"><p>作为经济社会的一员,我们必不可少地需要掌握投资理财的知识和技能。然而遗憾地发现,个人财务方面免费靠谱的中文资料比较匮乏,对于我这种几乎零基础的自学者来说,很难找到免费系统的对一些基础概念的解释。后来发现了 <span class="exturl" data-url="aHR0cHM6Ly93d3cuaW52ZXN0b3BlZGlhLmNvbQ==">Investopedia<i class="fa fa-external-link-alt"></i></span> 这个宝藏,不仅有全面的词条,而且很多概念的解释都有公式和例子搭配,十分方便自学。因此特将学习笔记记录于此,希望能帮助到其他和我有同样困扰的小伙伴。</p><h1 id="回报率-rate-of-return"><a class="markdownIt-Anchor" href="#回报率-rate-of-return"></a> 回报率 Rate of Return</h1><p><span class="exturl" data-url="aHR0cHM6Ly93d3cuaW52ZXN0b3BlZGlhLmNvbS90ZXJtcy9yL3JhdGVvZnJldHVybi5hc3A=">回报率<i class="fa fa-external-link-alt"></i></span>是我们评估一个投资项目最基础的指标。它是一个归一化了的百分比,因此可以横向和其它投资项目进行比较。</p><p class="katex-block"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math><semantics><mrow><mtext>Rate of Return</mtext><mo>=</mo><mfrac><mrow><mi mathvariant="normal">当</mi><mi mathvariant="normal">前</mi><mi mathvariant="normal">净</mi><mi mathvariant="normal">值</mi><mo>−</mo><mi mathvariant="normal">初</mi><mi mathvariant="normal">始</mi><mi mathvariant="normal">净</mi><mi mathvariant="normal">值</mi></mrow><mrow><mi mathvariant="normal">初</mi><mi mathvariant="normal">始</mi><mi mathvariant="normal">净</mi><mi mathvariant="normal">值</mi></mrow></mfrac><mo>×</mo><mn>100</mn></mrow><annotation encoding="application/x-tex">\text{Rate of Return} = \frac{当前净值 - 初始净值}{初始净值} \times 100</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:.69444em;vertical-align:0"></span><span class="mord text"><span class="mord">Rate of Return</span></span><span class="mspace" style="margin-right:.2777777777777778em"></span><span class="mrel">=</span><span class="mspace" style="margin-right:.2777777777777778em"></span></span><span class="base"><span class="strut" style="height:1.9463300000000001em;vertical-align:-.686em"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.2603300000000002em"><span style="top:-2.314em"><span class="pstrut" style="height:3em"></span><span class="mord"><span class="mord cjk_fallback">初</span><span class="mord cjk_fallback">始</span><span class="mord cjk_fallback">净</span><span class="mord cjk_fallback">值</span></span></span><span style="top:-3.23em"><span class="pstrut" style="height:3em"></span><span class="frac-line" style="border-bottom-width:.04em"></span></span><span style="top:-3.677em"><span class="pstrut" style="height:3em"></span><span class="mord"><span class="mord cjk_fallback">当</span><span class="mord cjk_fallback">前</span><span class="mord cjk_fallback">净</span><span class="mord cjk_fallback">值</span><span class="mspace" style="margin-right:.2222222222222222em"></span><span class="mbin">−</span><span class="mspace" style="margin-right:.2222222222222222em"></span><span class="mord cjk_fallback">初</span><span class="mord cjk_fallback">始</span><span class="mord cjk_fallback">净</span><span class="mord cjk_fallback">值</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:.686em"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mspace" style="margin-right:.2222222222222222em"></span><span class="mbin">×</span><span class="mspace" style="margin-right:.2222222222222222em"></span></span><span class="base"><span class="strut" style="height:.64444em;vertical-align:0"></span><span class="mord">1</span><span class="mord">0</span><span class="mord">0</span></span></span></span></span></p><p>回报率需要注意的几点:</p><ol><li><strong>回报率对时间因素的考虑比较粗糙。</strong> 它只是基于投资起止两个时间点,而不是按照多个时间片计算的。<br><span class="exturl" data-url="aHR0cHM6Ly93d3cuaW52ZXN0b3BlZGlhLmNvbS90ZXJtcy9jL2NhZ3IuYXNw">复合年化增长率<i class="fa fa-external-link-alt"></i></span>(就是年化收益率,Compound Annual Growth Rate)则是将时间因素考虑在内。</li><li><strong>回报率对<span class="exturl" data-url="aHR0cHM6Ly93d3cuaW52ZXN0b3BlZGlhLmNvbS90ZXJtcy90L3RpbWV2YWx1ZW9mbW9uZXkuYXNw">货币因素<i class="fa fa-external-link-alt"></i></span>的考虑也比较粗糙。</strong> 它没有考虑通货膨胀。<br>没有考虑通胀的回报率被称作「名义回报率」(Nominal Rate of Return),考虑了通胀的回报率被称作「真实回报率」(Real Rate of Return)。</li></ol><p>可以看到,年化收益率计入了时间因素,但没计入货币因素;真实回报率计入了货币因素但没计入时间因素。那么我们将这两个因素同时考虑在内呢?这就是引入了折现率(<span class="exturl" data-url="aHR0cHM6Ly93d3cuaW52ZXN0b3BlZGlhLmNvbS90ZXJtcy9kL2Rpc2NvdW50cmF0ZS5hc3A=">discount rate<i class="fa fa-external-link-alt"></i></span>)的<span class="exturl" data-url="aHR0cHM6Ly93d3cuaW52ZXN0b3BlZGlhLmNvbS90ZXJtcy9pL2lyci5hc3A=">内部回报率<i class="fa fa-external-link-alt"></i></span>(Internal Rate of Return, IRR)。</p><div class="post-button"><a class="btn" href="/2020/07/19/personal-finance-101-rate-of-return/#more" rel="contents">阅读全文 »</a></div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN"><link itemprop="mainEntityOfPage" href="http://mengqi92.github.io/2020/07/17/hide-files-from-git/"><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://mengqistatic.azureedge.net/staticfiles/avatar/astronaut.png"><meta itemprop="name" content="Mengqi"><meta itemprop="description" content="Happiness only real when shared."></span><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Mengqi's blog"></span><header class="post-header"><h2 class="post-title" itemprop="name headline"><a href="/2020/07/17/hide-files-from-git/" class="post-title-link" itemprop="url">Git 小技巧 - 忽略不想要提交的本地修改</a></h2><div class="post-meta"><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar"></i> </span><span class="post-meta-item-text">发表于</span> <time title="创建时间:2020-07-17 20:22:32" itemprop="dateCreated datePublished" datetime="2020-07-17T20:22:32+00:00">2020-07-17</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar-check"></i> </span><span class="post-meta-item-text">更新于</span> <time title="修改时间:2021-04-05 08:01:37" itemprop="dateModified" datetime="2021-04-05T08:01:37+00:00">2021-04-05</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-folder"></i> </span><span class="post-meta-item-text">分类于</span> <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/programming/" itemprop="url" rel="index"><span itemprop="name">编程</span></a></span></span></div></header><div class="post-body" itemprop="articleBody"><p>这个系列打算不定期更新一些关于 Git 的小技巧,希望能帮助到有需要的同学。</p><h2 id="忽略本地修改"><a class="markdownIt-Anchor" href="#忽略本地修改"></a> 忽略本地修改</h2><p>在一个多人协作的 Git 仓库里,有些情况下远程仓库中可能会存放一些 IDE 或者 Build 工具的配置文件,以方便所有参与的同学获得一致的体验。当然这些文件会从大局出发,加入的通常都是比较通用的配置项,不一定能完全满足你个人的需求。一旦你自己对这些文件做了个人定制,它们就会被 Git 识别为本地修改,不但本地的 <code>git status</code> 或 <code>change list</code> 一直会进行恼人的提醒,而且每次 <code>git add</code> 文件时还要小心翼翼的避开。</p><p>那么,有没有方法告诉 Git 我们可以忽略这些文件的本地修改呢?答案是有的,你只需要下面这条命令:</p><div class="post-button"><a class="btn" href="/2020/07/17/hide-files-from-git/#more" rel="contents">阅读全文 »</a></div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN"><link itemprop="mainEntityOfPage" href="http://mengqi92.github.io/2018/09/18/git-housekeeping/"><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://mengqistatic.azureedge.net/staticfiles/avatar/astronaut.png"><meta itemprop="name" content="Mengqi"><meta itemprop="description" content="Happiness only real when shared."></span><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Mengqi's blog"></span><header class="post-header"><h2 class="post-title" itemprop="name headline"><a href="/2018/09/18/git-housekeeping/" class="post-title-link" itemprop="url">Git 仓库大扫除</a></h2><div class="post-meta"><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar"></i> </span><span class="post-meta-item-text">发表于</span> <time title="创建时间:2018-09-18 23:09:02" itemprop="dateCreated datePublished" datetime="2018-09-18T23:09:02+00:00">2018-09-18</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar-check"></i> </span><span class="post-meta-item-text">更新于</span> <time title="修改时间:2021-04-05 08:01:37" itemprop="dateModified" datetime="2021-04-05T08:01:37+00:00">2021-04-05</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-folder"></i> </span><span class="post-meta-item-text">分类于</span> <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/programming/" itemprop="url" rel="index"><span itemprop="name">编程</span></a></span></span></div></header><div class="post-body" itemprop="articleBody"><img data-src="https://mengqistatic.azureedge.net/staticfiles/git-housekeeping/banner.jpg"><p>Git 可以说是目前最受欢迎的版本管理工具了,很多团队也都在用它来管理自己的项目代码。在一个多人协作的项目中,往往采用的是一个分支一个特性进行开发,随着每天的代码提交、合并,仓库中会有越来越多的冗余分支。这么多死分支不仅会掩盖真正在使用的分支,而且也为管理带来不便。如果你像我一样,也经常被淹没在 <code>git branch</code> 或 <code>git branch -r</code> 返回的分支大海中,那么,就是时候考虑给你的 git 仓库做一次大扫除了!</p><h2 id="本地分支与远程分支"><a class="markdownIt-Anchor" href="#本地分支与远程分支"></a> 本地分支与远程分支</h2><p>大扫除之前,首先给自己做个深呼吸,回忆一下远程仓库和远程分支的概念。</p><p>我们本地的仓库既保留有本地的分支,也保留有跟踪远程仓库的 remote 分支(类似 <code>remotes/origin/**</code> 这种的)。后者相当于是远程仓库分支在本地仓库的代理,每次 <code>git fetch</code> 或 <code>git pull</code> 时,都会将远程仓库的分支同步到本地对应的 remote 分支上。</p><p>比如远程仓库新增了一个 <code>feature/add_a</code> 分支,那么我们在本地 <code>git fetch</code> 后,会得到一个 <code>remotes/origin/feature/add_a</code> 分支,这个名字表示 <code>origin</code> 这个远程仓库下的 <code>feature/add_a</code>,<code>origin</code> 是本地给远程仓库默认起的名字,你当然也可以改成别的名字。</p><p>理清楚了本地分支和远程分支,本地仓库和远程仓库,接下来我们就动起手来做清理吧!</p><div class="post-button"><a class="btn" href="/2018/09/18/git-housekeeping/#more" rel="contents">阅读全文 »</a></div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN"><link itemprop="mainEntityOfPage" href="http://mengqi92.github.io/2018/05/09/haskell-notes-1-basic-and-typeclass/"><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://mengqistatic.azureedge.net/staticfiles/avatar/astronaut.png"><meta itemprop="name" content="Mengqi"><meta itemprop="description" content="Happiness only real when shared."></span><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Mengqi's blog"></span><header class="post-header"><h2 class="post-title" itemprop="name headline"><a href="/2018/05/09/haskell-notes-1-basic-and-typeclass/" class="post-title-link" itemprop="url">Haskell 学习笔记 1:基本语法与类型类</a></h2><div class="post-meta"><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar"></i> </span><span class="post-meta-item-text">发表于</span> <time title="创建时间:2018-05-09 22:52:14" itemprop="dateCreated datePublished" datetime="2018-05-09T22:52:14+00:00">2018-05-09</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar-check"></i> </span><span class="post-meta-item-text">更新于</span> <time title="修改时间:2021-04-05 08:01:37" itemprop="dateModified" datetime="2021-04-05T08:01:37+00:00">2021-04-05</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-folder"></i> </span><span class="post-meta-item-text">分类于</span> <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/fp/" itemprop="url" rel="index"><span itemprop="name">函数式编程</span></a></span></span></div></header><div class="post-body" itemprop="articleBody"><p><img data-src="https://www.haskell.org/img/haskell-logo.svg" alt=""></p><p>Haskell 是一门静态类型的纯函数式编程语言,比较著名的就是它的类型系统、「纯函数」性、惰性求值。我个人觉得学习 Haskell 对学习理解其它编程语言(尤其是静态语言)很有帮助,比如 Java 中的泛型、JavaScript 中的 Promise 等等,因此在这里对自己的 Haskell 学习之旅进行一个总结。</p><p>相信大部分读者和我一样,都是从 C 系语言开始学起的,这里假设你和我一样具有一定的 C 系语言的编程基础,因此主要列举一些和 C 系语言不一样的地方。</p><div class="post-button"><a class="btn" href="/2018/05/09/haskell-notes-1-basic-and-typeclass/#more" rel="contents">阅读全文 »</a></div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN"><link itemprop="mainEntityOfPage" href="http://mengqi92.github.io/2016/07/01/linear-algebra-6/"><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://mengqistatic.azureedge.net/staticfiles/avatar/astronaut.png"><meta itemprop="name" content="Mengqi"><meta itemprop="description" content="Happiness only real when shared."></span><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Mengqi's blog"></span><header class="post-header"><h2 class="post-title" itemprop="name headline"><a href="/2016/07/01/linear-algebra-6/" class="post-title-link" itemprop="url">线性代数拾遗(六):特征值与特征向量</a></h2><div class="post-meta"><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar"></i> </span><span class="post-meta-item-text">发表于</span> <time title="创建时间:2016-07-01 00:00:00" itemprop="dateCreated datePublished" datetime="2016-07-01T00:00:00+00:00">2016-07-01</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar-check"></i> </span><span class="post-meta-item-text">更新于</span> <time title="修改时间:2021-04-05 08:01:37" itemprop="dateModified" datetime="2021-04-05T08:01:37+00:00">2021-04-05</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-folder"></i> </span><span class="post-meta-item-text">分类于</span> <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/linear-algebra/" itemprop="url" rel="index"><span itemprop="name">线性代数</span></a></span></span></div></header><div class="post-body" itemprop="articleBody"><img data-src="https://mengqistatic.azureedge.net/staticfiles/linear-algebra-6/banner.jpeg"> <a href="/2016/06/22/linear-algebra-5/" title="上一章">上一章</a>最后,我们引入了`马尔可夫链`。`马尔可夫链`简单来说就是一个个状态组成的链,其中每个状态只于前一个状态有关。然而,除了这个简单定义之外,`马尔可夫链`还有一个有趣的性质:`平稳分布`。要解释`平稳分布`是什么,我们先从一个例子讲起。<div class="post-button"><a class="btn" href="/2016/07/01/linear-algebra-6/#more" rel="contents">阅读全文 »</a></div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN"><link itemprop="mainEntityOfPage" href="http://mengqi92.github.io/2016/06/23/wishful-thinking/"><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://mengqistatic.azureedge.net/staticfiles/avatar/astronaut.png"><meta itemprop="name" content="Mengqi"><meta itemprop="description" content="Happiness only real when shared."></span><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Mengqi's blog"></span><header class="post-header"><h2 class="post-title" itemprop="name headline"><a href="/2016/06/23/wishful-thinking/" class="post-title-link" itemprop="url">愿望思维</a></h2><div class="post-meta"><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar"></i> </span><span class="post-meta-item-text">发表于</span> <time title="创建时间:2016-06-23 15:32:58" itemprop="dateCreated datePublished" datetime="2016-06-23T15:32:58+00:00">2016-06-23</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar-check"></i> </span><span class="post-meta-item-text">更新于</span> <time title="修改时间:2021-04-05 08:01:37" itemprop="dateModified" datetime="2021-04-05T08:01:37+00:00">2021-04-05</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-folder"></i> </span><span class="post-meta-item-text">分类于</span> <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/programming/" itemprop="url" rel="index"><span itemprop="name">编程</span></a></span></span></div></header><div class="post-body" itemprop="articleBody"><p>这篇我们放下数学公式,来聊聊编程。「编程」这个概念如今在中国已经不再陌生,几乎各个高校都有自己的计算机学院,各种各样的培训班也是层出不穷。然而大家也都知道入门容易,精通很难。如果一个学习编程的人没能培养出这个领域所需要的良好思维习惯,而只是蜻蜓点水一般记住了一些基础的语法,概念,那么就很难对编程有更深入的理解。所以有必要介绍一些基本的,却容易被忽略的编程习惯。</p><h1 id="复杂度"><a class="markdownIt-Anchor" href="#复杂度"></a> 复杂度</h1><p>程序员的天敌是复杂度。从小的方面看,我们需要面对算法的复杂度,即如何用尽量少的开销实现一个计算过程;从大的方面看,我们需要面对系统的复杂度,即如何将一个现实中的复杂问题用各种计算模块相互搭配,组成一个系统来解决。如何控制软件开发中的复杂度,是计算机专业一直以来的热点话题。</p><p>总的来说,解决系统复杂度,我们有几个武器:抽象、模块化、解耦合等等,我们今天介绍同样好用的武器:愿望思维。</p><div class="post-button"><a class="btn" href="/2016/06/23/wishful-thinking/#more" rel="contents">阅读全文 »</a></div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN"><link itemprop="mainEntityOfPage" href="http://mengqi92.github.io/2016/06/22/linear-algebra-5/"><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://mengqistatic.azureedge.net/staticfiles/avatar/astronaut.png"><meta itemprop="name" content="Mengqi"><meta itemprop="description" content="Happiness only real when shared."></span><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Mengqi's blog"></span><header class="post-header"><h2 class="post-title" itemprop="name headline"><a href="/2016/06/22/linear-algebra-5/" class="post-title-link" itemprop="url">线性代数拾遗(五):矩阵变换的应用</a></h2><div class="post-meta"><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar"></i> </span><span class="post-meta-item-text">发表于</span> <time title="创建时间:2016-06-22 00:00:00" itemprop="dateCreated datePublished" datetime="2016-06-22T00:00:00+00:00">2016-06-22</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar-check"></i> </span><span class="post-meta-item-text">更新于</span> <time title="修改时间:2021-04-05 08:01:37" itemprop="dateModified" datetime="2021-04-05T08:01:37+00:00">2021-04-05</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-folder"></i> </span><span class="post-meta-item-text">分类于</span> <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/linear-algebra/" itemprop="url" rel="index"><span itemprop="name">线性代数</span></a></span></span></div></header><div class="post-body" itemprop="articleBody"><img data-src="https://mengqistatic.azureedge.net/staticfiles/linear-algebra-5/banner.jpeg"> <a href="/2016/05/14/linear-algebra-2/" title="上一章">上一章</a>用了一个经济学的例子,介绍了现实中的线性方程组,那个例子里,我们借助矩阵「封装」的作用,将解三个方程组的问题转换为解:<p class="katex-block"><span class="katex-display"><span class="katex"><span class="katex-mathml"><math><semantics><mrow><mi mathvariant="bold">A</mi><mi mathvariant="bold">x</mi><mo>=</mo><mn mathvariant="bold">0</mn></mrow><annotation encoding="application/x-tex">\mathbf{A} \mathbf{x} = \mathbf{0}</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:.68611em;vertical-align:0"></span><span class="mord"><span class="mord mathbf">A</span></span><span class="mord"><span class="mord mathbf">x</span></span><span class="mspace" style="margin-right:.2777777777777778em"></span><span class="mrel">=</span><span class="mspace" style="margin-right:.2777777777777778em"></span></span><span class="base"><span class="strut" style="height:.64444em;vertical-align:0"></span><span class="mord"><span class="mord mathbf">0</span></span></span></span></span></span></p><p>而我们知道,矩阵不仅可以封装数据,还可以表示线性变换,那这一章就来介绍一下矩阵变换在现实生活中的应用。</p><div class="post-button"><a class="btn" href="/2016/06/22/linear-algebra-5/#more" rel="contents">阅读全文 »</a></div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN"><link itemprop="mainEntityOfPage" href="http://mengqi92.github.io/2016/06/20/linear-algebra-4/"><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://mengqistatic.azureedge.net/staticfiles/avatar/astronaut.png"><meta itemprop="name" content="Mengqi"><meta itemprop="description" content="Happiness only real when shared."></span><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Mengqi's blog"></span><header class="post-header"><h2 class="post-title" itemprop="name headline"><a href="/2016/06/20/linear-algebra-4/" class="post-title-link" itemprop="url">线性代数拾遗(四):线性方程组的应用</a></h2><div class="post-meta"><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar"></i> </span><span class="post-meta-item-text">发表于</span> <time title="创建时间:2016-06-20 00:00:00" itemprop="dateCreated datePublished" datetime="2016-06-20T00:00:00+00:00">2016-06-20</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar-check"></i> </span><span class="post-meta-item-text">更新于</span> <time title="修改时间:2021-04-05 08:01:37" itemprop="dateModified" datetime="2021-04-05T08:01:37+00:00">2021-04-05</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-folder"></i> </span><span class="post-meta-item-text">分类于</span> <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/linear-algebra/" itemprop="url" rel="index"><span itemprop="name">线性代数</span></a></span></span></div></header><div class="post-body" itemprop="articleBody"><img data-src="https://mengqistatic.azureedge.net/staticfiles/linear-algebra-4/banner.jpeg"><p>由于这段时间科研任务较重,加上 hexo 升级后总出现一些奇怪的问题,所以有一段时间没更新这个系列了,今天忙里偷闲补上一篇。</p><p>前面几章,我们回顾了一遍线性方程组和矩阵的一些概念。线性代数的最原始问题是解线性方程组,为了解决这个问题,我们引入了向量和矩阵,继而对矩阵的一些特性也进行了一番分析,然后又发现矩阵不但可以表示数据,也可以表示变换。然而,这些概念是如何应用于现实生活呢,实际生活中有哪些线性方程组的例子?这一章我们来介绍一些线性代数的实际应用。</p><p>总体上来说,牵涉到多个变量的相互约束,而且这些约束是「线性」的问题时,就有可能通过建立线性方程组从而得到解。</p><h1 id="一-经济学例子"><a class="markdownIt-Anchor" href="#一-经济学例子"></a> 一、经济学例子</h1><p>这是来自《线性代数及其应用》中的一个例子,很好地展示了线性代数在经济学中的应用:</p><p>比如一个国家包括煤炭、电力、钢铁三个部门,各部门都产出一定的资源,同时也消耗一定的资源(为方便讨论,本例中只考虑煤炭、电力、钢铁这三种资源,并且假设所有产出的资源都会被消耗)。比如,煤炭部门生产的每 100 份煤炭中,60 份被电力部门消耗,40 份被钢铁部门消耗;电力部门每生产 100 份煤炭,40 份被煤炭部门消耗,10 份被自己消耗,还有 50 份被钢铁部门消耗;钢铁部门每生产 100 份钢铁,60 份被煤炭部门消耗,20 份被电力部门消耗,还有 20 份被自己消耗。那么,如何给这三种资源定价,使得各部门的收支达到平衡?</p><div class="post-button"><a class="btn" href="/2016/06/20/linear-algebra-4/#more" rel="contents">阅读全文 »</a></div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN"><link itemprop="mainEntityOfPage" href="http://mengqi92.github.io/2016/05/20/linear-algebra-3/"><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="https://mengqistatic.azureedge.net/staticfiles/avatar/astronaut.png"><meta itemprop="name" content="Mengqi"><meta itemprop="description" content="Happiness only real when shared."></span><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Mengqi's blog"></span><header class="post-header"><h2 class="post-title" itemprop="name headline"><a href="/2016/05/20/linear-algebra-3/" class="post-title-link" itemprop="url">线性代数拾遗(三):线性变换以及矩阵的意义</a></h2><div class="post-meta"><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar"></i> </span><span class="post-meta-item-text">发表于</span> <time title="创建时间:2016-05-20 21:11:00" itemprop="dateCreated datePublished" datetime="2016-05-20T21:11:00+00:00">2016-05-20</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar-check"></i> </span><span class="post-meta-item-text">更新于</span> <time title="修改时间:2021-04-05 08:01:37" itemprop="dateModified" datetime="2021-04-05T08:01:37+00:00">2021-04-05</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-folder"></i> </span><span class="post-meta-item-text">分类于</span> <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/linear-algebra/" itemprop="url" rel="index"><span itemprop="name">线性代数</span></a></span></span></div></header><div class="post-body" itemprop="articleBody"><img data-src="https://mengqistatic.azureedge.net/staticfiles/linear-algebra-3/banner.jpeg"> <a href="/2016/05/14/linear-algebra-2/" title="上一章">上一章</a>我们讨论了齐次和非齐次两种线性方程组的解集,以及它们的几何意义。由齐次线性方程组,我们引入了零空间的概念;而由非齐次线性方程组,我们引入了列空间的概念。这两个空间目前是我们理解线性方程组的桥梁,未来还会对这些空间进行更进一步的讨论。在这之前,让我们先来研究一下矩阵的意义。<p>之前的两章中,矩阵是在矩阵方程中出现的,当时我们理解它的意义为「对向量的一种封装」,也就是一种「数据」的形式理解矩阵的。这一章,我们引入矩阵的另一层意义:<code>线性变换</code>。</p><div class="post-button"><a class="btn" href="/2016/05/20/linear-algebra-3/#more" rel="contents">阅读全文 »</a></div></div><footer class="post-footer"><div class="post-eof"></div></footer></article><nav class="pagination"><span class="page-number current">1</span><a class="page-number" href="/page/2/">2</a><a class="extend next" rel="next" href="/page/2/"><i class="fa fa-angle-right" aria-label="下一页"></i></a></nav></div><script>window.addEventListener('tabs:register', () => {
let { activeClass } = CONFIG.comments;
if (CONFIG.comments.storage) {
activeClass = localStorage.getItem('comments_active') || activeClass;
}
if (activeClass) {
let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
if (activeTab) {
activeTab.click();
}
}
});
if (CONFIG.comments.storage) {
window.addEventListener('tabs:click', event => {
if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
let commentClass = event.target.classList[1];
localStorage.setItem('comments_active', commentClass);
});
}</script></div><div class="toggle sidebar-toggle"><span class="toggle-line toggle-line-first"></span> <span class="toggle-line toggle-line-middle"></span> <span class="toggle-line toggle-line-last"></span></div><aside class="sidebar"><div class="sidebar-inner"><ul class="sidebar-nav motion-element"><li class="sidebar-nav-toc">文章目录</li><li class="sidebar-nav-overview">站点概览</li></ul><div class="post-toc-wrap sidebar-panel"></div><div class="site-overview-wrap sidebar-panel"><div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person"><img class="site-author-image" itemprop="image" alt="Mengqi" src="https://mengqistatic.azureedge.net/staticfiles/avatar/astronaut.png"><p class="site-author-name" itemprop="name">Mengqi</p><div class="site-description" itemprop="description">Happiness only real when shared.</div></div><div class="site-state-wrap motion-element"><nav class="site-state"><div class="site-state-item site-state-posts"><a href="/archives/"><span class="site-state-item-count">18</span> <span class="site-state-item-name">日志</span></a></div><div class="site-state-item site-state-categories"><a href="/categories/"><span class="site-state-item-count">8</span> <span class="site-state-item-name">分类</span></a></div><div class="site-state-item site-state-tags"><a href="/tags/"><span class="site-state-item-count">33</span> <span class="site-state-item-name">标签</span></a></div></nav></div><div class="links-of-author motion-element"><span class="links-of-author-item"><span class="exturl" data-url="aHR0cHM6Ly9naXRodWIuY29tL21lbmdxaTky" title="GitHub → https://github.com/mengqi92"><i class="fab fa-github fa-fw"></i></span> </span><span class="links-of-author-item"><span class="exturl" data-url="bWFpbHRvOm1lbmdxaXBlaUBnbWFpbC5jb20=" title="E-Mail → mailto:mengqipei@gmail.com"><i class="fa fa-envelope fa-fw"></i></span> </span><span class="links-of-author-item"><span class="exturl" data-url="aHR0cHM6Ly90d2l0dGVyLmNvbS9tZW5ncWlwZWk=" title="Twitter → https://twitter.com/mengqipei"><i class="fab fa-twitter fa-fw"></i></span> </span><span class="links-of-author-item"><a href="/atom.xml" title="RSS → /atom.xml"><i class="fa fa-rss fa-fw"></i></a></span></div><div class="cc-license motion-element" itemprop="license"><span class="exturl cc-opacity" data-url="aHR0cHM6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzQuMC8="><img src="/images/cc-by-nc-sa.svg" alt="Creative Commons"></span></div><div class="links-of-blogroll motion-element"><div class="links-of-blogroll-title"><i class="fa fa-link fa-fw"></i> Links</div><ul class="links-of-blogroll-list"><li class="links-of-blogroll-item"><span class="exturl" data-url="aHR0cHM6Ly9jdGV4dC5vcmcvemhz" title="https://ctext.org/zhs">中国哲学书电子化计划</span></li><li class="links-of-blogroll-item"><span class="exturl" data-url="aHR0cDovL3d3dy5mdXppaGFvLm9yZw==" title="http://www.fuzihao.org">切问录</span></li><li class="links-of-blogroll-item"><span class="exturl" data-url="aHR0cHM6Ly9idXdlbnFpLmdpdGh1Yi5pbw==" title="https://buwenqi.github.io">Wenqi's Blog</span></li></ul></div></div></div></aside><div id="sidebar-dimmer"></div></div></main><footer class="footer"><div class="footer-inner"><div class="copyright">© 2015 – <span itemprop="copyrightYear">2021</span> <span class="with-love"><i class="fa fa-heart"></i> </span><span class="author" itemprop="copyrightHolder">Mengqi</span></div><div class="powered-by">由 <span class="exturl theme-link" data-url="aHR0cHM6Ly9oZXhvLmlv">Hexo</span> & <span class="exturl theme-link" data-url="aHR0cHM6Ly9taXN0LnRoZW1lLW5leHQub3Jn">NexT.Mist</span> 强力驱动</div><div class="busuanzi-count"><script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script><span class="post-meta-item" id="busuanzi_container_site_uv" style="display:none"><span class="post-meta-item-icon"><i class="fa fa-user"></i> </span><span class="site-uv" title="总访客量"><span id="busuanzi_value_site_uv"></span> </span></span><span class="post-meta-divider">|</span> <span class="post-meta-item" id="busuanzi_container_site_pv" style="display:none"><span class="post-meta-item-icon"><i class="fa fa-eye"></i> </span><span class="site-pv" title="总访问量"><span id="busuanzi_value_site_pv"></span></span></span></div></div></footer></div><script src="//cdn.jsdelivr.net/npm/animejs@3.1.0/lib/anime.min.js"></script><script src="//cdn.jsdelivr.net/npm/lozad@1/dist/lozad.min.js"></script><script src="/js/utils.js"></script><script src="/js/schemes/muse.js"></script><script src="/js/next-boot.js"></script><script>!function(){var o,n,e=document.getElementsByTagName("link");if(0<e.length)for(i=0;i<e.length;i++)"canonical"==e[i].rel.toLowerCase()&&e[i].href&&(o=e[i].href);n=o?o.split(":")[0]:window.location.protocol.split(":")[0],o||(o=window.location.href),function(){var e=o,i=document.referrer;if(!/([http|https]:\/\/[a-zA-Z0-9\_\.]+\.baidu\.com)/gi.test(e)){var t="https"===String(n).toLowerCase()?"https://sp0.baidu.com/9_Q4simg2RQJ8t7jm9iCKT-xh_/s.gif":"//api.share.baidu.com/s.gif";i?(t+="?r="+encodeURIComponent(document.referrer),e&&(t+="&l="+e)):e&&(t+="?l="+e),(new Image).src=t}}(window)}()</script><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.css"><script src="//cdn.jsdelivr.net/npm/katex@0/dist/contrib/copy-tex.min.js"></script><link rel="stylesheet" href="//cdn.jsdelivr.net/npm/katex@0/dist/contrib/copy-tex.min.css"></body></html>