IT技术博客大学习 共学习 共进步

技术文章精选

低噪声、高可扫读;标题、摘要、来源、标签一目了然。

最新文章

采集自各技术站点的近期文章。

IT PHP/ 2015-12-13 22:13:09 / 累计浏览 4,606

让PHP7达到最高性能的几个Tips

PHP7已经发布了, 作为PHP10年来最大的版本升级, 最大的性能升级, PHP7在多放的测试中都表现出很明显的性能提升, 然而, 为了让它能发挥出最大的性能, 我还是有几件事想提醒下.

IT 算法/ 2015-12-13 22:12:12 / 累计浏览 3,465

缓存算法–LRU

LRU是Least Recently Used 的缩写,翻译过来就是“最近最少使用”,也就是说,LRU缓存把最近最少使用的数据移除,让给最新读取的数据。而往往最常读取的,也是读取次数最多的,所以,利用LRU缓存,我们能够提高系统的performance.

IT 网络系统/ 2015-12-13 22:04:23 / 累计浏览 3,082

TLS 握手优化详解

​随着 HTTP/2 的逐渐普及,以及国内网络环境越来越糟糕(运营商劫持和篡改),HTTPS 已经开始成为主流。HTTPS 在 TCP 和 HTTP 之间增加了 TLS(Transport Layer Security,传输层安全),提供了内容加密、身份认证和数据完整性三大功能,同时也给 Web 性能优化带来新的挑战。上次写的「使用 BoringSSL 优化 HTTPS 加密算法选择」一文中,我介绍了如何针对不同平台启用最合适的传输加密算法。本篇文章我打算继续写 HTTPS 优化 —— TLS 握手优化。 TLS 的前身是 SSL(Secure Sockets Layer,安全套接字层),由网景公司开发,后来被 IETF 标准化并改名。通常没有特别说明时,SSL 和 TLS 指的是同一个协议,不做严格区分。

IT 安全/ 2015-12-13 22:02:17 / 累计浏览 1,944

Java反序列化漏洞被忽略的大规模杀伤利用

​前一段时间热炒的Java反序列化漏洞,大家在玩的很嗨的时候貌似忽略了一件很重要的事情——Java在cs架构的设计中使用序列化传输是非常普遍的现象,而在像JBoss这种中间件也使用这种设计。所以,我在一边研究这个漏洞,一边看大家嗨嗨的玩的同时,也很好奇在一些通过Java实现的CS架构应用(比如:大型国企都喜欢用的会计软件、内容发布系统),是不是也会用到Apache Commons Collections这个库。 不知道是不是研究Java Web的大神们都在闷声发大财,这次这个漏洞的分析文章大多都停留在那个老外blog中的各个中间件的利用玩法上,却没有注意到Java Web中常见的架构都会因为这个问题而沦陷。而且除了长亭之外的文章,其他各家的修复建议大多都是针对利用来进行修复,治标不治本。

IT iOS开发/ 2015-12-13 21:43:13 / 累计浏览 4,505

APP的推送是咋回事

给产品经理讲技术之APP的推送是咋回事:睡觉前我明明关闭了淘宝、网易新闻等app,为什么第二天他们又自动出现在我手机的通知栏上呢?

IT 发现/ 2015-12-13 21:39:57 / 累计浏览 6,265

让我们来谈谈分工

我看到一个新闻——雅虎取消了QA团队,工程师必须自己负责代码质量,并使用持续集成代替QA。 同时,也听到网友说,“听微软做数据库运维的工程师介绍,他们也是把运维工程师和测试工程师取消了,由开发全部完成。每个人都是全栈工程师”。于是,我顺势引用了几年前写过一篇文章《我们需要专职的QA吗?》,并且又鼓吹了一下全栈。当然,一如既往的得到了一些的争议和嘲弄;-)。

IT 系统运维/ 2015-11-08 22:56:40 / 累计浏览 1,805

[坑]打rpm包时,注意%post和%postun的执行顺序

问题 掉进坑里面了。最近完成了阿里PHP5.5.25的rpm打包。今天在升级其中一个扩展的时候发现,只要升级成功之后,扩展在配置文件中相关配置项就会被注释掉。最终定位到是spec文件中%postun段写的有问题。

IT Android开发/ 2015-11-08 22:32:55 / 累计浏览 2,282

QQ浏览器X5内核问题汇总

常常被人问及微信中使用的X5内核的问题,其实我也不是很清楚,只知道它是基于android 4.2的webkit,版本号是webkit 534。今天正好从X5团队拿到了一份问题汇总,梳理下发出来,给各位开发者以参考——不排除明天会删除这篇文章的可能。

IT CSS/HTML/ 2015-11-08 22:19:49 / 累计浏览 1,543

CSS中的margin外边距折叠现象

CSS中的margin外边距重叠(Collapsing margins)指的是毗邻的两个或多个外边距会合并成一个外边距。其中所说的margin毗邻,可以归结为以下两点:(1)这两个或多个外边距没有被非空内容、padding、border或clear分隔开。(2)这些margin都处于普通流中,浮动元素、inline-block元素、绝对定位元素的margin不会和垂直方向上其他的margin元素重叠。(3)只有垂直方向的margin才会折叠,水平方向的margin不会发生折叠的

IT 发现/ 2015-11-08 22:18:39 / 累计浏览 3,625

更改 Windows 10 命令行字体

因为常用到命令行,而这中文版 Windows 的命令行默认字体是“新宋体”,无法选择其他字体,而这“新宋体”不知为何把 1 和 l 搞成双胞胎…… 搜啊搜,真没简单的方法,直接在窗口标题“右键》属性》字体”只能设置字体大小,当然还有个点阵字体可以选——问题是难看。

IT 奋斗/ 2015-11-08 22:17:18 / 累计浏览 2,344

看不见的成本

放下眼前的事情与执念,算一算成本吧。

IT iOS开发/ 2015-11-08 22:12:13 / 累计浏览 2,065

自己动手使用 Swift 打造全功能 JSON 解析、生成库

在我动手搞这个 JSON 解析库之前,我一直在用 SwiftJSON 这个库,这个库是国人开源的最受欢迎的 Swift 项目,没有之一,也是全球最受欢迎的 Swift 库第二名,第一名是网络库 Alamofire。由于要实现 ["key"]["key1"] 这样的递归查找,我一直觉得 JSON 解析库非常复杂难搞。

IT 发现/ 2015-11-08 22:11:09 / 累计浏览 1,925

从构建和测试的效率说起

​最近的工作总是在EMR上跑Spark的job,从代码完毕到测试完毕的过程是这样的: 1. 本地测试: 构建 -> 本地UT -> 观察分析结果,这一阶段可以发现逻辑问题 2. EMR上执行测试: 上传最新构建到S3 -> 准备EMR资源(包括计算资源和数据) -> 在EMR上执行Spark job -> 观察分析结果,这一阶段可以发现在数据量较大的情况下才出现的问题 3. Workflow集成测试(这个workflow是公司内部的一个管理job的工作流系统): 启动workflow -> 观察job状态 -> 等待workflow调度和资源分配 -> 等待workflow执行结束 -> 观察分析结果,这一阶段可以发现在workflow配置、参数等环境上的问题

IT 系统运维/ 2015-11-08 22:09:55 / 累计浏览 1,763

ubuntu设置开机后台自动运行

写个sh脚本 我们可以在比如/home下新建个文件叫做dl.sh ,在里面写上我们需要运行的命令,然后保存。 这个时候我们需要在/etc下编辑一个叫rc.local 的文件,需要root权限。在终端先su获取root权限如果你有root帐号的话,然后 vim /etc/rc.local 编辑,在最下面输入 nohup bash /home/dl.sh>/home/d.txt & 保存。

IT MySQL/ 2015-11-08 22:08:28 / 累计浏览 1,502

linux上二进制部署mysql详细步骤(测试环境常用)

关于在linux上二进制部署mysql,我其实现在linux已经很熟练了,那是一年前的曲折之路。不过这篇文章还是有参考意义,毕竟测试环境可以再3分钟就弄好mysql服务器.还是很happy的一件事情.之前笔记是参考别人写的,现在重新整理.主要问题是centos和ubuntu上,ubuntu上需要注意的事项等说明。

IT 发现/ 2015-11-08 22:07:36 / 累计浏览 3,182

git术语解释staging,index,cache

当我在使用git的时候,有三个东西的出现,一度让我非常困扰,就如题所述,staging,index,和cache。 比如,当我阅读git官网提供的电子书《Pro Git》的时候,最初一章里,就提到,文件在git里面,有三种状态,working copy,staging area,和 in repository。而在读一些man pages的时候,比如git-reset命令,又会看到index,这非常让人困扰。而git-rm 指令又有一个参数叫 –cached,其作用是”unstage and remove paths only from the index”,更加奇怪了,同时提到了stage和index,而参数名竟然是cached!!!