domain

php中strstr、strrchr、substr、stristr四个函数的区别总结

久未见 提交于 2020-03-12 17:40:34
这篇文章主要介绍了php中strstr、strrchr、substr、stristr四个函数的区别总结,这4个函数是PHP中常用的字符串相关函数,需要的朋友可以参考下 php中strstr、strrchr、substr、stristr四个函数用法区别: php中strstr strrchr substr stristr这四个字符串操作函数特别让人容易混淆,常用的是substr,strstr,基本上可以满足对字符串的操作。 下面介绍一下这个几个函数的区别。 一、strstr和strcchr的区别 strstr 显示第一次找到,要查找的字符串,以及后面的字符串。 strrchr 显示最后一次找到,要查找的字符串,以及后面的字符串。 复制代码 代码如下: <?php $email = 'test@test.com@jb51.net'; $domain = strstr($email, '@'); echo "strstr 测试结果 $domain<br>"; $domain = strrchr($email, '@'); echo "strrchr 测试结果 $domain<br>"; ?> 结果如下: strstr 测试结果 @test.com@jb51.net strrchr 测试结果 @jb51.net 二、strstr和stristr的区别 strstr是大小写敏感的。

单点登录与权限管理本质:session和cookie介绍

送分小仙女□ 提交于 2020-03-12 01:50:55
本篇开始写「单点登录与权限管理」系列的第一部分:单点登录与权限管理本质,这部分主要介绍相关的知识概念、抽象的处理过程、常见的实现框架。通过这部分的介绍,能够对单点登录与权限管理有整体上的了解,对其相关概念、处理流程、常见实现有个基本的认识。 本篇文章介绍下session和cookie,它是登录实现的基础,主要从下面几个方面介绍: session和cookie基本概念 session的生命周期 cookie的作用域 cookie的跨域问题会在后续文章单独介绍。 基本概念 大部分系统都需要识别用户的身份,有些功能只有特定的用户能使用,有些功能需要根据用户身份显示不同的内容,一般使用唯一编号标识用户的身份。 就像我们的×××,×××号是每个人唯一的,根据所在的省市区、出生年月、性别等规则生成,我们去政府机构办事时,都需要带着×××,他们通过×××验证我们的身份。 session和cookie主要用来识别登录者身份的,默认通过JSESSIONID唯一编号进行验证。session是在服务端保存的一个数据结构,用来跟踪用户的状态,也可以保存用户相关的一些数据,可以保存在内存、缓存、数据库等存储结构中。cookie是客户端保存用户信息的一种机制。 servlet session javax.servlet.http包中是session的主要API接口,主要有以下几种接口: HttpSession

centos安装glassfish3

帅比萌擦擦* 提交于 2020-03-11 10:08:33
从老外博客搜到的资料,没翻译,很简单,自己留做资料 Sunday Mar 06, 2011 Install GlassFish 3.1 on CentOS or RHEL This post will cover installing GlassFish 3.1 on CentOS or RHEL. We'll also see how to run GlassFish as a service, how to access the Admin Console, and how to run GlassFish under a minimally privileged user. GlassFish 3.1 is the latest release and is available as GlassFish Server Open Source Edition 3.1 (free) and Oracle GlassFish Server 3.1 (supported and requires paid subscription). I installed both using the same process below. The procedure is the same as with 3.0.1 with some minor changes. If you do not

领域驱动设计(DDD :Domain-Driven Design)相关的思考

橙三吉。 提交于 2020-03-11 01:16:12
今天,技术总监给我们上了一堂有关DDD 的课程,感触颇多,特此记录! 1、问题 1.1、面向对象 虽然一直在说面向对象编程,但实际开发中一直没有做深入思考,更谈不上去用了,惭愧。 一个Class要有属性和行为,属性是对状态的描述,而行为是对属性进行改变所做的一些操作。当前项目中也有太多的残缺类(一个实体类中只有getter和setter 方法,基本上没有什么行为,故曰残缺类)。 我们来看一下 java.util.ArrayList.java,该类中的属性只有一个: transient Object[] elementData; // non-private to simplify nested class access 其他的像grow()、indexOf()等方法都是对该属性的操作,而且方法数远远大于属性,这才是一个正确的类,我们要对属性进行深入分析,发掘其一系列行为,让其变得高内聚、松耦合。 2、领域驱动设计思想及发展 2004年Eric Evans在其书中《领域驱动设计—软件核心复杂性应对之道》提出了“领域驱动设计(简称DDD)”的概念。 此后一批专家陆续出版了DDD相关的书籍,丰富了领域驱动设计的实践,其中有<Applying Domain-Driven Design and Patterns> <Domain-Driven Design Quickly> <Domain

C#注册表读写完整操作类

杀马特。学长 韩版系。学妹 提交于 2020-03-09 10:33:23
1.注册表基项静态域 C#代码 /// <summary> /// 注册表基项静态域 ///1.Registry.ClassesRoot 对应于HKEY_CLASSES_ROOT 主键 ///2.Registry.CurrentUser 对应于HKEY_CURRENT_USER 主键 ///3.Registry.LocalMachine 对应于 HKEY_LOCAL_MACHINE 主键 ///4.Registry.User 对应于 HKEY_USER 主键 ///5.Registry.CurrentConfig 对应于HEKY_CURRENT_CONFIG 主键 ///6.Registry.DynDa 对应于HKEY_DYN_DATA 主键 ///7.Registry.PerformanceData 对应于HKEY_PERFORMANCE_DATA 主键 /// </summary> public enum RegDomain { /// <summary> /// 对应于HKEY_CLASSES_ROOT 主键 /// </summary> ClassesRoot = 0, /// <summary> /// 对应于HKEY_CURRENT_USER 主键 /// </summary> CurrentUser = 1, /// <summary> /// 对应于 HKEY

openstack部署安装

烂漫一生 提交于 2020-03-08 17:13:12
OpenStack实战 准备环境 controller 10.0.0.11 compute1 10.0.0.31 常用服务端口 mariadb:3306 memcached:11211 消息队列:5672和25672 时间同步:123和323 keystone:5000和35357 glance:9191和9292 nova:6080,novncproxy:8774,nova-api:8775 yum源配置 cd /etc/yum.repos.d/ ls mkdir qiangge mv *.repo qiangge ls echo '[openstack] name=openstack baseurl=http://192.168.21.92/repo/ gpgcheck=0 [local] name=local baseurl=http://192.168.21.92/local/ gpgcheck=0' >openstack.repo yum clean all yum makecache 时间同步 controller上面配置一个时间服务器,上游时间,ntp3.aliyun.com allow:10/8 compute1与controller同步 上游时间:controller 在所有节点安装chrony服务 yum install chrony -y

OpenStack Ocata三节点实验环境部署(持续更新....)

﹥>﹥吖頭↗ 提交于 2020-03-08 13:35:58
文档更新记录: 1、2019.07.10,原始文档提交; 2、2019.08.07,更新环境准备部分三节点NTP同步配置。 一、测试环境准备 主机节点准备及网络规划 我物理节点是一台塔式服务器,40核CPU,64G内存,SSD盘800G,HDD盘4T。 操作系统:win7 x64 虚拟化软件:VMware WorkStation 11 系统环境准备 --最小化安装CentOS7.2系统(CentOS-7-x86_64-Minimal-1511.iso) --关闭防火墙、关闭SELinux systemctl stop firewalld.service systemctl disable firewalld.service --关闭SELinux setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 分别在三台节点上更改hostname hostnamectl set-hostname controller1 hostnamectl set-hostname compute1 hostnamectl set-hostname cinder 然后每个节点配置/etc/hosts文件: 10.1.1.120 controller1 10.1.1.121 compute1 10.1

DTO层的思考

梦想与她 提交于 2020-03-08 07:53:41
注意,【】中是后来加的批注。因为随着对DDD的深入了解,对DTO的思考也有所改变。 分布式模式下,DTO层是一定需要的吗? DTO 层的作用是为了隔离 Domain Model :让 DoMain Model 的改动不会直接影响到 UI ;保持 Domain Model 的安全 , 不暴露业务逻辑。 【最大多数情况看来,UI或者DO的改动,都不可避免地会影响对方,即使中间有DTO隔离,所以这一个理由是不成立的。 至于安全问题,如果不是开放性平台(业务接口的调用者不是安全的),那么也没必要担心业务逻辑会暴露;即使是开放性平台,我们也可以用AOP做权限检查,限制第三者的非法调用。所以安全问题的理由也不成立。】 有两个方案可以省略 DTO 层,又能起到 DTO 的作用: l 继承:定义失血模型的 Model ,然后再做一个从 Model 继承的代理类 ,代理类里实现业务逻辑。贫血模型的 Model 单独为一个 DLL ,代理模型另起一个 DLL 。 Client 端只能引用贫血模型的 DLL ,这样就达到了隔离的目的,又省略了 Contract 层。 l 接口:为 Domain Model 做一个贫血模型的接口,接口单独为一个 DLL , Client 端只引用接口 DLL 。 这两种方案的核心思想都是让数据字段与业务方法分离,然后只对 Client 端公开数据部份

halcon算子翻译——full_domain

一曲冷凌霜 提交于 2020-03-08 06:59:46
名称 full_domain - 将图像的域(ROI)扩大到最大。 用法 full_domain(Image : ImageFull : : ) 描述   算子full_domain输入一个以图像边缘长度为矩形的新定义域。 这意味着在进一步的操作中图像矩阵包含所有像素。 因此,通过读取或生成图像来获得相同的定义域。 矩阵的大小没有改变。 并行 ●  支持计算设备上的对象。 ●  多线程类型:可重入(与非独占算子并行运行)。 ●  多线程范围:全局(可以从任何线程调用)。 ●  在元组级别自动并行化处理。 参数 Image (input_object)   (multichannel-)image(-array) → object (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex / vector_field)   输入图像。 ImageFull   (output_object) image(-array) → object (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex / vector_field)   具有最大定义域的图像。 Possible

halcon算子翻译——change_domain

你离开我真会死。 提交于 2020-03-08 06:57:35
名称 change_domain - 更改图像的定义域(ROI)。 用法 change_domain(Image, NewDomain : ImageNew : : ) 描述   算子change_domain使用指定的区域作为新的定义域。 与算子reduce_domain不同,图像的定义域不是前一个定义域和新的定义域的交集,即矩阵的大小没有改变。 这尤其意味着该区域不能超过图像矩阵,否则在随后的操作中使用这种不一致的图标对象可能会导致错误或系统崩溃。 注意 由于运行时间的原因,传输的区域没有检查一致性(即,它是否适合图像矩阵)。 在后续操作中,不正确的区域会导致系统挂起。 并行 ●  支持计算设备上的对象。 ●  多线程类型:可重入(与非独占算子并行运行)。 ●  多线程范围:全局(可以从任何线程调用)。 ●  在元组级别自动并行化处理。 参数 Image (input_object)   (multichannel-)image(-array) → object (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex / vector_field)   输入图像。 NewDomain   (input_object) region → object   新的定义域。