Gubaidan

花有重开日,人无再少年

Java String.indexOf对比KMP

说明Kmp和indexOf 都是用于匹配字符串,如果匹配到目标字符串则返回首个字符下标,如果匹配到则返回-1 之前偶然打开Java String.indexOf的源码以为会很高大上,结果发现indexOf中的源码是暴力匹配字符串的… 所以准备对比一下这两个方法,不过还是先梳理一下这两个算法的源码..


移动端html5 1px border的实现

一、真正的1px边框做完APP前端后大师兄就告诉我h5上的边框线太粗,把整站都给拉low了. 当时工期紧就没太在意1px粗细, 后面的版本针对这个问题做了些尝试, 这里总结下1px细线的处理方法,因为这已是最细的边框,电脑上清楚的显示,我已经设置了1px的border。 于是为了寻找在移动端看..


反击爬虫,前端工程师的脑洞可以有多大?

1. 前言对于一张网页,我们往往希望它是结构良好,内容清晰的,这样搜索引擎才能准确地认知它。而反过来,又有一些情景,我们不希望内容能被轻易获取,比方说电商网站的交易额,教育网站的题目等。因为这些内容,往往是一个产品的生命线,必须做到有效地保护。这就是爬虫与反爬虫这一话题的由来。 2. 常见反..


编写mac、Linux下 .sh启动脚本

背景因为电脑中装了很多非图形化应用程序,例如nginx,zoonkeeper、ActivityMQ等,每次都忘了这些应用装在了哪里,就算记得在那个目录下还是要cd 到指定目录启动,所以写了几个脚本用于启动这些服务。 在任意文件夹下新建 .sh 文件,然后赋予文件执行权限和读写权限,为了方便暂时..


团队开发 - git整理

git常见名词整理 Repository:仓库,用于存储项目文件,分为远程和本地仓库,一般将本地仓库代码上传到远程仓库,以便多人合作和代码保存。 Branch:分支,一个git仓库可以有多个分支,每个分支代表一个工作流程,最后可以合并也可以舍弃,一般默认为master主分支。 Remote:..


别说话,摇头

People hearing without listening


BoolmFilter算法解析

介绍BloomFilter(布隆过滤器)是一种可以高效地判断元素是否在某个集合中的算法。 在很多日常场景中,都大量存在着布隆过滤器的应用。例如:检查单词是否拼写正确、网络爬虫的URL去重、黑名单检验,微博中昵称不能重复的检测。Google Chrome浏览器使用BloomFilter来判断一个网..


旧事 木头人 10.23-10.29

10月的最后一周,想在天气变冷前,完成一组照片。主题跟树林有关,因为我很喜欢这个季节树叶的厚重感。不过,木头比人难拍太多了。人非草木,起码有表情,有温度,可以装扮。有两次回来,我直接就把照片全删了,心情不太爽,怎么想都是这些树木不配合。 后来妥协,是不是我得自己做些改变,营造一种拟人的环境呢?..