分类 技术博客 下的文章

站在巨人的肩膀上编程----1:深入浅出谈多态

  本文结合示例程序分析面向编程语言的多态特性的几大作用,正因为有这几大作用,能够解决程序员在编程中遇到的一系列烦恼,所以多态才会被设计出来并被广泛应用。

  那么上述所说的程序员面对的烦恼都是哪些呢?又是如何通过多态来解决这一系列烦恼的呢?

  我个人认为,作为程序员,非常有必要知其然,且知其所以然,也就是说不仅需要熟练使用编程语言来完成编程目标,也要知道为什么要这样编程。我认为编程语言的使用者都是站在巨人的肩膀上来完成目标的,因为编程语言的发明者以及其改进者,早已对我们当前碰到的问题踩过坑或者预想过,所以在编程语言中加入了一系列特性,让后面的编程者通过该特性的运用,直接越过这一个坑,故曰:站在巨人的肩膀上编程。

- 阅读全文 -

使用 Tesseract 进行文字识别

1. 安装 Tesseract、字库、jTessBoxEditor

  使用默认路径安装 Tesseract ,本文 Tesseract 版本3.0.5,安装的时候可手动勾选安装中文简体字库( chi_sim.traineddata)用于识别中文,鉴于安装页面的下载速度较慢,可在安装完 Tesseract 之后再额外下载字体,在 Tesseract 的GitHub 主页有字体大全:tesseract-ocr . 把下载的字体如chi_sim.traineddata 放到安装目录下的\tessdata\目录下。添加 Tesseract 安装根目录到环境变量。另外安装 jTessBoxEditor 用于矫正识别效果从而训练自己的一套字库。

- 阅读全文 -

数据表字段比较工具

一、需求描述:

  在数据表中使用两种不同的方法(可通过某些特殊字段的数据区分)插入一条数据,比较这两条数据所有字段是否一致,同时可以设置白名单,在白名单中的字段允许不一致。

二、设计分析:

  功能很简单,如果表字段很少,直接用肉眼比较很快。但如果数据表的字段非常多,用肉眼一个个去比较就太费劲了。另一种不需要写代码的方法就是,把该两条数据都select出来,然后复制整行,通过诸如UltraEdit Compare等工具自动比较两个数据是否全一致,但这种方法有一个工作量就是:不一致的字段是哪些没法提示,并且也没法自动过滤白名单。既然如此,那就写个小工具程序吧。

- 阅读全文 -

使用markdown做本地笔记软件

  因公司一众云笔记软件都被屏蔽用不了,只能用本地笔记,考虑到很多笔记要放图片,一开始只能用word,但那种打开速度和排版实感痛苦,所以只能是把无图片的笔记用markdown记录,有图片的用word。然而,今天才知道markdown其实是可以插入本地图片的!太棒了,那markdown作为本地笔记记录方式实在太适合了,不仅有漂亮的代码排版,字体排版,还能带目录,功能相比word效率高太多,我使用的是haroopad-markdown编辑器。

- 阅读全文 -