字符串纠错

故这样的,之前在 Leetcode 遇到一道题:『Edit Distance』, 当时做的时候并没有太多的思考,原因也很简单,不知道这道题的算法什么时候可以用得到。 直到,最近在看搜索引擎部分的算法,在处理用户的拼写异常的时候,比如,当用户搜索 『苏州大雪』的时候,怎么能进行纠错为『苏州大学』。 亦或者,在进行爬虫数据筛选的时候,比如在 B 站进行动漫数据抓取的时候,有很多的 UP 主会对动漫的名字做一定的修改,比如『(xx 字幕组)小林... [阅读全文]

搜索最近的店铺 or 找最多店铺的点

这两个问题,应该是电商网站或者说 O2O 业务中最常用的功能。在之前,我也想过该题的解决方法。 第一个问题最简单的方法就是,一个 for 遍历周围所有的数据。通过欧式距离的判断,进行从小打大的排序判断,然后推送结果给用户。但是,当商铺基数足够大的时候,似乎,每次的 O(N) 操作,都是一个不小的时间开销。于是,可以通过进行地区的划分进行优化。 比如在二维坐标系中,划分为 N * N 的正方形区域。进行距离判断的时候,只需... [阅读全文]

短链的实现

问题的起因是这个: 这是我的刷题日志。当时是 2017.3.4 号,做了这道题之后,一直想写下是否有更好的解题思路。但是一直没(lan)有(lan)时(lan)间(lan)。 正巧今天在复习数据结构的时候看到了 LZW 压缩器。这就可以拉出来好好扯一下了。 其实现在流行的,或者网上的标准操作套路都是使用 hash 的方式,将其对应到几个短的链接上,但是因为毕竟这个属于 hash 映射,在长度变短的情况下,始终会有冲突的危险。所以也就带来了 rehash(cp... [阅读全文]

2017 考研小结

考研并不是因为工作不如意,待遇不好,只是我觉得,总得拿个有挑战性的东西玩玩,不然每天总是做重复的工作,太无趣了。而且,一边工作一边考研,未尝不是一件乐事。而且就今年主要就是图个做真题,准备明年认真考。 本来第一天考完就想写的,不过一想到要是考砸了呢?是不是太丢脸了。于是拖到了现在。不过现在查到分数之后也就安心了。数学咋了,英语和政治算是正常发挥。专业课无奈,因为复习时间紧(没辞职,两个月时间)... [阅读全文]

Java 引用传递和值传递

前几天有个朋友问了我个问题,就是 Java 中什么时候是值传递什么时候是引用传递。他的理解是,基本数据类型是值传递,复杂对象是引用传递。 所以就有了如下的一个测试代码: public class Main { public static void main(String[] args) { int a = 0; Integer b = 0; System.out.println("int a:" + a); System.out.println("integer b:" + b); changeValue(a, b); System.out.println("int a:" + a); System.out.println("integer b:" + b); } private s... [阅读全文]

记一个非常有意思的项目

机缘巧合之下,和朋友聊天的时候,知道他们那有一个基于 Java 的 web 系统。于是,作为一个 Java 功底还算过得去的人,我觉得,应该可以去玩玩。 因为,作为一个 Javaer,说到 Java web 的时候,无外乎 Spring,Struts,Hibernate,或者 MyBatis。于是乎,作为复习,我拿过来看了下。不过第一眼确实是非常惊讶。 因为朋友那边没能拿到相关的文档,没有部署方式和设计方式,所以也是一头雾水。各位可以看下他的目录结构: ├── b2b-api-base ├─... [阅读全文]

B站《你的名字》观影活动记

本来今天晚上是刷题的,结果到家发现试卷没带,想着也没什么好做的。就刷一下这个的感受吧。顺带给自己的博客带来点新的东西。 其实,在此之前,对 B 站的态度属于 indifferent 或者 vague (两个考研阅读高频词拿出来复习下) 吧,但是对其弹幕的形式非常欣赏(以至于之前帮一家公司做微信墙的时候,固执的让对面选择弹幕的方案,然后写了个弹幕墙)。 废话不多说,主要就来说下这部电影。 本来,因为听说这片子国内不引进,所以... [阅读全文]

FireFox 充分自定义

故事的起因,是这样的。不知道什么原因,我突然发现火狐的标签页字体变了, 如下图。 那个苹果的苹字明显不是雅黑字体。但是却又不知道是什么原因,而且地址栏的字体也和标签栏一样。都是一个巨丑无比的字体。作为一个对字体有着一定偏执的人来说,这明显是不能忍的。于是 bing 了一下,据说是修改系统默认字体就好了。 于是我就改了 Mac 的自带字体。但是第一次,失误了。导致了所有的文字都无法显示。无奈之下,备... [阅读全文]

一个爬虫引发的 Java AES 问题

写在开头,为什么有这一篇文章呢?因为,最近我开始了一个项目组,就是 HTTP Proxy 的信息采集。因为之前一直有个写爬虫的习惯,但是因为一直没有一个稳定的 Proxy 的提供渠道,或者说,并没有限制的资金购买这个服务。导致了我之前的刷某些服务器,被封了 IP (也是因为懒)。 所以,为了避免以上的悲剧不再发生,就开始了这个项目组。那么,这个项目和 AES 加密有什么关系呢。其实,我的计划里,并没有关系。但是,在写爬虫爬取各个网... [阅读全文]

Laravel ORM 的一个优化场景

评论中 forehalo 提供了一个更 Laravel 的实现方式:https://laravel.com/docs/5.0/eloquent#eager-loading Laravel 的 Eloquent 可能是最好的 PHP ORM 之一。不过,他也有所有 ORM 框架的通病,就是技术人员在不熟悉框架的情况下进行编码,很容易造成性能问题。之前遇到的一个应用场景。现在简化出来。 有两张表,一张暂定为 user 表,一张为 userinfo 表,现在有个需求是将特定用户抽取出来,然后从 userinfo 表中找到他们的数据,然后显示在页面上。 通常,在 ... [阅读全文]