-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
95 lines (94 loc) · 17 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<!DOCTYPE html><html lang="zh-Hans"><head><meta charset="utf-8"><meta name="X-UA-Compatible" content="IE=edge"><title> Snow Memory | Andrew Liu</title><meta name="description" content="C++ Developer, Gopher, Pythoner, love open source."><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="icon" href="/favicon.png"><link rel="stylesheet" href="/css/apollo.css"><link rel="search" type="application/opensearchdescription+xml" href="http://andrewliu.in/atom.xml" title="Snow Memory | Andrew Liu"></head><body><div class="wrap"><header><a href="/" class="logo-link"><img src="/favicon.png" alt="logo"></a><ul class="nav nav-list"><li class="nav-list-item"><a href="/" target="_self" class="nav-list-link active">BLOG</a></li><li class="nav-list-item"><a href="/archives/" target="_self" class="nav-list-link">ARCHIVE</a></li><li class="nav-list-item"><a href="http://weibo.com/dinosaurliu" target="_blank" class="nav-list-link">WEIBO</a></li><li class="nav-list-item"><a href="https://github.com/Andrew-liu" target="_blank" class="nav-list-link">GITHUB</a></li><li class="nav-list-item"><a href="/about" target="_self" class="nav-list-link">ABOUT</a></li><li class="nav-list-item"><a href="/atom.xml" target="_self" class="nav-list-link">RSS</a></li></ul></header><main class="container"><ul class="home post-list"><li class="post-list-item"><article class="post-block"><h2 class="post-title"><a href="/2017/06/18/Mac重装小计/" class="post-title-link">Mac重装小计</a></h2><div class="post-info">Jun 18, 2017</div><div class="post-content"><div class="tip"><br> 本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank" rel="external">署名-非商业用途-保持一致</a>的创作共用协议.<br></div>
<blockquote>
<p>很久没有更新博客了, 前段时间迷上了王者农药, 戒了农药后又重新入了暴雪爸爸<code>暗黑3</code>的大坑, 呵呵.<br>除此之外, 公司离职回来一直准备毕业论文、毕业答辩、毕业相关材料, 真是焦头烂额.<br>不过想想十九年求学生涯就要结束了, 即将AFK了, 简直幸福.</p>
</blockquote>
<p>为什么要重装? Mac系统的乱七八糟的东西已经占据了90%的磁盘空间, 无法减少文件保持一定空闲磁盘空间, 这种情况已经严重影响了我的日常工作.</p>
<p>重装方案严格按照 Apple 官方文档 <a href="https://support.apple.com/zh-cn/HT204904" target="_blank" rel="external">如何重新安装 macOS</a> 执行.</p>
<h2 id="系统偏好设置"><a href="#系统偏好设置" class="headerlink" title="系统偏好设置"></a>系统偏好设置</h2><ul>
<li>允许安装任何来源的APP: <code>安全性与隐私->通用</code>. 若无该选项,请命令行执行<code>sudo spctl --master-disable</code></li>
<li>设置快捷键: <code>键盘->快捷键</code> 更改输入法切换快捷键</li>
<li>设置触摸板: 选取全部触摸板设置</li>
<li>设置触发角: <code>桌面与屏幕保护程序->触发角</code></li>
<li><p>设置密码验证: <code>系统偏好设置->安全性与隐私->选择 进入休眠或屏保后立即要求输入密码</code></p>
</li>
<li><p>编辑 /etc/paths(<code>sudo vim /etc/paths</code>)</p>
</li>
</ul>
<figure class="highlight c"><table><tr><td class="gutter"><pre><div class="line">1</div><div class="line">2</div><div class="line">3</div><div class="line">4</div><div class="line">5</div><div class="line">6</div></pre></td><td class="code"><pre><div class="line">/usr/local/bin</div><div class="line">/usr/local/sbin</div><div class="line">/usr/bin</div><div class="line">/usr/sbin</div><div class="line">/bin</div><div class="line">/sbin</div></pre></td></tr></table></figure></div><a href="/2017/06/18/Mac重装小计/" class="read-more">...more</a></article></li><li class="post-list-item"><article class="post-block"><h2 class="post-title"><a href="/2017/01/17/2016成就墙完成情况总结/" class="post-title-link">2016成就墙完成情况总结</a></h2><div class="post-info">Jan 17, 2017</div><div class="post-content"><p>本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank" rel="external">署名-非商业用途-保持一致</a>的创作共用协议.</p>
<p>一转眼,2016年又结束了,我的本命年就这样不知不觉溜走了,回头一看,很多年初许下的目标因为各种拖延症没有完成,心情还是有些小抑郁的。2016年算是奔波的一年吧,往返南京、北京、深圳三座城市也是挺心酸了,还不是为了生活的苟且。</p>
<blockquote>
<p>本文想到哪里写到哪里,毕竟我没有过目不忘的记忆</p>
</blockquote>
<p>2016年解锁成就:</p>
<ul>
<li>Zhihu.inc全体验成就达成,拿到Offer后跑路</li>
<li>Baidu.inc全体验成就达成,拿到Offer后又干了一个月因其他原因不得不跑路</li>
<li>Tencent.inc实习成就达成,并期待解锁终生成就奖(然而已经错过了一波企鹅18岁的全员股票)</li>
<li>NJU最浪/最不务正业研二学生成就达成,一整年没回几次学校,没睡几次宿舍的床,感觉宿舍的床已经长毛了,不能再睡了。</li>
<li>BAT实习成就解锁2/3,预计剩余1/3是没有机会解锁了,毕竟企业文化是很重要的,选择一个适合的企业文化才能让自己开心的浪</li>
<li>iPhone 7成就达成,喊了这么多年想拥有一个iPhone,终于这一次iPhone发布会剁手,虽然没有太多的外形变化,但是总是比我的辣鸡魅族不知道高到哪里去了,辣鸡魅族,毁我青春,败我钱财</li>
<li>Apple三件套成就达成,还记得第一件iPad是去南大读书的时候,妈妈送我的礼物,还记得第二件Macbook是送给自己的开发礼物,用Apple的产品总是不会错的,虽然我一直鼓吹自己是个谷歌脑残粉,嗯,谷歌大法好!</li>
</ul></div><a href="/2017/01/17/2016成就墙完成情况总结/" class="read-more">...more</a></article></li><li class="post-list-item"><article class="post-block"><h2 class="post-title"><a href="/2016/12/13/开发机安装配置golang和使用CGI/" class="post-title-link">开发机安装配置golang和使用CGI</a></h2><div class="post-info">Dec 13, 2016</div><div class="post-content"><p>本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank" rel="external">署名-非商业用途-保持一致</a>的创作共用协议.</p>
<h2 id="安装golang"><a href="#安装golang" class="headerlink" title="安装golang"></a>安装golang</h2><ul>
<li><a href="https://golang.org/dl/" target="_blank" rel="external">Golang download</a>下载合适版本的<code>golang</code>二进制发布包.</li>
</ul></div><a href="/2016/12/13/开发机安装配置golang和使用CGI/" class="read-more">...more</a></article></li><li class="post-list-item"><article class="post-block"><h2 class="post-title"><a href="/2016/11/21/传统软件公司-创业公司-大公司的工作机会如何选择?/" class="post-title-link">传统软件公司/创业公司/大公司的工作机会如何选择?</a></h2><div class="post-info">Nov 21, 2016</div><div class="post-content"><p>本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank" rel="external">署名-非商业用途-保持一致</a>的创作共用协议.</p>
<blockquote>
<p>背景介绍: 第一家工作的公司是一家跨国外企安全公司, 骄傲的称自己不是互联网公司而是传统软件公司, 第二家公司是当下最热的知识分享社区, 创业公司. 第三家公司是挤走谷歌, 曾一度称霸中国的搜索引擎公司, 体量很大的著名三大互联网公司之一.</p>
</blockquote>
<p><strong>每一家公司我都接触的不是很久, 没能用一生的时间来体验一个公司, 只能说一下我在短时间看到的优势和缺陷</strong></p></div><a href="/2016/11/21/传统软件公司-创业公司-大公司的工作机会如何选择?/" class="read-more">...more</a></article></li><li class="post-list-item"><article class="post-block"><h2 class="post-title"><a href="/2016/11/15/Linux内核设计与实现读书笔记/" class="post-title-link">Linux内核设计与实现读书笔记</a></h2><div class="post-info">Nov 15, 2016</div><div class="post-content"><p>本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank" rel="external">署名-非商业用途-保持一致</a>的创作共用协议.</p>
<p><strong>Unix强大的根本原因:</strong></p>
<ol>
<li>Unix简洁, 提供几百个系统调用, 设计目的明确</li>
<li>Unix中<code>所有东西都被当做文件对待</code></li>
<li>Unix内核和相关系统工具是用C语言开发的, 移植能力强大</li>
<li>Unix进程创建迅速, 有独特的fork机制</li>
<li>Unix提供简单稳定的进程间通信元语</li>
</ol>
<blockquote>
<p>Linux是类Unix系统, 借鉴了Unix设计并实现了Unix的API.<br>应用程序通常调用库函数(如C库函数)再由库函数通过系统调用界面, 让内核代其完成各种任务.</p>
</blockquote></div><a href="/2016/11/15/Linux内核设计与实现读书笔记/" class="read-more">...more</a></article></li><li class="post-list-item"><article class="post-block"><h2 class="post-title"><a href="/2016/11/07/Google-Protobuf源码剖析-一/" class="post-title-link">Google Protobuf源码剖析(一)</a></h2><div class="post-info">Nov 7, 2016</div><div class="post-content"><p>本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank" rel="external">署名-非商业用途-保持一致</a>的创作共用协议.</p>
<blockquote>
<p>很久之前写过一篇<a href="http://andrewliu.in/2016/06/05/Google-protobuf-C-%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/">Google protobuf(C++) 学习笔记</a>. <code>google protobuf</code>被大量用于公司的RPC通信中作为序列化和序列化工具, 高于JSON和XML的性能值得拥有. 刚好最近有时间, 准备强读一发<code>google protobuf源码</code></p>
</blockquote>
<h2 id="前提"><a href="#前提" class="headerlink" title="前提"></a>前提</h2><p>本文所有所有示例均基于官方示例<code>addressbook.proto</code>:</p></div><a href="/2016/11/07/Google-Protobuf源码剖析-一/" class="read-more">...more</a></article></li><li class="post-list-item"><article class="post-block"><h2 class="post-title"><a href="/2016/10/29/某度实习总结/" class="post-title-link">某度实习总结</a></h2><div class="post-info">Oct 29, 2016</div><div class="post-content"><p>本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" target="_blank" rel="external">署名-非商业用途-保持一致</a>的创作共用协议.</p>
<blockquote>
<p>人呀,有时候也要考虑一下历史的行程,也要总结一下人生的经验。算算一个人来北京实习一年了,上半年在某乎,下半年在某度,而北京这个地方却没有给我留下太深的印象,喜欢的地方不多。马上要离开某度了,简单的总结一下自己吧,同时发泄一下最近消极的心情。过段时间可能会再写一篇,对传统互联网/创业公司/大体量公司的择业思考(又挖新坑)。</p>
</blockquote>
<p>文章大概几个部分吧,<strong>北京印象,人文关怀,工作感受,个人心得</strong>。文章中可能会出现一些某乎和某度的对比,仅个人见解。<strong>本文一切均个人视角请勿对号入座,想到哪里写到哪里。</strong></p></div><a href="/2016/10/29/某度实习总结/" class="read-more">...more</a></article></li><li class="post-list-item"><article class="post-block"><h2 class="post-title"><a href="/2016/10/08/Linux进程创建和调度学习笔记/" class="post-title-link">Linux进程创建和调度学习笔记</a></h2><div class="post-info">Oct 8, 2016</div><div class="post-content"><blockquote>
<p>读书笔记</p>
</blockquote>
<h2 id="进程管理"><a href="#进程管理" class="headerlink" title="进程管理"></a>进程管理</h2><blockquote>
<p>进程是处于执行期的程序, 包含代码段, 打开描述符, 挂起信号, 内核内部数据, 处理器状态, 一个或多个具有内存映射的内存地址空间及一个或多个执行线程.<br>线程是进程中活动对象, 包含<code>独立</code>的程序计数器, 栈和一组进程寄存器. <code>线程间可共享虚拟内存, 但每个都拥有各自的虚拟处理器</code></p>
</blockquote>
<ul>
<li>内核将进程的列表放在一个双向循环链表中, 每项为<code>task_struct</code></li>
<li>进程执行系统调用或者异常处理才会陷入内核空间(内核态)</li>
<li>Linux所有进程都是PID为1的init进程的后代</li>
</ul></div><a href="/2016/10/08/Linux进程创建和调度学习笔记/" class="read-more">...more</a></article></li><li class="post-list-item"><article class="post-block"><h2 class="post-title"><a href="/2016/09/30/深入探索C-对象模式读书笔记/" class="post-title-link">深入探索C++对象模式读书笔记</a></h2><div class="post-info">Sep 30, 2016</div><div class="post-content"><blockquote>
<p>什么是<code>C++对象模型</code>?</p>
<ol>
<li>语言中直接支持面向对象程序设计的部分.</li>
<li>对于各种支持的底层实现机制.</li>
</ol>
</blockquote>
<h2 id="Object-Lessons"><a href="#Object-Lessons" class="headerlink" title="Object Lessons"></a>Object Lessons</h2><ol>
<li>C++封装并未增加布局成本, 数据成员内含在class object中(像struct), <code>成员函数不会出现在object中</code>, <strong>非内敛函数只会诞生一个实例, 内联函数对每个使用者产生一个实例</strong></li>
<li>C++在布局及存取时间上主要的额外负担是由<code>virtual</code>引起的<ul>
<li>virtual function支持动态绑定</li>
<li>virtual base class实现单一而被共享的基类实例, 多用于多继承中</li>
</ul>
</li>
</ol></div><a href="/2016/09/30/深入探索C-对象模式读书笔记/" class="read-more">...more</a></article></li><li class="post-list-item"><article class="post-block"><h2 class="post-title"><a href="/2016/09/24/macOS-Sierra-惊险升级/" class="post-title-link">macOS Sierra 惊险升级</a></h2><div class="post-info">Sep 24, 2016</div><div class="post-content"><h2 id="惊现问题"><a href="#惊现问题" class="headerlink" title="惊现问题"></a>惊现问题</h2><p><code>2016年9月21</code> Apple开始推送 <code>macOS Sierra(10.12)</code>.</p>
<p><strong>此处升级的亮点:</strong></p>
<ul>
<li><strong>亮点就是没有亮点!!!</strong></li>
<li>最大的升级是<code>Mac OS X</code> 改名为 <code>macOS'</code>, 很大的改变有木有</li>
<li>Mac增加了Siri支持, 我知道我Mac多了个天气预报小助手</li>
<li>可以使用Apple Watch自动近距离解锁Mac, 听说<a href="">Near Lock</a>已哭晕在厕所? 然而首先你要买一部 <code>Apple Watch</code></li>
<li>跨设备复制粘贴, 可以使用云端剪切板, iPhone上复制的东西可以在Mac上直接黏贴. 然而首先你要买一部 <code>iPhone</code></li>
<li>Safari我就不喷了, 反正用了Chrome的我实在受不了龟速的Safari. 听说Safari很省电, 这个卖点不错!</li>
<li>还有啥? 这次升级只有很少的App闪退阵亡.(呵呵</li>
</ul>
<blockquote>
<p>然后开始作死升级之路… 怎么升级就不说了, 正常人都知道….</p>
</blockquote></div><a href="/2016/09/24/macOS-Sierra-惊险升级/" class="read-more">...more</a></article></li></ul></main><footer><div class="paginator"><a href="/page/2/" class="next">NEXT</a></div><div class="copyright"><p>© 2014 - 2017 <a href="http://andrewliu.in">Andrew Liu</a>, powered by <a href="https://hexo.io/" target="_blank">Hexo</a> and <a href="https://github.com/pinggod/hexo-theme-apollo" target="_blank">hexo-theme-apollo</a>.</p></div></footer></div><script async src="//cdn.bootcss.com/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML" integrity="sha384-crwIf/BuaWM9rM65iM+dWFldgQ1Un8jWZMuh3puxb8TOY9+linwLoI7ZHZT+aekW" crossorigin="anonymous"></script><script>(function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;e=o.createElement(i);r=o.getElementsByTagName(i)[0];e.src='//www.google-analytics.com/analytics.js';r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));ga('create',"UA-58158116-2",'auto');ga('send','pageview');</script></body></html>