<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ 写作 - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ freeCodeCamp 是一个免费学习编程的开发者社区，涵盖 Python、HTML、CSS、React、Vue、BootStrap、JSON 教程等，还有活跃的技术论坛和丰富的社区活动，在你学习编程和找工作时为你提供建议和帮助。 ]]>
        </description>
        <link>https://www.freecodecamp.org/chinese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ 写作 - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/chinese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Mon, 25 May 2026 19:55:36 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/chinese/news/tag/writing-tips/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ 开发人员如何编写你的第一本技术书籍：工具、技术和资源 ]]>
                </title>
                <description>
                    <![CDATA[ 最近，我写完了我的第一本技术类书籍——是的，我终于写完了。 写书这件事已经躺在我的待办事项清单里很久了。现在我终于把它完成了，想要跟大家分享一下我的经验。 在这篇帖子里，我会尽量记录我的整个写作历程。所有我都会谈到，包括我的动机、遇到的难关以及用到的工具、技术和资源。 我的书重点讲的是Hyperledger Composer区块链 [https://schadokar.dev/ebooks/] 工具。这本书是完全免费的，目前仅支持PDF格式。 帖子里提到的所有要点也同样有助于技术博客写作。所以，咱们开始吧，一起深入了解我到底学到了什么。 动机 从2018年年底我就开始写技术文章和教程了。到现在，我已经对写文章或教程的流程得心应手了。我知道自己该如何写好一篇文章，以及应该使用哪种工具来写作。 但，如果说到写一本书—尤其是技术书—这是很不同以往的。 我写这本书的动机是好奇心。我想知道那些作者是如何写书的。他们的思考过程是怎样的？他们会用到什么工具？当然，我还想知道写一本书是什么样的体验？？ 我是一名软件工程师，从2018年起我就一直从事区块链相关工作。我了解过不同的区块链， ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/how-to-write-your-first-technical-book/</link>
                <guid isPermaLink="false">646dbf5c30ac2607039ca6f7</guid>
                
                    <category>
                        <![CDATA[ 写作 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Narcissus91 ]]>
                </dc:creator>
                <pubDate>Tue, 13 Feb 2024 03:20:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2023/05/writing-cover.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/how-to-write-your-first-technical-book/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Write Your First Technical Book: Tools, Techniques, and Resources for First-time Developer Authors</a>
      </p><!--kg-card-begin: markdown--><p>最近，我写完了我的第一本技术类书籍——是的，我终于写完了。</p>
<p>写书这件事已经躺在我的待办事项清单里很久了。现在我终于把它完成了，想要跟大家分享一下我的经验。</p>
<p>在这篇帖子里，我会尽量记录我的整个写作历程。所有我都会谈到，包括我的动机、遇到的难关以及用到的工具、技术和资源。</p>
<p>我的书重点讲的是<a href="https://schadokar.dev/ebooks/">Hyperledger Composer区块链</a>工具。这本书是完全免费的，目前仅支持PDF格式。</p>
<p>帖子里提到的所有要点也同样有助于技术博客写作。所以，咱们开始吧，一起深入了解我到底学到了什么。</p>
<h2 id="">动机</h2>
<p>从2018年年底我就开始写技术文章和教程了。到现在，我已经对写文章或教程的流程得心应手了。我知道自己该如何写好一篇文章，以及应该使用哪种工具来写作。</p>
<p>但，如果说到写一本书—尤其是技术书—这是很不同以往的。</p>
<p>我写这本书的动机是好奇心。我想知道那些作者是如何写书的。他们的思考过程是怎样的？他们会用到什么工具？当然，我还想知道写一本书是什么样的体验？？</p>
<p>我是一名软件工程师，从2018年起我就一直从事区块链相关工作。我了解过不同的区块链，比如Ethereum和Hyperledger Fabric。我也用过很多工具，比如<a href="https://www.trufflesuite.com/">truffle</a>、<a href="https://remix.ethereum.org/">remix</a>和<a href="https://hyperledger.github.io/composer/">hyperledger composer</a>。</p>
<p>有好多不同的东西我都想写，像<strong>Ethereum</strong>或者<strong>Hyperledger Fabric</strong>。</p>
<p>但因为这是我的第一本书，这些主题对我来说都不太适合。它们会占据我过多的时间和精力。所以，我选择了一个简单的主题：Hyperledger Composer。</p>
<h2 id="">第一道难关</h2>
<p>在开始之前，我犹豫该用哪种工具或编辑器来写书。</p>
<p>我应该用Word、Google Docs还是其它什么工具呢？<br>
主要的问题是如何正确排版代码片段。这些编辑器都不是为技术写作设计的。</p>
<p>有不同的添加代码方法，但那需要额外的排版工作。</p>
<p>我读了很多关于<strong>有哪些技术书籍写作工具好用</strong>的文章。我试用了很多工具，但都没有让我满意的。我浪费了很多时间去寻找完美的工具。</p>
<p>最后，我意识到，编辑器只是让写作过程更简便，让书籍管理更简化。但真正重要的是内容。所以，我不再寻找完美的编辑器，而是转向了基础的工具。</p>
<h3 id="vscode">基础工具：VS Code</h3>
<p>我用我最喜欢的代码编辑器来写书。是的，<strong>VS Code</strong>。</p>
<p>我花了几天时间在网上搜索，没有一篇文章建议说你需要任何特定的工具或编辑器来写技术书籍。VS Code或者Atom就足够了。</p>
<p>我在<strong>VS Code</strong>里用我最喜欢的Markdown格式写完了整本书。为了让写作更容易，我用到了一些Markdown插件，比如：<strong>Markdown All in One</strong>和<strong>Markdown Preview Enhanced</strong>。</p>
<p>第一个插件帮助写作，第二个插件帮助预览。可以看到Markdown转换为HTML或其它格式后是什么样子，以及会有什么变化。</p>
<p><strong>Markdown All in One</strong>也有预览模式，但<strong>Markdown Preview Enhanced</strong>有多个主题和选项，可以将Markdown文件以HTML、PDF和其它可读格式如epub或Mobi导出。</p>
<p>提醒一下—想导出其它文档格式需要你在电脑上安装<strong>Pandoc</strong>。</p>
<blockquote>
<p>我是Windows系统用户，对于Mac系统用户，我发现还可以选择很多很棒的编辑器，比如<a href="https://bear.app/">bear</a>和<a href="https://ulysses.app/">ulysses</a>等等。</p>
</blockquote>
<p>最近，我发现了很多在<strong>Windows系统</strong>和<strong>MacOS系统</strong>都能用来写书的Markdown编辑器。搜一搜<a href="https://www.notion.so/">Notion</a>、<a href="https://typora.io/">Typora</a>、<a href="https://ia.net/writer">iA Writer</a>和<a href="https://simplenote.com/">SimpleNote</a>。</p>
<p>划重点：<strong>不要浪费太多时间去寻找完美的编辑器</strong>。选择了一款编辑器就开始写作。慢慢你就会懂得的。</p>
<h2 id="">第二道难关</h2>
<p>然后，我开始问自己，我应该从哪儿开始写呢？我应该怎么写呢？我应该怎么做呢？</p>
<p>简而言之，我想知道我到底该如何写这本书，这样读者就能从书中得到最大的收获。</p>
<p>这些问题让我抓耳挠腮了很久。一开始，我改了有4、5次办法。</p>
<p>在这一点上，我的建议是花一点时间真正思考你的方法。因为一旦你写到中途，想要做更改就不容易了。</p>
<h3 id="">问问题</h3>
<p>关于这本书，我问了自己这些问题，并记下了我的想法。</p>
<ol>
<li>我的目标读者是谁？他们是小白、中级选手还是大神？</li>
<li>他们需要一些主题背景知识吗？</li>
<li>我该如何组织这本书？</li>
<li>我该如何为文件或者章节命名，便于查找每个主题？</li>
<li>我该如何跟踪自己的进展？</li>
<li>我该如何维护书中各章节和草稿的版本？很多时候，上一版内容其实比当前版本好得多。</li>
</ol>
<p>以上就是我问自己的一些基本问题，这些问题很有用。</p>
<h3 id="">我的方法</h3>
<p>现在我要讲讲我在写这本书时用到的方法。</p>
<h4 id="todolist">创建一个待办事项清单（to-do list）</h4>
<p>首先，我建了一个待办事项清单。在清单上我记下了所有的要点、主题、副主题、参考文献、序言、封面、书名等等。</p>
<p>我把所有想到的关于这本书的想法都尽可能加到清单里。</p>
<p>我建议创建2份同样的待办事项清单：一份纸质档，一份电子档。</p>
<p>首先，在纸上记下所有要点。所有内容都记下后，再阅读2至3遍。然后，不管脑子里闪现什么新的点子，都记到纸上。</p>
<p>例如，如果你想到了将如何解释某个特殊的主题，就把想法记下来。这会让你的写作变得更容易。后面在你开始写这个主题时，你就可以参考这些笔记。</p>
<p>有了纸质版<strong>待办事项</strong>清单后，你就再创建一个电子版，并按时间顺序保存所有要点。</p>
<p>这就是我以前做的<strong>待办事项</strong> 清单：</p>
<h4 id="">任务</h4>
<ul>
<li>[x] 索引</li>
<li>[x] 封面</li>
<li>[x] 标题</li>
<li>[x] 副标题</li>
<li>[x] 前言</li>
<li>[x] 什么是Blockchain和Hyperledger Fabric？</li>
<li>[x] 介绍Hyperledger Composer</li>
<li>[x] 环境要求和设置
<ul>
<li>[x] Azure</li>
<li>[x] AWS</li>
<li>[x] GCP</li>
</ul>
</li>
<li>[x] 项目目标</li>
<li>[x] Composer中的项目设置</li>
<li>[x] 模型文件
<ul>
<li>[x] 定义</li>
<li>[x] 建模语言</li>
<li>[x] 项目代码</li>
</ul>
</li>
<li>[x] 脚本文件
<ul>
<li>[x] 定义</li>
<li>[x] 语法</li>
<li>[x] 项目代码</li>
</ul>
</li>
<li>[x] 查询文件
<ul>
<li>[x] 定义</li>
<li>[x] 查询语言</li>
<li>[x] 项目代码</li>
</ul>
</li>
<li>[x] ACL文件
<ul>
<li>[x] 定义</li>
<li>[x] 语法</li>
<li>[x] 项目代码</li>
</ul>
</li>
<li>[x] 在Composer Playground中部署</li>
<li>[x] 在Composer Playground中测试</li>
<li>[x] 导出.bna</li>
<li>[x] Composer Rest服务器</li>
<li>[x] 前端</li>
<li>[x] 总结</li>
<li>[x] 参考文献</li>
<li>[x] 关于我</li>
<li>[x] 一查语法</li>
<li>[x] 复查语法</li>
<li>[x] 阅读草稿</li>
<li>[x] 阅读最后的草稿</li>
<li>[x] PDF格式</li>
<li>[x] 在PDF中添加页码</li>
<li>[x] 新章节另起一页</li>
<li>[x] 感谢信</li>
<li>[x] 许可协议</li>
<li>[x] 封底</li>
</ul>
<p>我是用的Markdown格式写的<strong>待办事项</strong>你可以选择任何自己觉得最方便的格式来写。</p>
<h3 id="">从小处着手，但一定要开始</h3>
<p>记住，你不必按顺序写每个主题。有很多主题可能要依赖于之前的主题，但其余主题并不依赖。</p>
<p>另外，你也不必一次性写完所有主题。哪个主题你觉得写来顺畅，就从哪个主题开始写。</p>
<p>你的目标应该是开始行动起来写书。计划在几周内写10%-20%的量。一旦开始了，就会有声音不断提醒你，你必须写完这本书。久而久之，你就会发现，这变成了一个巨大的动力。</p>
<p>如果主题不熟悉，不用担心。尽管去互联网上寻求帮助。读一读别人是怎么阐述的，从中获得灵感，然后用你自己的方式写出来。</p>
<p>请记住—如果你要使用他人作品中的任何内容，一定要通知原作者。在你的书里做适当引用，并在最后的参考文献中，列出原作者的作品。</p>
<blockquote>
<p>将此视为一种专业的礼节。--约翰威克？</p>
</blockquote>
<h3 id="">编排顺序</h3>
<p>我花了一段时间才懂得文件命名规范的重要性。</p>
<p>最开始，每个主题我都用 <em>第一章</em>、<em>第二章</em> 这种命名规范来命名。结果发现这种方式很糟糕。</p>
<p>这种命名方案的问题是你必须维护一个单独的说明性文件。或者你必须打开每个文件来确认里面写的是什么。</p>
<p>另一个问题是如果你在章节之间新增了一个章节，你就不得不给后面所有的章节重新命名。</p>
<p>我发现了2种有用的命名规范，但也各有缺点。</p>
<p>一种选择是使用<strong>章节编号-主题</strong>：文件命名为一个章节编号跟上该章节的主题。比如这样<strong>第10章-区块链介绍</strong>。</p>
<p>章节编号用2位数。这有助于在不同文件中为同一章节增加子章节。比如这样<strong>第11章-区块链的历史</strong>。</p>
<p>这种命名方式的另一个好处是它将按你书籍章节的顺序显示所有文件。</p>
<p><strong>缺点：</strong> 在章节之间新增一个章节时，你需要给后面所有的章节重新命名。</p>
<p>第二个选择是使用<strong>文件名作为主题</strong>：将所有文件以主题名命名。这样你可以按任意顺序写主题。而且你可以保持书中的顺序与你待办事项清单中的顺序一致。</p>
<p><strong>缺点：</strong> 所有文件都将按字母顺序排列。文件数达10至15个之后，就会变得难以追踪所有文件，而且也更难将这些文件组合在一起形成草稿。</p>
<p>最后，我选择了第二种方式。对我来说还效果还不错。</p>
<p>为了创建草稿，我创建了一个Node.js脚本。在这个脚本里，我将所有主题输入一个数组中。然后我创建了一个草稿文件，并在其中追加了所有主题。当然，要先通过阅读主题？。作为一名软件工程师的一些优势？</p>
<p>这个脚本是我编辑时的一个救星。很多次，我都是在脚本里更新主题或图片，以及修改语法错误。这里要说Grammarly（译者注：Grammarly是一种在线语法纠正和校对工具）真的拯救了我……但并没能完全拯救，因为我用的是免费版。？</p>
<h3 id="">书籍之旅记录</h3>
<p>写书不是一场短跑赛，而是一场马拉松。每当写完一个主题或完成当日写作时，总要记得保存。</p>
<p>第二天，你可能会对已完成的同一主题产生新的想法。你可能会花上一个小时都不能得到满意结果。这个时候，好的做法是撤销还原（UNDO）。但编辑器也有撤销次数极限（不同的编辑器极限各有不同）。 <strong>不要过多测试它的极限</strong>。</p>
<p>我用<strong>Git</strong>来做版本控制，而不是依赖编辑器或制作重复的副本。不要以为<strong>Git</strong>只能用来管理代码。它是一个多功能的工具，它的可应用范围超乎你的想象。</p>
<p>对于不知道<strong>Git</strong>是什么的读者可看以下释义：</p>
<blockquote>
<p>Git是一个分布式版本控制系统，用于记录软件开发过程中的源码变更。Git为程序员之间协同工作而设计，但也能用于记录所有文件变更。--<a href="https://en.wikipedia.org/wiki/Git">维基百科</a></p>
</blockquote>
<p>你不必等学完<strong>Git</strong>的一切才开始用它来写作。掌握基础的命令，如<strong>init</strong>、<strong>add</strong>、<strong>commit</strong>、<strong>logs</strong>和<strong>checkout</strong>就远远足够你维护文档版本以及保证文本的可访问性和安全性了。</p>
<p>可用的Git代码托管平台有很多，比如：<a href="https://github.com/">GitHub</a>和<a href="https://about.gitlab.com/">GitLab</a> 等。要将你的书籍托管在这些平台上，可采用以下步骤：</p>
<ol>
<li>创建一个账号。我个人选择的是用<strong>GitHub</strong>平台。</li>
<li>创建一个私人仓库，保持默认选项。你可以在将来把这个仓库可见性设置为公共。</li>
<li>仓库创建完毕后，根据提示进行操作。基本上，这一步是将你本地<strong>Git</strong>连接到你的托管仓库。</li>
<li>再学习2条命令：<strong>push</strong>和<strong>pull</strong>。<strong>push</strong>命令是将本地变更上传至云仓库，<strong>pull</strong>命令是从云端获取内容。</li>
</ol>
<p>之后，无论何时你做任何变更，只需<strong>add</strong>、<strong>commit</strong>和<strong>push</strong>3条命令搞定。是不是很简单？？</p>
<p>提交几次之后，你就会对<strong>Git</strong>运用自如了。</p>
<blockquote>
<p>阅读这篇精彩文章<a href="https://www.freecodecamp.org/news/learn-git-and-version-control-in-an-hour/">一小时掌握Git和版本控制</a>，学习更多Git知识。</p>
</blockquote>
<h2 id="">我用到的工具和资源</h2>
<p>在写作、编辑、排版和设计这本书时，我用过许多工具和资源。</p>
<h3 id="">写作</h3>
<p>对于写作，如我前文所述，我用的是VS Code编辑器和几个Markdown插件。</p>
<p>表情符号，我用的是<a href="https://getemoji.com/">复制粘贴emojis</a>。</p>
<h3 id="">编辑</h3>
<p>我用的是免费版Grammarly来纠正语法错误。免费版可以纠正所有的基础错误，比如错误的或遗漏的冠词、介词、逗号等等。</p>
<p>我用的是<a href="https://www.ilovepdf.com/add_pdf_page_number">在线PDF编辑器</a> 给书籍添加页码。</p>
<h3 id="">排版</h3>
<p>在VS Code中，我用Preview插件将Markdown生成PDF格式。我用的是默认的Git Markdown样式，你也可以在设置里更改样式。</p>
<h4 id="pdf">PDF中的分页符</h4>
<p>因为我是用Markdown格式进行写作的，在输出为PDF格式时会产生差异。比如，新建的主题是接着上一页排版的，而没有另起一页。</p>
<p>为解决这个问题，我在每个主题最后都使用了用于分页的HTML代码。</p>
<pre><code class="language-html">&lt;div style="page-break-after:always;"&gt;&lt;/div&gt;
</code></pre>
<p>这个代码可以让其后的内容另起一页。<br>
你也可以添加页面序列的结尾，像这样*<strong>****</strong>。</p>
<pre><code class="language-html">&lt;div style="page-break-after:always; display:block; text-align:center; border:none"&gt;*****&lt;/div&gt;
</code></pre>
<h4 id="">关于我的页面</h4>
<p>在我的书中 <strong>关于我</strong>部分，我把内容分为了两栏：一栏是关于我的简介，另一栏是一张个人照片。</p>
<p>我花了一段时间才了解Markdown格式的全部功能。我们可以在Markdown里添加原生<code>html</code>代码。下面是我的“关于我”页面的内容：</p>
<pre><code class="language-html">&lt;div &gt;
  &lt;img align="right" style="padding-left:65px" src="../images/profilepic.JPEG" width="400px" height="450px" /&gt;
&lt;/div&gt;

Hello, I am **_Shubham Kumar Chadokar_**.

I am a Software Engineer and in my short career of almost 4 years, I've had the opportunity to work on Blockchain, Nodejs, Golang, and Docker.

I've learned about other tech as well, but these are my primary focus. I love to write articles and tutorials on new tech by following a hands-on approach. This is my first book.

Front end development isn't my specialty, and that's why I didn't include it in the book.

If you have any queries or questions, please feel free to drop me an email.

:e-mail: [hello@schadokar.dev](hello@schadokar.dev)
:globe_with_meridians: [schadokar.dev](https://schadokar.dev)
&lt;img src="https://github.githubassets.com/images/icons/emoji/octocat.png" style="width:20px;" /&gt;[github.com/schadokar](https://github.com/schadokar)
</code></pre>
<p>对于Octocat（译者注：GitHub的吉祥物章鱼猫），我用的是<code>img</code>标签。</p>
<p>看起来像这样。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/about-me-3.PNG" alt="about-me-3" width="600" height="400" loading="lazy"></p>
<h4 id="">感谢页</h4>
<p>我添加了一个感谢页，以此感谢<strong>Hyperledger Composer社区</strong>的工作付出。我试着将内容加在页面中间位置。</p>
<pre><code class="language-html">&lt;div style="padding-top:40%; text-align: center; font-size:35px;"&gt;
Thank You &lt;img src="https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/240/microsoft/209/person-with-folded-hands_1f64f.png" style="width:40px" /&gt;
&lt;/div&gt;
&lt;div style="text-align: center; font-size:25px;"&gt;
I especially want to thanks the entire
&lt;a href="https://github.com/hyperledger/composer/graphs/contributors"&gt;Hyperledger Composer Community&lt;/a&gt; for creating such
an amazing tool. Many developers entered into the blockchain domain because of the simplicity of the composer. &lt;br /&gt;
It is unfortunate that it is deprecated but it sets a great example of easy automation,
wrapping a complex Hyperledger Fabric into the easy to use Hyperledger Composer.
&lt;/div&gt;
</code></pre>
<p>看起来像这样。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/thanks-note.PNG" alt="thanks-note" width="600" height="400" loading="lazy"></p>
<h3 id="">书的标题和副标题</h3>
<p>书的标题应该用几个词或一个短句就表明书的内容。</p>
<p>在写书的时候，记下你使用的所有关键词。这将有助于你想出一个好标题。你要抓住这本书的本质，并让读者也知道，例如，它是偏理论性的还是偏实践性的。</p>
<p>副标题应该向读者提供更多细节，让读者知道自己将从书中获得什么或者他们即将学到什么。</p>
<p>副标题用一句话是合适的，不应超过两句。不要过长—让读者自己阅读书里的内容。副标题的目的是让读者通过一句话了解整本书的格调，但仍觉语意未尽？。</p>
<p>我的书的标题是 <strong>《玩转Hyperledger Composer》</strong>，副标题是 <strong>《使用Hyperledger Composer在区块链中创建一个供应链管理项目》</strong>。</p>
<p>在开始写书时，不要花太多时间在书的标题上。当你写完了，你能站在一个更好的视角去想标题。所有内容都写完了，你知道写了些什么，读者能从中收获什么。</p>
<p>就我而言，我在书籍出版前的最后一秒更改了书的标题和封面。在这之前，它是如此的无聊？。</p>
<h3 id="">设计书籍封面</h3>
<p>你可能听说过习语<strong>不要以封面评价一本书（不要以貌取人）</strong>。<br>
但残酷的现实是，一本书的封面非常重要。它是一本书的脸。</p>
<p>封面尽量保持简单且信息翔实。不要过度设计。一个简单的标题和一个简短的副标题加上一两张图片就足够了。</p>
<p>我开始设计书的封面时，参考了其他书，并试着Paint中进行编辑。结果完全是一场灾难，我想不出什么好的设计了。</p>
<p>然后我意识到，设计不是我的长处。我决定找一个自由职业者来做这件事，所以我查看了<strong>UpWork</strong>和<strong>Fiverr</strong>等自由职业网站。</p>
<p>然后，我发现了<a href="https://canva.com"><strong>Canva</strong></a>。这真是一个很棒的工具。太神奇了！</p>
<blockquote>
<p>Canva是一个图形设计平台，支持用户创建社交媒体图形、演示文稿、海报和其他视觉内容。它可以在网页端和移动端使用，并集成了数百万张图片、字体、模板和插图。<a href="https://en.wikipedia.org/wiki/Canva">维基百科</a></p>
</blockquote>
<p>我通过Canva上书籍封面版块中的一个模板，创建了我的书籍封面。还不错吧？</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/book-cover.png" alt="book-cover" width="600" height="400" loading="lazy"></p>
<h3 id="">许可协议</h3>
<p>我写这本书是出于好奇心和乐趣。所以，我希望它是免费的，而且是开源的，但我不希望有人利用这本书来谋利。没有许可协议，就没有约束。</p>
<p>我搜索了一段时间，在StackOverflow上发现了一个关于免费许可协议的很好回答，即<a href="https://creativecommons.org/licenses/">知识共享版权许可协议（Creative Commons Licenses）</a>。</p>
<blockquote>
<p><strong>知识共享基金会（Creative Commons）是一个非营利组织，帮助解决知识分享和创造力有关的法律困境，应对世界上版权方面的挑战。</strong></p>
</blockquote>
<p>他们会提供一个<a href="https://creativecommons.org/choose/">表格</a>，表格上面会问几个与你想要申请的许可协议类型相关的问题。填写表格，然后就可以了，你的许可证就准备好了。你可以复制粘贴或通过嵌入的链接获得许可证。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2020/09/license.PNG" alt="license" width="600" height="400" loading="lazy"></p>
<h2 id="">出版你的书</h2>
<p>可选的书籍出版方式有很多。你可以找一家出版社，把你的草稿送过去。如果他们想出版，你就可以着手处理然后与其达成协议。</p>
<p>达成协议后，出版社负责其它过程，比如书籍的排版和编辑、吸引人的书籍封面设计、所有的协议许可、出版过程，以及最重要的市场营销。</p>
<p>简而言之，如果你想通过你的书获得稿费，而且你期待一个好的收益，那么出版社是最佳选择。</p>
<p>另一个选择是自助出版。是的，我们可以自行出版自己的书。亚马逊的自行出版系统<a href="https://kdp.amazon.com/en_US/">Kindle Direct Publishing</a>（KDP）提供了一个很好的平台。它是免费的，而且可以在全世界范围内出版书籍。</p>
<p>你将从每笔销售中获得70%的利润。KDP负责所有的出版过程。你只需将书籍写好、上传并排版。</p>
<p>你只需填写你想收取的价格，以及你的书和你自己的一些基本信息。你可以阅读他们的教程了解更多信息—他们的教程写得非常棒。</p>
<p>但我希望我的书是免费的，而且我没有耐心操作上述过程。所以，我并没有依靠任何第三方就自行出版了我的书。</p>
<p>我只是把书转换成PDF格式，并把它存在AWS S3 Bucket上，这样任何人都可以下载。然后我把这本书托管在我的网站上。简单吧？</p>
<h2 id="">分享你的作品</h2>
<p>完成你的杰作后，就该向世界展示它了。<br>
如果你没有与出版商合作，或者即使你有，你也必须推广自己的作品。</p>
<p>这些是我使用的几个平台，但你不必局限于这几个。</p>
<h3 id="linkdein">领英（LinkdeIn）</h3>
<p>LinkedIn是一个专业平台，上面有许多技术领域不同专业的开发人员。凡是你能说得出来的职业，在LinkedIn上你也都能找到从事该职业的人。</p>
<p>与他们分享你的作品，并询问反馈。90%的可能你都会得到回复。我向Dan Selmon分享了我的书，他是Hyperledger Composer的一名贡献者。还有Srinivas Mahankali，他写了很多关于区块链的书。</p>
<p>他们都非常乐于助人，并给出了他们真诚的反馈。我很感谢Dan，他甚至提出会在他的社交网络LinkedIn和Twitter上分享我的书。</p>
<h3 id="reddit">Reddit</h3>
<p>Reddit是一个社区枢纽。你会发现这里有许多关于各种主题的活跃社区。你只需加入与你工作相关的社区，然后在那里分享你的作品。</p>
<p>你会发现Reddit上有很多活跃的成员，在这些群体中，他们并不羞于分享自己的观点。如果你的作品有提升空间，他们中的一些人可能会提供帮助。</p>
<p><em>但在分享你的作品之前，请务必阅读指南。如果你违反了其中任何一条规则，他们将删除你的帖子</em>。</p>
<h3 id="twitter">推特（Twitter）</h3>
<p>推特不仅仅是一个人们分享自己观点的社交平台。所以不要低估它。</p>
<p>如果你喜欢事实和数字，可以看到：Twitter上有13亿多个账户，3.3亿月活跃用户，1.52亿日活跃用户，每天有5亿条推文。这个数字是很庞大的。</p>
<p>你只需要在有限的280个字符内，精心设计你的信息，选择合适的关键词，你就有可能接触到大量的受众。</p>
<h3 id="">博客</h3>
<p>做一些研究，弄清楚哪些出版物或电子杂志会发布你图书类别的文章。与他们分享你的书中摘要和细节。</p>
<p>询问他们是否可以写一篇关于你的书籍的文章。或者你可以写一篇关于你的书的文章，然后把文章初稿发给他们。</p>
<p>还有很多其它的平台你也可以试一试————只要你去深入了解一下。</p>
<h2 id="">总结</h2>
<p>这就是我第一次写书的经历。写书花了一些时间，但是值得的。现在，我的作品集上又多了一个徽章。</p>
<p>我从这次经历中学到了很多东西。这篇文章可以作为我所有学习的记录，供任何想写第一本书或下一本书的人参考。</p>
<p>下面是到目前为止我用过的工具最终清单。</p>
<p>若有我未列出的工具，也欢迎你推荐。</p>
<p>谢谢你的阅读，别忘了与我分享你的第一本书。</p>
<h1 id="">我所使用工具的最终清单</h1>
<ul>
<li><strong>编辑器</strong>：<a href="https://code.visualstudio.com/">Visual Studio Code</a>及2个Markdown插件</li>
<li><strong>版本控制工具</strong>：Git和<a href="https://github.com">GitHub</a></li>
<li><strong>表情符号</strong>：<a href="https://getemoji.com/">复制粘贴emojis</a></li>
<li><strong>语法检查</strong>：<a href="https://app.grammarly.com/">Grammarly</a></li>
<li><strong>许可协议</strong>：<a href="https://creativecommons.org/licenses/">Creative Commons Licenses</a></li>
<li><strong>封面设计</strong>：<a href="https://www.canva.com/">Canva</a></li>
<li><strong>PDF页码编辑器</strong>：<a href="https://www.ilovepdf.com/add_pdf_page_number">在线PDF编辑器</a></li>
<li><strong>电子书存储</strong>：<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html">AWS S3 bucket</a></li>
<li><strong>书籍托管</strong>：<a href="https://schadokar.dev/ebooks/">我的博客</a></li>
</ul>
<h2 id="">感谢阅读</h2>
<p>如果你有任何反馈或建议帮助我改进这篇文章，请在<a href="https://twitter.com/schadokar1">推特</a>上与我联系或给我发<a href="https://www.freecodecamp.org/news/how-to-write-your-first-technical-book/hello@schadokar.dev">电子邮件</a>。</p>
<ul>
<li><a href="https://schadokar.dev">阅读我的其它文章</a></li>
<li>订阅<a href="https://schadokar.dev/newsletter/">我的简报</a></li>
</ul>
<p>封面照片：来自<a href="https://unsplash.com/s/photos/writers?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a>，作者 <a href="https://unsplash.com/@thoughtcatalog?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Thought Catalog</a></p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 写作为何有助于产品设计 ]]>
                </title>
                <description>
                    <![CDATA[ 在我创建和设计产品，如APP应用程序、网站和图形制作工具 [http://gfxmaker.com/] 时，通常会遇到两类人：一类是偏好定性叙述的人，另一类是偏好数据和分析的人。 第一类人习惯基于用户主观反馈和观点去构建产品开发框架。第二类人对第一类人的方法持谨慎态度。第二类人希望应用“Excel模型”根据数字来倒推工作。 为便于区分，我们就称第一类人为“storyteller”（讲故事的人），第二类人为“quant”（量化员）。 这两类人都想要设立有意义的产品愿景 [https://instasize.com/blog/5-tips-for-taking-great-product-images] ，了解用户，然后创建出大规模的工具。两者的用意都很好，只是在如何利用洞察做决策方面，采用了不同方法。 另外，他们收集、分析和部署这些洞察的方式也不同。 暂停片刻，问问自己你更像哪类人呢？storyteller还是quant？或许会对你有用。 无论你的答案是什么，我相信有一种将两者统一结合起来的方法，帮助他们在追求创建更优质更构思周密产品的路途中找到共通点。 那就是通过写作。  ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/how-writing-can-lead-to-better-product-design/</link>
                <guid isPermaLink="false">63fdfc6c0687e3060be26da7</guid>
                
                    <category>
                        <![CDATA[ 产品设计 ]]>
                    </category>
                
                    <category>
                        <![CDATA[ 写作 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Narcissus91 ]]>
                </dc:creator>
                <pubDate>Mon, 27 Feb 2023 02:16:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2023/02/604adcf9a7946308b7687147.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/how-writing-can-lead-to-better-product-design/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How Writing Can Lead to Better Product Design</a>
      </p><!--kg-card-begin: markdown--><p>在我创建和设计产品，如APP应用程序、网站和<a href="http://gfxmaker.com/">图形制作工具</a>时，通常会遇到两类人：一类是偏好定性叙述的人，另一类是偏好数据和分析的人。</p>
<p>第一类人习惯基于用户主观反馈和观点去构建产品开发框架。第二类人对第一类人的方法持谨慎态度。第二类人希望应用“Excel模型”根据数字来倒推工作。</p>
<p>为便于区分，我们就称第一类人为“storyteller”（讲故事的人），第二类人为“quant”（量化员）。</p>
<p>这两类人都想要设立有意义的<a href="https://instasize.com/blog/5-tips-for-taking-great-product-images">产品愿景</a>，了解用户，然后创建出大规模的工具。两者的用意都很好，只是在如何利用洞察做决策方面，采用了不同方法。</p>
<p>另外，他们收集、分析和部署这些洞察的方式也不同。</p>
<p>暂停片刻，问问自己你更像哪类人呢？storyteller还是quant？或许会对你有用。</p>
<p>无论你的答案是什么，我相信有一种将两者统一结合起来的方法，帮助他们在追求创建更优质更构思周密产品的路途中找到共通点。</p>
<p>那就是通过写作。</p>
<h2 id="">为什么写作对产品设计至关重要</h2>
<p>写作被定义为一种记录连贯词汇并构成文本的书面活动或技能。学习写作要从基础原则开始：你必须学习字母表，学习如何将字母组成单词。</p>
<p>然后，这些单词又被放在一起组成句子。</p>
<p>句子组合在一起又能开始表达更深的含义。</p>
<p>写作是一种成因机制。它让我们深入思考自己想要表达的内容和动机。</p>
<p>写作帮助我们专注于最重要的东西。</p>
<p>而且，如果做得好的话，写作可以减少困惑。</p>
<p>有多少次你在看产品演示文稿时，是因为演讲者的质量（无论好坏）而相信产品优点的？例如，一个有吸引力的观点可以掩盖对用户来说真正重要的东西，并影响用户的判断。</p>
<p>亚马逊创始人杰夫·贝佐斯（Jeff Bezos）曾经写道：</p>
<blockquote>
<p>“Powerpoint式的演讲文稿在某种程度上允许掩饰观点，抹平任何相对重要性的感觉，忽略观点之间的关联性。”</p>
</blockquote>
<p>写作促使我们明白真正重要的东西：一个论点的力度和条理性，以及论点如何被论据支持或证实。</p>
<p><a href="https://crustlab.com/">产品开发</a>本质上是杂乱的。因为很多时候，产品即使看起来很简单，本质上却很复杂。</p>
<p>软硬件都是如此。我们认为理所当然的日常物品中就存在着巨大的复杂性。</p>
<p>汉莎航空声称，波音制造747-8需要600万个零件。</p>
<p>一辆简单的汽车整车可能有30,000个零件。</p>
<p>据估计，Android操作系统的代码量有1200-1500万行。</p>
<p>大型强子对撞机使用了5000万条线。</p>
<p>不包括后端代码， Facebook（前端和各种<a href="https://www.ideazinc.com/top-20-amazing-landing-pages-reviewed/">登录页面</a>）的代码量就有7000万行。</p>
<p>结构清晰的叙述性文本（与项目符号或纯文本相比）能够帮助作者或产品设计师阐释论点背后的“原因”。</p>
<p>积极有力的写作促使人们进行更多的反思，更好地理解什么是最重要的，以及事物（零件、人员、计划、预算、产品）之间的关系。</p>
<p>最后，写作有助于创造一个公平的竞争环境。</p>
<p>很多时候，观点（以及因解释的方式或主体不同）会造成偏见。想象一下，当你收到一份宣传产品功能或上市计划的备忘录，你对作者一无所知，不知道作者的背景、角色或团队。</p>
<p>你所能做的就是评估作者文字的质量、持续性和清晰度。这样可能会带来更好的商业结果和产品设计决策。</p>
<h2 id="">如何提高写作水平</h2>
<p>写作是一种通过练习可以提高的技能。我记得五年级的时候，我母亲坐在我旁边，用红墨水笔批改我为完成家庭作业写的一篇作文。</p>
<p>编辑文字并不容易。当时写作不好玩，二十多年后，它也不总是有趣。但是，通过打磨，我们可以拥抱写作，并写得越来越好。</p>
<p>“熟能生巧”这句老话当然不适用于我。尽管这样，通过强迫自己经常写作，我还是能够有所提高。</p>
<p>如果你正在创建产品并想要通过书面文字分享你的愿景，赢得内部利益相关者，<a href="https://www.cloudtalk.io/blog/types-of-call-centers">助力更有效地沟通</a>，那么从今天开始，你可以从这几件事开始着手。</p>
<h3 id="">创建一个大纲</h3>
<p>首先，你可以拿出一张纸或打开一个在线文档，对于你想要表达的内容，开始创建一个大纲。以“为什么”为出发点来创建大纲。</p>
<p>你可以通过大纲来打磨你的想法，勾勒你的产品愿景。</p>
<h3 id="">尝试不同的写作类型</h3>
<p>第二，你可以尝试不同有趣的写作方式来表达你的产品。</p>
<p>例如，你可以撰写一篇新闻稿。如果你是《纽约时报》的一名技术版块撰稿记者，会如何评价你的产品？</p>
<p>编写一篇具有未来感的新闻简报很有趣，让创造性思维活跃起来，并且思考他人会如何看待自己创建的产品也是一种令人愉悦的方式。</p>
<h3 id="">快速记下一些常见问题</h3>
<p>第三，你可以通过起草和完成“常见问题”（FAQ）来提高你的产品写作技能。人们对你的产品有什么不理解，为什么不理解？试着思考和回复用户的这些问题。</p>
<p>写FAQ有两方面的好处，一是可以提高你的写作水平，二是你能更深入理解产品的哪些方面可能对用户来说是难以理解的。有了这种洞察，你可以预先解决这些问题。</p>
<h2 id="">将写作和产品设计结合起来</h2>
<p>在这篇文章开头，我描述了“storytellers” 和 “quants”。在根据信息（数据、数字、反馈、<a href="https://resources.credly.com/blog/degree-inflation-hiring">证书</a>等）作出结论和进行推断方面，这两类人代表着两种不同的处理方式。</p>
<p>写作可以将“storytellers”和“quants”结合起来，并为思想表达提供一个公平的竞争环境。</p>
<p>写作有助于我们避免过早优化。</p>
<p>今天写作可能对你来说是一个挑战，但它值得练习。如果你需要指点才能开始，那就试试概述<a href="https://www.savingjunkie.com/best-gig-economy-apps/">零工经济</a>的未来或者<a href="https://www.resourcifi.com/blog/latest-trends-in-mobile-app-design-2020-2021/">移动应用程序</a>的未来趋势。</p>
<p>如果你还没有写你的产品未来状态，你应该开始了。它将有助于磨砺你的思维，让你产出更好的结果。</p>
<p>最终，产品未来状态应该成为每个产品创建者的北极星指标。</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 开发者为何要写技术文章以及应该如何写作 ]]>
                </title>
                <description>
                    <![CDATA[ 我在一个由200多名开发人员组成的Whatsapp群中发布了一个小广播，说多发表一些技术文章的必要性。群里的回复给了我写这篇短文的灵感。我发现很多开发人员不重视写作，我觉得这是不对的。 就像我知道很多开发人员不会写技术文章一样，我决定在广播最后补充如下文字。令我惊讶的是，有几个开发人员给我发消息说对于如何开始写文章，他们还需要帮助。所以我决定写这篇快速上手文章。 如果你想要让更多Medium用户看到你的技术类文章，可直接与我联系。提供一下你的Medium用户名并附上一篇或多篇文章链接。 如果你想开始写技术博文，却不知如何入手，也可以直接与我联系。 首先，要写出优质的内容需要付出很多努力。我知道这也是让许多开发人员放弃写作的原因。不过，在这篇文章的第一部分，我会先来说说写技术博文的好处。 创建自己的作品集 写技术博文的一个关键好处是它可以帮助你构建开发人员作品集。并且，它让你有充分的机会向他人展示你的工作技能。 另一点我认为对像Prosper Otemuyiwa [https://www.freecodecamp.org/news/developers-the-why- ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/developers-the-why-and-how-to-writing-technical-articles/</link>
                <guid isPermaLink="false">63ba8deb81727e0763145d61</guid>
                
                    <category>
                        <![CDATA[ 写作 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Narcissus91 ]]>
                </dc:creator>
                <pubDate>Fri, 06 Jan 2023 04:33:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2023/01/1_9oDjve1kBfhr0xw7p4gwRQ.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>原文：</strong> <a href="https://www.freecodecamp.org/news/developers-the-why-and-how-to-writing-technical-articles-54e824789ef6/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Developers: The Why and How to Writing Technical Articles</a>
      </p><!--kg-card-begin: markdown--><p>我在一个由200多名开发人员组成的Whatsapp群中发布了一个小广播，说多发表一些技术文章的必要性。群里的回复给了我写这篇短文的灵感。我发现很多开发人员不重视写作，我觉得这是不对的。</p>
<p>就像我知道很多开发人员不会写技术文章一样，我决定在广播最后补充如下文字。令我惊讶的是，有几个开发人员给我发消息说对于如何开始写文章，他们还需要帮助。所以我决定写这篇快速上手文章。</p>
<pre><code>如果你想要让更多Medium用户看到你的技术类文章，可直接与我联系。提供一下你的Medium用户名并附上一篇或多篇文章链接。
</code></pre>
<pre><code>如果你想开始写技术博文，却不知如何入手，也可以直接与我联系。
</code></pre>
<p>首先，要写出优质的内容需要付出很多努力。我知道这也是让许多开发人员放弃写作的原因。不过，在这篇文章的第一部分，我会先来说说写技术博文的好处。</p>
<p><strong>创建自己的作品集</strong></p>
<p>写技术博文的一个关键好处是它可以帮助你构建开发人员作品集。并且，它让你有充分的机会向他人展示你的工作技能。</p>
<p>另一点我认为对像<a href="https://www.freecodecamp.org/news/developers-the-why-and-how-to-writing-technical-articles-54e824789ef6/undefined">Prosper Otemuyiwa</a>这类开发人员有益的事就是无论所写教程长短，保证自己所做的事有意义。</p>
<p><strong>帮助新人</strong></p>
<p>你曾从他人的视频和文章受益才达到现在这个状态。这个理由足够促使你也写一些内容来帮助更多的人。</p>
<p><strong>懂得更多</strong></p>
<p>针对某一特定主题，你写得越多，或者说你教得越多，你就会越精通。你写的技术内容可能是关于如何搭建一个应用程序。因为你自己在构建过程中费了点劲，你希望所写文章可以帮助其他开发人员少走弯路。或者你写的技术内容是你刚学会的一个新东西，你想让全世界都知道你学会了什么。</p>
<p>做好上述事项，有助于你对自己的知识体系建立信心。</p>
<p><strong>赚钱</strong></p>
<p>是啊！钱非常重要，你坐着不动或者不做点对他人有帮助的事情，是不可能获得金钱的。你可以通过写技术内容获得报酬。只是在获得报酬之前，你必须先写出一些有趣的内容作为样本。</p>
<p>我知道有一些公司会为技术写作付费。一家是<a href="http://scotch.io/">Scotch Development</a>。并不是因为他们有更多的资金可以浪费，而是因为他们相信如果有正确的内容指导，开发工作会容易得多。</p>
<p><strong>增加浏览量</strong></p>
<p>文章有浏览量也是令我兴奋的一件事。我曾写过关于 <a href="https://www.codementor.io/@goodnesskay">React、Babel、webpack 和 Webpack 3.0 的文章</a>，然后Codementor在Twitter上提醒我，浏览量达2000了。我开始为自己感到骄傲。</p>
<p>我认为有人阅读和学习你的内容，对你来说应该是个好事。</p>
<p><strong>获得有限的机会</strong></p>
<p>愿意投入时间来写技术文章的人很少。当有很多人申请某个东西时，有写作优势的人更有机会申请成功。</p>
<p>Auth0开放了他们的Web应用程序便于用户申请为Auth0大使。申请的条目之一是用户可以附上所写文章链接。<strong>这你应该有印象吧</strong>。</p>
<h2 id="">我应该如何开始写作</h2>
<p>每次我谈到写技术文章时，都会有人问我这个问题。在这篇文章中，我将根据我的经验和我读过的其它同类文章，来讲讲如何开始写作。</p>
<ol>
<li><strong>相信你可以</strong></li>
</ol>
<p>你不必以世界顶级开发人员的水平来要求自己写作。你可以就你当前正在学习的内容来写文章。</p>
<p>但首先是要相信自己可以写作。</p>
<p>2. <strong>千里之行始于足下</strong></p>
<p>许多开发人员对此感到困惑，因为他们会想“他们可以写些什么让人印象深刻的内容呢？”但是我总是说“从小处着手”。</p>
<p>我在媒体上发布的第一篇博文是<a href="https://aboveintelligent.com/php-beyond-building-websites-207520c98d9f">PHP: BEYOND BUILDING WEBSITES</a>。它不算是一篇真正的“技术”类文章。我写这篇文章只是为了输出一些东西，读者对文章的推荐又鼓励了我。随后我受邀成为一家媒体刊物上的一名作者。</p>
<p>这是我迈出的一小步。现在我在<a href="https://www.freecodecamp.org/news/developers-the-why-and-how-to-writing-technical-articles-54e824789ef6/undefined">Scotch Development</a>、<a href="https://www.freecodecamp.org/news/developers-the-why-and-how-to-writing-technical-articles-54e824789ef6/undefined">Codementor</a>、<a href="https://www.freecodecamp.org/news/developers-the-why-and-how-to-writing-technical-articles-54e824789ef6/undefined">Medium</a>、<a href="https://dev.to/">@dev.to</a>等平台上发布了更多的教程。</p>
<p><strong>你也试试吧。</strong></p>
<p>3. <strong>学习新技术</strong></p>
<p>寻找写作素材的最佳方法是学习新技术。可以学习没人要求你学习的新框架，然后着手写作。</p>
<p>最近，我看到一个新的JavaScript框架，却没看到关于这个框架的任何教程。在我翻阅这个框架的文档时，发现这个框架轻量又好用。</p>
<p>所以，我做了相关教程。一些活跃的JavaScript Twitter用户看到我的文章后不断转发，文章就获得了更多的浏览量。</p>
<p>4. <strong>主题就在你身边</strong></p>
<p>有些开发人员认为主题是主要问题。其实不是的。内容质量才是最重要的。你只需要保持敏锐。</p>
<p>我知道Scotch Development网站有一个版块，你可以去那里找找灵感，看看可以写些什么教程。点击<a href="http://scotch.io/ideas">此处</a>查看。</p>
<p>基本上，主题没有什么新的。大多数时候，都是内容上有些差异。</p>
<ol start="5">
<li><strong>知道你的利基（定位）</strong></li>
</ol>
<p>要在技术文章写作方面取得成功，你必须找准自己的定位。如果你知道自己在构建Web应用程序方面很厉害，就坚持写这方面的文章。同样，如果是在移动开发、人工智能、机器学习等方面很厉害，就坚持写这些方面的文章。</p>
<p>因为如果你在编写教程时犯了不该犯的错，读者会把你当成迷糊粗心的人。</p>
<p>6. <strong>独特的写作方式</strong></p>
<p>在写作时，你必须尽可能写得简单且让人读着轻松。就像是在向另一个开发人员解释一样写作，你要用简单的术语就能让他们理解。</p>
<p>你可以插入一些有趣的GIF图片、短视频、屏幕截图等等，吸引读者注意力。</p>
<ol start="7">
<li><strong>获取反馈</strong></li>
</ol>
<p>兄弟姐妹们，不要以为自己什么都懂！那样只会是搬起石头砸自己的脚。征求意见，对于批评意见持开放态度，因为批评在所难免。</p>
<p>读者有一些不清楚的事情时，保证他们能够通过邮件或Twitter与你探讨。</p>
<p>8. <strong>别停止写作</strong></p>
<p>我本不该加最后这一点，但是还是想说，一旦开始，即使受到一些无端批评，也不要停止写作。</p>
<p>认真修改每一篇文章，勤加写作，终会有收获。</p>
<h2 id="">总结</h2>
<p>我相信你一定从我这篇简短但真挚的文章中有所收获。欢迎你在Twitter<a href="https://twitter.com/goodnesskayode">@goodnesskayode</a>上与我分享你的想法。</p>
<p>如果你能在<a href="https://scotch.io/@goodnesskay">Scotch.io</a>、<a href="https://www.codementor.io/goodnesskay/posts">Codementor</a>、<a href="https://www.linkedin.com/in/goodness-toluwanimi-kayode/detail/recent-activity/posts/">LinkedIn</a>和<a href="https://dev.to/goodnesskay">Dev.to</a>阅读我的文章，我也会非常高兴。</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 如何在 Mac 上输入带重音符号的字母 ]]>
                </title>
                <description>
                    <![CDATA[ 原文：How to Type Letters with Accents on Mac [https://www.freecodecamp.org/news/how-to-type-letters-with-accents-on-mac/]，作者： Abbey Rennemeyer [https://www.freecodecamp.org/news/author/abbey/] 如果你使用英语以外的语言写作，你可能需要知道如何添加重音符号。你知道，就像voilà、olé 或über。 幸运的是，有几种简单的方法可以在 Mac 上做到这一点。在本文中，我们将介绍主要方法，以便你可以轻松地为文本添加重音符号。 在 Mac 上按键添加重音符号 如果你不着急，并且想一目了然地查看所有常见的重音选项，那么有一种简单的方法可以做到这一点。 只需按住你希望重音出现的键，字母上方就会出现许多选项，如下所示： 按键添加重音当你看到要添加的重音时，只需输入该数字，重音就会添加到字母中。你还可以使用左右箭头键（并输入）来选择你想要的。 因此，例如，如果你想要上面的第二个选项，你可以按住 e，然后 ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/how-to-type-letters-with-accents-on-mac/</link>
                <guid isPermaLink="false">62b0031e15ee740853c3406a</guid>
                
                    <category>
                        <![CDATA[ 写作 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Miya Liu ]]>
                </dc:creator>
                <pubDate>Mon, 13 Jun 2022 05:14:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2022/06/5fac64b849c47664ed81e086.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>原文：<a href="https://www.freecodecamp.org/news/how-to-type-letters-with-accents-on-mac/">How to Type Letters with Accents on Mac</a>，作者：<a href="https://www.freecodecamp.org/news/author/abbey/">Abbey Rennemeyer</a></p><p>如果你使用英语以外的语言写作，你可能需要知道如何添加重音符号。你知道，就像voilà、olé 或über。</p><p>幸运的是，有几种简单的方法可以在 Mac 上做到这一点。在本文中，我们将介绍主要方法，以便你可以轻松地为文本添加重音符号。</p><h2 id="-mac-">在 Mac 上按键添加重音符号</h2><p>如果你不着急，并且想一目了然地查看所有常见的重音选项，那么有一种简单的方法可以做到这一点。</p><p>只需按住你希望重音出现的键，字母上方就会出现许多选项，如下所示：</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2020/11/Press-and-hold-accent-method.png" class="kg-image" alt="Press-and-hold-accent-method" width="600" height="400" loading="lazy"><figcaption>按键添加重音</figcaption></figure><p>当你看到要添加的重音时，只需输入该数字，重音就会添加到字母中。你还可以使用左右箭头键（并输入）来选择你想要的。</p><p>因此，例如，如果你想要上面的第二个选项，你可以按住 e，然后按 2（或按一次右箭头键然后输入）。</p><p>如果你不介意弹出那个小的重音菜单所需的时间，这种方法效果很好。但它并不总是包含每种语言的所有口音。而且它确实会降低你的效率，尤其是当你用另一种语言输入整篇文章时，这增加了很多时间。</p><p>幸运的是，还有另一种涉及键盘快捷键的常用方法，并为你提供所有选项。</p><h2 id="-mac-option-">在 Mac 上用 Option 键添加重音符号</h2><p>Option 键可帮助你在文本中添加各种重音符号。只需按住 Option 键（与 Alt 键相同），然后按 “e” 键，然后松开它们并按你要添加重音的字母键。</p><p>例如，如果你想在字母 a、e、i、o 或 u 上添加重音（´），你可以按 Option + e，然后按你要添加的字母口音。所以，Option+e+a 可以打出 á。</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2020/11/quincy-accent-tweet.png" class="kg-image" alt="quincy-accent-tweet" width="600" height="400" loading="lazy"><figcaption>freeCodeCamp 创始人介绍重音的使用</figcaption></figure><p>但是，如果你想要一种不同的口音，怎么办？别担心——还有这些 Option 键组合（以及更多）。</p><ul><li>Option + ` + letter = grave accent à, è, ì, ò, or ù (like this: Voilà)</li><li>Option + i + letter = circumflex accent â, ê, î, ô, or û (like this: Crêpe)</li><li>Option + n + letter = eñe character ñ, ã, or õ (like this: El Niño)</li><li>Option + u + letter = umlaut accent ä, ë, ï, ö, or ü (like this: Über)</li><li>Option + a or Shift + Option + A (for capital A) = å or Å</li><li>Option + ' or Shift + Option + ' = æ or Æ (ligatured ae)</li><li>Option + q or Shift + Option + Q (for capital letters) = œ or Œ</li><li>Option + c or Shift + Option + C (for capital) = ç or Ç</li><li>Option + o or Shift + Option + O (for capital) = ø or Ø</li><li>Shift + Option + ? = ¿</li><li>Option + 1 = ¡</li><li>Option + 5 = ∞</li></ul><p>一旦你记住了这些组合，你就可以将按键直接融入你的打字流程中。如果你忘记了，你可以随时为这篇文章添加书签:)。</p><h2 id="-mac-option--1">奖励：Mac 上的其他 Option 键组合</h2><p>如果你需要输入一些数学符号怎么办？或者欧元的符号？你需要的不仅仅是重音选项。</p><p>你知道吗——你的基本英语键盘将所有这些特殊字符（几乎）隐藏在了视线范围内？</p><p>通过按住 option 键并按下任何字母/数字/标点符号，你可以创建与键盘上打印的完全不同的字符。</p><p>那么你怎么知道每个键组合给你带来了什么？别担心——你的 Mac 可以告诉你。只需几个步骤即可找到该信息。</p><h3 id="-1-">第 1 步：转到系统偏好设置</h3><p>找到左上角的 Apple 图标，然后单击它。然后从下拉菜单中选择“系统偏好设置”。<br>选择键盘图标，你将看到这个界面：</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2020/11/keyboard-customization.png" class="kg-image" alt="keyboard-customization" width="600" height="400" loading="lazy"><figcaption>如何定制你的键盘</figcaption></figure><p>确保选中“在菜单栏中显示虚拟键盘和表情检视器”（如上图所示）。</p><h3 id="-2-">第 2 步：单击顶部菜单栏中的键盘图标</h3><p>现在，你会在顶部菜单栏中看到一个小键盘图标，在你的蓝牙和 wifi 符号/图标旁边。单击它，然后选择“显示键盘检视器”。</p><p>这将显示你在 Mac 上配置的键盘图像：</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2020/11/keyboard-viewer.png" class="kg-image" alt="keyboard-viewer" width="600" height="400" loading="lazy"><figcaption>你的键盘的基本配置</figcaption></figure><h3 id="-3-option-">第 3 步：按 Option 键</h3><p>现在，如果你按住 Option 键，它会告诉你所有这些键还能做什么，如下所示：</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2020/11/Options-keyboard.png" class="kg-image" alt="Options-keyboard" width="600" height="400" loading="lazy"><figcaption>很多选项......</figcaption></figure><p>你可以看到上面以橙色突出显示的最常见的重音符号。这些键与 Option 键结合使用时，会为你提供这些重音符号（如你在上面所学）。</p><p>你还将看到各种其他有用的符号，如货币符号、数学符号等。因此，例如，如果你需要快速提醒你在需要编写希腊字母 µ（miu）时要按哪些键，请参考此图表。</p><h2 id="-windows-">如何使用国际键盘在 Windows 上添加重音</h2><p>如果你想使用快捷键来包含重音符号和特殊字符，而不切换到完全不同的键盘布局，你可以启用国际键盘。</p><p>首先，按 Windows 键，输入“语言”，点击“语言设置”，打开语言菜单：</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-152.png" class="kg-image" alt="image-152" width="600" height="400" loading="lazy"><figcaption>Windows 10 的语言菜单</figcaption></figure><p>然后在“偏好语言”下单击“英语”和“选项”以打开语言选项菜单：</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-150.png" class="kg-image" alt="The Windows 10 English Language Options menu." width="600" height="400" loading="lazy"><figcaption>Windows 10 英语语言选项菜单</figcaption></figure><p>在“键盘”下，单击“添加键盘”按钮，然后单击“美国-国际”以将国际键盘添加到你的系统中。</p><p>要启用国际键盘，请将鼠标向下移动到任务栏并单击 “ENG US”，然后单击 “ENG INTL”：</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-153.png" class="kg-image" alt="Use the keyboard select menu in the taskbar to enable the international keyboard." width="600" height="400" loading="lazy"><figcaption>使用任务栏中的键盘选择菜单启用国际键盘</figcaption></figure><p>或者，按住 Windows 键并按空格键循环浏览已安装的键盘布局。</p><p>普通美国键盘布局和国际键盘布局之间的主要区别在于，某些键作为一种“重音字符锁”工作。</p><p>例如，要在启用国际键盘的情况下键入单个撇号（'），只需键入 ' + Space。对于双引号，只需键入 " + Space。反引号与 ` + Space 的工作方式相同。</p><p>顺便说一句，以下是如何使用 Windows 10 国际键盘键入一些常见的重音：</p><ul><li>` + letter = grave accent à, è, ì, ò, or ù (like this: Voilà)</li><li>^ + letter = circumflex accent â, ê, î, ô, or û (like this: Crêpe)</li><li>~ + letter = eñe character ñ, ã, or õ (like this: El Niño)</li><li>" + letter = umlaut accent ä, ë, ï, ö, or ü (like this: Über)</li><li>Right Alt+ w or Shift + Right Alt + W (for capital A) = å or Å</li><li>Right Alt + z or Shift + Right Alt + Z = æ or Æ (ligatured ae)</li><li>Right Alt + &lt; or Shift + Right Alt + &lt; (for capital) = ç or Ç</li><li>Right Alt + l or Shift + Right Alt + L (for capital) = ø or Ø</li><li>Right Alt + ? = ¿</li><li>Right Alt + 1 = ¡</li></ul><p>但你可能已经注意到，使用国际键盘输入 œ、Œ 或 ∞ 没有快捷方式。</p><p>为此，让我们快速了解一下在 Windows 10 上键入重音符号、特殊字符和符号的另一种方法。</p><h2 id="-windows--1">如何使用表情符号面板在 Windows 上添加重音</h2><p>表情符号面板可以轻松滚动浏览所有可用的表情符号并将其添加到消息中。但你也可以使用表情符号面板快速添加重音符号或特殊字符。</p><p>使用快捷键 Windows 键 +，打开表情符号面板：</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-154.png" class="kg-image" alt="The Windows 10 emoji panel." width="600" height="400" loading="lazy"><figcaption>Windows 10 表情符号面板</figcaption></figure><p>要添加重音符号或特殊字符，请按顶部的符号按钮：</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-156.png" class="kg-image" alt="The Windows 10 emoji panel's Symbol options." width="600" height="400" loading="lazy"><figcaption>Windows 10 表情符号面板的符号选项</figcaption></figure><p>然后滚动菜单并单击所需的重音或字符：</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-157.png" class="kg-image" alt="Selecting the œ character in the Windows 10 emoji picker." width="600" height="400" loading="lazy"><figcaption>在 Windows 10 表情符号选择器中选择 œ 字符</figcaption></figure><p>此外，你可以在底部的不同菜单中单击不同类型的符号，例如，∞ 在“数学符号”部分：</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-158.png" class="kg-image" alt="Selecting the ∞ character in the Windows 10 emoji picker." width="600" height="400" loading="lazy"><figcaption>在 Windows 10 表情符号选择器中选择 ∞ 字符</figcaption></figure><p>这应该是你在 Mac 和 Windows 上键入重音符号和其他特殊字符所需知道的一切。Adiós!</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 如何在 Word 中删除页面——删除 Word 空白页面或多余页面 ]]>
                </title>
                <description>
                    <![CDATA[ 原文：How to Delete a Page in Word – Remove Blank or Extra Pages [https://www.freecodecamp.org/news/how-to-delete-a-page-in-word-remove-blank-or-extra-pages/] ，作者：Kolade Chris [https://www.freecodecamp.org/news/author/kolade/] 如果你使用的是 Microsoft Word，你不希望文档中间出现空白页，或在最后出现多余的页面。 这些多余的页面可能是由表格、敲击回车键太多次、不必要的分节、无意的分页、额外的段落标记等造成的。 你不希望你的 Word 文档因为这些而显得不专业。所以在这篇文章中，我将告诉你如何在 Word 中删除空白页面和多余的页面。 在本教程中，我将使用微软 Office 2016，但你可以使用任何版本的软件，因为同样的方法几乎适用于所有版本。 如何删除 Word 文档中间的空白页 如果你正在处理一个大的 word 文档，并准备展示它或打印它，最好 ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/how-to-delete-a-page-in-word-remove-blank-or-extra-pages/</link>
                <guid isPermaLink="false">612716d5b03439064c61caa5</guid>
                
                    <category>
                        <![CDATA[ 写作 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Miya Liu ]]>
                </dc:creator>
                <pubDate>Wed, 30 Mar 2022 05:50:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2022/03/blank-page-in-word.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>原文：<a href="https://www.freecodecamp.org/news/how-to-delete-a-page-in-word-remove-blank-or-extra-pages/">How to Delete a Page in Word – Remove Blank or Extra Pages</a>，作者：<a href="https://www.freecodecamp.org/news/author/kolade/">Kolade Chris</a></p><p>如果你使用的是 Microsoft Word，你不希望文档中间出现空白页，或在最后出现多余的页面。</p><p>这些多余的页面可能是由表格、敲击回车键太多次、不必要的分节、无意的分页、额外的段落标记等造成的。</p><p>你不希望你的 Word 文档因为这些而显得不专业。所以在这篇文章中，我将告诉你如何在 Word 中删除空白页面和多余的页面。</p><p>在本教程中，我将使用微软 Office 2016，但你可以使用任何版本的软件，因为同样的方法几乎适用于所有版本。</p><h2 id="-word-">如何删除 Word 文档中间的空白页</h2><p>如果你正在处理一个大的 word 文档，并准备展示它或打印它，最好是检查一下是否有空白页和多余的最后一页。</p><p>要做到这一点，请按 <code>CTRL</code> + <code>SHIFT</code> + <code>8</code>，或进入 Home 标签，点击段落图标。</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-1-4.jpg" class="kg-image" alt="ss-1-4" width="600" height="400" loading="lazy"></figure><p>这个组合键在每个段落的末尾和每个空白行显示段落标记（¶）——基本上，只要你按下 <code>ENTER</code> 键，就会在额外的空白页的开头显示。</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/10/show-blank-pages.gif" class="kg-image" alt="show-blank-pages" width="600" height="400" loading="lazy"></figure><p>要删除这些多余的页面，用鼠标或触控板突出段落标记，然后点击 <code>DELETE</code>（删除）按钮。如果其中一个标记还在，就用 <code>BACKSPACE</code>（退格）键将其删除。<br></p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/10/remove-the-blank-pages.gif" class="kg-image" alt="remove-the-blank-pages" width="600" height="400" loading="lazy"></figure><p>如果你有耐心，你也可以通过这个方法删除空白页：进入空白页并按下 <code>BACKSPACE</code> 键，直到段落标记消失。</p><h2 id="-word--1">如何删除 Word 文档中多余的空白页</h2><p><strong>第 1 步：</strong>要删除可能在文档末尾添加的多余的空白页，请点击 <code>View</code>（查看）标签。</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-2-5.jpg" class="kg-image" alt="ss-2-5" width="600" height="400" loading="lazy"></figure><p><strong>第 2 步：</strong>进入导航窗格，这将显示一个包含 3 个标签的侧边栏——<code>Headings</code>、<code>Pages</code>, 和 <code>Results</code>。单击 <code>Pages</code>，在侧边栏中显示文件的所有页面。</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-3b.jpg" class="kg-image" alt="ss-3b" width="600" height="400" loading="lazy"></figure><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/10/ss-4-4.jpg" class="kg-image" alt="ss-4-4" width="600" height="400" loading="lazy"></figure><p><strong>第 3 步：</strong>活动页面将被自动选中，点击多余的空白页来选择它，然后点击键盘上的 <code>DELETE</code> 键来删除它。</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/10/delete-extra-page.gif" class="kg-image" alt="delete-extra-page" width="600" height="400" loading="lazy"></figure><p>你也可以通过简单地按下 BACKSPACE 键来删除这个多余的空白页。</p><h2 id="-">总结</h2><p>在这篇文章中，你学到了如何删除 Word 中的空白页，这样你就可以使你的文档显得更加专业。</p><p>谢谢你阅读本文。如果你觉得这篇文章有帮助，请与你的朋友和家人分享它。</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 开发者如何写好技术文章 ]]>
                </title>
                <description>
                    <![CDATA[ 软件开发人员致力于设计、编码、测试和交付我们每天使用的软件。不管开发人员的专长是什么，他们对很多事情都很了解——这也就意味着他们应该分享这些知识。 作为开发者，将我们所学到的知识通过发布文章和创建视频内容的形式分享出去，是一个很棒的方式。你可以拥有自己的博客，也可以为专栏撰稿。不管是哪种，你都可以遵循特定的流程来好好创作。 本文将介绍博客写作的基础知识，以帮助开发者撰写出色的文章。 TL;DR 以下高度总结了大部分要点。但是，我们将更详细地讨论一些现实生活中的经验以及学习如何写博客。请继续往下看。 > 高质量的内容写作是一个过程，它需要： 👉 计划 👉 研究内容 👉 审核 👉 发布时间 👉 最重要的，写作的意图 为产出高质量的内容花一些时间是值得的，不要着急。 — Tapas Adhikary (@tapasadhikary) 2021.04.03 [https://twitter.com/tapasadhikary/status/1378224989288062982?ref_src=twsrc%5Etfw] 了解你的目的 当我们开始做某事时， ]]>
                </description>
                <link>https://www.freecodecamp.org/chinese/news/technical-blogging-basics/</link>
                <guid isPermaLink="false">60e312080f76ab0660b140b8</guid>
                
                    <category>
                        <![CDATA[ 写作 ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Sean Bei ]]>
                </dc:creator>
                <pubDate>Mon, 05 Jul 2021 13:00:00 +0000</pubDate>
                <media:content url="https://chinese.freecodecamp.org/news/content/images/2021/07/freeCodeCamp-Cover-3.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>软件开发人员致力于设计、编码、测试和交付我们每天使用的软件。不管开发人员的专长是什么，他们对很多事情都很了解——这也就意味着他们应该分享这些知识。</p>
<p>作为开发者，将我们所学到的知识通过发布文章和创建视频内容的形式分享出去，是一个很棒的方式。你可以拥有自己的博客，也可以为专栏撰稿。不管是哪种，你都可以遵循特定的流程来好好创作。</p>
<p>本文将介绍博客写作的基础知识，以帮助开发者撰写出色的文章。</p>
<h1 id="tldr">TL;DR</h1>
<p>以下高度总结了大部分要点。但是，我们将更详细地讨论一些现实生活中的经验以及学习如何写博客。请继续往下看。</p>
<blockquote>
<p>高质量的内容写作是一个过程，它需要：</p>
<p>👉 计划</p>
<p>👉 研究内容</p>
<p>👉 审核</p>
<p>👉 发布时间</p>
<p>👉 最重要的，写作的意图</p>
<p>为产出高质量的内容花一些时间是值得的，不要着急。</p>
<p>— Tapas Adhikary (@tapasadhikary) <a href="https://twitter.com/tapasadhikary/status/1378224989288062982?ref_src=twsrc%5Etfw">2021.04.03</a></p>
</blockquote>
<h1 id="">了解你的目的</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/intent.png" alt="intent" width="600" height="400" loading="lazy"></p>
<p>当我们开始做某事时，都需要一个目的，以及继续做它的动力。我们行动背后的意图和动机，因人而异。你需要找到你的意图或目的，能够解释为什么你要开始创建一个博客或分享内容。</p>
<p>在大多数情况下，简单的答案可能是<code>激情</code>。很有道理！它也可能是一种商业策略，或者你想教别人。也许你想持续学习——不管你是因为什么原因开始写作，都很棒。</p>
<p>作为一个开发者，我们一直在学习新东西。记住我们所学的每一部分知识几乎是不可能的。当我们记录那些教训和信息时，这些知识也就可以被重用了。</p>
<p>这就是为什么写一篇关于你最近学到的东西的文章，是一个很好的主意，这就是一个好的意图。</p>
<p>💡 <strong>小提示：</strong> 创建一个私人 GitHub 仓库，以及一个 markdown 文件。当你遇到新事物时，在这个文件中添加注释（如果需要的话还可以加代码）。</p>
<p>这个文件的内容将作为你今后文章的优秀资源。出于这个目的，我在维护一个名为 TIL_2021.md 的文件（记录了我 2021 年学到的东西）。</p>
<p>当决定写博客时，我打算通过分享知识来学习。如果你想深入学习一些东西，请开始教别人。写博客就是一个很棒的方式。</p>
<h1 id="">找到你的动机</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/motivation.png" alt="motivation" width="600" height="400" loading="lazy"></p>
<p>拥有动机可以创造奇迹，但是没有它就很难继续做下去。作为内容创作者，最大的动力无疑是听到读者的反馈。积极的反馈和建设性的批评总是可以帮助你改进创造的内容。</p>
<p>但是有个问题，刚开始，很少有人会给你反馈。如果你是一个个人博主，失望的概率会很高。因此，拥有自我激励，对维持和继续你的工作是很有帮助的。</p>
<p>记住——不要放弃，保持动力。作为开发人员，你有很多东西要学习、分享和撰写。</p>
<p>💡 <strong>小提示：</strong> 如果你想以开发者的身份开始写博客，开发者社区有助于你保持联系、保持动力。有很多极其精彩的社区，如 <a href="https://hashnode.com/@atapas/joinme">Hashnode</a>，<a href="https://dev.to/">Dev.to</a>，<a href="https://community.codenewbie.org/">Codenewbie</a>，<a href="https://hackernoon.com/">Hackernoon</a>，<a href="https://forum.freecodecamp.org/">freeCodeCamp</a>，<a href="https://girlswhocode.com/">GirlsWhoCode</a>等，还有很多。</p>
<h1 id="">做好你的研究</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/research.png" alt="research" width="600" height="400" loading="lazy"></p>
<p>研究是关键。内容决定一切。</p>
<p>对博客来说，内容为王。作为开发者，我们有各种各样的想法、解决问题的步骤，以及想要掌握的新知识。但是最重要的是能把它们转化为优质的内容。通常，花时间把你的话题彻底研究明白，是很有必要的。</p>
<p>现在我来举一个关于内容研究的例子。假设你用<code>链表</code>解决了一个问题，而且是你第一次使用，你非常激动，想把学到的分享出来，以下是需要考虑的点：</p>
<ul>
<li>你需要大致理解<code>链表</code>以及已经被解决的问题的上下文</li>
<li>你需要理解<code>链表</code>的优缺点</li>
<li>你需要创建几个例子来演示如何用好它</li>
<li>你需要确保清楚地解释了你解决问题的方法，这样读者才能在他们自己的案例中使用</li>
</ul>
<p>💡 <strong>小提示：</strong> 一旦明白了你需要知道什么，你就可以从任何完备的资源中进行学习。你可以在 <code>Google</code>，<code>Quora</code>，<code>Reddit</code> 等上面进行搜索。<code>Stackoverflow</code> 同样也是一个优秀的平台，你可以用它来检索你的话题。</p>
<p>确保在取得进步时记下所学的内容，这些笔记最终将转化成你要撰写和发布的文章。</p>
<h1 id="">规划你的内容结构</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/plan.png" alt="plan" width="600" height="400" loading="lazy"></p>
<p>一旦完成了内容研究，下一步就是规划文章的结构。如果你的文章结构不完整而且混乱，那么再好的内容也会被读者忽略。</p>
<p>以下是一些小提示，帮助你用一种可读的方式来构建文章内容：</p>
<ul>
<li><strong>文章标题：</strong> 一个引人注目的标题可以吸引很多读者来访问你的文章。不管怎样，人们很难忽视阅读文章的标题。保持标题悦耳易记，能提升文章的流量。</li>
<li><strong>封面图片：</strong> 一张相关的封面图片使得文章更加具有吸引力。当你在社交媒体上分享文章时，一张创意十足的封面将吸引你的读者。</li>
<li><strong>简介：</strong> 这部分高度概括了你的文章内容。它可以是第一段，也可以是一个 <a href="https://en.wikipedia.org/wiki/Wikipedia:Too_long;_didn%27t_read">Tl;DR</a>，用以解释你打算在文章中介绍的内容。</li>
<li><strong>段落标题和子标题：</strong> 你应该将内容分解成几个关联的子话题。为了达到这个目的，创建几个部分，并提供与之相关的标题和子标题。例如，在这篇文章中，我创建了多个部分，给每个部分配上了标题，如<code>了解你的目的</code>，<code>找到你的动机</code>等。</li>
<li><strong>图形：</strong> “一张图片胜过千言万语”，因此请考虑用一些图表、图片等来支持你的内容。</li>
<li><strong>总结：</strong> 最后的总结部分，可帮助你的读者回顾到目前为止他们从文章中学到的东西。同样，对于有些读者，再次过来收集内容时，只要通过快速阅览总结部分就可以了，这很有帮助。</li>
<li><strong>重要的链接：</strong> 你可能希望以一个参考链接的列表来结束文章，以供读者进一步阅读。你也可以在这一部分列出你以前发布的文章的链接。</li>
</ul>
<p>💡 小提示：尝试在你的文章中使用一个统一的内容结构，这样你的读者会习惯它，然后会发现很容易理解。</p>
<h1 id="">写作工具</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/Tools.png" alt="Tools" width="600" height="400" loading="lazy"></p>
<p>创造优质内容很花时间。你可以使用一些免费可用的工具，使自己成为一个多产和高效的内容创造者。这里有一些你可能觉得有用的工具，</p>
<p>⚒️ <a href="https://www.notion.so/">Notion</a>：这个工具可以帮助你以高效的方式管理个人和专业的工作代办事项。任何时候产生一篇文章的想法或者你解决了一个有趣的问题，在这个工具中创建一项任务。你可以轻松排序，安排时间，分配任务。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-29.png" alt="image-29" width="600" height="400" loading="lazy"></p>
<p>⚒️ <a href="http://grammarly.com">Grammarly</a>：如果你跟我一样，是一个非英语母语者，有时可能会对语言的语法规则不够熟悉。</p>
<p>在这种情况下，像 <code>Grammarly</code> 这样的工具在各个方面扮演拯救者。它检查语法和拼写错误，建议对复杂句子重新措辞，纠正被动语态为主动语态，等等。你可以先使用试用版本，之后根据你的使用情况来升级到付费版。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-30.png" alt="image-30" width="600" height="400" loading="lazy"></p>
<p>⚒️ <a href="https://hemingwayapp.com/">Hemingway Editor</a>：这是另一个优秀的工具，用于协助你进行英语写作。如果你愿意，可以和 <code>Grammarly</code> 结合使用。副词、主动/被动语态，以及复杂的单词和短语，这些如果使用不当，它都能指出，这一点我很喜欢。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-31.png" alt="image-31" width="600" height="400" loading="lazy"></p>
<p>⚒️ <a href="https://www.canva.com/">Canva</a>：Canva 是进行设计、艺术和释放创造力的工具。在没有任何 <code>Canva</code> 经验的情况下，你依然可以用它来创建封面图像、文章图形、动画 gif 等。它慷慨的免费计划足以让你开始使用。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-32.png" alt="image-32" width="600" height="400" loading="lazy"></p>
<p>⚒️ <a href="https://pixteller.com/">Pixteller</a>：这是用于创建封面图像、图形等的另一个工具。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-33.png" alt="image-33" width="600" height="400" loading="lazy"></p>
<p>⚒️ <a href="https://getsharex.com/downloads/">ShareX</a>：它是一款超酷的生产力工具，用于截屏、制作动画图片、文件共享等。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-34.png" alt="image-34" width="600" height="400" loading="lazy"></p>
<p>⚒️ <a href="https://obsproject.com/download">OBS Studio</a>：这是一个免费的开源视频录制和流媒体工具。你可能会疑惑，为什么我写博客需要它？</p>
<p>有时，你可能想要创建一段视频，上传到 YouTube 或 Vimeo，并从你的文章中链接到该视频。你可以使用 OBS Studio 创建优质视频，它有很多自定义选项。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/image-35.png" alt="image-35" width="600" height="400" loading="lazy"></p>
<p>⚒️ <a href="https://serpsim.com/">SERP 片段生成器</a>：SERP（搜索引擎结果页）是我们在 Google 或 Bing 等搜索引擎输入查询后看到的页面。SERP 片段生成器可帮助你在发布文章之前确定合适的标题和元描述。</p>
<p>请参阅下图以找出限制范围内的标题和描述，以正确显示搜索结果。</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/serpsim_snapshot-1.png" alt="serpsim_snapshot-1" width="600" height="400" loading="lazy"></p>
<h1 id="">进行大量审核</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/reading.png" alt="reading" width="600" height="400" loading="lazy"></p>
<p>你写了一些东西，在发布或分享之前，需要检查错误并审核你的文章。检查，确保你的内容已经准备好进行发布。通常，你应该检查：</p>
<ul>
<li>拼写错误</li>
<li>语法错误</li>
<li>格式问题</li>
<li>标点符号</li>
<li>准确性</li>
<li>语言一致性</li>
</ul>
<p>在校对和审核方面，有一句名言可以激发灵感：</p>
<blockquote>
<p>“我发现修改你自己的作品的最好方法是假装它是别人写的，然后把它撕掉。” - Don Roff</p>
</blockquote>
<h1 id="">发布你的文章</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/publish.png" alt="publish" width="600" height="400" loading="lazy"></p>
<p>如果在审核之后，你对文章很满意，接下来一步自然就是发布它。你可能希望将其安排在一周中的特定日期进行发布，或者你想立即发布——这取决于你自己。</p>
<p>一般而言，最好是在你准备好文章时就发布。同样，你不应该赶着最后期限去匆忙发布。</p>
<p>💡 <strong>小提示：</strong> 发布你的文章必须是整个计划的一部分。如果你需要在一个特定日期发布文章，那就要你逆向规划相应的内容。千万不要为了匆忙发布，而妥协文章内容的质量。</p>
<h1 id="">在社交媒体分享你的文章</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/socialize.png" alt="socialize" width="600" height="400" loading="lazy"></p>
<p>社交媒体是一个极其强大的工具。作为博主，你应该积极利用它。</p>
<p>如果你希望文章尽可能多地吸引潜在读者，发表文章可能还不够。因此，在各种社交媒体平台上分享你的文章是个好主意。</p>
<p>你应该分享文章的链接到以下几个平台：</p>
<ul>
<li><a href="https://twitter.com/">推特</a></li>
<li><a href="https://www.linkedin.com/feed/">领英</a></li>
<li><a href="https://www.reddit.com/">红迪网</a></li>
<li><a href="https://news.ycombinator.com/">黑客新闻</a></li>
<li><a href="https://facebook.com/">脸书</a></li>
</ul>
<p>还有一些平台，单独分享链接并不会有什么效果。你可以创建适合主题的封面照片或图表，然后把它和链接上传到像 <a href="https://www.instagram.com/">Instagram</a> 和 <a href="https://in.pinterest.com/">Pinterest</a> 这样的地方，记得使用正确的主题标签。</p>
<p>💡 小提示：分享博客链接时，请确保你遵守了每个社交媒体平台各自的规则。如果不这么做，你的账号可能会被标记或者被禁掉。</p>
<p>还有另一种令人兴奋的方式来分享你的内容，那就是交叉发布它。如果允许的话，你可以在其他博客平台上重新发布你的文章。例如，一篇发布在 <code>Hashnode</code> 平台上的文章，可以重新发布在 <code>Dev.to</code> 平台上，反之亦然。</p>
<p>💡 <strong>小提示：</strong> 交叉发布文章时，你可以在原始文章的链接上设置 <code>Canonical URL</code>。这种方式告诉像谷歌这样的搜索引擎，哪个是原始的副本，同时消除重复的内容。</p>
<h1 id="">优秀的博客平台</h1>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/04/paltform.png" alt="paltform" width="600" height="400" loading="lazy"></p>
<p>好了，现在我们已经知道了如何写一篇文章并进行分享，以便他人可以阅读。接下来我们来了解一些你可以开始入门的博客平台。</p>
<p>以下是一些平台，你可以开始在上面写博客，进而成为社区的一份子。</p>
<ul>
<li><a href="https://hashnode.com/@atapas/joinme">Hashnode</a></li>
<li><a href="https://dev.to/">DEV Community</a></li>
<li><a href="https://chinese.freecodecamp.org/news/">freeCodeCamp News</a></li>
<li><a href="https://hackernoon.com/">HACKERnoon</a></li>
<li><a href="https://daily.dev/blog">daily.dev</a></li>
<li><a href="https://www.codenewbie.org/">Codenewbie Community</a></li>
<li><a href="https://www.educative.io/edpresso">Educative Edpresso Shorts</a></li>
<li><a href="https://cofounderstown.com/">CoFoundersTown</a></li>
</ul>
<p>很多专栏和组织会雇佣并支付报酬给内容创作者。作为一个开发者博主，这可能会带来很多自由职业的机会，你会因为分享你的内容而获得报酬。你还可以为开源文档和其他项目做出贡献。</p>
<h1 id="">总结</h1>
<p>总结来说，</p>
<ul>
<li>作为一个开发者，写博客作为一项业余活动，是可以管理的，并不会影响你的工作输出。</li>
<li>你已经解决的问题，以及你在 Google、Quora 和 Stackoverflow 上的搜索，很可能成为你的写作灵感来源。</li>
<li>在开始写文章之前，确定你的目标。背后的意图可以是琐碎的，也可以是很重要的——无论哪种都可以。</li>
<li>保持动力。</li>
<li>使用合适的工具，使你成为一个多产的作者。</li>
<li>规划内容结构，审核你的文章，然后发布它们。</li>
<li>使用社交媒体工具来分享你的文章。</li>
<li>有一些很棒的博客平台，尝试一下，成为开发者社区的一份子。</li>
<li>保持学习，保持写作，以及保持分享。</li>
</ul>
<h1 id="">在我们结束之前……</h1>
<p>我希望这篇指南可以帮助你创作更多好文章。</p>
<p>让我们保持联系。你在可以在 <a href="https://twitter.com/tapasadhikary">推特 (@tapasadhikary)</a> 上面找到我，请随时关注。</p>
<p>你也许还会喜欢以下文章：</p>
<ul>
<li><a href="https://blog.greenroots.info/how-to-find-blog-content-ideas-effortlessly-ckghrjv5200o7rhs1ewn40102">如何毫不费力地找到博客内容创意？</a></li>
<li><a href="https://blog.greenroots.info/where-to-begin-some-practical-tips-from-a-beginner-ckcu5llil00ncw8s11dr1fh2w">从哪里开始？给新手的一些实用技巧</a></li>
<li><a href="https://blog.greenroots.info/why-do-you-need-to-do-side-projects-as-a-developer-ckhn5m5km05teajs1fvjd7u5f">作为开发者，你为什么需要做业余项目？</a></li>
<li><a href="https://blog.greenroots.info/16-side-project-github-repositories-you-may-find-useful-ckk50hic406quhls1dui2d6sd">你可能觉得有用的16个业余项目的 GitHub 仓库</a></li>
<li><a href="https://chinese.freecodecamp.org/news/learn-something-new-every-day-as-a-software-developer/">作为一个软件开发者，如何每天学点新东西</a></li>
</ul>
<!--kg-card-end: markdown--><p>原文：<a href="https://www.freecodecamp.org/news/technical-blogging-basics/">Technical Blogging Basics – How to Write Articles as a Developer</a>，作者：<a href="https://www.freecodecamp.org/news/author/tapas/">TAPAS ADHIKARY</a></p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
