标签 知识 下的文章

并查集与渗漏问题

前两周的时候看到有人推荐https://www.coursera.org/learn/algorithms-part1/的算法课,正好基础也忘得差不多了,觉得也是应该复(yu)习(xi)一下了,普林斯顿的这个公开课确实不错。

好了,废话不多说,来总结一下第一周,说说并查集和渗漏问题吧。

数据结构介绍

并查集是一个处理连接问题的数据结构,可以用这个结构快速的找到两个元素是否属于同一集合(或者说连通),和图的连通算法不同的是它忽略了路径的概念,只需要结果。

- 阅读剩余部分 -

CSS 解决 Chrome 限制最小12px字号问题

在 PC 上,有的时候我们并不需要 Chrome 给我们限定 12px 的最小字号,可是我们也不可能强行要求用户人工设置一波(当年 CodeCademy 的 Bug 就是因为最小字号的问题),所以必须想办法。

旧版 Chrome 可以通过:-webkit-text-size-adjust:none来设置,但其实是利用了一个微小的 Bug,在新版已经修复了,此外,这种方法会导致全局的缩放失效,不够友好。

在新版中,可以用 scale 解决缩放的问题,但如果是:-webkit-transform: scale(0.75);,Safari 也在缩放范围内,有两个方法解决:

第一是所有的浏览器统一的使用缩放,在 12px 的基础上操作。

- 阅读剩余部分 -

CentOS + Nginx Typecho 迁移指南

最近干了一件特别勤劳的事情——把博客迁移到阿里云服务器,不过期间也出了一点有趣的小插曲。

关于 CentOS 里安装 PHP,这篇已经写过很多次了:http://codesky.me/archives/centos-lnmp-yum.wind

然后只需要绑定好域名,可以看这篇:http://codesky.me/archives/centos-ghost-install-introduce.wind,如果要有多个子域,直接复制黏贴一份进行对应修改就行了。

- 阅读剩余部分 -

HTML5 Drag & Drop 入门

以前在面试的时候正好做过一道拖动方块的题,那个时候没有用 HTML5 的 Drag & Drop 来做,其实用 Drag 来做的话会简单很多,不过当时写的文件现在估计早就找不到了,这次业务正好有这个需求,而且又不用考虑兼容性,理所当然的用起了这个。

Drag 的使用门槛还是相当低的,基本上只要知道什么时候触发什么事件就行了,因此这篇主要也像是过一遍 API。

用原生 JS 实现了以下效果:

- 阅读剩余部分 -

Hide Locked Problem In LeetCode Chrome插件 开发总结

在公司的黑客松放弃治疗之后,好久没有看我的 GitHub 了,于是更新了一下自己的其中一个万年大坑。

项目地址:https://github.com/csvwolf/hide-locked-problem-in-leetcode

这里推荐一下一个汉化版的开发手册:https://crxdoc-zh.appspot.com/extensions/

在上一版中简单的做了一个click触发的插件,不是我理想中的效果,于是研究了一下如何对页面加载做监听,甚至是监听指定的 DOM 载入。

- 阅读剩余部分 -

写一个爬虫:SuperAgent VS Selenium

以前研究模拟登录的时候用superagent搞过一点,权当教务处的API,这次准备用Selenium做全套,主要还是实验室一直在吹Selenium怎么怎么好用,解决了多少多少难题,实际上!并没有!

这篇文章默默的来分析一下一些遇到的问题以及为什么我得出了以上的结论。

- 阅读剩余部分 -

Selenium Cookie跨域详解

实际上也不能说是严格意义的跨域,因为我们的跨域只针对同源策略中的部分情况,也就是在host为不同子域的情况,这类问题其实是比较常见的,在大型网站中使用到的单点登录等技术的情况下,我们才会遇到诸如登录页面为login.codesy.me,而我的目标页面是admin.codesky.me。

那么此时如果我简单的设置Cookie,实际上设置的是login.codesky.me的Cookie,对于admin.codesky.me是不起作用的,而又不能直接通过Selenium去设置(因为本质上就是一个浏览器嘛)。

但是尽管不能设置在admin.codesky.me,我们可以把Cookie设置在.codesky.me中,这样会匹配到全部的子域。

- 阅读剩余部分 -

MySQL 子查询使用LIMIT

昨天在帮受泽写一句查询的时候才发现MySQL在子查询中是无法直接使用Limit的,不仅低版本没法用,官方手册表明连最新版(5.7)依旧不能用:

https://dev.mysql.com/doc/refman/5.7/en/subquery-restrictions.html

当然,实在想要搞也是可以的,在子查询里再嵌套一层就行了。

比如原句:

select * from table where id in (select id from table limit 10);

- 阅读剩余部分 -

WangTrans 开发手记

WangTrans,汪星语翻译机开发其实已经一个多月了,也就是在半天里消极怠工写的东西,尽管依旧no star,不过发布在npm之后竟然也有莫名其妙的下载量,当晚就想总结一下学到的一些东西,但是由于每天回家都是——好累,不想动的循环,所以就拖到了现在。

想法的来源是因为单身狗每次都要手动输入汪汪汪+拼音,在虐狗节就非常的麻烦!说干就干……所以这是个非常标准的玩具。

第一段废话完:https://github.com/csvwolf/WangTrans

- 阅读剩余部分 -