<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>读书 on Yison's Blog</title><link>https://blog.7ys.top/categories/%E8%AF%BB%E4%B9%A6/</link><description>Recent content in 读书 on Yison's Blog</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><lastBuildDate>Thu, 03 Dec 2020 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.7ys.top/categories/%E8%AF%BB%E4%B9%A6/index.xml" rel="self" type="application/rss+xml"/><item><title>《Go语言编程》☞鉴赏</title><link>https://blog.7ys.top/posts/go%E8%AF%AD%E8%A8%80%E7%BC%96%E7%A8%8B%E9%89%B4%E8%B5%8F/</link><pubDate>Thu, 03 Dec 2020 00:00:00 +0000</pubDate><guid>https://blog.7ys.top/posts/go%E8%AF%AD%E8%A8%80%E7%BC%96%E7%A8%8B%E9%89%B4%E8%B5%8F/</guid><description>&lt;img src="https://blog.7ys.top/" alt="Featured image of post 《Go语言编程》☞鉴赏" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;在读这本书之前，我已经熟悉了Go的语法，并编码实现了具体的应用。但这本书据说详细解读了Go语言的诞生背景和作者的设计初衷&amp;amp;理念，所以，带着好奇的心态读了这本书，顺带查缺补漏。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="前言"&gt;前言
&lt;/h2&gt;&lt;p&gt;Go语言官方自称，之所以开发Go 语言，是因为“近10年来开发程序之难让我们有点沮丧”。&lt;br&gt;
这一定位暗示了Go语言希望取代C和Java的地位，成为最流行的通用开发语言。&lt;/p&gt;
&lt;p&gt;Go希望成为互联网时代的C语言。多数系统级语言（包括Java和C#）的根本编程哲学来源于C++，将C++的面向对象进一步发扬光大。但是Go语言的设计者却有不同的看法，他们认为C++ 真的没啥好学的，值得学习的是C语言。&lt;/p&gt;
&lt;p&gt;C语言经久不衰的根源是它足够简单。因此，Go语言也要足够简单！&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.7ys.top/images/article/2020-12-03/toibe_rank.jpeg"&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;如果一个特性
并不对解决任何问题有显著的价值，那么Go就不提供它&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="并发与分布式"&gt;并发与分布式
&lt;/h3&gt;&lt;p&gt;多核化和集群化是互联网时代的典型特征，那语言需要哪些特性来应对这些特征呢？&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;并发执行的“执行体”&lt;/strong&gt;&lt;br&gt;
执行体是个抽象的概念，在操作系统层面有多个概念与之对应，比如操作系统自己掌管的进程（process）、进程内的线程（thread）以及进程内的协程（coroutine，也叫轻量级线程）。&lt;/p&gt;
&lt;p&gt;多数语言在语法层面并不直接支持协程，而通过库的方式支持的协程的功能也并不完整，比如仅仅提供协程的创建、销毁与切换等能力。如果在这样的协程中调用一个同步IO操作，比如网络通信、本地文件读写，都会阻塞其他的并发执行协程，从而无法真正达到协程本身期望达到的目标。&lt;/p&gt;
&lt;p&gt;Go语言在语言级别支持协程，叫goroutine。Go语言标准库提供的所有系统调用（syscall）操
作，当然也包括所有同步IO操作，都会出让CPU给其他goroutine，这让事情变得非常简单。我们
对比一下Java和Go，近距离观摩下两者对“执行体”的支持。&lt;/p&gt;
&lt;p&gt;为了简化，我们在样例中使用的是Java标准库中的线程，而不是协程，具体代码如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;public&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;class&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;MyThread&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;implements&lt;/span&gt; Runnable { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	String arg; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;public&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;MyThread&lt;/span&gt;(String a) { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 		arg &lt;span style="color:#f92672"&gt;=&lt;/span&gt; a; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;public&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;run&lt;/span&gt;() { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 		&lt;span style="color:#75715e"&gt;// ... &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;public&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;static&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;main&lt;/span&gt;(String&lt;span style="color:#f92672"&gt;[]&lt;/span&gt; args) { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#66d9ef"&gt;new&lt;/span&gt; Thread(&lt;span style="color:#66d9ef"&gt;new&lt;/span&gt; MyThread(&lt;span style="color:#e6db74"&gt;&amp;#34;test&amp;#34;&lt;/span&gt;)).&lt;span style="color:#a6e22e"&gt;start&lt;/span&gt;(); 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 		&lt;span style="color:#75715e"&gt;// ... &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	}
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;相同功能的代码，在Go语言中是这样的：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;func&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;run&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;arg&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;string&lt;/span&gt;) { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#75715e"&gt;// ... &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;func&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;main&lt;/span&gt;() { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;go&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;run&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;test&amp;#34;&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#f92672"&gt;...&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;对比非常鲜明。我相信你已经明白为什么Go语言会叫Go语言了：Go语言献给这个时代最好
的礼物，就是加了go这个关键字。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;“执行体间的通信”&lt;/strong&gt;&lt;br&gt;
执行体间的通信包含几个方式：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;执行体之间的互斥与同步
&lt;ul&gt;
&lt;li&gt;当执行体之间存在共享资源（一般是共享内存）时，为保证内存访问逻辑的确定性，需要对访问该共享资源的相关执行体进行互斥。当多个执行体之间的逻辑存在时序上的依赖时，也往往需要在执行体之间进行同步。&lt;/li&gt;
&lt;li&gt;互斥与同步是执行体间最基础的交互方式。&lt;/li&gt;
&lt;li&gt;多数语言在库层面提供了线程间的互斥与同步支持，那么协程之间的互斥与同步呢？
&lt;ul&gt;
&lt;li&gt;呃，不好意思，没有。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;执行体之间的消息传递
&lt;ul&gt;
&lt;li&gt;在并发编程模型的选择上，有两个流派，一个是共享内存模型，一个是消息传递模型。&lt;/li&gt;
&lt;li&gt;多数传统语言选择了前者，少数语言选择后者，其中选择“消息传递模型”的最典型代表是Erlang语言。业界有专门的术语叫“Erlang风格的并发模型”，其主体思想是两点：一是“轻量级的进程（Erlang中‘进程’这个术语就是我们上面说的‘执行体’）”，二是“消息乃进程间通信的唯一方式”。&lt;/li&gt;
&lt;li&gt;Go语言推荐采用“Erlang风格的并发模型”的编程范式，尽管传统的“共享内存模型”仍然被保留，允许适度地使用。在Go语言中内置了消息队列的支持，只不过它叫通道（channel）。两
个goroutine之间可以通过通道来进行交互。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="软件工程"&gt;软件工程
&lt;/h3&gt;&lt;p&gt;单机时代的语言可以只关心问题本身的解决，但是随着工程规模的不断扩大，软件复杂度的
不断增加，软件工程也成为语言设计层面要考虑的重要课题。&lt;/p&gt;
&lt;p&gt;多数软件需要一个团队共同去完成，在团队协作的过程中，人们需要建立统一的交互语言来降低沟通的成本。规范化体现在多个层面，如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;代码风格规范&lt;/li&gt;
&lt;li&gt;错误处理规范&lt;/li&gt;
&lt;li&gt;包管理&lt;/li&gt;
&lt;li&gt;契约规范（接口）&lt;/li&gt;
&lt;li&gt;单元测试规范&lt;/li&gt;
&lt;li&gt;功能开发的流程规范&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Go语言很可能是第一个将代码风格强制统一的语言，例如Go语言要求public的变量必须以
大写字母开头，private变量则以小写字母开头，这种做法不仅免除了public、private关键
字，更重要的是统一了命名风格。&lt;/p&gt;
&lt;p&gt;另外，Go语言对{ }应该怎么写进行了强制，比如以下风格是正确的：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;expression&lt;/span&gt; { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;...&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;但下面这个写法就是错误的：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;expression&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;...&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;而C和Java语言中则对花括号的位置没有任何要求。哪种更有利，这个见仁见智。但很显然
的是，所有的Go代码的花括号位置肯定是非常统一的。&lt;/p&gt;
&lt;p&gt;最有意思的其实还是 Go 语言首创的错误处理规范：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;f&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;err&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;os&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Open&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;filename&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;err&lt;/span&gt; &lt;span style="color:#f92672"&gt;!=&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;nil&lt;/span&gt; { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#a6e22e"&gt;log&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Println&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;Open file failed:&amp;#34;&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;err&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;defer&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;f&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Close&lt;/span&gt;() 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;...&lt;/span&gt; &lt;span style="color:#75715e"&gt;// 操作已经打开的f文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;defer语句的含义是不管程序是否出现异常，均在函数退出时自动执行相关代码。&lt;br&gt;
Go语言的函数允许返回多个值。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;大多数函数的最后一个返回值会为error类型，以在错误情况下返回详细信息。&lt;br&gt;
error类型只是一个系统内置的interface，如下：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;type&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;error&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;interface&lt;/span&gt; { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#a6e22e"&gt;Error&lt;/span&gt;() &lt;span style="color:#66d9ef"&gt;string&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;有了error类型，程序出现错误的逻辑看起来就相当统一。&lt;/p&gt;
&lt;p&gt;在Java中，你可能这样写代码来保证资源正确释放：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-java" data-lang="java"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;try&lt;/span&gt; { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	Statement stmt &lt;span style="color:#f92672"&gt;=&lt;/span&gt; ...; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;try&lt;/span&gt; { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 		ResultSet rset &lt;span style="color:#f92672"&gt;=&lt;/span&gt; ...; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#66d9ef"&gt;try&lt;/span&gt; { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 			... &lt;span style="color:#75715e"&gt;// 正常代码&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 		} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#66d9ef"&gt;finally&lt;/span&gt; { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 			rset.&lt;span style="color:#a6e22e"&gt;close&lt;/span&gt;(); 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 		} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;finally&lt;/span&gt; { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 		stmt.&lt;span style="color:#a6e22e"&gt;close&lt;/span&gt;(); 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;finally&lt;/span&gt; { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;conn.&lt;span style="color:#a6e22e"&gt;close&lt;/span&gt;(); 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;完成同样的功能，相应的Go代码只需要写成这样：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;conn&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#f92672"&gt;...&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;defer&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;conn&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Close&lt;/span&gt;() 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;stmt&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#f92672"&gt;...&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;defer&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;stmt&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Close&lt;/span&gt;() 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;rset&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#f92672"&gt;...&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;defer&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;rset&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Close&lt;/span&gt;() 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;...&lt;/span&gt; &lt;span style="color:#75715e"&gt;// 正常代码&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;对比两段代码，Go语言处理错误的优势显而易见。当然，其实Go语言带给我们的惊喜还有很多。&lt;/p&gt;
&lt;h3 id="编程哲学"&gt;编程哲学
&lt;/h3&gt;&lt;p&gt;计算机软件经历了数十年的发展，形成了多种学术流派，有面向过程编程、面向对象编程、
函数式编程、面向消息编程等，这些思想究竟孰优孰劣，众说纷纭。
C语言是纯过程式的，这和它产生的历史背景有关。Java语言则是激进的面向对象主义推崇
者，典型表现是它不能容忍体系里存在孤立的函数。而Go语言没有去否认任何一方，而是用批
判吸收的眼光，将所有编程思想做了一次梳理，融合众家之长，但时刻警惕特性复杂化，极力维
持语言特性的简洁，力求小而精。
从编程范式的角度来说，Go语言是变革派，而不是改良派。
对于C++、Java和C#等语言为代表的面向对象（OO）思想体系，Go语言总体来说持保守态
度，有限吸收。
首先，Go语言反对函数和操作符重载（overload），而C++、Java和C#都允许出现同名函数或
操作符，只要它们的参数列表不同。虽然重载解决了一小部分面向对象编程（OOP）的问题，但
同样给这些语言带来了极大的负担。而Go语言有着完全不同的设计哲学，既然函数重载带来了
负担，并且这个特性并不对解决任何问题有显著的价值，那么Go就不提供它。
其次，Go语言支持类、类成员方法、类的组合，但反对继承，反对虚函数（virtual function）
和虚函数重载。确切地说，Go也提供了继承，只不过是采用了组合的文法来提供：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;type Foo struct { 
 	Base 
 	... 
} 
func (foo *Foo) Bar() { 
 	... 
} 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;再次，Go语言也放弃了构造函数（constructor）和析构函数（destructor）。由于Go语言中没
有虚函数，也就没有vptr，支持构造函数和析构函数就没有太大的价值。本着“如果一个特性
并不对解决任何问题有显著的价值，那么Go就不提供它”的原则，构造函数和析构函数就这样
被Go语言的作者们干掉了。
在放弃了大量的OOP特性后，Go语言送上了一份非常棒的礼物：接口（interface）。你可能
会说，除了C这么原始的语言外，还有什么语言没有接口呢？是的，多数语言都提供接口，但它
们的接口都不同于Go语言的接口。
Go语言中的接口与其他语言最大的一点区别是它的非侵入性。在C++、Java和C#中，为了实
现一个接口，你需要从该接口继承，具体代码如下：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;class Foo implements IFoo { // Java文法
 	... 
} 
class Foo : public IFoo { // C++文法
 	... 
} 
IFoo* foo = new Foo; 
在Go语言中，实现类的时候无需从接口派生，具体代码如下：
type Foo struct { // Go 文法
 	... 
} 
var foo IFoo = new(Foo) 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;只要Foo实现了接口IFoo要求的所有方法，就实现了该接口，可以进行赋值。
Go语言的非侵入式接口，看似只是做了很小的文法调整，实则影响深远。
其一，Go语言的标准库再也不需要绘制类库的继承树图。你只需要知道这个类实现了哪些
方法，每个方法是啥含义就足够了。
其二，不用再纠结接口需要拆得多细才合理，比如我们实现了File类，它有下面这些方法：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Read(buf []byte) (n int, err error) 
Write(buf []byte) (n int, err error) 
Seek(off int64, whence int) (pos int64, err error) 
Close() error 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;那么，到底是应该定义一个IFile接口，还是应该定义一系列的IReader、IWriter、
ISeeker和ICloser接口，然后让File从它们派生好呢？事实上，脱离了实际的用户场景，讨
论这两个设计哪个更好并无意义。问题在于，实现File类的时候，我怎么知道外部会如何用它
呢？
其三，不用为了实现一个接口而专门导入一个包，而目的仅仅是引用其中的某个接口的定义。
在Go语言中，只要两个接口拥有相同的方法列表，那么它们就是等同的，可以相互赋值，如对
于以下两个接口，第一个接口：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;package one 
type ReadWriter interface { 
 	Read(buf [] byte) (n int, err error) 
 	Write(buf [] byte) (n int, err error) 
} 
第二个接口：
package two 
type IStream interface { 
 	Write(buf [] byte) (n int, err error) 
 	Read(buf [] byte) (n int, err error) 
} 
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这里我们定义了两个接口，一个叫one.ReadWriter，一个叫two.IStream，两者都定义
了Read()和Write()方法，只是定义的次序相反。one.ReadWriter先定义了Read()再定义
Write()，而two.IStream反之。
在Go语言中，这两个接口实际上并无区别，因为：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;任何实现了one.ReadWriter接口的类，均实现了two.IStream；&lt;/li&gt;
&lt;li&gt;任何one.ReadWriter接口对象可赋值给two.IStream，反之亦然；&lt;/li&gt;
&lt;li&gt;在任何地方使用one.ReadWriter接口，与使用two.IStream并无差异。&lt;br&gt;
所以在Go语言中，为了引用另一个包中的接口而导入这个包的做法是不被推荐的。因为多
引用一个外部的包，就意味着更多的耦合。
除了OOP外，近年出现了一些小众的编程哲学，Go语言对这些思想亦有所吸收。例如，Go
语言接受了函数式编程的一些想法，支持匿名函数与闭包。再如，Go语言接受了以Erlang语言为
代表的面向消息编程思想，支持goroutine和通道，并推荐使用消息而不是共享内存来进行并发编
程。总体来说，Go语言是一个非常现代化的语言，精小但非常强大。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="go语言特性"&gt;Go语言特性
&lt;/h2&gt;&lt;p&gt;Go语言作为一门全新的静态类型开发语言，与当前的开发语言相比具备众多令人兴奋不已
的新特性。&lt;/p&gt;
&lt;h3 id="自动垃圾回收"&gt;自动垃圾回收
&lt;/h3&gt;&lt;p&gt;我们可以先看下不支持垃圾回收的语言的资源管理方式，以下为一小段C语言代码：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-c" data-lang="c"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;void&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;foo&lt;/span&gt;() 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#66d9ef"&gt;char&lt;/span&gt;&lt;span style="color:#f92672"&gt;*&lt;/span&gt; p &lt;span style="color:#f92672"&gt;=&lt;/span&gt; new &lt;span style="color:#66d9ef"&gt;char&lt;/span&gt;[&lt;span style="color:#ae81ff"&gt;128&lt;/span&gt;]; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	... &lt;span style="color:#75715e"&gt;// 对p指向的内存块进行赋值
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#a6e22e"&gt;func1&lt;/span&gt;(p); &lt;span style="color:#75715e"&gt;// 使用内存指针
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	delete[] p; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;各种非预期的原因，比如由于开发者的疏忽导致最后的delete语句没有被调用，都会引发经典而恼人的内存泄露问题。&lt;br&gt;
假如该函数被调用得非常频繁，那么我们观察该进程执行时，会发现该进程所占用的内存会一直疯长，直至占用所有系统内存并导致程序崩溃，而如果泄露的是系统资源的话，那么后果还会更加严重，最终很有可能导致系统崩溃。&lt;/p&gt;
&lt;p&gt;如果使用Go语言实现，我们就完全不用考虑何时需要释放之前分配的内存的问题，系统会自动帮我们判断，并在合适的时候（比如CPU相对空闲的时候）进行自动垃圾收集工作。&lt;/p&gt;
&lt;h3 id="更丰富的内置类型"&gt;更丰富的内置类型
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;支持几乎所有语言都支持的简单内置类型（比如整型和浮点型等）&lt;/li&gt;
&lt;li&gt;Go语言也内置了一些比较新的语言中内置的高级类型，比如C#和Java中的数组和字符串。&lt;/li&gt;
&lt;li&gt;除此之外，Go语言还内置了一个对于其他静态类型语言通常用库方式支持的字典类型（map）。&lt;/li&gt;
&lt;li&gt;另外有一个新增的数据类型：数组切片（Slice）。我们可以认为数组切片是一种可动态增长的数组。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这几种数据结构基本上覆盖了绝大部分的应用场景。&lt;/p&gt;
&lt;h3 id="函数多返回值"&gt;函数多返回值
&lt;/h3&gt;&lt;p&gt;目前的主流语言中除Python外基本都不支持函数的多返回值功能，不是没有这类需求，可能是语言设计者没有想好该如何提供这个功能，或者认为这个功能会影响语言的美感。&lt;/p&gt;
&lt;p&gt;Go语言革命性地在静态开发语言阵营中率先提供了多返回值功能。&lt;br&gt;
这个特性让开发者可以从原来用各种比较别扭的方式返回多个值的痛苦中解脱出来，既不用再区分参数列表中哪几个用于输入，哪几个用于输出，也不用再只为了返回多个值而专门定义一个数据结构。&lt;/p&gt;
&lt;p&gt;例如：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;func&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;getName&lt;/span&gt;()(&lt;span style="color:#a6e22e"&gt;firstName&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;middleName&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;lastName&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;nickName&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;string&lt;/span&gt;){ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;May&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;M&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;Chen&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;Babe&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;因为返回值都已经有名字，因此各个返回值也可以用如下方式来在不同的位置进行赋值，从
而提供了极大的灵活性：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;func&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;getName&lt;/span&gt;()(&lt;span style="color:#a6e22e"&gt;firstName&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;middleName&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;lastName&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;nickName&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;string&lt;/span&gt;){ 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#a6e22e"&gt;firstName&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;May&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#a6e22e"&gt;middleName&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;M&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#a6e22e"&gt;lastName&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;Chen&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#a6e22e"&gt;nickName&lt;/span&gt; = &lt;span style="color:#e6db74"&gt;&amp;#34;Babe&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;并不是每一个返回值都必须赋值，没有被明确赋值的返回值将保持默认的空值。而函数的调用相比C/C++语言要简化很多：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;fn&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;mn&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;ln&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;nn&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;getName&lt;/span&gt;() 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果开发者只对该函数其中的某几个返回值感兴趣的话，也可以直接用下划线作为占位符来
忽略其他不关心的返回值。下面的调用表示调用者只希望接收lastName的值，这样可以避免声
明完全没用的变量：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;_&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;_&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;lastName&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;_&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;getName&lt;/span&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="错误处理"&gt;错误处理
&lt;/h3&gt;&lt;p&gt;Go语言引入了3个关键字用于标准的错误处理流程，这3个关键字分别为defer、panic和recover。&lt;/p&gt;
&lt;p&gt;整体上而言与C++和Java等语言中的异常捕获机制相比，Go语言的错误处理机制可以大量减少代码量，让开发者也无需仅仅为了程序安全性而添加大量一层套一层的try-catch语句，这对于代码的阅读者和维护者来说也是一件很好的事情。&lt;/p&gt;
&lt;h3 id="匿名函数和闭包"&gt;匿名函数和闭包
&lt;/h3&gt;&lt;p&gt;Go语言支持常规的匿名函数和闭包，比如下列代码就定义了一个名为f的匿名函数，开发者可以随意对该匿名函数变量进行传递和调用：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;f&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;func&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;x&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;y&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;) &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt; { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;return&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;x&lt;/span&gt; &lt;span style="color:#f92672"&gt;+&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;y&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="类型和接口"&gt;类型和接口
&lt;/h3&gt;&lt;p&gt;Go语言的类型定义非常接近于C语言中的结构（struct），甚至直接沿用了struct关键字。相比而言，Go语言并没有直接沿袭C++和Java的传统去设计一个超级复杂的类型系统，不支持继承和重载，而只是支持了最基本的类型组合功能。&lt;/p&gt;
&lt;p&gt;巧妙的是，虽然看起来支持的功能过于简洁，细用起来你却会发现，C++和Java使用那些复杂的类型系统实现的功能在Go语言中并不会出现无法表现的情况，这反而让人反思其他语言中引入这些复杂概念的必要性。&lt;/p&gt;
&lt;h3 id="并发编程"&gt;并发编程
&lt;/h3&gt;&lt;p&gt;Go语言引入了goroutine概念，它使得并发编程变得非常简单。通过使用goroutine而不是裸用操作系统的并发机制，以及使用消息传递来共享内存而不是使用共享内存来通信，Go语言让并发编程变得更加轻盈和安全。&lt;/p&gt;
&lt;p&gt;通过在函数调用前使用关键字go，我们即可让该函数以goroutine方式执行。goroutine是一种比线程更加轻盈、更省资源的协程。Go语言通过系统的线程来多路派遣这些函数的执行，使得每个用go关键字执行的函数可以运行成为一个单位协程。当一个协程阻塞的时候，调度器就会自动把其他协程安排到另外的线程中去执行，从而实现了程序无等待并行化运行。而且调度的开销非常小，一颗CPU调度的规模不下于每秒百万次，这使得我们能够创建大量的goroutine，从而可以很轻松地编写高并发程序，达到我们想要的目的。&lt;/p&gt;
&lt;p&gt;下面我们用一个简单的例子来演示goroutine和channel的使用方式。这是一个并行计算的例子，由两个goroutine进行并行的累加计算，待这两个计算过程都完成后打印计算结果：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;package&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;main&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;import&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;fmt&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;func&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;sum&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;values&lt;/span&gt; [] &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;resultChan&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;chan&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;) { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#a6e22e"&gt;sum&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;0&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;for&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;_&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;value&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;range&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;values&lt;/span&gt; { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;		&lt;span style="color:#a6e22e"&gt;sum&lt;/span&gt; &lt;span style="color:#f92672"&gt;+=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;value&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#a6e22e"&gt;resultChan&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;sum&lt;/span&gt; &lt;span style="color:#75715e"&gt;// 将计算结果发送到channel中&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;func&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;main&lt;/span&gt;() { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#a6e22e"&gt;values&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; [] &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;{&lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;3&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;4&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;5&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;6&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;7&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;8&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;9&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;} 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#a6e22e"&gt;resultChan&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; make(&lt;span style="color:#66d9ef"&gt;chan&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;int&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;go&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;sum&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;values&lt;/span&gt;[:len(&lt;span style="color:#a6e22e"&gt;values&lt;/span&gt;)&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;], &lt;span style="color:#a6e22e"&gt;resultChan&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;	&lt;span style="color:#66d9ef"&gt;go&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;sum&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;values&lt;/span&gt;[len(&lt;span style="color:#a6e22e"&gt;values&lt;/span&gt;)&lt;span style="color:#f92672"&gt;/&lt;/span&gt;&lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;:], &lt;span style="color:#a6e22e"&gt;resultChan&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#a6e22e"&gt;sum1&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;sum2&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;resultChan&lt;/span&gt;, &lt;span style="color:#f92672"&gt;&amp;lt;-&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;resultChan&lt;/span&gt; &lt;span style="color:#75715e"&gt;// 接收结果&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#a6e22e"&gt;fmt&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Println&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;Result:&amp;#34;&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;sum1&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;sum2&lt;/span&gt;, &lt;span style="color:#a6e22e"&gt;sum1&lt;/span&gt; &lt;span style="color:#f92672"&gt;+&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;sum2&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="反射"&gt;反射
&lt;/h3&gt;&lt;p&gt;反射（reflection）是在Java语言出现后迅速流行起来的一种概念。通过反射，你可以获取对象类型的详细信息，并可动态操作对象。反射是把双刃剑，功能强大但代码可读性并不理想。若非必要，我们并不推荐使用反射。&lt;/p&gt;
&lt;p&gt;Go语言的反射实现了反射的大部分功能，但没有像Java语言那样内置类型工厂，故而无法做到像Java那样通过类型字符串创建对象实例。在Java中，你可以读取配置并根据类型名称创建对应的类型，这是一种常见的编程手法，但在Go语言中这并不被推荐。&lt;/p&gt;
&lt;h3 id="语言交互性"&gt;语言交互性
&lt;/h3&gt;&lt;p&gt;由于Go语言与C语言之间的天生联系，Go语言的设计者们自然不会忽略如何重用现有C模块的这个问题，这个功能直接被命名为Cgo。Cgo既是语言特性，同时也是一个工具的名称。&lt;/p&gt;
&lt;p&gt;在Go代码中，可以按Cgo的特定语法混合编写C语言代码，然后Cgo工具可以将这些混合的C代码提取并生成对于C功能的调用包装代码。开发者基本上可以完全忽略这个Go语言和C语言的边界是如何跨越的。&lt;/p&gt;
&lt;p&gt;例如：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;package&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;main&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;/* 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#include &amp;lt;stdio.h&amp;gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;*/&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;import&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;C&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;import&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;unsafe&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;func&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;main&lt;/span&gt;() { 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#a6e22e"&gt;cstr&lt;/span&gt; &lt;span style="color:#f92672"&gt;:=&lt;/span&gt; &lt;span style="color:#a6e22e"&gt;C&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;CString&lt;/span&gt;(&lt;span style="color:#e6db74"&gt;&amp;#34;Hello, world&amp;#34;&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#a6e22e"&gt;C&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;puts&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;cstr&lt;/span&gt;) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; 	&lt;span style="color:#a6e22e"&gt;C&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;free&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;unsafe&lt;/span&gt;.&lt;span style="color:#a6e22e"&gt;Pointer&lt;/span&gt;(&lt;span style="color:#a6e22e"&gt;cstr&lt;/span&gt;)) 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="常用标准库"&gt;常用标准库
&lt;/h2&gt;&lt;p&gt;Go标准库可以大致按其中库的功能进行以下分类，这个分类比较简单，不求准确，但求能够帮助开发者根据自己模糊的需求更快找到自己需要的包。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;输入输出。
&lt;ul&gt;
&lt;li&gt;这个分类包括二进制以及文本格式在屏幕、键盘、文件以及其他设备上的输入输出等，比如二进制文件的读写。对应于此分类的包有bufio、fmt、io、log和flag等，其中flag用于处理命令行参数。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;文本处理。
&lt;ul&gt;
&lt;li&gt;这个分类包括字符串和文本内容的处理，比如字符编码转换等。对应于此分类的包有encoding、bytes、strings、strconv、text、mime、unicode、regexp、index和path等。其中path用于处理路径字符串。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;网络。
&lt;ul&gt;
&lt;li&gt;这个分类包括开发网络程序所需要的包，比如Socket编程和网站开发等。对应于此分类的包有：net、http和expvar等。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;系统。
&lt;ul&gt;
&lt;li&gt;这个分类包含对系统功能的封装，比如对操作系统的交互以及原子性操作等。对应于此分类的包有os、syscall、sync、time和unsafe等。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;数据结构与算法。
&lt;ul&gt;
&lt;li&gt;对应于此分类的包有math、sort、container、crypto、hash、archive、compress和image等。因为image包里提供的图像编解码都是算法，所以也归入此类。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;运行时。
&lt;ul&gt;
&lt;li&gt;对应于此分类的包有：runtime、reflect和go等。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="最后"&gt;最后
&lt;/h2&gt;&lt;p&gt;这本书还给我们深入讲解了很多有意思的东西，只有自己用心投入去阅读和享受才能真的有所收获，其中还剖析了音乐播放器、聊天系统、网页相册等实际项目例子&amp;amp;核心源代码，总的来说挺不错的，有兴趣的童鞋尽管认真地去翻阅、去学习、去尝试吧。&lt;/p&gt;
&lt;p&gt;最后，让我们引用作者的话来结束本篇鉴赏吧。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;在十余年的技术生涯中，我接触过、使用过、喜爱过不同的编程语言，但总体而言，Go语
言的出现是最让我兴奋的事情。

我个人对未来10年编程语言排行榜的趋势判断如下：
❤ Java语言的份额继续下滑，并最终被C和Go语言超越；
❤ C语言将长居编程榜第二的位置，并有望在Go取代Java前重获语言榜第一的宝座；
❤ Go语言最终会取代Java，居于编程榜之首。

由七牛云存储团队编著的这本书将尽可能展现出Go语言的迷人魅力。希望本书能够让更多
人理解这门语言，热爱这门语言，让这门优秀的语言能够落到实处，把程序员从以往繁杂的语言
细节中解放出来，集中精力开发更加优秀的系统软件。

许式伟
2012年3月7日
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="关于我"&gt;关于我
&lt;/h2&gt;&lt;p&gt;name: yison.li&lt;br&gt;
github: &lt;a class="link" href="https://github.com/yisonli" target="_blank" rel="noopener"
 &gt;https://github.com/yisonli&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://blog.7ys.top/images/YisonWechat.png"&gt;&lt;/p&gt;</description></item><item><title>《大数据时代下半场》读书笔记</title><link>https://blog.7ys.top/posts/%E5%A4%A7%E6%95%B0%E6%8D%AE%E6%97%B6%E4%BB%A3%E4%B8%8B%E5%8D%8A%E5%9C%BA%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</link><pubDate>Sat, 20 Jan 2018 00:00:00 +0000</pubDate><guid>https://blog.7ys.top/posts/%E5%A4%A7%E6%95%B0%E6%8D%AE%E6%97%B6%E4%BB%A3%E4%B8%8B%E5%8D%8A%E5%9C%BA%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</guid><description>&lt;img src="https://blog.7ys.top/" alt="Featured image of post 《大数据时代下半场》读书笔记" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;今天，全世界每天产生的数据可能是过去几个世纪之和。我们在生活中都受到大数据的影响，没有人能被排除在外。每个人本身便是一个数据产品。&lt;br&gt;
如同所有科技一样，数字都是死的，关键在于运用它的人。大数据在21世纪属于企业资本。大数据的商业价值持续增长，已经成为决定行业话语权与势力消长的兵家必争之地。大数据争夺战上半场主要是收集数据，下半场则转向数据治理、驱动与变现。&lt;br&gt;
&lt;strong&gt;数据战争才刚刚开始，而我们每个人都已身在战场。&lt;/strong&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h1 id="引言"&gt;引言
&lt;/h1&gt;&lt;h2 id="大数据的三个v"&gt;大数据的三个“V”
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;1.容量（Volume，这里指数据容量）&lt;/li&gt;
&lt;li&gt;2.速度（Velocity，这里指数据加工和变化动态的速度）&lt;/li&gt;
&lt;li&gt;3.多样性（Variety，这里指数据结构和类型）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="大数据的基本循环"&gt;大数据的基本循环
&lt;/h2&gt;&lt;p&gt;外环：数据使用者 &amp;ndash;(我们所有人)&amp;ndash;&amp;gt; 数据生产者 &amp;mdash;-&amp;gt; 企业是数据加工者 &amp;mdash;-&amp;gt; 数据使用者&lt;br&gt;
内环：相互作用的数据 &amp;mdash;-&amp;gt; 观察数据 &amp;mdash;-&amp;gt; 相互作用的数据&lt;/p&gt;
&lt;h2 id="大数据与工业革命"&gt;大数据与工业革命
&lt;/h2&gt;&lt;p&gt;五个康德拉季耶夫周期：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1.大约1780 - 1840年：早起机械化；德国工业革命的开端；蒸汽机&lt;/li&gt;
&lt;li&gt;2.大约1840 - 1890年：第二次工业革命；贝塞麦转炉钢和蒸汽船、铁路&lt;/li&gt;
&lt;li&gt;3.大约1890 - 1940年：电子技术和重型机器&lt;/li&gt;
&lt;li&gt;4.大约1940 - 1990年：专用自动仪器（汽车、合成电路、核能、晶体管、计算机）&lt;/li&gt;
&lt;li&gt;5.1990年开始：信息通信技术 —— 康德拉季耶夫周期与“全球化”紧密相连。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="总结"&gt;总结
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;“大数据现象”并没有一个通用的固定定义。&lt;/li&gt;
&lt;li&gt;第一个定义尝试聚焦于大数据的技术层面，如数据量、变化动态及数据结构和数据等级的差异性。&lt;/li&gt;
&lt;li&gt;大数据是所有生活领域大范围数字化所推动的具有高动态性的效应。&lt;/li&gt;
&lt;li&gt;大数据出现的原因及由此导致的总体主题的多层次性，赋予了“数字革命”持续变化的潜力，并有着深远的社会文化影响。&lt;/li&gt;
&lt;li&gt;大数据与我们每个人都相关，人人都扮演着不同的角色参与其中。&lt;/li&gt;
&lt;li&gt;大数据在21世纪属于企业资本。&lt;/li&gt;
&lt;li&gt;大数据是通过技术、工具和数学的结合，以及恰到好处地使用资本儿发展的，并且大数据的应用工具与其他主题是相互分离的。&lt;/li&gt;
&lt;li&gt;大数据的发展假设了一种不能被人控制的自身动态。&lt;/li&gt;
&lt;li&gt;大数据重要的特点之一便是进行行为分析的可能性，这能够通过新的数据等级及相互影响的数据关系来实现。&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="大数据时代的企业战略目标"&gt;大数据时代的企业战略目标
&lt;/h1&gt;&lt;h2 id="大数据的智能循环"&gt;大数据的智能循环
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;原始数据的加工
&lt;ul&gt;
&lt;li&gt;组织&lt;/li&gt;
&lt;li&gt;协调&lt;/li&gt;
&lt;li&gt;巩固&lt;/li&gt;
&lt;li&gt;丰富&lt;/li&gt;
&lt;li&gt;高级数据&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;知识生产
&lt;ul&gt;
&lt;li&gt;定义分析模式&lt;/li&gt;
&lt;li&gt;阐释成果&lt;/li&gt;
&lt;li&gt;建议行动&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;行动
&lt;ul&gt;
&lt;li&gt;做出决定&lt;/li&gt;
&lt;li&gt;采取措施&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;反馈
&lt;ul&gt;
&lt;li&gt;成果反馈&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="企业变成分析型市场竞争者的过程"&gt;企业变成分析型市场竞争者的过程
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;1.战略&lt;/li&gt;
&lt;li&gt;2.集成&lt;/li&gt;
&lt;li&gt;3.智能循环&lt;/li&gt;
&lt;li&gt;4.分析型竞争者&lt;/li&gt;
&lt;li&gt;5.信息主宰者&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="总结-1"&gt;总结
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;企业利用大数据的首要目标即实现产量和销售量的增长，特别是通过大数据分析带来的知识增长来完成这一目标。&lt;/li&gt;
&lt;li&gt;大数据也能显示新的价值创造和新的商业模式的潜力。&lt;/li&gt;
&lt;li&gt;通过注重数据分析产生知识的能力，企业发展成具有分析能力的市场竞争者。&lt;/li&gt;
&lt;li&gt;一个企业作为具有分析能力的市场竞争者，可以通过掌握一个具体领域的信息主宰权和解释权，而使公众接受其商业模式，并且保障一个企业永久占据客观的市场份额。&lt;/li&gt;
&lt;li&gt;在企业内部，各个部门也都在竞争信息主宰权和解释权。&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="社会生活中的大数据"&gt;社会生活中的大数据
&lt;/h1&gt;&lt;h2 id="大数据和开放运动"&gt;大数据和“开放运动”
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;开放数据&lt;/li&gt;
&lt;li&gt;开放教育&lt;/li&gt;
&lt;li&gt;开放内容&lt;/li&gt;
&lt;li&gt;开放政府&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="德国联邦议会互联网和数字社会研究委员会"&gt;德国联邦议会“互联网和数字社会”研究委员会
&lt;/h2&gt;&lt;p&gt;该委员会的12个工作群体显示了该主题的多层次性&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1.教育和研究&lt;/li&gt;
&lt;li&gt;2.数据保护和个人权益&lt;/li&gt;
&lt;li&gt;3.民主和国家&lt;/li&gt;
&lt;li&gt;4.国际和互联网管理&lt;/li&gt;
&lt;li&gt;5.协同工作、免费软件&lt;/li&gt;
&lt;li&gt;6.文化、媒体和公众&lt;/li&gt;
&lt;li&gt;7.媒体能力&lt;/li&gt;
&lt;li&gt;8.网络中立性&lt;/li&gt;
&lt;li&gt;9.著作权&lt;/li&gt;
&lt;li&gt;10.消费者保护&lt;/li&gt;
&lt;li&gt;11.经济、工作、绿色信息技术&lt;/li&gt;
&lt;li&gt;12.网络入口，结构和安全性&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="总结-2"&gt;总结
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;大数据是自下而上的推动。&lt;/li&gt;
&lt;li&gt;从“自下而上”这个角度看，大数据包含了另一种含义，即技术发展赋予了大数据集中型的结构，与大数据紧密相关的科技在此提供了许多深远的技术可能性。&lt;/li&gt;
&lt;li&gt;从整体上看，大数据是变幻莫测的社会变化产生的一个效应。这种变化是由各个生活领域大规模的数字化推动的，没有人能够全身而退。&lt;/li&gt;
&lt;li&gt;当前关于大数据和世界数字化的公开讨论改变了公众关于互联网使用和隐私保护的意识。&lt;/li&gt;
&lt;li&gt;这种已然改变的意识导致了产生的行为规则和期待也发生了变化，人们扮演着不同的角色，如客户、消费者、员工和公民，如今也向企业和国家机构提出了新的挑战。&lt;/li&gt;
&lt;li&gt;在这个过程中，经济层面上的道德问题也日益获得关注。&lt;/li&gt;
&lt;li&gt;这一系列的主题由于其广泛的社会意义，在更高的政治层面上也日益获得关注。&lt;/li&gt;
&lt;li&gt;该整体状况对于企业内外关系中的相关主题有着直接的影响。&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="企业中的数据治理"&gt;企业中的数据治理
&lt;/h1&gt;&lt;h2 id="大数据和企业文化"&gt;大数据和企业文化
&lt;/h2&gt;&lt;p&gt;组织文化指的是组织内在的文化价值模式的形成和发展。在企业中这种现象也被称为企业文化&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;1.领导方式&lt;/li&gt;
&lt;li&gt;2.员工之间的关系&lt;/li&gt;
&lt;li&gt;3.内部合作的方式（合作模式）&lt;/li&gt;
&lt;li&gt;4.内部沟通（沟通方式）&lt;/li&gt;
&lt;li&gt;5.决策方式&lt;/li&gt;
&lt;li&gt;6.支持合作、沟通和决策的技术基础设施的价值&lt;/li&gt;
&lt;li&gt;7.对于内部矛盾及政治矛盾的处理（争论文化）&lt;/li&gt;
&lt;li&gt;8.与客户、供应方和其他外部合作者的关系&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="社交软件与企业20"&gt;社交软件与企业2.0
&lt;/h2&gt;&lt;p&gt;“社交软件”所指的是软件工具，它通过一个主题将所有的员工进行联合，为企业的某些大事件起到推动和支持作用。&lt;br&gt;
社交软件的投入使用是体现企业2.0的基本之一，它的目的就在于优化企业内部的团结合作。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;社交与商业一体化&lt;/li&gt;
&lt;li&gt;智能合作&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="大数据时代下客户关系的封闭循环"&gt;大数据时代下客户关系的封闭循环
&lt;/h2&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: center"&gt;以客户为中心&lt;/th&gt;
 &lt;th style="text-align: center"&gt;➡️&lt;/th&gt;
 &lt;th style="text-align: center"&gt;数据保护&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;⬆️&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;⬇️&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;客户关系&lt;/strong&gt;&lt;/td&gt;
 &lt;td style="text-align: center"&gt;⬅️&lt;/td&gt;
 &lt;td style="text-align: center"&gt;&lt;strong&gt;信任&lt;/strong&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;1.88%的互联网用户不愿意自己的网上行为被追踪。&lt;br&gt;
2.75%的用户希望企业不要备份用户的任何个人数据。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="目标冲突和内部阻力"&gt;目标冲突和内部阻力
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;透明化 VS 不透明化&lt;/li&gt;
&lt;li&gt;结构化 VS 自由度&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="总结-3"&gt;总结
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;企业处于全社会性质变革的中心，这种变革通过生活全方面数字化驱动带来广泛的社会性循环。&lt;/li&gt;
&lt;li&gt;大数据是数字化和这种社会文化变革的技术表现形式，另外由于他们的交互依赖性以及相互的作用共同铸就变革。&lt;/li&gt;
&lt;li&gt;发展固有的文化对企业有直接的影响，它要求企业通过利用现代技术的潜力找到让企业文化适应21世纪商业世界新要求的方法，其关键词就是企业2.0。&lt;/li&gt;
&lt;li&gt;面对由像棱镜门等事件引起的广泛讨论，人们必须站在企业的角度思考是否有必要对这种潜在威胁采取行动。&lt;/li&gt;
&lt;li&gt;像数据保护、个人隐私保护，以及像信任这样的传统价值等方面变得意义重大，同时成为有决定性作用的市场竞争因素。&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="大数据不仅仅是商业智能20"&gt;大数据不仅仅是商业智能2.0
&lt;/h1&gt;&lt;h2 id="商业智能的复杂性提高"&gt;商业智能的复杂性提高
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;1.新的数据结构
&lt;ul&gt;
&lt;li&gt;并不存在“非结构化数据”，数据永远都是结构化的。&lt;/li&gt;
&lt;li&gt;大数据要求不同数据结构的整合，这个过程要求人们对不同层面的数据进行思考。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;2.类型化的关键字&lt;/li&gt;
&lt;li&gt;3.新数据等级和存储技术&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="数据质量"&gt;数据质量
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;低数据质量如何产生&lt;/li&gt;
&lt;li&gt;人们应该如何持续得到高质量的数据&lt;/li&gt;
&lt;li&gt;维持高水准的数据质量需要花费多少&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="数据分析"&gt;数据分析
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;描述性分析
&lt;ul&gt;
&lt;li&gt;现有的财政数据基础上的月度结算&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;预测性分析
&lt;ul&gt;
&lt;li&gt;现有的措施基础上的销售预测&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;处方性分析
&lt;ul&gt;
&lt;li&gt;描述中长期的未来&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="大数据分析法的四个条件因素"&gt;大数据分析法的四个条件因素
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;大数据 —— 大量数据将被分析&lt;/li&gt;
&lt;li&gt;数据挖掘 —— 数学统计学工具将被使用，用以认知大量数据的模式。&lt;/li&gt;
&lt;li&gt;诊断式分析 —— 分析针对于未来不同的时间&lt;/li&gt;
&lt;li&gt;内存 —— 并不一定与大数据分析法有着直接联系&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="总结-4"&gt;总结
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;大数据时代，商业智能的复杂性增加表面上是由技术层面上的数据容量、不同性质的数据结构和数据等级导致的。&lt;/li&gt;
&lt;li&gt;复杂性增加更大程度上是因为专业部门和信息技术需要大幅度协调。在整体战略和具体行为计划的框架下，这是非常必要的，这样数据的多层次性才能得到整体理解。&lt;/li&gt;
&lt;li&gt;战略性基本方针的缺失或者并不独立可能会导致摩擦损失，企业通过忍受高额成本和信息的不透明，投入资源并且建设“阴影信息技术”及“阴影化过程”，以此来弥补可能存在的摩擦损失。&lt;/li&gt;
&lt;li&gt;这种认知必然会导致意义斐然的合作模式的建立，能够连接所有的能力，将现有的资源引向目的。&lt;/li&gt;
&lt;li&gt;这个过程中要注意的是，提高大数据的潜力会导致人们对可测量的企业增值日益期待。这也要求有着不同专业知识背景的所有层次的参与者进行永恒且广泛的相互协调。&lt;/li&gt;
&lt;li&gt;与商业智能相比较，大数据分析法提出了一个新的要求，尤其是所形成的时间维度。&lt;/li&gt;
&lt;li&gt;传统方法的组合，比如数据挖掘，在商业智能中已经广为人知，比如诊断式数据分析，提升了大数据分析法的整体潜力。&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="内存"&gt;内存
&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;大数据和内存技术并不一定是紧密相关的，然而在涉及大数据潜力时，者两者常常会被同事列举出来。&lt;/li&gt;
&lt;li&gt;事实上，通过大量数据的实时分析，全新的应用可能诞生于世，这在没有大数据和内存技术时是不可想象的。&lt;/li&gt;
&lt;li&gt;这些可能性位人类的进步提供了巨大的潜力，然而同时也蕴藏着风险。&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="大数据对企业的意义"&gt;大数据对企业的意义
&lt;/h1&gt;&lt;p&gt;1.大数据为企业的应变能力提供支持&lt;br&gt;
2.大数据可以提高企业与客户沟通的效率&lt;br&gt;
3.大数据会对企业的管理模式产生一定影响&lt;br&gt;
4.大数据会对企业的战略产生一定影响&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;为了描述企业中有关于大数据的话题，有目的地采取适当措施，需要企业在总体战略中确定不同主题。&lt;/li&gt;
&lt;li&gt;所有大数据活动应当给予主题相进性与商业智能能力中心（BICC）联系在一起，在大数据背景下，商业智能能力中心（BICC）需要继续发展成为数据分析能力中心（DACC）。这并不意味着大数据只是商业智能的拓展，而是尽可能地利用现有的结构。&lt;/li&gt;
&lt;li&gt;目前企业中还没有类似于BICC这样广泛意义上的组织单元，企业应当在大数据多样主题的压力下建立一个数据分析能力中心（DACC），为企业成为分析型市场竞争者提供支持。&lt;/li&gt;
&lt;li&gt;数据分析能力中心（DACC）的一个重要任务就是变革管理和通信管理，在数据分析能力的帮助下研究特定的培训内容。一方面，在整个企业范围内建立对大数据的普遍理解；另一方面，可以在具体的主题例如技术层面或者个人客户数据方面进行相关培训。&lt;/li&gt;
&lt;li&gt;大数据项目管理必须始终坚持使用商业智能的经验，在执行层面建立灵活性。&lt;/li&gt;
&lt;li&gt;实用主义和执行层面的灵活性并不违背战略一致性的要求；相反，这个战略为特定项目实现高自由度创造了前提，从而释放必要的创造力和生产力。&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id="福兮祸兮"&gt;福兮祸兮
&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;对于一个真正存在的问题，其分析结果会因为增长的数据量、提高的结构复杂性、技术和逻辑上的清晰性儿变得愈加具有解释性。&lt;/li&gt;
&lt;li&gt;大数据需要一次全面的思想转换，因为这些多重结构并且内容复杂的大量数据在很大程度上时缺乏解释的，而涉及企业和社会决策的数据分析应该切合实际。&lt;/li&gt;
&lt;li&gt;这个世界时不可预测的，速度更快、连接更顺畅的IT系统当然能够使得愈加复杂的算法在越来越大的数据库中得以运用，并且也能够对具体问题的解决方面有所帮助。&lt;/li&gt;
&lt;li&gt;在大数据复杂的框架条件下，想要利用一个通过技术推动的、自动化的并且有算法控制的决策来解决现实问题，是不切实际的。&lt;/li&gt;
&lt;li&gt;在全球数字化的趋势下，越来越多方面的复杂性刚刚被人了解并且以数据的方式被存储起来，所以才产生了大数据。或者用另外一种表达方式来说，就是全球数字化正在高速运转并且在不久的将来会更加深入地渗透到人们生活的所有领域。&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>《从零开始学微信运营》读书笔记</title><link>https://blog.7ys.top/posts/%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E5%AD%A6%E5%BE%AE%E4%BF%A1%E8%BF%90%E8%90%A5%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</link><pubDate>Mon, 18 Dec 2017 00:00:00 +0000</pubDate><guid>https://blog.7ys.top/posts/%E4%BB%8E%E9%9B%B6%E5%BC%80%E5%A7%8B%E5%AD%A6%E5%BE%AE%E4%BF%A1%E8%BF%90%E8%90%A5%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</guid><description>&lt;img src="https://blog.7ys.top/" alt="Featured image of post 《从零开始学微信运营》读书笔记" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;这是最好的时代，这是最坏的时代；这是明智的时代，这是愚昧的时代；这是信仰的时期，这是怀疑的时期；这是光明的季节，这是黑暗的季节；这是希望之春，这是失望之冬；人们面前应有尽有，人们面前一无所有。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;如果一款应用不能在5到10秒内吸引住用户，用户就很可能抛弃这个应用。&lt;/li&gt;
&lt;li&gt;因此，一款产品的决胜期可能在一个月之内，如果一个月内不行，后面可能是死路一条。&lt;/li&gt;
&lt;li&gt;提供价值，而非吸引眼球，这是微信的态度，也是它能否成功的关键。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="微信能做什么"&gt;微信能做什么
&lt;/h2&gt;&lt;h3 id="微信中蕴藏的商业价值"&gt;微信中蕴藏的商业价值
&lt;/h3&gt;&lt;h4 id="微信id网络上的另类身份证"&gt;微信ID：网络上的另类“身份证”
&lt;/h4&gt;&lt;h4 id="类app-store-微型应用商店"&gt;类APP Store： 微型应用商店
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;适合微信的应用类型
&lt;ul&gt;
&lt;li&gt;低频次强需求的App&lt;/li&gt;
&lt;li&gt;高频次低需求的App&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;微信应用商店的优势
&lt;ul&gt;
&lt;li&gt;技术门槛低，开发成本低&lt;/li&gt;
&lt;li&gt;能够更迅速的进行更新换代&lt;/li&gt;
&lt;li&gt;操作简单，更容易聚集用户&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="公众号全新的营销渠道"&gt;公众号：全新的营销渠道
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;拥有庞大的潜在客户&lt;/li&gt;
&lt;li&gt;降低了营销成本&lt;/li&gt;
&lt;li&gt;营销定位更加精准&lt;/li&gt;
&lt;li&gt;营销方式更加多元化、更有趣&lt;/li&gt;
&lt;li&gt;营销方式以人为本&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="朋友圈亟待挖掘的sns营销金矿"&gt;朋友圈：亟待挖掘的SNS营销“金矿”
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;沟通体系是单向的&lt;/li&gt;
&lt;li&gt;交流更加方便，可以无缝切换到私聊模式&lt;/li&gt;
&lt;li&gt;人店合一，有利于客户的积累&lt;/li&gt;
&lt;li&gt;基于情感的营销，更容易成功&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="闭环o2o从线上到线下"&gt;闭环O2O：从线上到线下
&lt;/h4&gt;&lt;h3 id="为什么应该重视微信营销"&gt;为什么应该重视微信营销
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;用户的习惯&lt;/li&gt;
&lt;li&gt;用户的传播&lt;/li&gt;
&lt;li&gt;信息的载体&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="微信营销的优势在哪里"&gt;微信营销的优势在哪里
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;内容至上&lt;/li&gt;
&lt;li&gt;成本低廉&lt;/li&gt;
&lt;li&gt;沟通无极限&lt;/li&gt;
&lt;li&gt;受众定位准&lt;/li&gt;
&lt;li&gt;主动推送&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="微信公众号的设计之道"&gt;微信公众号的设计之道
&lt;/h3&gt;&lt;h4 id="定位告诉受众你是谁"&gt;定位：告诉受众你是谁
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;用户的心智运行模式决定着定位的重要性
&lt;ul&gt;
&lt;li&gt;心智的容量是有限的&lt;/li&gt;
&lt;li&gt;心智喜欢简单，排斥混乱&lt;/li&gt;
&lt;li&gt;心智不会轻易改变&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="微信公众账号的定位方向"&gt;微信公众账号的定位方向
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;量体裁衣，以产品特点为基础&lt;/li&gt;
&lt;li&gt;充分聚焦，针对目标市场&lt;/li&gt;
&lt;li&gt;一切以用户为中心，提供“服务”而非“骚扰”&lt;/li&gt;
&lt;li&gt;充分关注竞争者&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="取名什么样的名字更亮眼"&gt;取名：什么样的名字更亮眼
&lt;/h4&gt;&lt;p&gt;原则：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;好记，能迅速传播&lt;/li&gt;
&lt;li&gt;包含目标关键词&lt;/li&gt;
&lt;li&gt;加上区域名称&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;忌讳：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;名字不应太短或太长&lt;/li&gt;
&lt;li&gt;尽量避免使用生疏、冷僻的词汇&lt;/li&gt;
&lt;li&gt;不要使用宽泛的词汇，越精准越好&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="id越简短越有效"&gt;ID：越简短，越有效
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;与企业的品牌、公众账号的名字要有高度相关性&lt;/li&gt;
&lt;li&gt;好记并适合搜索&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="自我介绍让受众第一时间记住你"&gt;自我介绍：让受众第一时间记住你
&lt;/h4&gt;&lt;h4 id="欢迎语给用户一个导航图"&gt;欢迎语：给用户一个导航图
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;态度热情真诚，语言诙谐风趣&lt;/li&gt;
&lt;li&gt;告诉用户下一步应该怎么做、能做什么&lt;/li&gt;
&lt;li&gt;为用户提供帮助，为他们解决问题&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="自定义回复从用户的角度出发"&gt;自定义回复：从用户的角度出发
&lt;/h4&gt;&lt;h2 id="内容价值是核心"&gt;内容价值是核心
&lt;/h2&gt;&lt;h3 id="什么内容才是用户关注的"&gt;什么内容才是用户关注的
&lt;/h3&gt;&lt;h4 id="什么样的内容分享率高"&gt;什么样的内容分享率高
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;有价值，能为用户带来一定的帮助&lt;/li&gt;
&lt;li&gt;专业性强，具有较强的权威性&lt;/li&gt;
&lt;li&gt;时效性强，要善于把我社会热点话题&lt;/li&gt;
&lt;li&gt;具有吸引力的成功案例，能诱发人们的关注&lt;/li&gt;
&lt;li&gt;与众不同的观点&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="内容建设的三个步骤"&gt;内容建设的三个步骤
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;定位&lt;/li&gt;
&lt;li&gt;提炼&lt;/li&gt;
&lt;li&gt;管理&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="微信内容的六种类型"&gt;微信内容的六种类型
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;倾听型&lt;/li&gt;
&lt;li&gt;好消息型&lt;/li&gt;
&lt;li&gt;故事型&lt;/li&gt;
&lt;li&gt;自爆隐私型&lt;/li&gt;
&lt;li&gt;互动型&lt;/li&gt;
&lt;li&gt;炒冷饭型&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="什么时间推送最有效"&gt;什么时间推送最有效
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;早上：8点 ~ 9点&lt;/li&gt;
&lt;li&gt;中午：12点 ~ 13点&lt;/li&gt;
&lt;li&gt;晚上：21点 ~ 22点&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="如何让内容更有吸引力"&gt;如何让内容更有吸引力
&lt;/h3&gt;&lt;h4 id="标题的醒目技巧"&gt;标题的醒目技巧
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;标题包含的要素
&lt;ul&gt;
&lt;li&gt;热门词汇&lt;/li&gt;
&lt;li&gt;权威人物&lt;/li&gt;
&lt;li&gt;体验式感受&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;标题字数&lt;/li&gt;
&lt;li&gt;拟定标题的具体方式
&lt;ul&gt;
&lt;li&gt;提问式&lt;/li&gt;
&lt;li&gt;借力式&lt;/li&gt;
&lt;li&gt;情感诱发式&lt;/li&gt;
&lt;li&gt;悬念式&lt;/li&gt;
&lt;li&gt;八卦式&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;内容写作的方法
&lt;ul&gt;
&lt;li&gt;情感真挚，方能动人&lt;/li&gt;
&lt;li&gt;体现创意，莫要千篇一律&lt;/li&gt;
&lt;li&gt;把故事讲好，也是一种技巧&lt;/li&gt;
&lt;li&gt;内容娱乐化，展现娱乐精神&lt;/li&gt;
&lt;li&gt;图文并茂，增加可读性&lt;/li&gt;
&lt;li&gt;让用户参与到内容创作的过程中&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="信息内容的四种优化形式"&gt;信息内容的四种优化形式
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;文字优化&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;文字信息应该是真实可信的&lt;/li&gt;
&lt;li&gt;巧妙使用问号、感叹号等标点符号&lt;/li&gt;
&lt;li&gt;条理清晰&lt;/li&gt;
&lt;li&gt;多使用短句子&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;图片优化&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;配以适当的文字说明&lt;/li&gt;
&lt;li&gt;大小要进行控制&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;语音优化&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;确保语音清晰度&lt;/li&gt;
&lt;li&gt;配以适当的语气&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;视频优化&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;视频标题要吸引观众&lt;/li&gt;
&lt;li&gt;视频说明要留下想象空间&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="微信公众号的推广与运营"&gt;微信公众号的推广与运营
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;微信公众号四大运营法则
&lt;ul&gt;
&lt;li&gt;挖掘精准用户&lt;/li&gt;
&lt;li&gt;增加用户信任度&lt;/li&gt;
&lt;li&gt;保证功能完善性&lt;/li&gt;
&lt;li&gt;运营要有计划&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;订阅号运营
&lt;ul&gt;
&lt;li&gt;Exact-信息量要精准，少即是多&lt;/li&gt;
&lt;li&gt;Echo-重视时效性，越快越好&lt;/li&gt;
&lt;li&gt;Easy-栏目不必过多，版式要简单明了&lt;/li&gt;
&lt;li&gt;Enjoyment-内容要有可读性，能引发阅读兴趣&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;服务号运营策略
&lt;ul&gt;
&lt;li&gt;促销策略&lt;/li&gt;
&lt;li&gt;品牌策略&lt;/li&gt;
&lt;li&gt;发掘需求策略&lt;/li&gt;
&lt;li&gt;沟通策略&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="微信粉丝从何而来"&gt;微信粉丝从何而来
&lt;/h3&gt;&lt;h4 id="qq"&gt;QQ
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;QQ群
&lt;ul&gt;
&lt;li&gt;找到目标QQ群&lt;/li&gt;
&lt;li&gt;申请入群&lt;/li&gt;
&lt;li&gt;在QQ群中深耕细作&lt;/li&gt;
&lt;li&gt;制定具体的推广策略&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;QQ空间
&lt;ul&gt;
&lt;li&gt;QQ空间认证&lt;/li&gt;
&lt;li&gt;多发表一些有价值的精品文章&lt;/li&gt;
&lt;li&gt;善用朋友分享&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="微博"&gt;微博
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;“按图索骥”,通过标签找粉丝&lt;/li&gt;
&lt;li&gt;主动对用户的微博进行转发与评论&lt;/li&gt;
&lt;li&gt;利用微博群来寻找目标用户&lt;/li&gt;
&lt;li&gt;努力使自己成为微博群里的“舆论领袖”&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="百度"&gt;百度
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;百度文库
&lt;ul&gt;
&lt;li&gt;标题越实用越好&lt;/li&gt;
&lt;li&gt;图文并茂&lt;/li&gt;
&lt;li&gt;有效分类&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;百度经验
&lt;ul&gt;
&lt;li&gt;以微信二维码作为头像&lt;/li&gt;
&lt;li&gt;在参考资料中留下你的联系方式&lt;/li&gt;
&lt;li&gt;在标题中添加更多的关键词&lt;/li&gt;
&lt;li&gt;在图片中添加你的微信二维码&lt;/li&gt;
&lt;li&gt;多提交&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="软文"&gt;软文
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;极具吸引力的标题&lt;/li&gt;
&lt;li&gt;言之有物的内容&lt;/li&gt;
&lt;li&gt;定位于精准的目标群体&lt;/li&gt;
&lt;li&gt;精心选择发布渠道&lt;/li&gt;
&lt;li&gt;添加微信二维码&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="视频推广"&gt;视频推广
&lt;/h4&gt;&lt;h4 id="线下活动"&gt;线下活动
&lt;/h4&gt;&lt;h3 id="如何吧潜在用户转变为现实用户"&gt;如何吧潜在用户转变为现实用户
&lt;/h3&gt;
 &lt;blockquote&gt;
 &lt;p&gt;潜在用户：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;影响性&lt;br&gt;
相对性&lt;br&gt;
转化性&lt;/p&gt;

 &lt;/blockquote&gt;

 &lt;/blockquote&gt;
&lt;h4 id="已用户为导向"&gt;已用户为导向
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;提高服务质量&lt;/li&gt;
&lt;li&gt;赠送令用户满意的小礼物&lt;/li&gt;
&lt;li&gt;不定时举办一些感恩活动&lt;/li&gt;
&lt;li&gt;给每一个用户VIP的感觉&lt;/li&gt;
&lt;li&gt;为用户提供专业性的产品指南&lt;/li&gt;
&lt;li&gt;关于用户的想法和意见&lt;/li&gt;
&lt;li&gt;投其所好&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="激活粉丝的主动传播"&gt;激活粉丝的主动传播
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;知己知彼，了解粉丝的“口味”&lt;/li&gt;
&lt;li&gt;折扣与优惠是最好的营销工具&lt;/li&gt;
&lt;li&gt;根据粉丝的属性来分组推送信息&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="如何留住老用户"&gt;如何留住老用户
&lt;/h3&gt;&lt;h4 id="建立用户档案提供针对性服务"&gt;建立用户档案，提供针对性服务
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;用户基本信息&lt;/li&gt;
&lt;li&gt;用户偏好信息&lt;/li&gt;
&lt;li&gt;用户行为信息&lt;/li&gt;
&lt;li&gt;用户服务信息&lt;/li&gt;
&lt;li&gt;其他相关信息&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="以情动人对用户进行情感投资"&gt;以情动人，对用户进行情感投资
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;给予老用户更多的优惠政策&lt;/li&gt;
&lt;li&gt;多与老用户进行沟通&lt;/li&gt;
&lt;li&gt;尊重老用户的意见&lt;/li&gt;
&lt;li&gt;多向老用户表达你的感谢&lt;/li&gt;
&lt;li&gt;重视20%的老用户&lt;/li&gt;
&lt;li&gt;多传播正面信息&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="促销时时有给用户多一些甜头"&gt;促销时时有，给用户多一些甜头
&lt;/h4&gt;&lt;h2 id="策略篇--如何做好微信营销"&gt;策略篇 —— 如何做好微信营销
&lt;/h2&gt;
 &lt;blockquote&gt;
 &lt;p&gt;微信营销的目标不能一味只关注利润，还要充分考虑消费者的利益、对社会的责任，并妥善处理企业与消费者、与社会的利益关系。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="设立微信营销目标"&gt;设立微信营销目标
&lt;/h3&gt;&lt;h4 id="目标设立的原则"&gt;目标设立的原则
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;S（Specific）：明确性&lt;/li&gt;
&lt;li&gt;M（Measurable）：可衡量性&lt;/li&gt;
&lt;li&gt;A（Achievable）：可实现性&lt;/li&gt;
&lt;li&gt;R（Relevant）：现实性&lt;/li&gt;
&lt;li&gt;T（Time-based）：时限性&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="目标设立的环节"&gt;目标设立的环节
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;正确理解企业的总体目标&lt;/li&gt;
&lt;li&gt;根据SMART原则，制定出目标&lt;/li&gt;
&lt;li&gt;列出可能遇到的问题和阻碍&lt;/li&gt;
&lt;li&gt;列出实现目标所需要的资源&lt;/li&gt;
&lt;li&gt;确定目标完成的日期&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="五步制定营销策略"&gt;五步制定营销策略
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;定位微信公众账号&lt;/li&gt;
&lt;li&gt;定位目标用户群&lt;/li&gt;
&lt;li&gt;调研目标用户群
&lt;ul&gt;
&lt;li&gt;更愿意接收哪种类型的内容&lt;/li&gt;
&lt;li&gt;更愿意在什么时候接收消息&lt;/li&gt;
&lt;li&gt;更愿意参加什么样的活动&lt;/li&gt;
&lt;li&gt;更愿意如何参加活动&lt;/li&gt;
&lt;li&gt;不喜欢什么内容、活动&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;制定具体营销计划
&lt;ul&gt;
&lt;li&gt;步骤
&lt;ul&gt;
&lt;li&gt;做什么&lt;/li&gt;
&lt;li&gt;怎么做&lt;/li&gt;
&lt;li&gt;谁来做&lt;/li&gt;
&lt;li&gt;什么时间做&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;注意事项
&lt;ul&gt;
&lt;li&gt;正确的营销目标是营销计划得以顺利实施的前提条件&lt;/li&gt;
&lt;li&gt;企业中有效的运行系统是微信营销计划得以实施的重要保证因素&lt;/li&gt;
&lt;li&gt;企业文化、价值观也是影响计划实施的重要因素&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;执行与跟踪
&lt;ul&gt;
&lt;li&gt;四项原则
&lt;ul&gt;
&lt;li&gt;适时发现问题&lt;/li&gt;
&lt;li&gt;跟踪重要目标&lt;/li&gt;
&lt;li&gt;明确你的跟踪目标&lt;/li&gt;
&lt;li&gt;实际主义，避免得不偿失&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;跟踪步骤
&lt;ul&gt;
&lt;li&gt;收集信息&lt;/li&gt;
&lt;li&gt;评估&lt;/li&gt;
&lt;li&gt;反馈&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="微信营销的原则方法技巧与误区"&gt;微信营销的原则、方法、技巧与误区
&lt;/h2&gt;&lt;h3 id="微信营销的四大原则"&gt;微信营销的四大原则
&lt;/h3&gt;&lt;h4 id="多号并行合理布局"&gt;多号并行，合理布局
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;双号策略
&lt;ul&gt;
&lt;li&gt;服务号 + 订阅号&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;多号策略&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="构建微信矩阵协同作战"&gt;构建微信矩阵，协同作战
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;微信矩阵的特点
&lt;ul&gt;
&lt;li&gt;多个微信公众账号协作&lt;/li&gt;
&lt;li&gt;统一化管理&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;微信公众账号的划分
&lt;ul&gt;
&lt;li&gt;品牌层级&lt;/li&gt;
&lt;li&gt;地域性&lt;/li&gt;
&lt;li&gt;功能定位&lt;/li&gt;
&lt;li&gt;业务需求&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;微信矩阵的常见模式
&lt;ul&gt;
&lt;li&gt;1+N 式微信矩阵
&lt;ul&gt;
&lt;li&gt;以主品牌、主业务的微信公众账号为主导，在其基础之上，再开设N个子品牌、子业务、子部门或下属地域的微信公众账号，形成一个完整的微信推广体系。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AB 式微信矩阵
&lt;ul&gt;
&lt;li&gt;指的是以一个形象微信公众账号（Action）和一个品牌微信公众账号（Brand）的形式组成矩阵组合，从而达到塑造、维护企业的品牌形象的主要目的。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;三维式微信矩阵
&lt;ul&gt;
&lt;li&gt;从&lt;strong&gt;企业&lt;/strong&gt;、&lt;strong&gt;产品&lt;/strong&gt;及&lt;strong&gt;生活方式的培养&lt;/strong&gt;这三个维度来进行微信公众账号的布局。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="关注竞争对手善用他山之石"&gt;关注竞争对手，善用“他山之石”
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;关注竞争对手的微信公众账号和个人微信号。&lt;/li&gt;
&lt;li&gt;扮演用户的角色，通过微信公众账号向竞争对手进行产品咨询、要求售后服务、订购产品等。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="免费为诱饵赢利为目的"&gt;免费为诱饵，赢利为目的
&lt;/h4&gt;&lt;p&gt;“免费午餐法则”的心理定律。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;让客户吃到“免费的午餐”，让他因此在心中对你怀有一种潜在的愧疚感，他购买你的产品的可能性就越大。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="微信营销的实用方法"&gt;微信营销的实用方法
&lt;/h3&gt;&lt;h4 id="如何提高关注度"&gt;如何提高关注度
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;重视产品与服务的同时，增强信息资产的积累
&lt;ul&gt;
&lt;li&gt;品牌、心智占有率等无形资产。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;针对目标用户建立“信息银行”，开展个性化的数据库营销
&lt;ul&gt;
&lt;li&gt;更贴心的交流、更人性化的互动&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;注重与用户的双向沟通
&lt;ul&gt;
&lt;li&gt;获得认同与注意&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;多为用户提供一些增值服务
&lt;ul&gt;
&lt;li&gt;提高参与意识与合作兴趣&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;别做“垃圾制造者”&lt;/li&gt;
&lt;li&gt;珍惜用户的“碎片化时间”
&lt;ul&gt;
&lt;li&gt;碎片化阅读&lt;/li&gt;
&lt;li&gt;焦点&lt;/li&gt;
&lt;li&gt;记忆点&lt;/li&gt;
&lt;li&gt;卖点&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="如何提高浏览量"&gt;如何提高浏览量
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;解答使用问题&lt;/li&gt;
&lt;li&gt;采取一定的激励手段&lt;/li&gt;
&lt;li&gt;成为用户的朋友&lt;/li&gt;
&lt;li&gt;自动回复&lt;/li&gt;
&lt;li&gt;重要的文章要重点展示&lt;/li&gt;
&lt;li&gt;策划专题&lt;/li&gt;
&lt;li&gt;在文章中加入“微链接”
&lt;ul&gt;
&lt;li&gt;其他文章的链接，感兴趣者可以点击阅读&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;栏目安排要清晰、合理&lt;/li&gt;
&lt;li&gt;不断更新&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="如何提高互动率"&gt;如何提高互动率
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;趣味小测试&lt;/li&gt;
&lt;li&gt;小游戏&lt;/li&gt;
&lt;li&gt;有奖问答&lt;/li&gt;
&lt;li&gt;发放刮刮卡&lt;/li&gt;
&lt;li&gt;鼓励用户反馈意见&lt;/li&gt;
&lt;li&gt;二维码&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="如何提高曝光率"&gt;如何提高曝光率
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;利用搜索引擎进行推广
&lt;ul&gt;
&lt;li&gt;付费搜索引擎广告策略
&lt;ul&gt;
&lt;li&gt;百度&lt;/li&gt;
&lt;li&gt;谷歌&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;免费搜索引擎推广策略
&lt;ul&gt;
&lt;li&gt;设计恰当的关键词组合&lt;/li&gt;
&lt;li&gt;对搜索引擎的关键词进行优化&lt;/li&gt;
&lt;li&gt;增加关键词密度&lt;/li&gt;
&lt;li&gt;注册免费会员&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;利用博客进行推广&lt;/li&gt;
&lt;li&gt;利用论坛进行手工推广&lt;/li&gt;
&lt;li&gt;利用“病毒”进行推广
&lt;ul&gt;
&lt;li&gt;发布一些有意思的、新奇的、有趣的，并与微信公众账号有关的信息。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;利用网络广告进行推广&lt;/li&gt;
&lt;li&gt;利用软件进行推广&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="如何提高活跃度"&gt;如何提高活跃度
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;利用用户的社交关系&lt;/li&gt;
&lt;li&gt;线上、线下活动相结合&lt;/li&gt;
&lt;li&gt;提高沟通频率&lt;/li&gt;
&lt;li&gt;给用户一些温馨提示&lt;/li&gt;
&lt;li&gt;及时回复&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="如何在营销红海中游刃有余"&gt;如何在营销红海中游刃有余
&lt;/h3&gt;&lt;h4 id="善用事件营销借事发力"&gt;善用事件营销，借事发力
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;公益&lt;/li&gt;
&lt;li&gt;聚焦&lt;/li&gt;
&lt;li&gt;危机&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="事件营销的策略运用"&gt;事件营销的策略运用
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;造势策略&lt;/li&gt;
&lt;li&gt;借势策略&lt;/li&gt;
&lt;li&gt;概念炒作策略
&lt;ul&gt;
&lt;li&gt;把握分寸、以吸引用户注意力为目的的良性炒作&lt;/li&gt;
&lt;li&gt;取其利，避其害&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="用圈子圈住核心用户"&gt;用“圈子”圈住核心用户
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;自己打造圈子，组织各类线上、线下活动&lt;/li&gt;
&lt;li&gt;支持或赞助目标圈子，与他们进行密切合作&lt;/li&gt;
&lt;li&gt;建立目标圈子数据库，挖掘用户数据价值&lt;/li&gt;
&lt;li&gt;善于利用圈子里的意见领袖，通过他们来辐射其他人&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="差异化策略与众不同才是卖点"&gt;差异化策略，与众不同才是卖点
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;制定的途径
&lt;ul&gt;
&lt;li&gt;产品差异化&lt;/li&gt;
&lt;li&gt;细分市场差异化&lt;/li&gt;
&lt;li&gt;渠道差异化&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;实施注意问题
&lt;ul&gt;
&lt;li&gt;差异化要被用户认同并接受&lt;/li&gt;
&lt;li&gt;适时进行创新&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="微信营销效果的考核与评估"&gt;微信营销效果的考核与评估
&lt;/h2&gt;&lt;h3 id="微信营销的考核标准"&gt;微信营销的考核标准
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;内容价值性&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;标题&lt;/li&gt;
&lt;li&gt;导读&lt;/li&gt;
&lt;li&gt;正文&lt;/li&gt;
&lt;li&gt;栏目设计&lt;/li&gt;
&lt;li&gt;二维码&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;互动率&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;浏览量&lt;/li&gt;
&lt;li&gt;评论量&lt;/li&gt;
&lt;li&gt;分享率&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;关注者数量&lt;/strong&gt;
&lt;strong&gt;功能受欢迎度&lt;/strong&gt;
&lt;strong&gt;转化率&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id="如何进行微信营销的kpi考核"&gt;如何进行微信营销的KPI考核
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;关注者数量
&lt;ul&gt;
&lt;li&gt;原有关注者数量 + 新增关注者数量&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;互动率
&lt;ul&gt;
&lt;li&gt;关注者数量 × 功能欢迎度&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;用户忠诚度
&lt;ul&gt;
&lt;li&gt;内容价值性 × 互动率 × 功能受欢迎度&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;转化率
&lt;ul&gt;
&lt;li&gt;用户忠诚度 × 关注者数量&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>《集创思维设计矩阵》读书笔记</title><link>https://blog.7ys.top/posts/%E9%9B%86%E5%88%9B%E6%80%9D%E7%BB%B4%E8%AE%BE%E8%AE%A1%E7%9F%A9%E9%98%B5%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</link><pubDate>Sat, 18 Nov 2017 00:00:00 +0000</pubDate><guid>https://blog.7ys.top/posts/%E9%9B%86%E5%88%9B%E6%80%9D%E7%BB%B4%E8%AE%BE%E8%AE%A1%E7%9F%A9%E9%98%B5%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</guid><description>&lt;img src="https://blog.7ys.top/" alt="Featured image of post 《集创思维设计矩阵》读书笔记" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;人的才识是装在瓶子里的，你的瓶子满了，就再也装不下新东西了。要想装下更多，你不能固守这个瓶子，你要打破它，换个更大的瓶子。如此反复，你才不是现在的你。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="序"&gt;序
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;做产品的不去了解商业，做交互的不去了解产品，做视觉的不去了解交互，这在未来的工作中是非常可怕的，单一的设计思维会为企业带来大量的消耗，增加不必要的沟通成本。&lt;/li&gt;
&lt;li&gt;了解，信任，价值，转化&lt;/li&gt;
&lt;li&gt;感性驱动，结果驱动，理性驱动&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="高维融合低维"&gt;高维融合低维
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;品牌
&lt;ul&gt;
&lt;li&gt;集创思维&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;定位
&lt;ul&gt;
&lt;li&gt;互联网+时代&lt;/li&gt;
&lt;li&gt;高级思维&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;沟通主张
&lt;ul&gt;
&lt;li&gt;结合商业逻辑、产品形态、外部环境、自身能力、集合设计来提升产品的体验&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;支撑要点
&lt;ul&gt;
&lt;li&gt;枪型-逻辑定位（要点）&lt;/li&gt;
&lt;li&gt;高维融合低维（格局）&lt;/li&gt;
&lt;li&gt;设计VS计算（平衡杠杆）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;表现 {场景，内容}
&lt;ul&gt;
&lt;li&gt;针对不同市场、不同的产品形态、不同产品阶段，做出对等的设计判断&lt;/li&gt;
&lt;li&gt;商业思维包含产品思维，产品思维包容设计思维：他们可以互相集合&lt;/li&gt;
&lt;li&gt;设计很美，但考虑商业消费&lt;/li&gt;
&lt;li&gt;产品很美，但考虑阶段完成&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="具有向心力产品具备的三点特征"&gt;具有向心力产品具备的三点特征
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;强技术，代表产品iPhone&lt;/li&gt;
&lt;li&gt;强用户粘性，代表产品微信&amp;amp;QQ&lt;/li&gt;
&lt;li&gt;强需求，代表产品12306&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="总结几点"&gt;总结几点
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;用户体验实在为企业竞争力服务的。
&lt;ul&gt;
&lt;li&gt;必须承认有些产品即使用户体验出色后也逃不掉失败的命运，商业逻辑决定着产品逻辑，产品逻辑又决定着体验逻辑。&lt;/li&gt;
&lt;li&gt;如果高处的商业逻辑错误了，后面的发力其实意义不大。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;只有向心力产品才能改变人的习惯，差别化产品要迎合用户。
&lt;ul&gt;
&lt;li&gt;苹果、腾讯、12306这些产品失去一个，我们的生活都可能发生巨大变化，这就是向心力产品文化认知的威力。&lt;/li&gt;
&lt;li&gt;初创产品只有经历 四个阶段才能形成向心力
&lt;ul&gt;
&lt;li&gt;核心功能&lt;/li&gt;
&lt;li&gt;用户基数&lt;/li&gt;
&lt;li&gt;商业链接&lt;/li&gt;
&lt;li&gt;功能链生&lt;/li&gt;
&lt;li&gt;文化认同&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;绝大多数产品必须走差别化战略，和向心力产品存在差异才有可能成功。
&lt;ul&gt;
&lt;li&gt;差别化才是设计师发挥能力的关键所在。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;创新是一件很冒险的事。
&lt;ul&gt;
&lt;li&gt;“十个创新九个坑，还有一个全靠蒙”，处于中心地带的产品不会尝试冒险的创新，只有边缘市场的产品才会为了生存不得不创新，而中心地带的向心力产品只要抄袭就可以轻松干掉他们。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;创新能否成功也要看企业的DNA结构。
&lt;ul&gt;
&lt;li&gt;很多设计师和产品经理相互之间的能力可能差不多，但是在不同公司的结构下有些人的产品会出现妥协，这是很多国内一线企业难出精品的原因。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="枪型思维"&gt;枪型思维
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;在这个“快”时代里
&lt;ul&gt;
&lt;li&gt;人们失去耐心&lt;/li&gt;
&lt;li&gt;目光被无数白元素吸引&lt;/li&gt;
&lt;li&gt;人们喜欢“快餐”&lt;/li&gt;
&lt;li&gt;人们不喜欢停留&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="虫洞商机"&gt;虫洞商机
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;现在这个时段，优秀的服务就像客户口渴时服务员立刻递上一杯水。&lt;/li&gt;
&lt;li&gt;但是更优秀的服务是服务员预判到客户口渴了，事先准备好合适的水，并且知道是温水、矿泉水、柠檬水还是糖水，这就是大数据的威力。&lt;/li&gt;
&lt;li&gt;大数据的推送
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;掩埋型信息推荐&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;50%的可能性&lt;/li&gt;
&lt;li&gt;选择权交给用户&lt;/li&gt;
&lt;li&gt;数据不够精确&lt;/li&gt;
&lt;li&gt;信息可靠度不高&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;打断型信息推荐&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;100%的可能性&lt;/li&gt;
&lt;li&gt;承担全部责任&lt;/li&gt;
&lt;li&gt;数据绝对精确&lt;/li&gt;
&lt;li&gt;信息可靠度很高&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="枪型思维图5个指针"&gt;枪型思维图（5个指针）
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;指向市场
&lt;ul&gt;
&lt;li&gt;现有市场
&lt;ul&gt;
&lt;li&gt;高性能、低价位&lt;/li&gt;
&lt;li&gt;拼体验、拼服务&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;垂直市场
&lt;ul&gt;
&lt;li&gt;针对专门的使用群体&lt;/li&gt;
&lt;li&gt;研究这个群体的需求&lt;/li&gt;
&lt;li&gt;把握这个群体的特点&lt;/li&gt;
&lt;li&gt;推出产品的设计特点&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;全新市场
&lt;ul&gt;
&lt;li&gt;这个产品是否能被接受&lt;/li&gt;
&lt;li&gt;如何设定用户的使用习惯&lt;/li&gt;
&lt;li&gt;如何让用户接受核心功能&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;指向用户
&lt;ul&gt;
&lt;li&gt;用户模型
&lt;ul&gt;
&lt;li&gt;1.来自数据&lt;/li&gt;
&lt;li&gt;2.来自产品定位：产品针对人群&lt;/li&gt;
&lt;li&gt;3.来自产品特征的提取
&lt;ul&gt;
&lt;li&gt;数据收集&lt;/li&gt;
&lt;li&gt;提取用户行为&lt;/li&gt;
&lt;li&gt;构建用户模型&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;场景建模&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;指向产品形态
&lt;ul&gt;
&lt;li&gt;技术驱动&lt;/li&gt;
&lt;li&gt;运营主导&lt;/li&gt;
&lt;li&gt;用户体验优先&lt;/li&gt;
&lt;li&gt;独特资源驱动&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;指向产品阶段
&lt;ul&gt;
&lt;li&gt;初级核心功能&lt;/li&gt;
&lt;li&gt;中级活跃压力&lt;/li&gt;
&lt;li&gt;高级商业认知&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;指向生态形式
&lt;ul&gt;
&lt;li&gt;主载体&lt;/li&gt;
&lt;li&gt;工具&lt;/li&gt;
&lt;li&gt;设备&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="创新三要素"&gt;创新三要素
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;A是否提升了人们的使用效率&lt;/li&gt;
&lt;li&gt;B是否让人们获取更多、更准确的信息&lt;/li&gt;
&lt;li&gt;C是否满足人群在特殊情况下的需求&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="创新三雷区"&gt;创新三雷区
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;X产品是否有可替代性&lt;/li&gt;
&lt;li&gt;Y是否干扰其他功能的使用&lt;/li&gt;
&lt;li&gt;Z落地环境是否理想&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="马洛斯心理"&gt;马洛斯心理
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;生理
&lt;ul&gt;
&lt;li&gt;呼吸、食物、水、性、睡觉、机体平衡、排泄&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;安全
&lt;ul&gt;
&lt;li&gt;人身、财产、职业、家庭、健康、道德的保障&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;爱/归属
&lt;ul&gt;
&lt;li&gt;友情、亲情、爱情&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;尊重
&lt;ul&gt;
&lt;li&gt;自尊、信任、成就、尊重&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;自我实现
&lt;ul&gt;
&lt;li&gt;道德观、创造性、自觉性、解决问题、没有偏见、接受现实&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="人性的七宗罪"&gt;人性的七宗罪
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;暴食&lt;/li&gt;
&lt;li&gt;懒惰&lt;/li&gt;
&lt;li&gt;贪婪&lt;/li&gt;
&lt;li&gt;淫欲&lt;/li&gt;
&lt;li&gt;愤怒&lt;/li&gt;
&lt;li&gt;嫉妒&lt;/li&gt;
&lt;li&gt;骄傲&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="产品的驱动力"&gt;产品的驱动力
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;技术驱动力的产品&lt;/li&gt;
&lt;li&gt;运营驱动力的产品&lt;/li&gt;
&lt;li&gt;特殊资源驱动力的产品&lt;/li&gt;
&lt;li&gt;模式驱动力的产品（垂直针对、平台包容）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a class="link" href="http://v.qq.com/x/page/z01689gwe71.html" target="_blank" rel="noopener"
 &gt;慈思远2015年百度的演讲分享&lt;/a&gt;&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;在当前的社会节奏下，产品设计不再追求对于功能的满足，而且更清晰地对准市场、对准用户、对准形势。这个时候我们将更清晰地使用枪型思维来看待问题。&lt;/p&gt;

 &lt;/blockquote&gt;

 &lt;blockquote&gt;
 &lt;p&gt;每个产品的特点不同、处于市场的环境和竞争力不同、产品阶段不同、属性不同，带来机会点的作用力也会不同。所以我们应当在发掘这个产品特点的基础上，有针对性、动态地解决问题。而不是死套模板，孤立静态地解决问题。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="媒介的特点-三大平台的属性"&gt;媒介的特点-三大平台的属性
&lt;/h2&gt;&lt;h4 id="web平台"&gt;Web平台
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;特点
&lt;ul&gt;
&lt;li&gt;良好的操作环境&lt;/li&gt;
&lt;li&gt;输入方式强大、屏幕大&lt;/li&gt;
&lt;li&gt;无能耗烦恼&lt;/li&gt;
&lt;li&gt;视觉的盲区&lt;/li&gt;
&lt;li&gt;惯常的操作行为&lt;/li&gt;
&lt;li&gt;时空限制&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;结构
&lt;ul&gt;
&lt;li&gt;个人展示类网站&lt;/li&gt;
&lt;li&gt;垂直电商类网站&lt;/li&gt;
&lt;li&gt;平台类电商网站&lt;/li&gt;
&lt;li&gt;门户类网站&lt;/li&gt;
&lt;li&gt;Blog类网站&lt;/li&gt;
&lt;li&gt;工具类网站&lt;/li&gt;
&lt;li&gt;瀑布流结构网站&lt;/li&gt;
&lt;li&gt;响应式网站&lt;/li&gt;
&lt;li&gt;分面导航与面包屑结构的过渡&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="客户端-手机平台"&gt;客户端-手机平台
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;特点&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用环境复杂&lt;/li&gt;
&lt;li&gt;输入方式单一&lt;/li&gt;
&lt;li&gt;行为受到环境、输入方式和界面的限制&lt;/li&gt;
&lt;li&gt;流量和电池的烦恼很严重&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;结构&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;导航的呈现方式
&lt;ul&gt;
&lt;li&gt;TAB式&lt;/li&gt;
&lt;li&gt;舵式&lt;/li&gt;
&lt;li&gt;上下双层标签&lt;/li&gt;
&lt;li&gt;抽屉式&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;内容界面的呈现方式
&lt;ul&gt;
&lt;li&gt;宫格式&lt;/li&gt;
&lt;li&gt;列表式&lt;/li&gt;
&lt;li&gt;卡片式&lt;/li&gt;
&lt;li&gt;其他（Pop Up、混合结构）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;对比&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;视觉流&lt;/li&gt;
&lt;li&gt;背景噪声&lt;/li&gt;
&lt;li&gt;思维逻辑&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="交互设计的结构与认知"&gt;交互设计的结构与认知
&lt;/h4&gt;
 &lt;blockquote&gt;
 &lt;p&gt;你生活在一个标准的世界里，一致性让你更好地理解世界&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;一致性法则&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;结构&lt;/li&gt;
&lt;li&gt;颜色&lt;/li&gt;
&lt;li&gt;操作&lt;/li&gt;
&lt;li&gt;反馈&lt;/li&gt;
&lt;li&gt;文字&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;父子结构&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;流-线结构&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;矩阵结构&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;状态认知&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;让用户明确过去、当前、将来的位置（出口和入口）&lt;/li&gt;
&lt;li&gt;告诉用户他当前所处的状态&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;效率与场景&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如何解决等待的问题
&lt;ul&gt;
&lt;li&gt;加载机制的设计&lt;/li&gt;
&lt;li&gt;对等待的控制感&lt;/li&gt;
&lt;li&gt;主流操作区要控制好图片大小，避免动画&lt;/li&gt;
&lt;li&gt;四种方式缓解用户等待焦虑感
&lt;ul&gt;
&lt;li&gt;使用进度条，让用户知道等多久&lt;/li&gt;
&lt;li&gt;拆分任务，将任务分为数个小阶段分别加载&lt;/li&gt;
&lt;li&gt;调整加载速度，采用变速加载&lt;/li&gt;
&lt;li&gt;主流操作区不使用太大的图片和动画&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;如何快速有效地识别和提示
&lt;ul&gt;
&lt;li&gt;预防差错&lt;/li&gt;
&lt;li&gt;即使出现差错也能纠正、撤销&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;及时的反馈
&lt;ul&gt;
&lt;li&gt;视觉反馈&lt;/li&gt;
&lt;li&gt;声音反馈&lt;/li&gt;
&lt;li&gt;触觉反馈&lt;/li&gt;
&lt;li&gt;反馈的快速性&lt;/li&gt;
&lt;li&gt;反馈的对等性&lt;/li&gt;
&lt;li&gt;有效反馈节省时间&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;对于场景的合理运用提升使用效率&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="交互的设计原则"&gt;交互的设计原则
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;二八法则
&lt;ul&gt;
&lt;li&gt;手机可能有100个功能，但是只有20个功能被用户使用&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;费茨定律
&lt;ul&gt;
&lt;li&gt;元素越大，越容易点击&lt;/li&gt;
&lt;li&gt;重要的控件应该摆在合适的位置，让用户点击或者寻找的时候不会那么辛苦&lt;/li&gt;
&lt;li&gt;一个重要、高频、商业价值达的控件有资格比其他控件做得更大些，这样的设计形态可以和它的内在逻辑保持一致&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;格式塔心理学&lt;/li&gt;
&lt;li&gt;能量消耗论与剃刀法则&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="设计的评估逻辑"&gt;设计的评估逻辑
&lt;/h2&gt;&lt;h4 id="三个用户阶段"&gt;三个用户阶段
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;新手用户&lt;/li&gt;
&lt;li&gt;中间用户&lt;/li&gt;
&lt;li&gt;专家用户&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id="三大负荷"&gt;三大负荷
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;认知负荷&lt;/li&gt;
&lt;li&gt;操作负荷&lt;/li&gt;
&lt;li&gt;视觉负荷&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;不需要用户思考的设计当然是好设计，但最糟糕的确实就算让用户思考了，用户也不明其意，甚至不知道产品是什么。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;如何降低用户的思考
&lt;ul&gt;
&lt;li&gt;明确界面传达的意思&lt;/li&gt;
&lt;li&gt;尽量使用图标加文字&lt;/li&gt;
&lt;li&gt;使用用户的语言&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;操作负荷评估标准
&lt;ul&gt;
&lt;li&gt;确保操作对象足够大，便于点击&lt;/li&gt;
&lt;li&gt;减少手势消耗&lt;/li&gt;
&lt;li&gt;简化的流程步骤&lt;/li&gt;
&lt;li&gt;保持操作惯性&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;减少视觉负荷
&lt;ul&gt;
&lt;li&gt;尽量减少动画元素&lt;/li&gt;
&lt;li&gt;避免使用复杂的背景&lt;/li&gt;
&lt;li&gt;保持屏幕整洁&lt;/li&gt;
&lt;li&gt;最少化的视觉元素&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="集创评估六要素"&gt;集创评估六要素
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;转化力
&lt;ul&gt;
&lt;li&gt;头屏三要素
&lt;ul&gt;
&lt;li&gt;我是谁&lt;/li&gt;
&lt;li&gt;我有什么内容&lt;/li&gt;
&lt;li&gt;什么内容在吸引着你&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;条目性感度&lt;/li&gt;
&lt;li&gt;转化是否具备足够动力&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;系统活性
&lt;ul&gt;
&lt;li&gt;状态认知&lt;/li&gt;
&lt;li&gt;引发更多的链接&lt;/li&gt;
&lt;li&gt;多次触发力&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;效率值
&lt;ul&gt;
&lt;li&gt;主任务效率&lt;/li&gt;
&lt;li&gt;层级是否深&lt;/li&gt;
&lt;li&gt;高频操作是否具备效率&lt;/li&gt;
&lt;li&gt;流畅度&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;防错
&lt;ul&gt;
&lt;li&gt;认知负荷如何&lt;/li&gt;
&lt;li&gt;错误入口、干扰信息&lt;/li&gt;
&lt;li&gt;错频入口&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;风险
&lt;ul&gt;
&lt;li&gt;依赖第三方&lt;/li&gt;
&lt;li&gt;政策&lt;/li&gt;
&lt;li&gt;产品资源&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;需求满足度
&lt;ul&gt;
&lt;li&gt;界面是否满足主场景&lt;/li&gt;
&lt;li&gt;界面是否覆盖常规、VIP需求&lt;/li&gt;
&lt;li&gt;界面是否满足商业&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="视觉评估的要素"&gt;视觉评估的要素
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;一致性
&lt;ul&gt;
&lt;li&gt;包括：文字、颜色、间距、控件、反馈等。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;视觉流
&lt;ul&gt;
&lt;li&gt;包括：视觉强点、视觉流向、视觉干扰等问题。&lt;/li&gt;
&lt;li&gt;标准一：信息的强点是否是视觉的强点&lt;/li&gt;
&lt;li&gt;标准二：当信息都是平级关系进行排列时，视觉注意力是否平均分配&lt;/li&gt;
&lt;li&gt;标准三：审查界面中出现的空白区域，要查看是否存在信息的“盲区”&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;空间流
&lt;ul&gt;
&lt;li&gt;包括：场和留白、文字的留白等。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;规整度
&lt;ul&gt;
&lt;li&gt;包括：界面的平衡、结构对齐、元素对比度与识别度等。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;抗风险
&lt;ul&gt;
&lt;li&gt;包括：图片或者元素缺失等。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;钱——社交——信用，这是真正做互联网金融的商业逻辑。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h4 id="在商业认知的基础上去做功能链生"&gt;在商业认知的基础上去做功能链生
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;排除改版的影响，原来的核心功能效率不能降低。&lt;/li&gt;
&lt;li&gt;新的版本用户的认知习惯如何慢慢去建立。&lt;/li&gt;
&lt;li&gt;新加入的功能和新加入的商业逻辑如何更好地匹配界面布局。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="研发流程"&gt;研发流程
&lt;/h4&gt;&lt;p&gt;很多管理方面的问题，会导致大多数团队在产品线上至少会浪费三分之一的时间和成本，如果浪费的太多，最直接的结果就是员工得熬夜加班和产品的匆忙上线。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;这些问题具体表现如下
&lt;ul&gt;
&lt;li&gt;在产品各个阶段都会乱加需求，甚至不考虑产品的全局而混乱改动。&lt;/li&gt;
&lt;li&gt;命名在产品的初期阶段，非要做后期阶段的事。&lt;/li&gt;
&lt;li&gt;需求都没想清楚，就开始进行研发和设计。&lt;/li&gt;
&lt;li&gt;甲方思维和互联网思维的冲突让企业争吵不断。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;关于文档：在项目开发阶段&lt;strong&gt;一定要有文档的输出，绝对不能只靠口头协议&lt;/strong&gt;。
&lt;ul&gt;
&lt;li&gt;项目每个阶段、产品的特点都明确地写在文档上，可以让各个岗位的人员很清楚地知道自己是否完成自己的任务。&lt;/li&gt;
&lt;li&gt;预防团队流动性大。如果形成一定的文档和设计规范，可以让后来人员很容易了解项目的历史情况和之前的数据积累。&lt;/li&gt;
&lt;li&gt;团队问责。一旦项目出现争执，立刻拿出文档来对证，能停止不休止的争论。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;产品经理三大输出物：需求文档、迭代计划、用户数据&lt;br&gt;
交互三大输出物：信息架构、原型验证、优化文档&lt;br&gt;
视觉设计三大输出物：视觉效果、切图、界面标注&lt;/p&gt;
&lt;p&gt;设计来源于生活，也来源于自身阅历，如果你想做出优秀的设计，必须学会认识你自己。&lt;/p&gt;</description></item><item><title>《Web全栈工程师的自我修养》读书笔记</title><link>https://blog.7ys.top/posts/web%E5%85%A8%E6%A0%88%E5%B7%A5%E7%A8%8B%E5%B8%88%E7%9A%84%E8%87%AA%E6%88%91%E4%BF%AE%E5%85%BB%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</link><pubDate>Sat, 28 Oct 2017 00:00:00 +0000</pubDate><guid>https://blog.7ys.top/posts/web%E5%85%A8%E6%A0%88%E5%B7%A5%E7%A8%8B%E5%B8%88%E7%9A%84%E8%87%AA%E6%88%91%E4%BF%AE%E5%85%BB%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</guid><description>&lt;img src="https://blog.7ys.top/" alt="Featured image of post 《Web全栈工程师的自我修养》读书笔记" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;当我们知道一个“东西”的名字，就会在看到这个“东西”的时候，立马意识到它。&lt;br&gt;
但是如果我们不知道它的名字，可能一辈子也不会认识它。 这就是约书亚树原理。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h4 id="概念"&gt;概念
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;全栈工程师（Full-Stack Engineer）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;一个能处理数据库、服务器、系统工程和客户端的所有工作的工程师。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;全栈：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;表示为了完成一个项目，所需要的一系列技术的集合。简单来说，全栈工程师就是可以独立完成一个产品的&lt;/li&gt;
&lt;li&gt;能力 + 思维&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Web开发流程&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;产品设计&lt;/li&gt;
&lt;li&gt;交互设计&lt;/li&gt;
&lt;li&gt;视觉设计&lt;/li&gt;
&lt;li&gt;前端开发&lt;/li&gt;
&lt;li&gt;后台开发&lt;/li&gt;
&lt;li&gt;测试&lt;/li&gt;
&lt;li&gt;发布&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="一专多长"&gt;一专多长
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;先在一个特定的方向上有比较深入的钻研，然后再将学习目标渐渐推广开来。&lt;/li&gt;
&lt;li&gt;比如先从前端方向入手，掌握了基本的HTML、CSS、JavaScript之后，不要转头向服务器端语言或者App方向发展，而是深入到性能优化、SEO、多种框架、响应式页面等前端细节中去。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="解决问题而不是醉心技术"&gt;解决问题，而不是醉心技术
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;公司存在的意义就是解决问题，公司要解决用户的问题，而员工要解决公司的问题。&lt;/li&gt;
&lt;li&gt;公司的问题可能是降低成本、扩大用户群、增加成交量、优化性能，等等。&lt;/li&gt;
&lt;li&gt;设计四大原则：对齐、对比、距离和重复。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="web性能优化"&gt;Web性能优化
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;压缩源码和图片
&lt;ul&gt;
&lt;li&gt;JavaScript文件源代码可以采用混淆压缩的方式，CSS文件源代码进行普通压缩，JPG图片可以根据具体质量来压缩为50%到70%，PNG可以使用一些开源压缩软件来压缩，比如24色变成8色、去掉一些PNG格式信息等。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;选择合适的图片格式
&lt;ul&gt;
&lt;li&gt;如果图片颜色数较多就使用JPG格式，如果图片颜色数较少就使用PNG格式，如果能够通过服务器端判断浏览器支持WebP，那么就使用WebP格式和SVG格式。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;合并静态资源
&lt;ul&gt;
&lt;li&gt;包括CSS、JavaScript和小图片，减少HTTP请求。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;开启服务器端的Gzip压缩
&lt;ul&gt;
&lt;li&gt;这对文本资源非常有效，对图片资源则没那么大的压缩比率。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;使用CDN
&lt;ul&gt;
&lt;li&gt;或者一些公开库使用第三方提供的静态资源地址（比如jQuery、normalize.css）。&lt;/li&gt;
&lt;li&gt;一方面增加并发下载量，另一方面能够和其他网站共享缓存。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;延长静态资源缓存时间
&lt;ul&gt;
&lt;li&gt;这样，频繁访问网站的访客就能够更快地访问。&lt;/li&gt;
&lt;li&gt;不过，这里要通过修改文件名的方式，确保在资源更新的时候，用户会拉取到最新的内容。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;把CSS放在页面头部，把JavaScript放在页面底部&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="重视作品集"&gt;重视作品集
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;作品集（portfolio），是指您个人的项目和作品的集合，一份精心准备的作品集比简历更能说服人。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="设计模式"&gt;设计模式
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;创建型模式
&lt;ul&gt;
&lt;li&gt;单例模式&lt;/li&gt;
&lt;li&gt;工厂方法&lt;/li&gt;
&lt;li&gt;抽象工厂&lt;/li&gt;
&lt;li&gt;建造模式&lt;/li&gt;
&lt;li&gt;原型模式&lt;/li&gt;
&lt;li&gt;对象池模式&lt;/li&gt;
&lt;li&gt;多例模式&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;结构型模式
&lt;ul&gt;
&lt;li&gt;适配器模式&lt;/li&gt;
&lt;li&gt;桥接模式&lt;/li&gt;
&lt;li&gt;组合模式&lt;/li&gt;
&lt;li&gt;装饰模式&lt;/li&gt;
&lt;li&gt;外观模式&lt;/li&gt;
&lt;li&gt;享元模式&lt;/li&gt;
&lt;li&gt;代理模式&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;行为型模式
&lt;ul&gt;
&lt;li&gt;观察者模式&lt;/li&gt;
&lt;li&gt;黑板&lt;/li&gt;
&lt;li&gt;责任链&lt;/li&gt;
&lt;li&gt;命令&lt;/li&gt;
&lt;li&gt;解释器&lt;/li&gt;
&lt;li&gt;迭代器&lt;/li&gt;
&lt;li&gt;中介者&lt;/li&gt;
&lt;li&gt;备忘录&lt;/li&gt;
&lt;li&gt;空对象&lt;/li&gt;
&lt;li&gt;模板方法&lt;/li&gt;
&lt;li&gt;访问者模式&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="学习管理"&gt;学习管理
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;在项目最开始做出合理的时间评估&lt;/li&gt;
&lt;li&gt;根据人员的强项来安排任务&lt;/li&gt;
&lt;li&gt;唤起团队对项目成功的渴望&lt;/li&gt;
&lt;li&gt;保障沟通。理想沟通频率每周至少两次。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id="扩展阅读书单"&gt;扩展阅读书单
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;【思想类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《黑客与画家》（美）保罗·格雷厄姆，人民邮电出版社&lt;/li&gt;
&lt;li&gt;《专业主义》（日）大前研一，中信出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【商业类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《重来：更为简单有效的商业思维》 （美） 贾森·弗里德 / （丹） 戴维·海涅迈尔·汉森，中信出版社&lt;/li&gt;
&lt;li&gt;《精益创业》（美） 埃里克·莱斯，中信出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【面试类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《编程之美：微软技术面试心得》《编程之美》小组，电子工业出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【企业文化类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《打造Facebook》王淮， 印刷工业出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【个人展示类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《您就是极客：软件开发人员生存指南》（美）Michael Lopp，人民邮电出版社&lt;/li&gt;
&lt;li&gt;《代码整洁之道》（美）Robert C. Martin，人民邮电出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【性能优化类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《图解HTTP》（日）上野宣，人民邮电出版社&lt;/li&gt;
&lt;li&gt;《高性能网站建设进阶指南》（美）Steve Souders，电子工业出版社&lt;/li&gt;
&lt;li&gt;《网站性能监测与优化》（美）Alistair Croll / Sean Power，人民邮电出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【前端工程师类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《精通CSS:高级Web标准解决方案（第2版）》（英）Andy Budd/Simon Collison/Cameron Moll，人民邮电出版社&lt;/li&gt;
&lt;li&gt;《单页Web应用：JavaScript从前端到后端》（美）Michael S. Mikowski /Josh C. Powell，人民邮电出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【服务器类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《鸟哥的Linux私房菜.基础学习篇》鸟哥，人民邮电出版社&lt;/li&gt;
&lt;li&gt;《只是为了好玩 : Linux之父林纳斯自传》（美）Linus Torvalds、David Diamond，人民邮电出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【版本控制类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《Git版本控制管理》（美）Jon Loeliger/ Matthew McCullough，人民邮电出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【代码艺术类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《代码大全》（美）Steve McConnell，电子工业出版社&lt;/li&gt;
&lt;li&gt;《代码的未来》 （日）松本行弘，人民邮电出版社&lt;/li&gt;
&lt;li&gt;《禅与摩托车维修艺术》（美）罗伯特·M.波西格，重庆出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【设计模式类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《设计模式：可复用面向对象软件的基础》（美）Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides，机械工业出版社&lt;/li&gt;
&lt;li&gt;《JavaScript设计模式》 （美）Addy Osmani，人民邮电出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【效率类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《软件随想录：程序员部落酋长Joel谈软件》（美）Joel Spolsky，人民邮电出版社&lt;/li&gt;
&lt;li&gt;《卓有成效的程序员》（美）Neal Ford，机械工业出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【设计类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《写给大家看的设计书（第3版）》Robin Williams ，人民邮电出版社&lt;/li&gt;
&lt;li&gt;《写给大家看的设计书：实例与创意》Robin Williams ，人民邮电出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;【修为类】&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;《卓有成效的管理者》（美）彼得·德鲁克， 机械工业出版社&lt;/li&gt;
&lt;li&gt;《麦肯锡教我的写作武器》（日）高杉尚孝， 北京联合出版公司·后浪出版公司&lt;/li&gt;
&lt;li&gt;《金字塔原理》（美）巴巴拉·明托，民主与建设出版社&lt;/li&gt;
&lt;li&gt;《安静：内向性格的竞争力》（美）苏珊·凯恩，中信出版社&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>《现在就干：互联网时代的高效时间管理法》读书笔记</title><link>https://blog.7ys.top/posts/%E7%8E%B0%E5%9C%A8%E5%B0%B1%E5%B9%B2%E4%BA%92%E8%81%94%E7%BD%91%E6%97%B6%E4%BB%A3%E7%9A%84%E9%AB%98%E6%95%88%E6%97%B6%E9%97%B4%E7%AE%A1%E7%90%86%E6%B3%95%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</link><pubDate>Sat, 28 Oct 2017 00:00:00 +0000</pubDate><guid>https://blog.7ys.top/posts/%E7%8E%B0%E5%9C%A8%E5%B0%B1%E5%B9%B2%E4%BA%92%E8%81%94%E7%BD%91%E6%97%B6%E4%BB%A3%E7%9A%84%E9%AB%98%E6%95%88%E6%97%B6%E9%97%B4%E7%AE%A1%E7%90%86%E6%B3%95%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/</guid><description>&lt;img src="https://blog.7ys.top/" alt="Featured image of post 《现在就干：互联网时代的高效时间管理法》读书笔记" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;感受一下时间流逝的速度，时间是没有声音的锉刀，最不善于利用时间的人最爱抱怨时光短暂，我们都没有时间去挥霍……时间是个盗贼……时间就是上帝给你的资本，让每一分每一秒都花在有意义的事情上，就是最好的时间管理了，最好的时间是现在。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="做一个追时间的人"&gt;做一个追时间的人
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;“个人管理”是指通过动态统筹自身各方面资源，实现个人目标和价值的系列活动。&lt;/li&gt;
&lt;li&gt;“系统”是一套推行某项活动的具体方法、步骤、程序，是统一运作的整体。
&lt;ul&gt;
&lt;li&gt;它的核心是三部分：
&lt;ul&gt;
&lt;li&gt;行动管理，助你提升效能、调配资源；（控制系统）&lt;/li&gt;
&lt;li&gt;知识管理，助你快速更新、呈现价值；（燃油系统）&lt;/li&gt;
&lt;li&gt;目标管理，助你自我定向、修炼视野。（导航系统）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;“行动管理”，是指通过每日计划等手段，将想法高效转化为现实的行为管理过程。
&lt;ul&gt;
&lt;li&gt;从“行动管理”走起，先谈如何提高效率，等到自己的时间够用了，才有精力思考更长远的目标问题。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;绝大多数方法都有用，只是使用者的心智模式不同，出现了结果的差异。
&lt;ul&gt;
&lt;li&gt;个人管理的方法和工具不是无用之物，但使用者的心智水平必须跟得上，才能发挥最佳效果。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;高效一天 = 固定旋律 + 个性旋律
&lt;ul&gt;
&lt;li&gt;个性旋律
&lt;ul&gt;
&lt;li&gt;1种记录&lt;/li&gt;
&lt;li&gt;2套旋律&lt;/li&gt;
&lt;li&gt;3块基石&lt;/li&gt;
&lt;li&gt;5大步骤&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;在日常生活中，根据情景及时切换“高效”与“非高效”模式。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="升级你的大脑操作系统"&gt;升级你的大脑操作系统
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;“心智模式”是一个人对于自我、别人、组织、世界等层面的认知方式，深受过往经历、既有知识、思维定式的影响。&lt;/li&gt;
&lt;li&gt;“一念一世界”，思维方式不同，引发的个人行为大相径庭。
&lt;ul&gt;
&lt;li&gt;在思考上当懒汉，因为每个人都是来自“猩猩”的你。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;假如我们的大脑是一本书，其实出生时并非每一章都是空白的，而是已经写上大致的草稿。这些草稿是祖辈基因印记下来，带着原始欲望和想法。个人管理的过程，是在改写这本书的原有草稿，是依靠思维力量突破基因对你行为的操控，学会用理性克制本能，从野蛮人进化成真正的文明人。
&lt;ul&gt;
&lt;li&gt;这场与大脑斗智斗勇的挑战赛，是自己给自己的考——自考。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;在构建个人管理系统的过程中，每个人大致会经历“淡漠、焦虑、上道、平稳”四个阶段。（个人管理发展四阶段）&lt;/li&gt;
&lt;li&gt;在个人管理之路的四个阶段中，一部分人长年处于第一阶段的水平。大部分人都能进入第二阶段，只是第二阶段会进行分化。其中一部分人一直在原地圈圈，终其一生只停留在第二阶段不得前行，陷入无法提升个人综合能力和价值的困境；另外一部分人幸运地进入第三阶段，在锤炼中逐渐向第四阶段靠拢。&lt;/li&gt;
&lt;li&gt;如今是互联网时代，社交媒体、网络服务集中于“掌”中，方便快捷，也轻轻松松分散你的注意力。&lt;/li&gt;
&lt;li&gt;时间越自由，越容易一事无成。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="感知你的时间花在哪儿了"&gt;感知你的时间花在哪儿了
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;想做好行动管理，你必须先了解自己原来的时间使用模式是怎样的。（望闻问切）&lt;/li&gt;
&lt;li&gt;人类心智的“三重模型”：
&lt;ul&gt;
&lt;li&gt;自主心智（直觉）&lt;/li&gt;
&lt;li&gt;算法心智（智商，高则聪明）&lt;/li&gt;
&lt;li&gt;反省心智（觉察，高则理性）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;记录时间开销正是一种很朴素、可以即刻上手的自我觉察方法，是提升“反省心智”的有效手段。&lt;/li&gt;
&lt;li&gt;“时间开销记录”，是“事件-时间”日志，它以“时”与“分”为单位，是给予事件过程的记录。
&lt;ul&gt;
&lt;li&gt;时间怎么花？是严肃、认真，还是玩世不恭、随波逐流。如果不记录，又怎么知道呢？&lt;/li&gt;
&lt;li&gt;即时记录比记忆更可靠。&lt;/li&gt;
&lt;li&gt;明明有问题，单假装不知道问题的存在，不想改变，这是成长的顽疾。&lt;/li&gt;
&lt;li&gt;以“目的为导向”，是渴求成长的你必须学会的一种“富人思维”。&lt;/li&gt;
&lt;li&gt;时间要么花掉，要么投资。如果你不拿它换点什么，那它就真的被无意识地消费完了，连雪泥鸿爪都没留下。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;分类是一种有效的管理手段，目的是让产出更有价值
&lt;ul&gt;
&lt;li&gt;1.自上而下，归纳类别
&lt;ul&gt;
&lt;li&gt;行动管理系统也是如此，不可能一蹴而就，总是要不断微调内容。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;2.大类之外，还有小类
&lt;ul&gt;
&lt;li&gt;分类依据是什么？跟分类的目的有关系，也就是说，你分出这些小类别是想解决什么问题，能方便解决某个问题是最棒的。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;3.没有对错，只有适合
&lt;ul&gt;
&lt;li&gt;在麦肯锡工作方法中，MECE原则提到的“完全穷尽”，实质是指有边界的穷尽。只要你给分类划定边界，能自圆其说就行。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;三个关于记录的“锦囊”
&lt;ul&gt;
&lt;li&gt;详略得当&lt;/li&gt;
&lt;li&gt;控制频次&lt;/li&gt;
&lt;li&gt;熟能生巧
&lt;ul&gt;
&lt;li&gt;当别人的回顾停留在以“天”为单位，你已经开始几个小时为单位了。&lt;/li&gt;
&lt;li&gt;只要有记录，都是在帮助你养成感知时间的习惯。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;时间开销记录的结果怎么回顾&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;看看三组时间
&lt;ul&gt;
&lt;li&gt;高效与浪费时间&lt;/li&gt;
&lt;li&gt;自由与被占时间
&lt;ul&gt;
&lt;li&gt;这些时间被固定住了，难以大幅度挪用来安排自己想做的事&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;创造与事务时间
&lt;ul&gt;
&lt;li&gt;“创造时间”是指被安排了动脑量较大的任务，有个人成果、作品产出的时间。&lt;/li&gt;
&lt;li&gt;“事务时间”。这些时间的流向是对情境质量要求不高，以体力劳动为主的任务。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;关注三大情况
&lt;ul&gt;
&lt;li&gt;关注重要指标情况&lt;/li&gt;
&lt;li&gt;关注比例&lt;/li&gt;
&lt;li&gt;关注特别情况&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;数据统计的三点前提
&lt;ul&gt;
&lt;li&gt;有工具&lt;/li&gt;
&lt;li&gt;有分类&lt;/li&gt;
&lt;li&gt;有计划&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;习惯的链条 ： 暗示 —— 行动 —— 奖赏&lt;/li&gt;
&lt;li&gt;记录的动作越简单越好，以减少拖延症的发生。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;简易时间开销记录表&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: left"&gt;* 月 * 日&lt;/th&gt;
 &lt;th style="text-align: left"&gt;时间都去哪儿了？&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;7:00 - 8:00&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;8:00 - 9:00&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;9:00 - 10:00&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;……&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;20:00 - 21:00&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;21:00 - 22:00&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="如何让每天拥有更多精力"&gt;如何让每天拥有更多精力
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;每日高效公式：一日生活 = 固定旋律 + 个性旋律&lt;/li&gt;
&lt;li&gt;想要高效生活和工作，第一步是稳住每天能固定的大框架，即我所提倡的“固定旋律”。“固定旋律”正像一首歌里反复出现的那部分，是生活中相对稳定的行为系列组合。他让一系列行为自动化，降低大脑选择做某些事的思考成本，而把精力留在决策更重要的事情上。&lt;/li&gt;
&lt;li&gt;新习惯会打破大脑原有的认识，大脑会像身体免疫系统排斥异物一样排斥新习惯，产生反抗，试图不被新习惯影响。&lt;/li&gt;
&lt;li&gt;只要是你在一定时期内重复的做法，无论是好是坏，大脑都会记住它，默认是你需要的。&lt;/li&gt;
&lt;li&gt;习惯分为三个层次：
&lt;ul&gt;
&lt;li&gt;行为习惯&lt;/li&gt;
&lt;li&gt;身体习惯&lt;/li&gt;
&lt;li&gt;理念习惯
&lt;ul&gt;
&lt;li&gt;看不见、摸不着，相对含糊，不易识别，隐藏较深，影响力更大。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;很多人的习惯无法持续，往往是因为制订了“超人习惯计划”。&lt;/li&gt;
&lt;li&gt;习惯养成要根据摩的设定阶段目标，慢慢朝着一个一个小目标奔过去，这样菜不会感觉无止境、没盼头。&lt;/li&gt;
&lt;li&gt;先找到离个人目标最接近、能产生“多米诺骨牌效应”的重点习惯，在针对这个确定真正有效、最适合自己的行动，咬咬牙对这个习惯死磕，关注过程，随时调整养成方案，但不随意放弃。&lt;/li&gt;
&lt;li&gt;综合：“习惯养成”的内容，在这里送出6个“一”的建议：
&lt;ul&gt;
&lt;li&gt;每年选择至少一个新的重要习惯进行挑战；&lt;/li&gt;
&lt;li&gt;选择合适的目标并设置一定的规则；&lt;/li&gt;
&lt;li&gt;每次只开始一个，至少100天；&lt;/li&gt;
&lt;li&gt;寻求一个互相支持的监督小团体；&lt;/li&gt;
&lt;li&gt;一定要记录与回顾；&lt;/li&gt;
&lt;li&gt;一定不要怕中断和痛苦。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;“执行意图”能帮你快速在“暗示”与“行动”之间建立，其思维结构是“当A出现，我久作出B反应”，可以称它为“if&amp;hellip;then&amp;hellip;（如果&amp;hellip;&amp;hellip;就）”。它能在你所搭建的情景（if）和既定的行为（then）之间建立起一座桥梁，缩小想法和行为之间的鸿沟。&lt;/li&gt;
&lt;li&gt;高效人士会定时反思和回顾，她们知道这是在为人生制定一本《错题集》&lt;/li&gt;
&lt;li&gt;很多人来考虑事情，总是单纯地考虑金钱成本，忽视了“时间才是更重要的成本”。&lt;/li&gt;
&lt;li&gt;你无法直接“不做什么”，你只能找另外一个做法替代原来的坏习惯。&lt;/li&gt;
&lt;li&gt;改掉习惯，就是把这个习惯的启动条件、形成环境破坏除掉。&lt;/li&gt;
&lt;li&gt;坏习惯难以一次性归零，需要慢慢减量。&lt;/li&gt;
&lt;li&gt;woop:wish(愿望)、outcome（结果）、obstacle（障碍）、plan（计划）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;合理睡眠&lt;/strong&gt;、&lt;strong&gt;健康饮食&lt;/strong&gt;和&lt;strong&gt;坚持运动&lt;/strong&gt;，是保障精力的三大法宝。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="高效能人士是如何做日计划的"&gt;高效能人士是如何做日计划的
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;高效一天 = 固定旋律 + 个行旋律
&lt;ul&gt;
&lt;li&gt;要做好这道公式，第一步是先设置每日“固定旋律”，这部分内容在上一章讲过。第二部是用“个性旋律”填充“固定旋律”之外的时间。“个性旋律”主要为日计划的内容。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;做计划主要制订的是第二象限的计划——重要不紧急的事情。&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;四象限法则&lt;/th&gt;
 &lt;th&gt;不紧急&lt;/th&gt;
 &lt;th&gt;紧急&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;重要&lt;/td&gt;
 &lt;td&gt;2象限&lt;/td&gt;
 &lt;td&gt;1象限&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;不重要&lt;/td&gt;
 &lt;td&gt;3象限&lt;/td&gt;
 &lt;td&gt;4象限&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
&lt;li&gt;只用日程表海远远不能把你的全部事情打理好，它能消除的压力范围极其有限。&lt;/li&gt;
&lt;li&gt;“靠谱计划”的真相：制定计划时“烧脑”，执行计划时轻松。&lt;/li&gt;
&lt;li&gt;日计划系统的流程：收集——孵化——确定——执行——回顾。另外再加一个“检查”的习惯。这个系统的五个阶段看似简单，但每个都有玄机，而且总和效果大于各部分的简单相加。
&lt;ul&gt;
&lt;li&gt;要人杂时估优情 （邀人杂食故友情）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;graph TD
 A[邀&amp;lt;要&amp;gt;] --&amp;gt; |近期要| B[人]
 B --&amp;gt; |自己| C[杂]
 C --&amp;gt; |简单| D[食&amp;lt;时&amp;gt;]
 A --&amp;gt; |近期不要| A1{将来}
 A1 --&amp;gt; A2(删除)
 A1 --&amp;gt; A3(将来也许)
 B --&amp;gt; |别人| B1(等待)
 C --&amp;gt; |复杂| C1(分解)
 D --&amp;gt; D1[立即做&amp;lt;2分钟内&amp;gt;]
 D --&amp;gt; D2(下一步行动)
 D2 --&amp;gt; |确切日期| D3(日程)
 D2 --&amp;gt; K1[故&amp;lt;估&amp;gt;]
 K1 --&amp;gt; K2[友&amp;lt;优&amp;gt;]
 K2 --&amp;gt; K3[情]
 K1 --&amp;gt; K11[1h 2h 3h]
 K2 --&amp;gt; K21[高 中 低]
 K3 --&amp;gt; K31[办理护照 带宝宝打针]
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;系统可以让你免于掉入感性直觉的陷阱。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="省下来的时间你用来投资啥"&gt;省下来的时间，你用来投资啥
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;日计划不是解决迷茫的法宝，它只能帮你提升一天的效率。&lt;/li&gt;
&lt;li&gt;一天天的计划好比一颗颗珍珠，散落满地，如果没有长远意义这条线把它们串起来，你不会知道它们将变成一串多么美的链子。&lt;/li&gt;
&lt;li&gt;不妨从一周乃至一年的高度去俯视日计划，用它们牵引日计划。&lt;/li&gt;
&lt;li&gt;要解决迷茫问题，根本的解决办法是从源头追问，尝试个人管理的顶层设计：把视野提升至很高的位置（比如站在一生的高度、10年的高度、5年的高度）。如果难度太大，不妨从月目标开始着手。&lt;/li&gt;
&lt;li&gt;你写下的年目标，必须给你怦然心动“真的爱”的感觉，而不只有写出来很牛的感觉。&lt;/li&gt;
&lt;li&gt;对年目标看得越清楚，越有实现的可能。&lt;/li&gt;
&lt;li&gt;职场人士每年可高质量自由支配的时间一般少于2500小时，所以时间的投放注意别超标。&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>