php 7

前言

为了在上线前保证router的安全和高效。罐头最近反复在优化代码,手忙脚乱的,周五差点还把公司给的这台笔记本给弄炸了。幸好运维大大给我修好了。使用了AB工具进行压测之后,发现结果并不让人满意。开始着手尝试一下PHP7,或者是Yaf之类的。

基本任务:在同一台虚拟机装两个版本的PHP,便于比较和测试。

more >>

AB工具

安装

最快安装:

yum install httpd-tools

源码安装:

yum install apr-util
yum -y install yum-utils
yumdownloader httpd-tools
rpm2cpio httpd-*.rpm | cpio -idmv

more >>

一致性哈希

作者:tomwhite
链接:https://community.oracle.com/blogs/tomwhite/2007/11/27/consistent-hashing
来源:oracle community
著作权归作者所有,罐头翻译做笔记学习之。

背景

举例说明,比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢?
你很可能会采用类似下面的通用方法计算 object 的 hash 值,然后均匀的映射到到 N 个 cache ;

hash(object)%N

more >>

redis初探

前言

由于业务需要,我要了解一下内存数据库,之前有使用过memcache,对比于memcache,有另外一款叫redis的内存数据库更加吸引开发者的眼球。至于优缺点就不在这里叨絮了,以下直接摘录我的一些学习笔记。

more >>

《饥荒》游戏代码研究

饥荒人物合集

代码与资源分布

下面列出了饥荒中各个文件或文件夹的作用:
(以 * 结尾的,该文件夹里就是一堆上面所说的类)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
├─bin 二进制程序文件
├─data 数据目录
│ ├─anim 放置动画
│ ├─bigportraits 人物肖像纹理
│ ├─fonts 字体文件
│ ├─fx 好像是用来放置于天气相关纹理的
│ ├─images 主要纹理放置目录
│ ├─levels 放置地皮纹理
│ ├─minimap 地图图标
│ ├─models 未知,猜测与洞穴有关
│ ├─scriptlibs 一些用lua实现的库,用来网络通信与json字符串处理
│ ├─scripts 主要的lua脚本目录
│ │ ├─behaviours 控制行为\*
│ │ ├─brains 大脑AI\*
│ │ ├─cameras 相机,用来控制玩家所能看到的视野\*
│ │ ├─components 组件,一组通用的,用来描述物品的代码\*
│ │ ├─languages 语言文件,国际化用的
│ │ ├─map 地图相关代码\*
│ │ │ ├─levels 世界模式,有生存,冒险,洞穴等等
│ │ │ ├─rooms Room
│ │ │ ├─static_layouts 静态布局
│ │ │ └─tasks Tasks,上面那些具体去看博客
│ │ ├─nis 卖萌用的,直接在命令行运行,有只会动的大象^.^
│ │ ├─prefabs 定义世界里所有的物品
│ │ ├─scenarios 场景,也就是贴吧所说的彩蛋
│ │ ├─screens 界面\*
│ │ ├─stategraphs 状态机或状态图,用来和AI一起控制动物(和植物?)的运动
│ │ └─widgets 界面小部件(按钮,文本框etc.)\*
│ ├─shaders 未知
│ └─sound 声音
└─mods 插件放置目录

此外,data文件里还有DLC0001目录,这个目录来放置DLC版本的文件,结构和data目录一样。
链接:http://www.zhihu.com/question/23712973/answer/54225000

mods开发

先mark一下,有空待续……
http://wenku.baidu.com/link?url=W-Y30imQC_DkQT_AvTn6uqXjnTfFUSHIW2s1UI1TD7zZWF3KrY_9Z7XX1FmfPkHAH2foqM0F787xUbUPw8yHJaD7aNahGuR1BpAJ1CjEXk_

各式网址登录之奇葩集锦

前言

学过编程的孩纸,都知道注册/登录是最基础的功能了。但是却不意味着是最简单的。这里的讨论范围都是基于网页应用的登录功能,由于受Http协议的限制,对于保护用户的账号安全,不同的网站有不同的方法(奇技淫巧)实现。

more >>

脱网安装PHP应用

前言

自从上次那个从零开始构建PHP应用,已经过去一个月了,admin系统开发还算顺利。初版几乎可以投入测试和使用了,那么就面临着要部署到公司服务器的问题。一了解才发现,原来他们使用的服务器都是脱网环境的,而且没有PHP环境。准备开始新的一轮折腾,所以今天的主题是如何脱网安装PHP应用。

在脱网的情况,我们就不能用yum安装。要么使用rpm进行源码安装,要么使用make进行编译安装。我们下面会视情况而定。除了安装方式的改变之外,我们还要解决各种依赖问题。

more >>

从零开始构建PHP应用

前言

罐头做了决定,从MC离职了。犹豫和纠结了好些日子之后,接受了37的offer。来了才知道,我是开荒者啊,没有PHP开发人员,也没有PHP相关环境的服务器。所以入职第一天,我要从零开始构建PHP应用。这整一个过程真的好辛苦,以致我第一天上班就工作到23点。不禁让我想起了以前入职MC,第一周和小伙伴编译LFS,编译到凌晨才下班,大冬天在寒夜里追公交的场景……

知识准备

为了可以更好理解整个流程,这里提前介绍一些基础知识和软件准备:

  • VMware Workstation12
    虚拟机软件,用来挂载Linux
  • CentOS-6.3-x86_64-minimal.iso
    这里选择发行版是无桌面的CentOS
  • SecureCRT
    支持SSH的终端仿真程序,Windows下登录UNIX或Linux服务器主机的软件。
  • SSH
    为 Secure Shell 的缩写,专为远程登录会话和其他网络服务提供安全性的协议。通过配置公钥/私钥可以登录到linux。
  • LNMP(快速安装PHP方案)
    LNMP = linux + nginx + mysql + php

    more >>

感悟合集

罐头感悟,罐头很懒并不喜欢看书,出生在这个信息化爆棚的年代,知识的更新是那样的加速度。我近乎麻木地生活着,难得有一些感悟吧,一定一定要抓住它,开了个篇章记录一下。

- 我认为

  1. 所有人不管任何职业任务学历,关于普世的道理终究都会懂的,只是时间问题而已。
  2. 同学会的议论主题只能是缅怀青春,大家都被时间和空间阻隔太久了。
  3. 任何“宴席”,先走的人要比留下来的人更痛苦。
  4. 我们常常勉励绝症病人要勇敢坚强地活下去,给予他很多勇气。其实只是源于我们无法承受失去的痛苦,活着的人比濒临死亡的人更需要勇气。
  5. 每个愚蠢的决定背后都有一个忧伤的理由。
  6. 睡前不要听音乐,除非你想失眠(青少年可能会不适用)。
  7. 被爱的人不需要道歉

- 我发现

  1. 任何事情冷静下来都可以循规蹈矩,这就是一个抽象的过程,像编程一样。
  2. 如果你想更快懂得更多的道理,只有两个途径:读书或旅行
  3. 年纪越大,越容易失眠,越明白人为何会失眠了。
  4. 失眠的原因无非是因为你有太多东西在想了,我解决失眠的办法是学会分类归纳大脑里的想法。
  5. 读书人很容易因为膨胀,变得傲慢来伤害别人。也很容易因为焦虑,而变得自卑来伤害自己。
  6. 作为一个读书人的尊严到底在哪里,不是比较你通过知识改变了命运,也不是你通过了知识找到了一份好工作。而是你伴随着知识重新认识了这个世界,并且把知识运用到了生活。
罐头很懒 (⊙v⊙)<br><br>工作日日常 :<br>do {<br>&nbsp;&nbsp;打代码<br>} while ( 发呆 || 吃饭 )<br><br>周末日常 :<br>( 鱼罐头 || 午餐肉 || 炸鸡块 ) +<br>( 罐可乐 || 瓶啤酒 ) +<br>( 盒仔饭 || 艇仔粥 || 即食面 ) +<br>( 轻音乐 || 肥皂剧 || 热网综 ) +<br>( 水果糖 || 甜布丁 )