# 如何写作
关于写作,我们为什么要写作,这是一个前提。
### 为什么写作
无论是否是技术人员,我觉得都应该坚持写作。写作带给你的是思维的总结,因为有些事情你只是去想,貌似是很简单。当你去深入思考,其实又是另一个境界。我觉得写作能帮助到我最大的一点是,理清思路。
关于其他,我也比较推荐刘未鹏的两篇博客:
- [为什么你应该(从现在开始就)写博客](http://mindhacks.cn/2009/02/15/why-you-should-start-blogging-now/)
- [书写是为了更好的思考](http://mindhacks.cn/2009/02/09/writing-is-better-thinking/)
程序员是理科出生,写文章是文科的特征。但是程序员养成写作的习惯,对编程也是很用用处的,比如:
- 写文章和写代码最核心的共同之处在于它们都需要清晰思考的能力。好代码与好文章一样都需要言简意赅,不然就会浪费 CPU 资源或人的精力。
- 软件工程师应该写作因为现在开发协作变得越来越重要。不论是 GitHub 评论、代码注释,还是技术文档都需要清晰准确的文字。良好的写作能力方便了人们之间的交流,使得项目更好地运行下去。
- 即使没人读你的文章,写作的过程也是有益无害。它帮助你理清思路,明确对于某个问题的看法,加强或削弱你的某种观点。把凌乱的想法汇聚成精简的文字非常有价值。
### 用什么写作
[Markdown](http://zh.wikipedia.org/wiki/Markdown)是我极力推崇的一种通用格式。
但是目前存在多种解释器,导致语法有些混乱,但是熟悉标准的语法,依然能够写好文章。
说几点常用的:
- 删除线: 需要删除的内容前后添加`~~`。
- 强制断行: 正常,回车后形成的断行,不会被 Markdown 解析为断行,需要在断行前面段落后加两个空格或者写入`<br/>`标签。
- 水平分割线: 三个以上的星号,减号,或者下划线,除了空格,不允许出现其它符号。`-----`。
### 在哪里写作
小时候我们常常使用的是笔和纸,形式多为日记。其实日记并没有什么不好,但是大多数人应该和我应该,会把日记写成流水账,没有太大的意义。
现在是互联网的时代,手机和电脑可以替代我们完成输入,并且记录的形式也多样化,除了文字还可以记录声音,图片和视频。
如果是个人的记录,我比较喜欢使用云笔记,比如印象笔记或者为知笔记。设置一个访问密码,以防无意被他人阅读。
技术性的文章,我更喜欢以博客的形式去发布,一方面会有知识积累的成就感,另一方面也可以与他人交流。博客可以自己搭建,比如github+jekyll,或者使用简书这样的web服务。
### 参考文档
- [Markdown 标准格式](http://jgm.github.io/stmd/spec.html)
- [为什么软件工程师应该养成写作的习惯?](http://www.36kr.com/p/218600.html)
- [You Should Write Blogs](https://sites.google.com/site/steveyegge2/you-should-write-blogs)
- [技术文章的写作技巧](http://www.philo.top/2015/02/19/%E6%8A%80%E6%9C%AF%E6%96%87%E7%AB%A0%E7%9A%84%E5%86%99%E4%BD%9C%E6%8A%80%E5%B7%A7/)
- 介紹
- 程序员基础知识
- 字符编码
- 技术名词
- 语义化版本
- 命名规范
- 书写文档
- 开源协议
- 目录结构
- 正则表达式
- 平凡之路
- 数据结构与算法
- 堆和栈
- 浮点数类型
- XML和JSON
- 算法学习之路
- 排序算法
- 代码架构
- 设计模式
- 常用的Javascript设计模式
- 面向对象编程
- 继承
- 多态
- 封装
- 面向接口编程
- 代码评审
- 六种量化你代码的方式
- 程序员必备的代码审查(Code Review)清单
- 服务器部署
- AWS简介
- 网络知识
- HTTPS, SPDY和 HTTP/2性能的简单对比
- HTTP状态码
- 懂点设计
- 佳作赏析
- 无缝平铺
- Sketch学习
- 设计与实现的平衡
- 写点东西
- 使用gitbook
- 合格的PM
- 一个好的产品经理
- 产品经理的技能
- 团队合作
- 关于招聘
- 培训新人
- 领导能力
- 获取知识
- MOOC
- Podcasts
- 英语学习
- 设计学习
- 前端学习
- iOS学习
- 游戏开发
- 关注健康
- 过劳检测
- 关于睡眠
- 提升效率
- 学会阅读
- 学会提问
- 善用搜索
- 学会写作
- 时间管理
- 知识管理
- 文件管理
- 密码管理
- 制作视频
- 制作PPT
- 论音乐对效率的影响
- 程序员效率指南
- SOHO
- 创业资源
- Hacker
- 保护隐私
- 关于工作
- 找工作前需要思考的问题
- 原则与技巧
- 关于简历
- 其他方面
- 硬件相关
- 常用软件
- Windows
- 硬件配置
- 系统安装
- 常用软件
- Mac
- 通用设置
- 权限问题
- alias设置
- 常用软件
- 开发环境
- 快捷键设置
- 常用终端命令
- dotfiles
- Android
- 常用软件
- 如何登录美国区GooglePlay
- 开发工具
- git
- EditorConfig
- node
- shadowsocks
- ST3--Windows篇
- ST3--Mac篇
- gulp
- 字体的选择
- Emacs
- WebStorm
- tmux
- Sketch
- Sketch中文学习资料
- Trello
- 使用Trello管理项目的经验
- git进阶
- 15分钟学会使用Git和远程代码库
- GitHub秘籍
- JetBrains
- IDE设置
- 附录
- 计算机科学与技术
- 网站
- 书籍
- 工具