2008年。我開始在CSDN写技术博客。

在此之前,我的理想是写出受人待见的小说来。我也以前在网络论坛上笔耕不辍获得一些成绩,也以前发表过一些散文以及小说。而那一年,当我再次拾起笔来写东西时。却选择了技术。这个世界上,唯一不变的就是变化。随性如我,什么都能接受。理解不了就接受,不想接受的也接受,目标达不成也能够接受。于是技术博客写了几个月不想写了,也说服自己接受了。看起来什么都无所谓的样子,不过我并不喜欢杨坤的《无所谓》这首歌。

2013年接近年底的时候,我决定又一次開始撰写技术博客。

这次是经过了理性的思考,而不是2008年那时的一时兴起率性而为。

2013年的时候,我感到自己的脑容量開始变小,从前做项目时用到的非常多技术慢慢地随风远去。最终渐行渐远渐无书,费尽思量也难以述说了。难道是迭代周期变短了吗?难道是我这台机器開始老化了吗?这个时候我能够回顾的,不过当初学习某项技术时以前遇到过挫折困顿彷徨犹豫,以前辗转反側寤寐思服。再无其它,我不想这样:年老时蹲在门槛上。唯一能够回顾的,就是年轻时以前掌握了8种语言,开发过100款软件,回顾我的技术之路,就卡在“想当年……”这一句上。

正如卡夫卡说过的那句“不论什么障碍都能够粉碎我”一样,某些简单的问题总能把人绊倒,资深的技术人员总不能理解为什么会这样。

其实他忘了自己以前走过相同的路。罗素说的对,參差多态乃幸福本源,但我们都太善于以己度人、以己绳人了。

学习过程的艰辛,日积月累的渐悟或刹那之间的醍醐,随着岁月的流逝,终会成为遥远而模糊的回顾;而你当初大惑不解屡次跌倒的坑洼。学成之后看起来是那么“不可思议”。以至于你忘了以前这样走过,不能理解别人为何总在一个地方犯错。的确,谁会在一再跌倒的地方做上记号,永志不忘?谁会把推敲再三的心得分门别类整理成文,开源给后学者以使其免蹈覆辙?其实我从未想主动忘记自己半路出家初学编程的痛苦,但子在川上曰,逝者如斯夫。淡忘总在发生。而我们依然前行,假设不予以记录。岁月的风霜雪雨终将掩埋你曾走过的路。

所以。写文章这件事,很多其它是为了自己,记下亦是放下。却又可在想用之时依据记下的随时唤醒沉睡的经验记忆,对别人或又能解其困惑,利己利人之事。何乐不为?

所以我决定又一次開始技术博客的更新之旅。既能够识别自己的学习模式,固化已有的经验,形成系统的知识体系,又能够温故知新,增益知识的广度和厚度。而本书的写作正是缘起于我博客上的文章,不能不说是一次意外之喜。我愿意在有限的时间内不计代价地完毕本书,这是我个人的兴趣所在。一个人总应该在某个时候有某件事,让你全力以赴地去完毕,不计成败,不想得失,你全部的动力,就不过你喜欢,你情愿把它做好。

《Qt on Android核心编程》前言:为什么写作本书的更多相关文章

  1. Qt on Android 核心编程

    Qt on Android 核心编程(最好看的Qt编程书!CSDN博主foruok倾力奉献!) 安晓辉 著   ISBN 978-7-121-24457-5 2015年1月出版 定价:65.00元 4 ...

  2. 《Qt on Android核心编程》夹

    china-pub在售前,售中环节退房,折扣低! 有朋友想看看<Qt on Android核心编程>的文件夹,So-- 文件夹     <Qt on Android核心编程>文 ...

  3. 《Qt on Android核心编程》介绍

    <Qt on Android核心编程>最终尘埃落定.付梓印刷了. 2014-11-02更新:china-pub的预售链接出来了.折扣非常低哦. 封面 看看封面的效果吧,历经几版,最终就成了 ...

  4. 《Qt on Android核心编程》相关资源

    有不少朋友反馈在搭建 Qt on Android 开发环境时遇到了问题,诸如 Android SDK 无法下载. jdk 找不到合适的版本号.创建 AVD 出错等等.为此我把与<Qt on An ...

  5. QT for Android记录

    1.<Qt on Android核心编程> blog: http://blog.csdn.net/foruok/article/details/38510195

  6. Qt on Android:资源文件系统qrc与assets

    使用 Qt 为 Android 开发应用时,有时我们的应用会携带一些资源文件,如 png . jpg 等,也可能有一些配置文件,如 xml 等.这些文件放在哪里呢? 有两种方式: qrc assets ...

  7. Qt for Android开发入门

    1.    Qt for Android环境搭建 1.1    打包需要的工具 1.2   JDK安装 如果之前配置过,就可以跳过这一步. 下载java jdk 64:java jdk 1.8 x64 ...

  8. QT核心编程之调试技术 (g)

    Qt应用程序的调试可以通过DDD进行跟踪调试和打印各种调试或警告信息.DDD(Data Display Debugger)是使用gdb调试工具的图形工具,它安装在Linux操作系统中,使用方法可参考D ...

  9. 为什么qt成为c++界面编程的第一选择

    为什么qt成为c++界面编程的第一选择 一.前言 为什么现在QT越来越成为界面编程的第一选择,笔者从事qt界面编程已经有接近8年,在这之前我做C++界面都是基于MFC,也做过5年左右.当时为什么会从M ...

随机推荐

  1. Task.Run 和 Task.Factory.StartNew

    在.Net 4中,Task.Factory.StartNew是启动一个新Task的首选方法.它有很多重载方法,使它在具体使用当中可以非常灵活,通过设置可选参数,可以传递任意状态,取消任务继续执行,甚至 ...

  2. DataTable And DataRow

    /// <summary> /// 将DataTable的字段名全部翻译为中文 /// </summary> /// <param name="table&qu ...

  3. SQL基本操作——日期函数

    SQL日期:当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配.只要数据包含的只是日期部分,运行查询就不会出问题.但是,如果涉及时间,情况就有点复杂了.在讨论日期查 ...

  4. 调用.NET Serviced Component引发的性能问题及其解决

    在企业用户环境里,.NET Serviced Component使用广泛.它比较好的把传统COM+封装和.NET应用逻辑衔接了起来,在服务器端应用起到重要作用..NET Serviced Compon ...

  5. dubbo之配置规则

    配置规则 向注册中心写入动态配置覆盖规则 1.该功能通常由监控中心或治理中心的页面完成. RegistryFactory registryFactory = ExtensionLoader.getEx ...

  6. DOS批处理命令-字符串操作

    1.字符串替换 语法结构:%变量名:替换前=替换后% @set str=teh cat in teh hat @echo %str% @set str=%str:teh=the% @echo %str ...

  7. C# Task多线程

    来自Eleven老师示例 private void btnTask_Click(object sender, EventArgs e) { Console.WriteLine(); Console.W ...

  8. shouldComponentUpdate不能直接比较object

    凡是参阅过react官方英文文档的童鞋大体上都能知道对于一个组件来说,其state的改变(调用this.setState()方法)以及从父组件接受的props发生变化时,会导致组件重渲染,正所谓&qu ...

  9. u-boot常用命令

    查看ip地址等信息 print tftp相关 设置ip地址 set ipaddr 192.168.1.5 设置tftp所在电脑ip set serverip 192.168.1.8 最后必须输入sav ...

  10. [LUOGU]4932 浏览器

    \(\_\_stdcall\)大佬出的题\(Orz\) 我们惊奇地发现,加入\(\_\_popcount(x)\)和\(\_\_popcount(y)\)的奇偶数性相同,那么\(\_\_popcoun ...