自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

rorntuck7的专栏

php java android

  • 博客(162)
  • 资源 (7)
  • 收藏
  • 关注

原创 【php7扩展开发六】zval的操作

生成各类型zvalPHP7将变量的引用计数转移到了具体的value上,所以zval更多的是作为统一的传输格式,很多情况下只是临时性使用,比如函数调用时的传参,最终需要的数据是zval携带的zend_value,函数从zval取得zend_value后就不再关心zval了,这种就可以直接在栈上分配zval。分配完zval后需要将其设置为我们需要的类型以及设置其zend_value,PHP中定义的...

2019-01-11 17:47:27 968

原创 【php7扩展开发五】函数调用

实际应用中,扩展可能需要调用用户自定义的函数或者其他扩展定义的内部函数,PHP提供的函数调用API的使用:ZEND_API int call_user_function(HashTable *function_table, zval *object,zval *function_name, zval *retval_ptr, uint32_t param_count, zval params...

2019-01-10 16:48:07 313

原创 【php7扩展开发四】函数的参数 ,引用传参 ,返回值

函数参数解析之前我们定义的函数没有接收任何参数,那么扩展定义的内部函数如何读取参数呢?用户自定义函数在编译时会为每个参数创建一个zend_arg_info结构,这个结构用来记录参数的名称、是否引用传参、是否为可变参数等,在存储上函数参数与局部变量相同,都分配在zend_execute_data上,且最先分配的就是函数参数,调用函数时首先会进行参数传递,按参数次序依次将参数的value从调用空间...

2019-01-10 15:26:35 1737

原创 【php7扩展开发三】ini配置

php.ini配置php.ini是PHP主要的配置文件,解析时PHP将在这些地方依次查找该文件:当前工作目录、环境变量PHPRC指定目录、编译时指定的路径,在命令行模式下,php.ini的查找路径可以用-c 参数替代。该文件的语法非常简单: 配置标识符 = 值 。空白字符和用分号';'开始的行被忽略,[xxx]行也被忽略;配置标识符大写敏感,通常会用'.'区分不同的节;值可以是数字、字符串、...

2019-01-09 12:25:28 903

原创 【php7扩展开发一】注册一个内部函数 hello world

通过扩展可以将C语言实现的函数提供给PHP脚本使用,如同大量PHP内置函数一样,这些函数统称为内部函数(internal function),与PHP脚本中定义的用户函数不同,它们无需经历用户函数的编译过程,同时执行时也不像用户函数那样每一个指令都调用一次C语言编写的handler函数,因此,内部函数的执行效率更高。除了性能上的优势,内部函数还可以拥有更高的控制权限,可发挥的作用也更大,能够完成很...

2019-01-09 11:04:29 403

原创 【php7扩展开发二】全局变量

使用C语言开发程序时经常会使用全局变量进行数据存储,这就涉及前面已经介绍过的一个问题:线程安全,PHP设计了TSRM(即:线程安全资源管理器)用于解决这个问题,内核中频繁使用到的EG、CG等都是根据是否开启ZTS封装的宏,同样的,在扩展中也需要必须按照TSRM的规范定义全局变量,除非你的扩展不支持多线程的环境。PHP为扩展的全局变量提供了一种存储方式:每个扩展将自己所有的全局变量统一定义在一个...

2019-01-08 18:26:32 1051

转载 帝国cms【官方教程系列教程一】 首页模板制作

帝国cms首页模板是指网站首页的模板。(/index.html)修改首页模板1、登录后台,单击“模板”菜单,选择“首页模板”子菜单,进入修改首页模板界面:2、进入修改首页模板界面:3、首页模板支持的变量说明 [!--news.url--]:网站地址(参数设置的站点地址) [!--class.menu--]:一级栏目导航 [!--pag...

2020-03-23 11:52:27 2846

转载 linux中sort命令

功能说明:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序。参  数:  -b   忽略每行前面开始出的空格字符。   -c   检查文件是否已经按照顺序排序。   -d   排序时,处理英文字母、数字及空格字符外,忽略其他的字符。   -f   排序时,将小写字母视为大写字母。   -i   排序时,除了040至176之间的ASCII字符外,忽略其他的字符。...

2019-01-30 10:32:19 567

转载 真正的inotify+rsync实时同步 彻底告别同步慢

我们公司在用inotify+rsync做实时同步,来解决分布式集群文件一致性的问题。但当web文件越来越多(百万级数量html,jpg等小 文件),同步就越来越慢,根本做不到实时,按照网上的调优方法都尝试过,问题根本没有解决。经过我一翻细致研究,终于把慢的核心问题研究明白,先总结一句 inotifywait响应不会有延迟,rsync也很快。大家同样有慢的烦恼,那是因为网上的inotify+rsyn...

2019-01-29 17:32:46 358

原创 Linux 文件同步rsync

与传统的cp、tar备份方式相比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。安装rsync我们使用wget进行下载,安装包下载完毕后,我们开始解压并安装wget https://download.samba.org/pub/rsync/src/rsy...

2019-01-27 18:02:08 2374 1

转载 Linux 用户管理及用户权限设置

Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主...

2019-01-27 11:22:58 39397 1

转载 Linux 定时任务crontab

crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crontab依赖的服务就是crond,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。这个crond定时任务服务就相当于我们生活中的闹钟!由于crond 是Linu...

2019-01-26 16:16:37 312

翻译 Linxu ps命令

ps命令能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态。如果你想不断更新查看的这个状态,可以使用top命令。ps命令支持三种使用的语法格式UNIX 风格,选项可以组合在一起,并且选项前必须有“-”连字符 BSD 风格,选项可以组合在一起,但是选项前不能有“-”连字符 GNU 风格的长选项,选项前有两个“-”连字符我们能够混用这几种风格,但是可能会发生冲突。本文使用 U...

2019-01-26 12:12:15 264

原创 Linux netstat命令详解

简介netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。netstat的输出结果可以分为两个部分:1. Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的...

2019-01-25 18:10:37 337

转载 Linux awk命令

awk 是一种很棒的语言,它适合文本处理和报表生成,其语法较为常见,借鉴了某些语言的一些精华,如 C 语言等。在 linux 系统日常处理工作中,发挥很重要的作用,掌握了 awk将会使你的工作变的高大上。使用方法awk '{pattern + action}' {filenames}尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 ac...

2019-01-24 17:42:55 289

原创 nginx日志配置

1. 配置错误日志 Error LogNginx 将遇到的不同严重级别问题的信息写入错误日志。 error_log 指令设置对特定文件,stderr 或 syslog 的日志记录,并指定要记录的消息的最低严重级别。 默认情况下,错误日志位于 logs/error.log(绝对路径取决于操作系统和安装),并且默认记录所有严重级别的消息。 下面的配置将记录错误信息的最低级别从 error 改为 ...

2019-01-23 16:09:05 788

原创 时序数据库InfluxDB使用详解--几个重要概念

influxdb的安装这里就不在说明了 ,这里已经做了说明https://blog.csdn.net/rorntuck7/article/details/86559223。下面我们来介绍一下influxdb里面有一些重要概念database,timestamp,field key, field value, field set,tag key,tag value,tag set,measu...

2019-01-21 12:01:43 3541

原创 ubuntu上 grafana + influxdb + telegraf 安装配置

Grafana  一个纯粹的HTML/JS应用,其功能非常强大,访问InfluxDB时不会有跨域访问的限制。只要配置好数据源为InfluxDB之后就可以,剩下的工作就是配置图表。InfluxDB  开源的分布式时序、时间和指标数据库,使用Go语言编写,无需外部依赖。其中,时间序列数据库是数据格式里包含Timestamp字段的数据,比如某一时间用户上网流量、通话详单等。但是,有什么数据不...

2019-01-20 10:11:02 1922

原创 【php7内核】静态变量,全局变量,常量的实现

最近在读php7内核,本文是由《PHP7内核剖析》整理而来。静态变量PHP中局部变量分配在zend_execute_data结构上,每次执行zend_op_array都会生成一个新的zend_execute_data,局部变量在执行之初分配,然后在执行结束时释放,这是局部变量的生命周期,而局部变量中有一种特殊的类型:静态变量,它们不会在函数执行完后释放,当程序执行离开函数域时静态变量的值被...

2019-01-06 15:29:46 1050

原创 【php7内核】数组的实现

       数组是PHP中非常强大、灵活的一种数据类型,它的底层实现为散列表(HashTable,也称作:哈希表),除了我们熟悉的PHP用户空间的Array类型之外,内核中也随处用到散列表,比如函数、类、常量、已include文件的索引表、全局符号表等都用的HashTable存储。散列表是根据关键码值(Key value)而直接进行访问的数据结构,它的key - value之间存在一个映射函数,...

2019-01-05 16:37:37 989

原创 【php7内核】变量的内部实现

最近在读php7内核,本文是由《PHP7内核剖析》整理而来。变量的内部实现变量是一个语言实现的基础,变量有两个组成部分:变量名、变量值,PHP中可以将其对应为:zval、zend_value,这两个概念一定要区分开,PHP中变量的内存是通过引用计数进行管理的,而且PHP7中引用计数是在zend_value而不是zval上,变量之间的传递、赋值通常也是针对zend_value。PHP中可以通...

2019-01-05 10:19:49 253

原创 C 语言中的结构体struct、联合体union

共用体(union) 1. 联合说明和联合变量定义 联合也是一种新的数据类型, 它是一种特殊形式的变量。 联合说明和联合变量定义与结构十分相似。其形式为: union 联合名{      数据类型 成员名;      数据类型 成员名; ... } 联合变量名; 联合表示几个变量公用一个内存位置, 在不同的时间保存不同的数据类型 和不同长度的变量。 下例表示说明一个联合a_bc...

2019-01-03 17:34:52 811

原创 c 文件操作相关函数总结

文件概述文件是指存储在外部存储器上的数据集合。更准确的来说,文件就是一组相关元素或数据的有序集合,而且每个集合都有一个符号化的指代,称这个符号化的指代为文件名。文件类型根据文件在外部存储器上的组织形式,文件可以分为ASCII文件和二进制文件。ASCII文件(文本文件):以字符的方式进行存储,一个字符对应一个ASCII码,而一个ASCII码占用1字节。例如:整数12在内存中占用4个字...

2018-12-28 18:12:03 936

原创 Redis如何做持久化的?

redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件)。bgsave做镜像全量持久化,aof做增量持久化。因为bgsave会耗费较长时间,不够实时,在停机的时候会导致大量丢失数据,所以需要aof来配合使用。在r...

2018-12-05 12:17:12 284

转载 大数据计算:如何仅用1.5KB内存为十亿对象计数 - Hyper LogLog 算法

his is a guest post by Matt Abrams (@abramsm), from Clearspring, discussing how they are able to accurately estimate the cardinality of sets with billions of distinct elements using surprisingly small...

2018-12-05 10:52:18 192

原创 Redis分布式锁----乐观锁的实现,以秒杀系统为例

乐观锁      大多数是基于数据版本(version)的记录机制实现的。即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个”version”字段来实现读取出数据时,将此版本号一同读出,之后更新时,对此版本号加1。此时,将提交数据的版本号与数据库表对应记录的当前版本号进行比对,如果提交的数据版本号大于数据库当前版本号,则予以更新,否则认为是过期数据。red...

2018-12-03 15:43:38 150

原创 Redis常见使用场景(PHP实战)

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。本篇文章,主要介绍利用PHP使用Redis,主要的应用场景。简单字符串缓存实战<?php/**set/hset 的区别假设新开一所学校set/get方法存储的是单个数据,相当于往学校里面塞入一个学生,查找的时候全部集合到一起,点名找...

2018-12-03 14:27:41 721

转载 Redis 的操作为什么是的原子性的详解

原子性原子性是数据库的事务中的特性。在数据库事务的情景下,原子性指的是:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。对于Redis而言,命令的原子性指的是:一个操作的不可以再分,操作要么执行,要么不执行。Redis操作原子性的原因Redis的操作之所以是原子性的,是因为Redis是单线程的。由于对操作系统相关的知识不是很...

2018-12-03 11:44:33 4780

转载 lvm-snapshot备份mysql数据(全量+增量)

lvm-snapshot:基于LVM快照的备份1.关于快照:1)事务日志跟数据文件必须在同一个卷上;2)刚刚创立的快照卷,里面没有任何数据,所有数据均来源于原卷3)一旦原卷数据发生修改,修改的数据将复制到快照卷中,此时访问数据一部分来自于快照卷,一部分来自于原卷4)当快照使用过程中,如果修改的数据量大于快照卷容量,则会导致快照卷崩溃。 5)快照卷本身不是备份,只是提供一个时间一致性的访...

2018-12-03 10:40:03 650

原创 mysqldump备份(全量+增量)方案操作记录

在日常运维工作中,对mysql数据库的备份是万分重要的,以防在数据库表丢失或损坏情况出现,可以及时恢复数据。线上数据库备份场景:每周日执行一次全量备份,然后每天下午1点执行MySQLdump增量备份.下面对这种备份方案详细说明下:1.MySQLdump增量备份配置执行增量备份的前提条件是MySQL打开binlog日志功能“log-bin=”后的字符串为日志记载目录,一般建议放在不...

2018-12-01 10:34:04 448

原创 Mysql之binlog日志说明及利用binlog日志恢复数据操作记录

众所周知,binlog日志对于mysql数据库来说是十分重要的。在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷!废话不多说,下面是梳理的binlog日志操作解说:一、初步了解binlogMySQL的二进制日志binlog可以说是MySQL最重要的日志,它记录了所有的DDL和DML语句(除了数据查询语句s...

2018-11-30 17:20:53 523 1

转载 定时备份脚本分享(网站数据和数据库数据)

1)网站数据备份将网站数据/var/www/vhost/www.hqsb.com和/var/www/vhost/www.huanqiu.com分别备份到:/Data/code-backup/www.hqsb.com和/Data/code-backup/www.huanqiu.com下。 [root@huanqiu_web5 code-backup]# cat web_code_back...

2018-11-30 12:17:10 241

转载 《后端架构师技术图谱》先收藏

数据结构 队列 集合 链表、数组 字典、关联数组 栈 树 二叉树 完全二叉树 平衡二叉树 二叉查找树(BST) 红黑树 B,B+,B*树 LSM 树 BitSet 常用算法 排序、查找算法 选择排序 冒泡排序 插入排序 快速排序 归并排序 希尔排序 堆排序 计数排序 ...

2018-11-30 10:08:31 1414

原创 PHP中引用的详解

1. PHP中引用的特性PHP中引用意味着用不同的名字访问同一个变量内容,引用不是C的指针(C语言中的指针里面存储的是变量的内容,在内存中存放的地址),是变量的另外一个别名或者映射。注意在 PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字。最接近的比喻是 Unix 的文件名和文件本身――变量名是目录条目,而变量内容则是文件本身。引用可以被看作是 Unix 文件系统中的紧密...

2018-11-29 15:00:32 158

原创 PHP 自动捕获 Fatal Error

PHP 有捕获 Error 和 Exception 的函数设置一个用户的函数来处理脚本中出现的错误。set_error_handler($callback)//设置一个用户的函数来处理脚本中出现的异常。set_exception_handler($callback)测试异常捕获<?php//设置异常捕获函数set_exception_handler("my_...

2018-11-29 11:48:20 1154

原创 web 安全与性能

ApacheApache 案例Apache : rootApache 子进程 : nobodyHTDOCS 目录 : /var/www/var/www|--include|--image|--temp|--...很多人会将/var/www用户与组设置为 nobody:nogroup / nobody:nobody, 同时因为images会上传文件需要设置777, 很多书...

2018-11-29 11:01:54 540

转载 PHP RSA加解密示例

原理RSA 算法的可靠性基础:对极大整数做因数分解是很困难的。RSA 是非对称算法,加解密使用不同的密钥。两个密钥都可以用于加密,解密时需要使用另一个密钥。但是,通常用公钥加密私钥解密,因为公钥是近乎完全公开的,对于私钥加密的数据,有太多的人可以解密了。理论上 A 和 B 之间要通过 RSA 实现保密通信,需要 A 和 B 各自生成一组密钥,同时保管好自己的私钥;用对方的公钥加密要发送...

2018-11-28 16:59:10 173

转载 PHP开发api接口安全验证

php的api接口在实际工作中,使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链接获取接口提供的数据,而返回的数据一般分为两种情况,xml和json,在这个过程中,服务器并不知道,请求的来源是什么,有可能是别人非法调用我们的接口,获取数据,因此就要使用安全验证。验证原理原理从图中可以看得很清楚,前台想要调用接口,需要使用几个参数生成签名。时间戳:当前时间...

2018-11-28 16:27:12 131

转载 php----stream_socket_pair

stream_socket_pair,他的作用是创建一对完全一样的网络套接字连接流 ,通常会被用在进程间的通信具体参数这里不再讲述,文档里都有,我们解释一下文档中的例子?php$sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);$pid = pcntl_fork...

2018-11-28 15:01:07 350

转载 php进程间通信--信号量

 信号量是什么? 信号量 : 又称为信号灯、旗语 用来解决进程(线程同步的问题),类似于一把锁,访问前获取锁(获取不到则等待),访问后释放锁。  举一个生活中的例子:以一个停车场的运作为例。简单起见,假设停车场只有三个车位,一开始三个车位都是空的。这时如果同时来了五辆车,看门人允许其中三辆直接进入,然后放下车拦,剩下的车则必须在入口等待,此后来的车也都不得不在入口处等待。这时,有一辆车离开...

2018-11-28 12:29:28 332

Andriod Snackbar 案例源代码下载

Snackbar提供了关于操作的轻量级的反馈。它可以从屏幕底部展示一个简短的消息,与Toast相似,但是它更灵活和功能更加强大。 当它显示一段时间后或者用户与屏幕交互时,它会自动消失; 可以包含一个动作action; Snackbar出现在屏幕所有其他元素之上,同一时间内只有一个Snackbar显示。

2017-03-08

Android ViewDragHelper完全解析 自定义ViewGroup demo 下载

Android ViewDragHelper完全解析 自定义ViewGroup

2017-02-10

andriod自定义view 小案例(带进度的圆形进度条)源码下载

andriod自定义view 小案例(带进度的圆形进度条)开发工具 andriod studio

2017-01-21

Android利用canvas画各种图形源码下载

Android利用canvas画各种图形

2017-01-20

andriod自定义view源码下载

andriod自定义view (验证码小案例)

2017-01-19

andriod studio 中自定义view源码

andriod studio 中自定义view源码

2017-01-19

基于TP3.1.2的通用网站后台

本系统下载安装包已被移除,请自行编写后台系统!已下载安装使用的朋友有任何相关问题请自行解决或者放弃使用本系统!本人不再回答任何有关本系统的任何问题! 以上为后台原作者申明,因此,请下载的朋友自行解决出现的问题,请勿去骚扰原作者,仅供tp爱好者学习使用,不喜勿下。

2014-12-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除