聊聊谷歌专门为自己公司设计的分布式文件系统GFS

GFS是Google为其内部应用设计的分布式存储系统。Google可能是这个星球上最大的数据工厂了。如何高效可靠地存储如此大规模的数据成为一个很棘手的问题。纵观Google的内部应用,数据访问有以下特点:

一行代码就将你的PHP-FPM内存占用降低至少一半

但是缺省安装以及按照大量博客推荐安装的 PHP-FPM的最大问题是它会消耗大量资源,包括内存和 CPU。本博客使用的服务器也遭遇了类似的命运。因为我也是按照那些教程安装的,而教程里对于 PHP-FPM的配置选项描述的不够有效。

我是如何通过命令执行到最终获取内网root权限的

本文我将为大家展示最近我在赏金计划中,发现的一个非常cool的漏洞。以及我是如何通过一个废弃的Web服务器实现远程执行代码的,并最终成功渗透目标内网获取到有价值信息的。

深入理解 Golang Channel

channel 是 Go 语言中的一个非常重要的特性,这篇文章来深入了解一下 channel。

一个活在命令行里的程序员给我们分享的代码

这篇内容源自 Github 上面一个有意思的分享。说的是这个分享者的一个前同事,作者说他是活在命令行中的人。只有要任何工作会耗费他 90 秒以上的时间,他就会写一个脚本来自动处理。

Java8技巧:如何正确使用Optional

Optional是Java8提供的为了解决null安全问题的一个API。善用Optional可以使我们代码中很多繁琐、丑陋的设计变得十分优雅。这篇文章是建立在你对Optional的用法有一定了解的基础上的,如果你还不太了解Optional,可以先去看看相关教程,或者查阅Java文档。

MySQL 8.0 新特性 :隐式索引 Invisible Indexes

MySQL 8.0 支持了 Invisible Indexes 隐式索引 这个特性,可以把某个索引设置为对优化器不可见,生成查询计划时便不使用这个索引了,但这个索引还是被正常维护的,例如表数据变更后还是会更新索引。

监控SQL执行状态的方法

想知道某个进程的SQL查询执行到哪一步了?当前执行多久了?查询是从哪个登录用户哪一个机器过来的?跑的是什 么业务?甚至执行计划是什么样子?老鸟就是老鸟,总想的比我们远”。菜鸟一边寻思着,一边又马不停蹄的问G哥,终于功夫不负有心人,总算有了点眉目。

对Linux系统休眠的理解

今天看了一个关于中断例程为什么不能休眠的文章,引发了我的思考。其实这个问题在学习驱动的时候早就应该解决了,但是由于5年前学驱动的时候属于Linux初学者,能力有限,所以对这个问题就知其然,没有能力知其所以然。现在回头看这个问题的时候,感觉应该可以有一个较为清晰的认识了。

JavaScript常用API总结

JavaScript常用API总结

Javascript里常见的事件位置属性

pageX指鼠标在页面上的位置,以页面左侧为参考点 clientX指可视区域内离左侧的距离,以滚动条滚动到的位置为参考点。各个浏览器相同。即当有滚动条时clientX 小于 pageX

CSS长度单位 px和pt的区别

基本上,小于0.13英寸,对于视力不太好的或者年老的用户,就会有阅读困难,小于0.12英寸,即便一般用户也会感觉吃力。所以,一般在这种情况下,要么使用16px以上的字体大小,如果还是要9pt,那就改变显示属性,间接来改变到16px以上也一样。

jQuery绑定事件的四种方式

jQuery中提供了四种事件监听方式,分别是bind、live、delegate、on,对应的解除监听的函数分别是unbind、die、undelegate、off。

Oracle分区表解读

当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。 表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。

用Python将GIF倒放

要做到这一点其实很简单,只要从原始图片中提取中间每一帧静态图像,然后将顺序颠倒之后重新生成一张 GIF 图片即可。Python 中专门用于处理图像的库是 PIL,在 PIL 基础上由 Alex Clark 等人开发了一个更友好的版本:Pillow。

Land3 StringUtils类API及使用方法详解

Land3 StringUtils类API及使用方法详解

利用huffman算法对文件进行压缩

利用huffman 编码的思想对文件进行压缩,主要原理是通过huffman编码来重新表示字符,使得出现频率高的字符编码短,出现少的字符编码长。整体下来的话,所需的总 的bit位是减少的。但是要注意当大部分字符出现的频率都差不多时,huffman压缩的压缩效率会很低。

从 forEach 开始谈谈遍历技巧

forEach 作为一个比较出众的遍历操作,之前有很多库都对其进行过各种包装,然而我还是发现很多人并不是非常理解 forEach。

JavaScript中的arguement是什么?

arguments是用来取得method(fn)的参数的类数组,在这里也就是fn,即arguments[0]===fn或arguments.0===fn(0就是arguments的一个属性)。所以arguments[0]()就等于fn()。

你所不知道的 Console

1.凡人视角 打印字符串 代码: console.log(“I am a 凡人”); 打印提示消息 代码: console.info(“Yes, you arm a 凡人”); 打印警告消息 代码: console.warn(“凡人你居然敢窥视我”); 打印错误消息 代码: console.error(“天兵天将,把这个凡人给我打入地狱”); 打印调试信息 console.debug(“我就是传说中的debug”); 2.上帝视角 查看所有方法 console 除了上面的几个方法还有什么方法呢?log 除了能打印字符串外,还能打印出对象,我们可以利用 console.log 打印自己。 代码: console.log(console); 输出: Object { assert: …, clear: …, count: …, debug: …, dir: …, dirxml: …, error: …, group: …, groupCollapsed: …, groupEnd: …, info: […]