<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>RSS - enboo</title>
    <description>enboo - To be empty in order to be full!</description>
    <link>http://jaminzhang.me</link>
    <atom:link href="http://jaminzhang.me//rss/" rel="self" type="application/rss+xml" />
    <pubDate>Mon, 25 Mar 2019 14:12:16 +0800</pubDate>
    <lastBuildDate>Mon, 25 Mar 2019 14:12:16 +0800</lastBuildDate>
    <generator>enboo</generator>
    
      <item>
        <title>理解TP里的命名空间，行为</title>
        <description>&lt;p&gt;本来是在研究docker下nginx配置php，后来就思考这玩意到底是咋运转的，捣鼓nginx运行原理，于是打开了知识盲区的海洋。 
不做搬运工了，以下链接让我认识了cgi与fastcgi：
&lt;a href=&quot;https://blog.csdn.net/liunian_siyu/article/details/60964966&quot;&gt;CGI详解（原理，配置及访问）&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blog.csdn.net/dzyweer/article/details/79782663&quot;&gt;怎么通俗易懂的去理解CGI&lt;/a&gt;&lt;br /&gt;
其中第一篇博客也是博主转发了，不知道几手了，如果上边两篇还是不能理解，来点通俗的：
&lt;a href=&quot;https://blog.csdn.net/linuxheik/article/details/52039220&quot;&gt;如何通俗地解释 CGI、FastCGI、php-fpm 之间的关系？&lt;/a&gt;&lt;br /&gt;
然后牵扯到apache的mod_php了，nginx与apache的差异，apache无论遇到什么请求，就像厨师一样，一见到有顾客来就电火，哪怕是顾客点的是凉菜，加载了php解释器，浪费类内存，解释器又是什么呢，参考：&lt;br /&gt;
&lt;a href=&quot;https://blog.csdn.net/zp357252539/article/details/78660131&quot;&gt;超赞！编译器和解释器的异同，瞬间明白了&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;nginx里有master和work进程概念参考：
&lt;a href=&quot;https://github.com/littlespark/blog/issues/7&quot;&gt;SAPI,CGI,Fastcgi,php-fpm的一些知识(个人见解) &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;最后你想知道php的执行过程，参考
&lt;a href=&quot;https://blog.csdn.net/risingsun001/article/details/22888861&quot;&gt;深入理解PHP代码的执行的过程&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://my.oschina.net/junn/blog/280799&quot;&gt;概念了解：CGI，FastCGI，PHP-CGI与PHP-FPM&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;其他参考：&lt;/p&gt;

&lt;p&gt;从 FPM 接收到请求，到处理完毕，其具体的流程如下：&lt;/p&gt;

&lt;p&gt;FPM 的 master 进程接收到请求
master 进程根据配置指派特定的 worker 进程进行请求处理，如果没有可用进程，返回错误，这也是我们配合 Nginx 遇到502错误比较多的原因。
worker 进程处理请求，如果超时，返回504错误
请求处理结束，返回结果
FPM 从接收到处理请求的流程就是这样了，那么 Nginx 又是如何发送请求给 fpm 的呢？这就需要从 Nginx 层面来说明了。&lt;/p&gt;

&lt;p&gt;我们知道，Nginx 不仅仅是一个 Web 服务器，也是一个功能强大的 Proxy 服务器，除了进行 http 请求的代理，也可以进行许多其他协议请求的代理，&lt;br /&gt;
包括本文与 fpm 相关的 fastcgi 协议。为了能够使 Nginx 理解 fastcgi 协议，Nginx 提供了 fastcgi 模块来将 http 请求映射为对应的 fastcgi 请求。
&lt;a href=&quot;https://zhuanlan.zhihu.com/p/20694204&quot;&gt;深入理解PHP之：Nginx 与 FPM 的工作机制&lt;/a&gt;&lt;/p&gt;

</description>
        <pubDate>Fri, 23 Nov 2018 00:00:00 +0800</pubDate>
        <link>http://jaminzhang.me/php/Tp5-Namespace-Hook-Facade/</link>
        <guid isPermaLink="true">http://jaminzhang.me/php/Tp5-Namespace-Hook-Facade/</guid>
        
        <category>php</category>
        
      </item>
    
      <item>
        <title>理解Nginx里的cgi，fastcgi，php-fpm 之间的关系</title>
        <description>&lt;p&gt;本来是在研究docker下nginx配置php，后来就思考这玩意到底是咋运转的，捣鼓nginx运行原理，于是打开了知识盲区的海洋。 
不做搬运工了，以下链接让我认识了cgi与fastcgi：
&lt;a href=&quot;https://blog.csdn.net/liunian_siyu/article/details/60964966&quot;&gt;CGI详解（原理，配置及访问）&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://blog.csdn.net/dzyweer/article/details/79782663&quot;&gt;怎么通俗易懂的去理解CGI&lt;/a&gt;&lt;br /&gt;
其中第一篇博客也是博主转发了，不知道几手了，如果上边两篇还是不能理解，来点通俗的：
&lt;a href=&quot;https://blog.csdn.net/linuxheik/article/details/52039220&quot;&gt;如何通俗地解释 CGI、FastCGI、php-fpm 之间的关系？&lt;/a&gt;&lt;br /&gt;
然后牵扯到apache的mod_php了，nginx与apache的差异，apache无论遇到什么请求，就像厨师一样，一见到有顾客来就电火，哪怕是顾客点的是凉菜，加载了php解释器，浪费类内存，解释器又是什么呢，参考：&lt;br /&gt;
&lt;a href=&quot;https://blog.csdn.net/zp357252539/article/details/78660131&quot;&gt;超赞！编译器和解释器的异同，瞬间明白了&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;nginx里有master和work进程概念参考：
&lt;a href=&quot;https://github.com/littlespark/blog/issues/7&quot;&gt;SAPI,CGI,Fastcgi,php-fpm的一些知识(个人见解) &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;最后你想知道php的执行过程，参考
&lt;a href=&quot;https://blog.csdn.net/risingsun001/article/details/22888861&quot;&gt;深入理解PHP代码的执行的过程&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://my.oschina.net/junn/blog/280799&quot;&gt;概念了解：CGI，FastCGI，PHP-CGI与PHP-FPM&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;其他参考：&lt;/p&gt;

&lt;p&gt;从 FPM 接收到请求，到处理完毕，其具体的流程如下：&lt;/p&gt;

&lt;p&gt;FPM 的 master 进程接收到请求
master 进程根据配置指派特定的 worker 进程进行请求处理，如果没有可用进程，返回错误，这也是我们配合 Nginx 遇到502错误比较多的原因。
worker 进程处理请求，如果超时，返回504错误
请求处理结束，返回结果
FPM 从接收到处理请求的流程就是这样了，那么 Nginx 又是如何发送请求给 fpm 的呢？这就需要从 Nginx 层面来说明了。&lt;/p&gt;

&lt;p&gt;我们知道，Nginx 不仅仅是一个 Web 服务器，也是一个功能强大的 Proxy 服务器，除了进行 http 请求的代理，也可以进行许多其他协议请求的代理，&lt;br /&gt;
包括本文与 fpm 相关的 fastcgi 协议。为了能够使 Nginx 理解 fastcgi 协议，Nginx 提供了 fastcgi 模块来将 http 请求映射为对应的 fastcgi 请求。
&lt;a href=&quot;https://zhuanlan.zhihu.com/p/20694204&quot;&gt;深入理解PHP之：Nginx 与 FPM 的工作机制&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;是的，看了很多，看山不是山了，最后又是山了：https://segmentfault.com/q/1010000000256516&lt;/p&gt;

</description>
        <pubDate>Tue, 13 Nov 2018 00:00:00 +0800</pubDate>
        <link>http://jaminzhang.me/nginx/Nginx-Cgi-Fpm-Relation/</link>
        <guid isPermaLink="true">http://jaminzhang.me/nginx/Nginx-Cgi-Fpm-Relation/</guid>
        
        <category>nginx</category>
        
      </item>
    
      <item>
        <title>苹果计划在 Mac 上使用自产芯片取代英特尔处理器</title>
        <description>&lt;h1 id=&quot;引言&quot;&gt;引言&lt;/h1&gt;

&lt;p&gt;前几天，出了一个重大新闻，&lt;a href=&quot;https://wallstreetcn.com/articles/3269701&quot;&gt;媒体称苹果计划摆脱英特尔 使用自产 Mac 芯片 英特尔股价大跌&lt;/a&gt;，
苹果确实很牛，几乎所有东西（硬件、软件）都想要自产，
去年我写了篇博文 &lt;a href=&quot;http://jaminzhang.github.io/mac/The-Reason-Of-MacBook-Pro-2017-Dont-Support-32GB-RAM/&quot;&gt;MacBook Pro 2017 不支持 32GB 内存的原因&lt;/a&gt;，
里面就说到了 Intel Core 系列 CPU 不支持 LPDDR4 内存，所以苹果 MacBook Pro 最高只能支持 16GB 内存，
这里还要提下，前几天 Intel 发布了全新的第八代酷睿移动处理器 Core i9，来自 AppleInsider 的消息显示，
苹果将会在新款 15 英寸的 MacBook Pro 产品上使用上 Intel 最新的 Core i9 处理器，但其仍然不支持 LPDDR4 内存，
我想苹果肯定是想上 LPDDR4 内存的，
但无奈 Intel 拖了后腿，苹果感到了受制于 Intel（当然还有更多原因，这里只指出内存方面），所以才会想要自产 Mac 处理器。&lt;/p&gt;

&lt;p&gt;虽然苹果计划今后放弃使用 Intel 处理器，但是“好汉不吃眼前亏”，眼下 Intel 的芯片性能还是比苹果强不少，
直接实行这个计划还是不太现实，而按照他们的计划来说，要在 2020 年的时候才有新的进展。&lt;/p&gt;

&lt;h1 id=&quot;对我的购机影响&quot;&gt;对我的购机影响&lt;/h1&gt;

&lt;p&gt;我的换机标准一直没变，作为 Pro 用户，我现在的第一需求是要支持 32GB 内存，看来还是要至少等到明年 2019 年再看？
我计划在近 1-2 年内换机。&lt;/p&gt;

&lt;h1 id=&quot;ref&quot;&gt;Ref&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;https://www.macrumors.com/2018/04/02/apple-custom-mac-chips-2020/&quot;&gt;Apple Plans to Ditch Intel and Use Custom Mac Chips Starting in 2020&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.zhihu.com/question/270874395&quot;&gt;如何评价苹果计划在 Mac 上使用自产芯片取代英特尔处理器?&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.macrumors.com/2018/04/03/intel-debuts-core-i9-coffee-lake-eighth-gen/&quot;&gt;Intel’s New Core i9 and Coffee Lake Chips Pave Way for Quad-Core 13” MacBook Pro, Mac Mini Refresh, and More&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://tech.sina.com.cn/n/k/2018-04-04/doc-ifysuuya3112999.shtml&quot;&gt;苹果新 MacBook Pro 曝光：搭载 Intel 最新 6 核 i9 处理器&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://ark.intel.com/products/134903/Intel-Core-i9-8950HK-Processor-12M-Cache-up-to-4_60-GHz&quot;&gt;Intel® Core™ i9-8950HK Processor&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;https://www.cnbeta.com/articles/tech/714081.htm&quot;&gt;苹果弃用英特尔：想说分手不容易&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Sat, 07 Apr 2018 00:00:00 +0800</pubDate>
        <link>http://jaminzhang.me/mac/Apple-Custom-Mac-Chips-in-2020/</link>
        <guid isPermaLink="true">http://jaminzhang.me/mac/Apple-Custom-Mac-Chips-in-2020/</guid>
        
        <category>Mac</category>
        
      </item>
    
      <item>
        <title>Fiddler 相关资料学习</title>
        <description>&lt;h2 id=&quot;1-图文教程&quot;&gt;1 图文教程&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://www.cnblogs.com/TankXiao/archive/2012/02/06/2337728.html&quot;&gt;Fiddler 教程 by TankXiao &lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.cnphp6.com/archives/97865&quot;&gt;FIDDLER 教程&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://blog.csdn.net/ohmygirl/article/details/17846199&quot;&gt;【HTTP】Fiddler（一） - Fiddler 简介&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://blog.csdn.net/ohmygirl/article/details/17849983&quot;&gt;【HTTP】Fiddler（二） - 使用 Fiddler 做抓包分析&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://blog.csdn.net/ohmygirl/article/details/17855031&quot;&gt;【HTTP】Fiddler（三）- Fiddler 命令行和 HTTP 断点调试&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;2-视频教程&quot;&gt;2 视频教程&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://www.imooc.com/learn/37&quot;&gt;Fiddler 工具使用 imooc.com&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Mon, 03 Aug 2015 00:00:00 +0800</pubDate>
        <link>http://jaminzhang.me/http/Fiddler-Learning/</link>
        <guid isPermaLink="true">http://jaminzhang.me/http/Fiddler-Learning/</guid>
        
        <category>HTTP</category>
        
      </item>
    
      <item>
        <title>Linux 系统性能监测分析相关资料学习</title>
        <description>&lt;h1 id=&quot;引言&quot;&gt;引言&lt;/h1&gt;

&lt;p&gt;作为一个 Linux 运维工程师，必须得清楚地了解 Linux 系统当前的运行状况和性能。如何了解呢？&lt;br /&gt;
Linux 系统本身就提供了各种查看系统性能的命令，当然还有很多其他开源的监控工具和软件。&lt;br /&gt;
如何系统化学习这些相关的系统命令和工具？有没有一个好的学习路线？
最近几天看了一些关于 Linux 系统性能监测学习的资料，个人觉得值得学习的资料整理如下。&lt;/p&gt;

&lt;h1 id=&quot;学习资料&quot;&gt;学习资料&lt;/h1&gt;

&lt;h2 id=&quot;11-brendan-gregg-大神的-linux-perfermance-相关资料与演讲&quot;&gt;1.1 Brendan Gregg 大神的 Linux Perfermance 相关资料与演讲&lt;/h2&gt;

&lt;p&gt;可以去其个人网站学习，非常全面和深入&lt;br /&gt;
http://www.brendangregg.com/linuxperf.html&lt;/p&gt;

&lt;p&gt;谁是 Brendan Gregg？类 UNIX 系统的性能分析大神，相信很多人都看过下面这张 Linux Performance Observability Tools 的图，就是出自于他
&lt;img src=&quot;http://www.brendangregg.com/Perf/linux_observability_tools.png&quot; alt=&quot;linux_observability_tools&quot; /&gt;&lt;/p&gt;

&lt;p&gt;下面将上图的相关命令及工具进行如下分类（不定期总结）：&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;OS Scheduler 与 CPU 相关命令及工具&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;top - display Linux tasks.&lt;/li&gt;
  &lt;li&gt;ps - report a snapshot of the current processes.&lt;/li&gt;
  &lt;li&gt;mpstat - Report processors related statistics.&lt;/li&gt;
  &lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;12-高性能-linux-服务器构建实战第-10-章-基于-linux-服务器的性能分析与优化&quot;&gt;1.2 《高性能 Linux 服务器构建实战》第 10 章 基于 Linux 服务器的性能分析与优化&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;10.1　系统性能分析的目的 / 248&lt;br /&gt;
10.1.1　找到系统性能的瓶颈 / 248&lt;br /&gt;
10.1.2　提供性能优化方案 / 248&lt;br /&gt;
10.1.3　使系统硬件和软件资源的使用达到平衡 / 249&lt;br /&gt;
10.2　分析系统性能涉及的人员 / 249&lt;br /&gt;
10.2.1　Linux 系统管理人员 / 249&lt;br /&gt;
10.2.2　系统架构设计人员 / 249&lt;br /&gt;
10.2.3　软件开发人员 / 250&lt;br /&gt;
10.3　影响 Linux 性能的各种因素 / 250&lt;br /&gt;
10.3.1　系统硬件资源 / 250&lt;br /&gt;
10.3.2　操作系统相关资源 / 252&lt;br /&gt;
10.3.3　应用程序软件资源 / 253 &lt;br /&gt;
10.4　系统性能分析标准和优化原则 / 253&lt;br /&gt;
10.5　几种典型应用对系统资源使用的特点 / 254&lt;br /&gt;
10.5.1　以静态内容为主的 Web 应用 / 254&lt;br /&gt;
10.5.2　以动态内容为主的 Web 应用 / 254&lt;br /&gt;
10.5.3　数据库应用 / 255&lt;br /&gt;
10.5.4　软件下载应用 / 255 &lt;br /&gt;
10.5.5　流媒体服务应用 / 256 &lt;br /&gt;
10.6　Linux 下常见的性能分析工具 / 256&lt;br /&gt;
10.6.1　vmstat 命令 / 256&lt;br /&gt;
10.6.2　sar 命令 / 258&lt;br /&gt;
10.6.3　iostat 命令 / 260&lt;br /&gt;
10.6.4　free 命令 / 262&lt;br /&gt;
10.6.5　uptime 命令 / 263&lt;br /&gt;
10.6.6　netstat 命令 / 263 &lt;br /&gt;
10.6.7　top 命令 / 265&lt;br /&gt;
10.7　基于 Web 应用的性能分析及优化案例 / 268&lt;br /&gt;
10.7.1　基于动态内容为主的网站优化案例 / 268&lt;br /&gt;
10.7.2　基于动态、静态内容结合的网站优化案例 / 270&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;13-网站运维技术与实践第1章-服务器监测&quot;&gt;1.3 《网站运维技术与实践》第1章 服务器监测&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;1.1 理解监测的意义 1&lt;br /&gt;
1.2 通过命令了解系统的性能概况 2&lt;br /&gt;
1.2.1 ifconfig 2&lt;br /&gt;
1.2.2 w 3&lt;br /&gt;
1.2.3 df 4&lt;br /&gt;
1.2.4 ps 6&lt;br /&gt;
1.2.5 vmstat 8&lt;br /&gt;
1.2.6 netstat 8&lt;br /&gt;
1.2.7 iostat 9&lt;br /&gt;
1.3 其他常用工具 13&lt;br /&gt;
1.3.1 sar 13&lt;br /&gt;
1.3.2 dstat 14&lt;br /&gt;
1.3.3 mtr 17&lt;br /&gt;
1.3.4 IPtraf 18&lt;br /&gt;
1.3.5 TcpDump 19&lt;br /&gt;
1.3.6 Wireshark 22&lt;br /&gt;
1.3.7 strace 23&lt;br /&gt;
1.3.8 stap 24&lt;br /&gt;
1.4 SmokePing 网络质量监测 34&lt;br /&gt;
1.4.1 原理 35&lt;br /&gt;
1.4.2 配置说明 37&lt;br /&gt;
1.4.3 报警 39&lt;br /&gt;
1.4.4 WebUI 40&lt;br /&gt;
1.5 Nagios 分布式监测 41&lt;br /&gt;
1.5.1 架构原理 42&lt;br /&gt;
1.5.2 Plugin 编写 45&lt;br /&gt;
1.5.3 SNMP 网络监控 46 &lt;br /&gt;
1.5.4 Gearman 分布式 50&lt;br /&gt;
1.5.5 OMD 介绍 55&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;学习情况&quot;&gt;学习情况&lt;/h2&gt;
&lt;p&gt;不定期更新&lt;/p&gt;

</description>
        <pubDate>Mon, 04 May 2015 00:00:00 +0800</pubDate>
        <link>http://jaminzhang.me/linux/Linux-Perfermance-Learning/</link>
        <guid isPermaLink="true">http://jaminzhang.me/linux/Linux-Perfermance-Learning/</guid>
        
        <category>Linux</category>
        
      </item>
    
      <item>
        <title>学习使用 Markdown 来写作</title>
        <description>&lt;p&gt;首先我这里说的&lt;strong&gt;写作&lt;/strong&gt;，并不是狭义上的作家的&lt;strong&gt;写作&lt;/strong&gt;，而是指所有编写文字内容的活动，
对于技术人员来说，主要就是编写技术文档了，当然还可以包括各种读书学习笔记。&lt;/p&gt;

&lt;h2 id=&quot;我为什么想要学习使用-markdown&quot;&gt;我为什么想要学习使用 Markdown？&lt;/h2&gt;

&lt;h2 id=&quot;1-文档排版简单且规范统一&quot;&gt;1 文档排版简单且规范统一&lt;/h2&gt;

&lt;p&gt;编写技术文档或其他内容时，我们肯定会进行一些基本的排版工作，但从我自己较少的技术文档写作经验来看，&lt;br /&gt;
自己的排版根本没有一个统一的原则，是随性而为的，没有标准化的排版规范，而且我也不想学习各种复杂的排版操作。&lt;br /&gt;
我想要的是自己&lt;strong&gt;编写的文档能够有统一的排版规范，而且排版操作简单。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;在我看来 Markdown 能满足这个需求。Markdown 的语法够简单（它的标记语法有极好的可读性），&lt;br /&gt;
让我们不再关注排版是否简单且规范统一（Markdown 帮我们解决了这个痛点），这样让我们能够关注在内容的产生上。&lt;/p&gt;

&lt;h2 id=&quot;2-纯文本兼容性强格式转换方便&quot;&gt;2 纯文本、兼容性强、格式转换方便&lt;/h2&gt;

&lt;p&gt;因为 Markdown 是纯文本，所以它可以用各种文本编辑器打开。&lt;br /&gt;
而且，Markdown 文档也不会因为未来软件升级而产生不同版本之前的兼容性问题。&lt;/p&gt;

&lt;p&gt;Markdown 格式转换方便，它能够方便能转换成 HTML。HTML 的重要性不言而喻，它是整个万维网（WWW/Web）的标记语言。&lt;br /&gt;
HTML 也是目前主流电子书格式所用的标记语言。无论是 EPUB, mobi，还是 Kindle 用的专有格式 .azw，都只是把一堆 HTML 文件打包而已。&lt;/p&gt;

&lt;h2 id=&quot;3-借助-github-进行版本跟踪与文档共享&quot;&gt;3 借助 Github 进行版本跟踪与文档共享&lt;/h2&gt;

&lt;p&gt;你有没有过这种痛点？一篇 Word 文档有从 v1.0 到 vX.0多个版本，版本跟踪和管理难以自动。
共同协作难以进行，想象一下，一篇 Word 文档发送过去给其他人修订与审阅，又发送回来，如此反复，协作效率低下。&lt;/p&gt;

&lt;p&gt;但是我们通过将 Markdown 文档放置在 Github 或其他 Git 服务器上，我们的写作过程都可以被记录下来，从而不用担心版本跟踪的问题。&lt;br /&gt;
其他人也可以方便地对文档进行编辑修订。&lt;/p&gt;

&lt;h2 id=&quot;ref&quot;&gt;Ref&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;http://www.jianshu.com/p/q81RER&quot;&gt;献给写作者的 Markdown 新手指南&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.jianshu.com/p/qqGjLN&quot;&gt;为什么作家应该用 Markdown 保存自己的文稿&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.jianshu.com/p/PpDNMG&quot;&gt;Markdown 写作浅谈&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://daringfireball.net/projects/markdown/&quot;&gt;Markdown 项目官网&lt;/a&gt;&lt;/p&gt;

</description>
        <pubDate>Mon, 20 Apr 2015 00:00:00 +0800</pubDate>
        <link>http://jaminzhang.me/markdown/Learn-Using-Markdown-To-Write/</link>
        <guid isPermaLink="true">http://jaminzhang.me/markdown/Learn-Using-Markdown-To-Write/</guid>
        
        <category>Markdown</category>
        
      </item>
    
  </channel>
</rss>
