Web
文章平均质量分 93
水果糖的小铺子
一个被编程、运维、网管耽误的艺术家.
展开
-
cfadmin - 编写高性能服务端、客户端实例(3)
阅读本文需要读者至少有C/C++网络编程基础, 并且了解基本的Socket API是如何使用的.同时需要读者至少使用过cfadmin框架、并且能熟练使用内置库来完成简单的业务逻辑编写.对本文有兴趣的同学也可以从官网与文档来了解更多关于框架的更多使用方法.测试准备1. 硬件清单名称型号内容数值CPUIntelI5-104006核12线程MEMMicronDDR4-266616GOSWSLLinuxKernel 5.4EditVSCODE原创 2021-11-19 11:30:53 · 998 阅读 · 0 评论 -
Lua Web 开发(拓展篇) - 利用Nginx的rewrite完成伪静态
前言本文将给大家介绍对Lua的动态链接地址转换为伪静态页面的做法.本文仅针对不支持rest软件架构风格的web开发框架提出伪静态的解决方案.并且此方法已经在业界已使用多年, 且并不意味着技术过时或新技术的必要性. 它只是服务于一些特殊业务场景并能提供不同的解决方案.一、 测试环境名字内容环境MAC OSX 10.15.3nginxnginx/1.18.0编译器Apple clang version 11.0.0 (clang-1100.0.33.8)二、原创 2020-05-11 10:15:09 · 449 阅读 · 0 评论 -
Lua admin后台开发 (6) 模板引擎的使用
上一章节我们初步了解了如何使用模板引擎, 现在我们深入了解模板引擎.什么是模板引擎“模板引擎(这里指Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的.”“模板引擎提供特定的格式与语法, 以此为依据将模板转换为标准HTML文档.”模板引擎的适用场景适合服务端后台开发者.Lua 模板引擎admin.view库中的template方法实则为template库中的comp...原创 2019-10-27 23:38:03 · 465 阅读 · 0 评论 -
Lua admin后台开发 (5) 路由联动与模块化
前面的章节我们学会了如何编写一个后台页面, 现在我们深入了解如何开发路由联动页面与模块化.配置回顾local httpd = require "httpd"local app = httpd:new("http")-- httpd启用Cookie扩展app:enable_cookie()-- httpd设置Cookie加密的密匙app:cookie_secure("candymi"...原创 2019-10-27 04:41:08 · 346 阅读 · 0 评论 -
Lua admin后台开发 (4) 开发一个简单的后台页面
前面的章节我们学会了如何页面设置与后台使用方法, 现在我们来为我们到后台写几个简单的页面.登录后台首先我们打开登录页面后登录.添加菜单如下图所示,菜单管理添加几个页面.上面的菜单图标可以这里找到喜欢的unicode并且填入.细心的同学可能会发现: 即使我们现在添加菜单成功, 页面也没用显示刚刚我们创建的菜单栏.现在我们刷新一下当前页面就会显示已经创建成功的菜单栏.编写路由这...原创 2019-10-26 20:44:03 · 941 阅读 · 2 评论 -
Lua admin后台开发 (3) admin库的后台页面配置
上一章节我们学会了如何admin库的使用, 学习一些admin库的详细配置.回顾配置忘记配置的同学我们再来看下基础配置, 稍后我们会对下面对配置进行扩展.local httpd = require "httpd"local app = httpd:new("http")-- httpd启用Cookie扩展app:enable_cookie()-- httpd设置Cookie加密的密...原创 2019-10-26 19:05:04 · 430 阅读 · 0 评论 -
Lua admin后台开发 (1) 搭建admin后台管理系统
cf是一个基于Lua语言开发的后端框架, 内置admin后台管理系统.今天我们来学会如何快速搭建cfadmin后台管理系统.安装作者本人使用的平台为Mac OSX, 其它Unix Like平台同理. Windows请自行到作者github下载指定版本.1. MySQL安装下载MySQL并且启动().登录MySQL创建一个空的数据库, 数据库名称任意(例如:cfadmin)....原创 2019-10-26 17:07:04 · 1217 阅读 · 0 评论 -
Lua admin后台开发 (2) admin库的后台页面介绍
上一章节我们学会了如何搭建cf框架的内置库, 现在就来熟悉一下基本后台页面吧.登录看了上一章节的同学可能已经见到了我们到登录界面, 这时候大家最想做的是什么? 没错. 空有界面无法登录是一件很难受的事.即使不明说有的同学恐怕也已经猜到了, admin库默认的超级管理员账户/密码是:admin/admin.现在, 尝试登录看看dashboard吧.Dashboard 仪表盘仪表盘应该大...原创 2019-10-26 18:15:50 · 839 阅读 · 0 评论 -
Lua Web快速开发指南(9) - 使用cf内置的异步库
API 介绍cf框架提供内置的异步库cf, 需要使用的时候我们必须先导入API: local cf = require "cf".定时器与循环定时器cf库内置了一些定时器方法, 这些方法为开发者提供了对时间事件的控制能力. cf.timeout、cf.at、cf.sleep.cf.sleep方法是一个阻塞的定时器, 只有一个参数用来设置当前协程的休眠时间并且没有返回值. 此方法的行为(语义...原创 2019-06-23 23:04:39 · 363 阅读 · 0 评论 -
Lua Web快速开发指南(10) - 利用MQ实现异步任务、订阅/发布、消息队列
本章节我们将学习如何使用MQ库.MQ库简介MQ库实现了各类消息代理中间件(Message Broker)的连接协议, 目前支持:redis、mqtt、stomp协议.MQ库基于上述协议实现了: 生产者 -> 消费者与订阅 -> 发布模型, 可以在不依赖其它服务的情况下独立完成任务.API介绍cf框架提供了多种MQ的封装, 当我们需要使用的时候需要根据实际的协议进行选择:--...原创 2019-06-25 20:50:33 · 676 阅读 · 0 评论 -
为skynet移植一个lua-websocke库
简介目前大部分游戏、移动互联网、H5客户端主要由JavaScript、Lua、C#、C++等语言进行逻辑开发, 其主要通讯方案便是基于HTTP协议的接口请求与Websocket的推送方案.起因skynet内部实现了一套同步非阻塞socket库, 并且提供了TCP通讯方案进行数据流分割. 所谓的TCP数据流分割. 就是根据一定方式读取数据的一种流程.最为常见的数据分割方案应该是: 2字节头...原创 2019-06-22 09:53:20 · 696 阅读 · 0 评论 -
lua web快速开发指南(7) - 高效的接口调用 - httpc库
httpc库基于cf框架都内部实现的socket编写的http client库.httpc库内置SSL支持, 在不使用代理的情况下就可以请求第三方接口.httpc支持header、args、body、timeout请求设置, 完美支持各种httpc调用方式.API介绍httpc库使用前需要手动导入httpc库: local httpc = require "httpc".httpc.ge...原创 2019-06-16 18:00:47 · 1949 阅读 · 5 评论 -
lua web快速开发指南(6) - Cache、DB介绍
"数据库"与"缓存"的基本概念数据库与缓存是服务端开发人员的必学知识点.数据库"数据库"是一种信息记录、存取的虚拟标记地点的集合统称. 比如现实生活中, 我们经常会用到文件柜、书桌等等数据存取容器.在对容器进行数据存取的时候, 我们会为每一层打上一个标签表示一种分类项. 而这种在数据库中划分子分类形成了表的概念. 这就是我们通常所说的结构化数据库.由于通常数据表之间可能会存在依赖关系, ...原创 2019-06-16 01:04:51 · 568 阅读 · 0 评论 -
lua web快速开发指南(5) - 利用template库构建httpd模板引擎
介绍template模板引擎是为了使用户界面与业务数据(内容)分离而产生的, 其本身并不是一种深奥的技术.template模板引擎首先会将合法的模板编译为lua函数, 然后将模板文件和数据通过模板引擎生成一份HTML代码.cf的admin库整使使用了template来构建服务端渲染页面, 并利用单页面+iframe模式快速完成lua后台开发.1. template基础语法在真正使用之前,...原创 2019-06-14 15:30:16 · 263 阅读 · 0 评论 -
lua web快速开发指南(4) - 详细了解httpd库的API
httpd库是基于HTTP 1.1协议实现而来, 内置了高性能的http协议解析器与urldecode解析库.httpd库默认情况下就能工作的很好, 但是在一些需求较为极端的场景还是需要微调一下参数.httpd常用的内置方法介绍1. httpd:timeout(number)设置每个连接到最大空闲(idle)连接等待时间, 超过这个数值httpd将主动断开连接. (默认值为:30秒)2....原创 2019-06-14 15:29:24 · 368 阅读 · 0 评论 -
lua web快速开发指南(3) - 初识httpd库路由
本章假设您已经知道httpd server如何快速搭建, 并且知道cf的启动流程与运行流程, 知晓httpd如何创建与启动.回顾上一章节-- script/main.lualocal httpd = require "httpd"local app = httpd:new("app")app:static("static", 30)app:listen("0.0.0.0", 808...原创 2019-06-14 15:28:30 · 656 阅读 · 0 评论 -
lua web快速开发指南(2) - cf的运行机制简介与基于httpd库的开发环境搭建
从本章开始假设大家都熟悉lua语法.运行流程在上一章节学会了如何安装cf后, 本章节就会介绍cf到运行机制与httpd的server搭建!cf是一个非常典型的基于协程的事件驱动开发框架在封装成API后, 可以依赖事件循环执行一套稳定运行时环境.而lua本身提供了强大的table数据结构可以根据需要自行构建所谓的"config", 所以cf为了减少无用的依赖就没有提供额外的config文件进...原创 2019-06-14 15:27:41 · 526 阅读 · 0 评论 -
lua web快速开发指南(1) - 初识cf框架
作者: 水果糖的小铺子(CandyMi)cf是什么?cf全称为: CoreFramework. 一个基于Reactor事件驱动与协程的lua高性能网络框架, 目前主要面向HTTP Application开发.cf内部主要实现了包括HTTP与HTTP Over Websoket协议的Server, 利用轻量级协程可以很轻松保持成千上万的长连接.cf内置了丰富的开发库与常见的第三方协议, ...原创 2019-06-14 15:26:43 · 2223 阅读 · 0 评论 -
lua web快速开发指南(8) - 利用httpd提供Websocket服务
Websocket的技术背景WebSocket是一种在单个TCP连接上进行全双工通信的协议, WebSocket通信协议于2011年被IETF定为标准RFC 6455并由RFC7936补充规范.WebSocket使得客户端和服务器之间的数据交换变得更加简单, 使用WebSocket的API只需要完成一次握手就直接可以创建持久性的连接并进行双向数据传输.WebSocket支持的客户端不仅限于浏...原创 2019-06-18 22:33:23 · 1423 阅读 · 0 评论