# 如何寫作
關于寫作,我們為什么要寫作,這是一個前提。
### 為什么寫作
無論是否是技術人員,我覺得都應該堅持寫作。寫作帶給你的是思維的總結,因為有些事情你只是去想,貌似是很簡單。當你去深入思考,其實又是另一個境界。我覺得寫作能幫助到我最大的一點是,理清思路。
關于其他,我也比較推薦劉未鵬的兩篇博客:
- [為什么你應該(從現在開始就)寫博客](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設置
- 附錄
- 計算機科學與技術
- 網站
- 書籍
- 工具