Everything you care about in one place

Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.

Get Feeder

laruence.com

风雪之隅

Get the latest updates from 风雪之隅 directly as they happen.

Follow now 79 followers

Latest posts

Last updated over 2 years ago

PHP的一个的有用小特性(argument unpacking)

over 2 years ago

年前花了点时间,对Yar的性能做了一些做了一些提升,但是也遇到一个让我有点不舒服的当初没有良好设计遗留的问题,就是在并行调用RPC的时候,现在的方法原型是 public static Yar_Concurrent_Client::call(string $uri, string $method, ?array $arguments = NULL, ?callable...

关于PHP,关于Realsee

over 2 years ago

从PHP8.0之后,我参与PHP开源就少了,从而博客也写的少了,不少朋友来问,所以觉得有必要用一篇文章说明下近况。 总的来说,本职工作发生了一些变化,导致工作上的事情,牵扯了太多的精力,从而没有办法有太多的精力投入PHP开源工作中。 而关于,工作的变化,我稍微详细的介绍下:

PHP8新特性之match表达式

over 4 years ago

PHP8 alpha2发布了,最近引入了一个新的关键字:match, 这个关键字的作用跟switch有点类似。 这个我觉得还是有点意思,match这个词也挺好看,那么它是干啥的呢?

一个关于if else容易迷惑的问题

over 4 years ago

这个本来是之前在微博上有个同学说他经常用来面试别人,大概是说,对于如下代码,你觉得会输出啥 $a = true; if ($a) { echo “true”; } else lable:...

PHP8新特性之JIT简介

over 4 years ago

PHP8 alpha1已经在昨天发布,相信关于JIT是大家最关心的,它到底怎么用,有什么要注意的,以及性能提升到底咋样?

使用SSE2指令高效实现strtolower

over 4 years ago

PHP的类名,函数,方法名是不区分大小写的,也就是说无论你怎么定义函数名,实际上在引擎层面查找的时候都是会统一转换成小写形式来做的。 也就是说strtolower的应用是非常普遍的。 当然,PHP也做了很多的设计来避免对字符串做过多的字符串小写操作,比如如果我们在PHP代码中写下: CamelFunc(); 这样的函数调用的时候, PHP会在编译时刻就把CamelFunc全部小写,然后存储在原始字面量之后(PHP-5.4 literals)。

PHP8新特性之Attributes

over 4 years ago

PHP8的Alpha版本,过几天就要发布了,其中包含了不少的新特性,今天呢,我想谈谈Attributes,为啥呢, 是昨天我看到很多群在转发一个文章,叫做《理解PHP8中的Attributes》,说实在的,这篇文章应该是直接从英文翻译过来的,写的晦涩难懂,很多同学看完以后表示,看的一头雾水,不知道在说啥。 于是我想,就用一篇文章来简单说说这是个啥。

使用OSC52实现iTerm2远程pbcopy

over 4 years ago

最高效的码字方式,一定有一个特点,那就是手指离开键盘的次数尽可能的少。 并且手指码字的时候的在键盘的跨度尽可能的短, 这也是我认识不少老牌程序员用Vim也不用ESC, 而是使用ctrl+[, 甚至还有这: 从而避免手指在键盘上的跨越幅度太大。

Yaf 3.2.0发布

over 4 years ago

经过俩周多的重构,终于一咬牙今天发布了Yaf 3.2.0 beta, 要不然一直在想各种可能的优化点,不停的写,没完了, :) Yaf是我十年前开始写到项目,这次的重构其实也是相当于把我这十年中新学到的关于性能优化的知识,包括我在做PHP7, PHP JIT项目中沉淀下来的经验中能用到的东西,都在Yaf上重新应用了一次。 而这次的重构的最初出发点是把原来的Yaf对象从PHP的原生对象,改成了自定义的对象,这个怎么理解呢?

使用PHP Socket开发Yar TCP服务

over 4 years ago

Yar支持HTTP和TCP俩种Transporter, HTTP的是基于CURL,PHP中的Yar默认就是走的HTTP Transporter, 这个大家应该都不陌生, 但是基于TCP的, 可能大家会用的少一些。 事实上,我6年前也写过一个C的Yar server框架,叫做Yar-c, 代码地址在Yar-C at Github, 当时我们用这个框架,实现了高性能的微博白名单等服务,以供PHP端使用Yar...

我开源项目的Windows安装包下载

over 4 years ago

一直以来,我的PHP开源项目怎么构建Windows的dll,都让我无比头疼。 但是还是有很多用户是在Windows上跑我的项目,我也实属无奈。。。 于是这几天,硬着头皮搞了下github上的appveyor,  简直是噩梦,懂的人,刷个火箭吧! :< Anyway, 我终于搞定了,因为appveyor是可以提供测试产物来下载的, 于是我就搞了一个页面,专门给大家提供Yaf, Yaconf, Yac, Yar, Taint等项目的github...

Yac 2.1 升级说明

over 4 years ago

Yac (Yet Another cache)也是之前我在微博的时候开发的一个为PHP使用的,Lock-free, Shared Memory, User Data Cache,用来替代当时微博在PHP机器上装的本地Memcache, 因为当时的需求特点,最初做了完全无锁的设计,但是这样有一个隐患就是用户有可能获得“错误”的数据,虽然之前的测试概率非常非常低。 关于Yac的设计,可以参考我7年前写的Yac (Yet...