关于写博客的一些心得

一, 前言

虽然我的博客也不是很多,但多多少少也总结了一些自己在写博客的心得,写博客很麻烦,那为什么还要写博客呢 。

1.1 开源分享

互联网软件行业的产物之一:开源。绝对是人类历史上最令人不可思议的现象之一。因为它违反了传统学经济常识,依托的仅仅是人们内心对分享知识的渴望。
我对此深有体会,初学一个技术,看了很多文章,依然感觉很难理解,此时就会产生一种冲动:我如果学会了,理解了,一定要写出一篇大家都能看懂的文章,把这个技术知识的来龙去脉和混淆点都写出来,让其他人少走弯路。

1.2 教学相长

号称这个世界上最好的学习方法:费曼学习法。一言以蔽之:把别人教懂,你就学会了。用个图表示一下
image
通过这张图可以看到,也许我们学会了,但未必能讲明白。这需要练习自己的表达能力,多看看别人的文章,学习怎么表达 才能让更多人理解自己的意思,这也是一项很重要的工作技能

1.3 追求原创

虽然csdn支持转载,但我从来不转载复制别人的文章,一直坚持自己原创。大家应该都能理解:网上一搜一大片,但全都一个样。很多人连转载的网址都不写,这是对原创的极大不尊重。
写博客确实很费时间,把一个自己基本都懂的技术总结出一篇文章也得两三个小时。如果是写一个自己懂得还不是那么全面的技术,加上自己查资料学习/看源码/写demo,为了让文章更加容易理解,构思排版顺序,差不多需要两三天甚至一个星期的业余时间,这也是很多人不愿意写原创博客的原因。
当然,转载有一点点好处:由于某些网站本身长期缺乏维护,有时候原创的文章有很多图片显示不出来 甚至整个文章都丢失,转载的能给我们保留了一个个分布式副本

1.4 不追求点击量

不要追求点击量,我觉得那并没有什么意义。要追求点击量其实特别简单,就写:xxx的使用方法, 或者直接贴一段某个API的demo,连一句解释都没有 就能成为一篇博客,五分钟写完,而且大家都特别愿意去看。
所谓“面向搜索引擎开发”,不过就是拿搜索引擎当字典用了。在如今的浮躁的社会,大家并不愿意静下心来看一篇文章,都想以最小的代价找到解决办法,字越少反而越受欢迎。还有更简单的就是直接转载别人的文章,我们经常可以看到很多转载的文章比它的原创文章点击量还要多。
我一般很少写那种孤零零的技术点,多多少少也会加点自己的想法,把尽量多的知识串联在一起,否则会觉得写出来的不是博客,而是“技术手册摘要”。

二, 写博客流程

这仅仅指的我自己的写博客习惯,非固定流程。因为担心自己辛辛苦苦写的文章被csdn弄丢,所以我不会直接在线写。(为什么用csdn?因为这是个大网站,不用我们自己刻意做SEO,就可以让自己的文章最大程度的被需要的人搜到)

2.1 用有道云笔记写初稿

虽然博客最终是使用markdown写的,但我觉得一开始使用普通富文本形式写更加自由,不用考虑格式排版(尽管markdown就是为了让人少考虑排版),让自己专心的写文字,这第一版相当于“草稿”。

2.2 写Demo

博客中加上示例demo比空口说更能帮助读者理解,但贴太多无关代码又过于占空间。所以我觉得把关键代码贴上去,整个demo单独让读者去看会比较合适。
我们当然可以为了写博客,写一个个临时的项目。但在我接触Github之后就发现,即使是自己平时的练习demo,放到代码托管网站上也是一个更好的选择。因为这也算是自己的代码积累,什么时候想看了,回头看或想优化修改也是很方便。
但是GitHub有个最大的问题就是网速。而在这敏感时期,这个被微软收购的公司又增加一丝不确定因素。好在我们有其他替代方案Gitte(码云),使用体验也不错(我们大部分人写的东西都还没有牛逼到需要全世界技术人员关注的程度,所以用用国内的代码托管就完全足够了)。我的Gitte上的demo路径:blog-source-java,之后的博客代码基本都会放在这里(除非换其他语言)。

注意:不要把公司的代码直接贴上去。无论这代码是否有价值,都可能面临法律风险。而且直接贴生产代码,复杂无关的业务代码也很难让人理解重点在哪。我之前有一篇博客一个bug的处理过程就是公司代码的抽象demo。

2.3 画图

一图胜千言。对于复杂的概念及流程,使用流程图/UML甚至思维导图,会更能让读者快速理解文章意思。包括平时在公司做内部交流培训,如果没有充裕的时间准备,那么至少我也会把需要讲的东西,把图画出来。后面我会推荐一些画图工具。

2.4 往有道云笔记的Markdown上挪

在上面步基本思路及材料都有的情况下,就可以把前面写的文字图片一点点挪到Markdown文档上了,在往markdown文档上复制的过程中,对语言的措辞进一步修正。不知道怎么用Markdown? 网上资源很多,我就不列举了,而且使用起来确实不复杂,有道笔记上这里也有帮助文档可以看一下。
image

2.5 复制到CSDN

写过博客的人,在这里可能会有疑问:前面我们已经使用有道云笔记的markdown写完了,但里面的图片怎么处理。包括我在内,之前写markdown文档,图片都使用的本地路径,这样直接复制到csdn肯定是显示不出来的,需要一个一个传到csdn。对于我们写Java的人,是很难容忍这种平台不兼容的文档的,总是希望一次编写 到处运行。小技巧:把图片放在有道云笔记里,然后分享出去,用网页打开,复制出图片的外网路径。其实中间我是想过把图片放在gitte上的,结果发现gitte页面上的图片,后台返回的是一个base64的图片超长字符串,而不是个URL地址,没法插入markdown文档

2.6 时常翻看,找“bug”

由于是自己写,没有正规出版书籍的人那样,有自己专门的“校审人员”,只能自己慢慢纠错。
前期主要是错别字问题比较多,
后期慢慢在学习的过程中会发现之前文章的知识点/观点有问题,再作进步解释说明修正。

2.7 整体流程

image

三, 相关工具

3.1 笔记工具

有道云笔记对我的三个作用

  1. 一个是工作备忘,日常随笔。
  2. 二是把网上看到的好文章复制到笔记中,这样就可以把博客当作真正的原创的地方,而不是当作笔记天天转载别人的文章了,我的有道笔记目前已经占用1.3G空间,大部分都是这块资源。
  3. 三是个人的一些日志日记/感想/读后感/观后感/灵感等等个人文字。

为什么我一直用有道云笔记。主要有以下几个考量

  1. 功能基本满足需求。
  2. 该工具要可持续(不会因为收费/公司倒闭等不确定因素而不能用,对笔记这种重要的东西尤其如此)。
  3. 支持多种客户端,Linux上虽然没有客户端,但可以使用Chrome浏览器打开有道笔记网页版。(现在我工作学习基本离不开云笔记,无论在什么机器上,我都希望能打开)

3.2 画图工具

推荐:processOnGitmind
原因:之前我是很喜欢用微软的visio的,无论是在公司还是我自己的电脑上。visio强大的画图功能都能满足我的需求。在公司的时候,有时别人可能推荐其他某些专门画某些特定类型的图的画图工具,比如专门画UML的,可能比visio更专业,但我都拒绝使用。因为画图是为了让大家一眼就形成共识的东西,形成通用的惯例特别重要,而不是说画的有多漂亮。而依托office的Visio在“通用性”上做的很好。
但是,自从公司收到微软的“律师函”,加上后来自己买了Mac,我就放弃了visio(自己的windows笔记本上的也卸载掉了)。开始寻找替代产品。然后找到了国产软件“亿图”,基本能替代visio,可惜依然要收费,但有一点作用:在公司之前画的visio图,可以使用“亿图”打开
那以后新画图使用什么呢,在线画图工具我觉得是最合适的。而且这一块的产品,国产软件很多,尤其是老牌子processOn。起初我还一直在纠结,用哪家的。因为processOn虽然稳定,但只能画9张免费的图。而新晋挑战者Gitmind虽然没有前者那么稳定,但目前是免费的,而且界面要比processOn漂亮简洁。可转念一想,Gitmind虽然是现在免费,等它稳定了,肯定还是要收费。。。
可能很多人不理解我的纠结,不就是画个图吗,能画多少。 这方面我确实有自己的一点执念,从刚开始工作,接触到画图工具,我就发现 自己是一个特别喜欢通过各种流程图,脑图来表达的人。所以我很在意这个画图工具的可持续使用性,怕哪天画图工具公司倒闭,我的图就都没了。
不过我后来突然想明白:为什么不导出成图片呢,其实我们画的图很少出现 时隔几个月还需要改动的。所以直接导出图片是很合适的,即便某一天再次需要使用并改动,大不了照着重画一张即可。这样产生的第二个很明显的好处:我们可以一直白嫖画图工具。无论是在线的还是不在线的,随便他们什么时候倒闭/限制使用,总不至于jpg格式也限制使用吧,哈哈哈。
当然 还想多说一句,由于我并不是专门做产品设计的,所以画图并不是我的主要工作,如果是工作需要经常画图的,建议还是购买会员,支持一下我们的国产软件迭代升级,毕竟确实也不贵。

3.3 LaTeX数学公式编辑器

理工博客,数学公式往往是避免不了的,LaTeX是首选工具。
可以简单理解为这是一个编写数学公式的规范(有点像html技术),利用特有的符号规范,用字符串写出特殊的“键盘上没有的数学符号”,然后由解析软件解析渲染出数学公式。(LaTeX本身除了是一个规范,也是一个编辑解析软件,但由于太大,我们只为写出一些简单的数学公式就用不到这个软件了)。
我第一次接触这个技术是通过一个视频:一个大学生上课听讲的时候,由于有大量数学公式,其他同学都用手写笔记,而他就是使用自己笔记本电脑记笔记。老师讲的各种复杂公式他都熟练的使用笔记本敲出来,不但能写出复杂的数学公式,而且文档的排版还很漂亮。当时感觉特别震惊,后来知道他用的就是LaTex这么个神器。
其实很多文本编辑器/笔记工具都支持该规范。包括我们常用的各种云笔记/各种在线数学公式编辑器/各种独立的数学公式编辑器/各种office软件/各种画图工具。(特别说明一下,有道云笔记中的markdown中写LaTex公式方式:有道云笔记Markdown指南 。。。有种打广告的嫌疑)

推荐:LaTeX在线:吴文中数学公式编辑器。这是一款在线有“按钮”辅助的LaTex数学公式编辑器。
虽然这个在线工具支持“按钮选择”,但如果一点都不了解LaTex规范的话,可能还是不太好用这个软件,下面介绍一些常见的简单数学公式写法,这样即使没有这样的辅助工具帮忙,你也可以写出简单的公式

符号名称符号编码示例编码示例效果
除号\div4 \div 2 = 2 4 ÷ 2 = 2 4 \div 2 = 2 4÷2=2
点乘\cdotx \cdot y x ⋅ y x \cdot y xy
大于等于\geqx \geq y x ≥ y x \geq y xy
小于等于\lex \le y x ≤ y x \le y xy
不等于\nex \ne y x ≠ y x \ne y x=y
下标_a _ k a k a_k ak
指数^a ^ x a x a^x ax
对数\log\log_{2}^{8} k log ⁡ 2 8 \log_{2}^{8} log28
二次方根\sqrt\sqrt{n+1} n + 1 \sqrt{n+1} n+1
多次方根\sqrt[]\sqrt[4]{n+1} n + 1 4 \sqrt[4]{n+1} 4n+1
分数\frac{}{}\frac{1}{n+1} 1 n + 1 \frac{1}{n+1} n+11

两个比较特殊的符号

  • 分段函数
    由于CSDN的博客对分段函数解析有问题,下面的这段我只能用截图
    在这里插入图片描述
  • 空格
    空格涉及到间隔大小(下面从大到小依次列举)
符号名称符号编码示例编码示例效果
两个quad空格\qquadx \qquad y x y x \qquad y xy
quad空格\quadx \quad y x y x \quad y xy
2/7quad空格;x \; y x    y x \; y xy
1/3quad空格\x \ y x   y x \ y x y
1/6quad空格,x \, y x   y x \, y xy
无空格x y x y x y xy
紧贴\!x \! y x  ⁣ y x \! y xy

用数学公式编辑器生成完数学公式,我习惯直接截图,以图片的形式插入markdown,因为文章中的图片肯定是避免不了的,但对数学公式代码块的识别符号,各个markdown软件却不一定兼容,比如有道就是`$$`(两边有两个特殊的点),而其他很多软件一般都是$$。目的还是为了 一次编写 到处运行

四, 总结

以上仅仅是我自己目前写博客的经验,也许之后还会有新的发现,如果大家有什么更好的学习方式,可以留言交流。
但无论技巧如何,目的都是希望自己写的博客能帮助到更多的同行,大家共同进步

五, 参考链接

有道云Markdown输入数学公式
Latex中的空格

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值