【每周一文】CGI、FastCGI和PHP-FPM关系图解

转自歪麦博客

在搭建 LAMP/LNMP 服务器时,会经常遇到 PHP-FPM、FastCGI和CGI 这几个概念。如果对它们一知半解,很难搭建出高性能的服务器。接下来我们就以图形方式,解释这些概念之间的关系。

基础

在整个网站架构中,Web Server(如Apache)只是内容的分发者。举个栗子,如果客户端请求的是 index.html,那么Web Server会去文件系统中找到这个文件,发送给浏览器,这里分发的是静态数据。

CGI

Web网站的几个并发量级

转自开源小站

评价一个网站的“大小”,处于视角的不同,有很多种衡量的方法,类似文章数,页面数之类的数据非常明显,也没有什么可以争议的。但对于并发来说,争议非常之多,这里就从一个技术的角度开始,谈谈几个Web网站的数量级。

相信很多人谈论一个网站的热度,总免不了会询问日均PV,同时在线人数、注册用户数等运营数据,说实话从技术角度来说,这几个数值没有一个可以放在一起比较的——一个静态网站的PV跟一个SNS类/Web Game网站的PV根本就不是一回事。由于互联网有一个传说中的“3秒定律”,可能当下更多的网站技术指标要求1.5秒以内加载整页,或者至少可以达到阅读的标准。如果要较真什么“同时在线”,毫不客气的说,对于HTTP这类短链接的网络协议来说,在WebSocket还不普及的时代,能统计在线纯属扯淡,唯一能做的只是取个时间段,计算下访问用户而已。这些依然可以换算成QPS(Quest Per Second每秒请求数)。就并发而言,我唯一推崇的只有理论最大QPS和悲观QPS。

【每周一文】 数字证书原理,公钥私钥加密原理

本文转载自

文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下 windows 中数字证书的管理,最后演示使用 makecert 生成数字证书。如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出!

Android Toolbar,你想知道的都在这里了

转自yifeng.studio

Android 3.0之后,Google引入了ActionBar,想统一安卓应用的导航栏样式。但由于ActionBar难以定制,很大程度上限制了开发人员,比如标题文字大小、间距等不易实现个性化,很多开发者放弃了ActionBar的使用,而是使用普通的ViewGroup来封装自己的App Bar,或者使用 JakeWharton大神ActionBarSherlock 库。

后来,自2014年Google I/O 上Material Design 横空出世后,市场上的应用又逐步趋向了样式的风格统一,support library中很快就出来了 Toolbar 控件,一个定制化的 ViewGroup,来完善 ActionBar 的使用,App Bar又迎来了春天。

【每周一文】Neo4j教程四:用Laravel实现关系图谱

前言

项目需要从零开始构建用户的关系图谱。

而以 MySQL 为代表的关系型数据库和以 MongoDB 为代表的 NoSQL 都不适用于有实时价值的数据关系。经过一系列调研,我们从众多图数据库中选中了 Neo4j 来构建用户图谱。

项目用到了 Laravel 框架(Laravel 为 WEB 艺术家创造的 PHP 框架),Neo4j 提供了 PHP 的 SDK,我们选用了 GraphAware Neo4j PHP Client