赞了文章2025-05-19
常规的后台管理系统登陆页面可能就只是一个简单的背景页面,这不太好看,接下来让我们来使用three.js来实现一个动态的海洋和天空效果当作背景,这样的效果总会让人眼前一亮,如下图所示。
赞了文章2024-09-03
最近把 pingora 的代码略略过了下,稍微弄懂了 pingora 这个项目的大致情况。Pingora 作为 Cloudflare 内部开发来替代 OpenResty 的项目,可以看到不少 Nginx 的影子。比如 Pingora 的插件叫 Module,对应插件顺序叫 module_index,和 Nginx 一模一样。有趣的是还有...
赞了文章2024-03-15
近两年互联网行业不景气,很多程序员都在寻找新出路。很自然的,独立开发成为一个充满吸引力的选择 —— 背靠自己的开发技能,不用看老板脸色,靠产品养活自己,想想就很美好。
赞了文章2023-01-29
Merbridge 是一个旨在通过 ebpf 代替 iptables,给 service mesh 加速的项目。作为成立刚满一周年的新项目,Merbridge 已经应用到 kuma 的官方版本当中。最近 Merbridge 又达到了另外一个里程碑 —— Merbridge 正式成为 CNCF sandbox 项目。
赞了文章2023-01-17
编写本文并非打算总结开发开源网关的最佳实践,仅仅是谈谈自己的一些观点。基石如果有人问我,开发开源网关最重要的是什么,我会毫不犹豫地提到两点:要有一套一致的设计语言。要有持续的人力投入设计语言由于现在开源项目内卷化,要想推出一个新的开源网关,已经必...
赞了文章2021-04-27
上一篇「CPU 提供了什么」中,我们了解了物理的层面的 CPU,为我们提供了什么。本篇,我们介绍下高级语言「C 语言」是如何在物理 CPU 上面跑起来的。C 语言提供了什么C 语言作为高级语言,为程序员提供了更友好的表达方式。在我看来,主要是提供了以下抽象能力:变量...
赞了文章2021-03-24
2019 年 7 月 6 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·上海站,OpenResty 软件基金会联合创始人王院生在活动上做了《APISIX 的高性能实践》的分享。OpenResty x Open Talk 全国巡回沙龙是由 OpenResty 社区、又拍云发起,邀请业内...
赞了文章2021-02-05
众所周知,Go 在做依赖管理时会创建两个文件,go.mod 和 go.sum。相比于 go.mod,关于 go.sum 的资料明显少得多。自然,go.mod 的重要性不言而喻,这个文件几乎提供了依赖版本的全部信息。而 go.sum 看上去就是 go module 构建出来的天书,而不是什么人类可读的数据。
发布了文章2020-08-18
在CNCF组织的一场技术分享会上,第一次听到了 Enovy 这么一个东西,分享的嘉宾巴拉巴拉讲了一大堆,啥都没记住,就记住了一个特别新颖的概念“通信总线”,后面 google 了下 Envoy 这个东西到底是什么,发现官网上如是描述:
赞了文章2020-07-29
lua-resty-core 是 OpenResty 组件的一部分。它由两部分组成,一部分是 resty.core.*,提供了对 lua-nginx-module Lua 接口的替换实现;另一部分是 ngx.*,OpenResty 新的接口一般都会放到这里。跟其他 lua-resty 开头的库一样,lua-resty-core 也是用 Lua 实现的。...
发布了文章2019-05-22
OpenResty (简称OR) 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的Lua Api,第三方模块以及常用的依赖项,基于这些能力,我们可以利用OR快速方便的搭建能够处理超高并发的,极具动态性和扩展的Web应用、Web服务和动态网关。
赞了文章2019-02-19
无测试,不编码。有持续运行的单元测试,是保持项目健康最基本的要求。在多人协作的内部项目中,这一点尤其重要。基于 OpenResty 的项目开发自然不会例外。
赞了文章2018-10-25
对 C 语言良好的亲和力,一直是 Lua 的优势之一。LuaJIT 在传统的 Lua C API 之外,额外提供 FFI 的方式来调用 C 函数,更是大大提升了跟 C 交互的便利度。甚至有这么一种说法,虽然 LuaJIT 命名是 Lua + JIT,但是好多人是冲着 FFI 去用 LuaJIT 的。[1]
赞了文章2018-08-28
无测试,不编码。有持续运行的单元测试,是保持项目健康最基本的要求。在多人协作的内部项目中,这一点尤其重要。基于 OpenResty 的项目开发自然不会例外。
赞了文章2018-07-31
对 C 语言良好的亲和力,一直是 Lua 的优势之一。LuaJIT 在传统的 Lua C API 之外,额外提供 FFI 的方式来调用 C 函数,更是大大提升了跟 C 交互的便利度。甚至有这么一种说法,虽然 LuaJIT 命名是 Lua + JIT,但是好多人是冲着 FFI 去用 LuaJIT 的。[1]
赞了文章2018-07-31
身为一名使用 PHP 语言开发后端服务的程序猿,我们每天都和 PHP 以及 Web 服务器产生无数次的亲密接触。得益于它们,我们才能够如此快速的构建出令人陶醉的 Web 产品。
发布了文章2017-05-12
t = {1, 2, 3, 5, 100}print(#t) => 5 t = {1, 2, 3, 5, {}, 100}print(#t) => 6
发布了文章2016-04-07
by 院生@ORSF笔者认为,cosocket 是 OpenResty 世界中技术、实用价值最高的部分。让我们可以用非常低廉的成本,优雅的姿势,比传统 socket 编程效率高好几倍的方式进行网络编程。无论资源占用、执行效率、并发数等都非常出色。
发布了文章2016-01-25
文件目录组织:一般是在一个项目下新建 t 目录来存放测试集以lua-resty-redis 为例:[链接]有 Makefile ,test 选项里有重要的一句:prove -I../test-nginx/lib -r t这里有调用 perl 的 prove 指令,prove 会去执行测试t 目录下有 很多个 .t 文件,里面就是测试案例...
发布了文章2016-01-13
理由如下:从设计上讲,全局环境的生命周期和一个Nginx的请求的生命周期是相同的。为了做到会话隔离,每个请求都有自己的Lua全局变量环境。Lua模块在第一次请求打到服务器上的时候被加载起来,通过package.loaded表内建的require()完成缓存,为后续代码复用。并且一...