Go-sword 基于Go语言的可视化web管理后台生成工具

2020-04-27
阅读 4 分钟
3.3k
她能满足你哪些? 你有代码洁癖,不希望工具过多干扰你的业务逻辑 你希望生成的页面可以自定义修改,来实现更多的功能 你希望代码特别简单易读,且容易自定义 你希望能快速构建管理后台,哪怕仅仅是将数据库里的数据可视化 你希望一键生成,无需复杂操作 你希望使用iView的组件,快速构建页面 那么go-sword可以满足你 Gi...

【扩展推荐】 Laravel-Gii 如何根据MySQL表结构创建CRUD后台

2019-11-25
阅读 4 分钟
3.8k
Laravel Gii 为中小型项目快速创建管理后台,提供了一种新的可能。使用的过程中,你会发现很轻量,自由度很高,内部实现逻辑简单。特别是熟悉iView的开发者,在通过Gii生成的页面上,可以根据自己的需求自定义页面,通过修改默认Input组件为其他功能丰富的iView组件,可以来构造更加复杂的管理页面。 你会发现它没有提供...

ElastAlert日志告警(邮件、企业微信)

2018-12-28
阅读 10 分钟
14.4k
It works by combining Elasticsearch with two types of components, rule types and alerts. Elasticsearch is periodically queried and the data is passed to the rule type, which determines when a match is found. When a match occurs, it is given to one or more alerts, which take action based on the ma...

Yii2 完整框架分析(详细)

2017-11-20
阅读 7 分钟
8.4k
Yii2 框架Trace 准备 了解composer的autoload psr0 psr4 加载机制 了解spl_autoload_register 了解依赖注入的实现原理反射 了解常用魔术方法__set,__get,__call 热情与专注 入口分析 加载composer 的自动加载器,支持了PSR-0 PSR-4 {代码...} 进行常量的定义,并且声明了最基本的方法例如getVersion {代码...} 加载Yii自...

php 经典排序算法(解析)

2017-10-27
阅读 5 分钟
3.7k
介绍三种排序算法 快速排序 选择排序 冒泡排序 选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[...

使用Redis Zset来处理活动常用排行榜(精确排行)

2017-10-26
阅读 1 分钟
17.3k
一个严格的排行榜,必须要满足每个人的排序都是有实际意义的,简单来说就是即使两个人的分数一样,那么也要分出先后来。活动周期在92天以内的话,那么我们就可以使用200w加活动结束时间作为数字A来保证排行榜的顺序正确

linux下使用awk命令按时间段筛选日志

2017-10-19
阅读 2 分钟
14.8k
很多时候我们需要按照时间段来进行日志的分析,比如说查看上午的,或者某月某日的的具体日志,就不能简单实用tail -f或者head -n命令了。这个时候我们需要借用awk。

rsync命令快速删大文件

2017-10-19
阅读 1 分钟
6.9k
问题 很多情况下我们会遇到服务器日志目录几十个G,或者附件目录过大的情况,如果我们使用常规的rm命令来进行删除的话,会非常慢。 但是rsync命令提供了这样一个功能,可以秒删。通过同步指令的--delete-before来删除目录 原理 将空目录同步至非空目录 解决方案 首先新建立一个空目录empty_dir,然后将空目录的内容同步...

php sort 不同类型导致的问题

2017-07-25
阅读 1 分钟
2.1k
今天和客户端进行api签名校验,打算按照参数的ascii进行升序列排序然后进行sha1处理,但是使用sort方法进行排序的时候,却发现一个神奇的问题

git利用post-receive自动化部署

2017-07-14
阅读 2 分钟
14.6k
利用git的hooks中的post-receive来实现代码提交完成之后的动作。将仓库指定一个--work-tree然后进行检出操作checkout --force

有关array_keys,array_merge的一次报错

2017-07-10
阅读 1 分钟
1.6k
array_merge 类型不同导致的问题 {代码...} 结果如下 {代码...} 我们发现当key为数字的时候,array_merge是不会进行去重的!!!! array_keys 导致的类型转换 {代码...} 结果 {代码...} 我们发现key通过array_keys之后都变成了int类型!!!

xhprof 源码分析

2017-06-30
阅读 16 分钟
3.5k
XHProf 简要概念 重新封装zend的原生方法 如果要检测CPU的话,会有5ms的延迟,因为需要计算cpu频率 内部使用了链表 源码地址:/root/Downloads/xhprof/extension/xhprof.c 最重要的两个结构体 {代码...} {代码...} XHProf 在php中的使用 我们先看下XHProf的使用方法 {代码...} 执行结果如下:(可以直接跳过结果,看下面...

n阶贝塞尔曲线(bezier)javascript 实现解析

2016-12-14
阅读 3 分钟
7k
最近学习canvas,看到bezier曲线,所以补充了下知识,另外相关的数学定律都忘光了~ 需要了解的 前期需要了解相关的知识,可以看下维基百科 什么是贝塞尔曲线? 什么是线性插值? 绘制 canvas本身只提供了二次和三次的绘制函数,如果更高阶级的怎么办呢~要对起进行降阶拆分。 网上有个很牛掰的案例 bezier curve 我们来看下...

关于libevent的事件持续化EV_READ | EV_PERSIST

2016-11-08
阅读 2 分钟
15.9k
About Event PersistenceBy default, whenever a pending event becomes active (because its fd is ready to read or write, or because its timeout expires), it becomes non-pending right before its callback is executed. Thus, if you want to make the event pending again, you can call event_add() on it ag...

workerman 简要分析

2016-11-08
阅读 7 分钟
8.1k
runAll顾名思义,运行所有的,注释中也写了,Run all worker instances,运行所有的实例,也就是说脚本中可以同时new多个worker服务,这也是后面一个重要的$workers包含了每一个$worker都是一个服务实例。然后会根据每一个实例初始化count个子进程。

Pusher 提供websocket的广播服务

2016-10-31
阅读 1 分钟
5k
在看laravel的时候看到了pusher,laravel 5.3 可以通过pusher或者redis来提供广播支持。 Pusher.com 官网:pusher.com 自己使用php进行开发,所以需要通过websocket的方式让browser和server建立广播通讯。 pusher的各种语言和端的代码示例非常全而且详细,我这里举例下javascript和php 创建APP 首次创建账号的时候会提示...