很久之前就见过同事用过Fish Shell
,看到几个非常棒的特性和效果,比如下面两个特性就非常吸引我。
利用Tesseract图片文字识别初探
一直以来都想尝试一下图片的中文识别,直到最近才有点空闲时间,主要目的是证实一下到底可不可行,正确率能否达到 95% 以上。自己从头写起十分费时间,因为图片处理很麻烦,所以我选用了Tesseract OCR
。
所谓 OCR
(Optical Character Recognition)是指对文本资料进行扫描,然后对图像文件进行分析处理,获取文字和版面信息的过程。OCR
是图像识别领域中的一个子领域,该领域专注于对图片中的文字信息进行识别并转换成能被常规文本编辑器编辑的文本。
看看程序猿是如何来下载和处理视频
Leiningen + Clojure Hello World!
我们之前已经写过Leiningen + Clojure之旅一篇Blog安装Leiningen。
今天我们在看看如何结合Leiningen写一个Clojure的Hello World,毕竟开始一门语言,都是从Hello World开始。
靠谱的产品经理之七字真言
工作那么多年,合作过的产品经理有很多,但是被我和工程师团队认为靠谱的产品经理却不多,工程师也经常吐槽产品经理不靠谱(貌似,我们之前合作过靠谱的产品经理女性居多,也不知道是什么原因……)。
黑客的统计学
最近看到一个题为《Statistics for Hackers》(黑客的统计学)的PPT,非常有意思,和大家分享一下。
使用 lsof 代替 Mac OS X 中的 netstat 查看占用端口的程序
众所周知水果系统内核是有 BSD 血统的 Darwin
,OS X 自带的很多 CLI 工具也是 BSD style 的,有一部分使用起来和 Linux 无异,有一部分可以通过 brew
安装 GNU 版本(如 tar
),但是 OS X 的 netstat
不能查看使用端口的程序名让我一直很不爽,而且也没找到 GNU 版本,于是去搜了一下解决办法,stackoverflow 上的结论基本都是建议使用 lsof
代替 netstat
进行查看:
sudo lsof -nP -iTCP:端口号 -sTCP:LISTEN |
任意文件下载漏洞的简单防护措施
我们在开发Web应用时,经常会提供文件下载的功能。工程师们一般会考虑遵循“单一原则”,会开发一个将请求中的file
或filePath
作为参数,来下载指定的文件。这样开发一个下载的功能,就能支持所有的下载需求了。
比如,输入这样的URL
就能够下载123.txt
这个文件了。
这样的确很方便,但是,大家有没有想过,这样的功能可能会出现什么样的安全隐患或者漏洞呢?
使用Junit的一些的高级用法
Junit
是Java开发领域中非常普遍的单元测试框架,不过,大部分的使用者仅仅只是使用它一部分的功能。
先整理一部分相对不常用,但是个人觉得非常有用的功能(其他的慢慢补充),希望对大家有所帮助。
Java Stream详解
Stream是 Java 8新增加的类,用来补充集合类。
Stream代表数据流,流中的数据元素的数量可能是有限的,也可能是无限的。
Stream和其它集合类的区别在于:其它集合类主要关注与有限数量的数据的访问和有效管理(增删改),而Stream并没有提供访问和管理元素的方式,而是通过声明数据源的方式,利用可计算的操作在数据源上执行,当然BaseStream.iterator()
和 BaseStream.spliterator()
操作提供了遍历元素的方法。
Java Stream提供了提供了串行和并行两种类型的流,保持一致的接口,提供函数式编程方式,以管道方式提供中间操作和最终执行操作,为Java语言的集合提供了现代语言提供的类似的高阶函数操作,简化和提高了Java集合的功能。
本文首先介绍Java Stream的特点,然后按照功能分类逐个介绍流的中间操作和终点操作,最后会介绍第三方为Java Stream做的扩展。