自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 php面向对象基本原则

 一、单一职责原则:一个类只需做好一件事情不需要太复杂,太复杂可以分成多个类二、开放封闭原则:对扩展开放,对修改封闭三、依赖倒置原则:两个类之间的依赖关系不能是强依赖关系,一个类相对于另一个类都是可替换的(如A依赖B ,现有C类和B功能差不多,可以将B替换为C)(使用依赖注入的方式将B注入A,B可替换为其他类)高层模块不应该依赖与底层模块,二者都应该依赖于抽象;抽象不应该依赖于...

2019-01-15 16:19:06 244

原创 php观察者模式

观察者模式为您提供了避免组件之间紧密耦合的另一种方法(一种工厂模式)该模式非常简单:观察者模式是一种事件系统,意味着这一模式允许某个类观察另一个类的状态,当被观察的类状态发生改变的时候,观察类可以收到通知并且做出相应的动作观察者模式定义对象的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新!设计原则 :在观察者模式中,会改变的是主题的状态以及观察者的数...

2019-01-15 15:26:28 98

原创 php单例模式

单例模式:一个类只能有一个实例(只能实例化一次) 为何用单例模式:一、为了防止资源浪费。二、实例控制单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例。三、灵活性因为类控制了实例化过程,所以类可以灵活更改实例化过程。  应用场景:1.PHP的应用有一个大方面是针对于数据库,一个应用中会存在大量的数据库操作,在使用面向对象的...

2019-01-15 14:00:59 122

原创 php工厂模式及laravel中工厂模式

工厂模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类应用场景:连接数据库,可以使用mysql 、mysqli、pdo,根据不同参数配置使用不同的数据库操作类              做支付接口的时候,未来可能对应不同的支付网关:支付宝、财付通、网银在线等。方便未来扩展,设计成工厂模式。定一个专门生产网关接口的工厂,抽象出来,做成接口形式,让所有的子类都要实现它的接口。以后...

2019-01-15 13:20:44 1953

原创 uintptr和unsafe.Pointer的区别

unsafe.Pointer其实就是类似C的void *,在golang中是用于各种指针相互转换的桥梁。uintptr是golang的内置类型,是能存储指针的整型,uintptr的底层类型是int,它和unsafe.Pointer可相互转换。uintptr和unsafe.Pointer的区别就是:unsafe.Pointer只是单纯的通用指针类型,用于转换不同类型指针,它不可以参与指针运算;而ui...

2018-12-24 13:23:00 3628

原创 golang 获取当天是周几(两种方法)

第一种:t := time.Now()fmt.Println(int(t.Weekday()))第二种:yearInt:=time.Now().Year()monthInt:=time.Now().Month()//time.Now().Month().String()dayInt:=time.Now().Day()fmt.Printf("%d年%d月%d日是:%s\n...

2018-12-11 17:10:36 22009

原创 golang中test之benchmark

注意点:一,当运行时间达到稳态时,benchmark才会终止,算出每一次跑的平均时间永远不要让吧运行时间出现非稳定状态,有可能导致benchmark跑不完(必须要保证被测函数在一个时间内达到稳态,否则benchmark·不能终止)如下图,aaa()函数中n>0则n--,这样就会导致被测函数aaa()不能在一个时间达到稳态,benchmark不能终止二,使用命令go tes...

2018-11-22 11:38:27 16840

原创 go中test

如果传参为b *testing.B 则为测试普通传参 t.*testing.T   当***_test.go文件中的方法为小写开头是不进行测试运行,为大写是运行 package mainimport ( "testing" "fmt")func TestPrint(t *testing.T) { res := Pr...

2018-11-21 18:19:54 195

原创 beego搭建

获取beego    go get github.com/astaxie/beego升级beego    go get -u github.com/astaxie/beego安装bee工具        go get github.com/beego/bee查看bee版本   bee version 进入src创建新项目bee new hospital自动编...

2018-11-20 14:37:19 230

原创 swoole之异步读写

// 异步读取文件内容swoole_async_readfile(__DIR__."/1.txt", function($filename, $content) { echo "$filename: $content";});//异步写入文件$file_content = '佛冷';swoole_async_writefile(__DIR__.'/test....

2018-11-18 17:21:12 232

原创 swoole之毫秒定时器

swoole_timer_clear()中的参数为$time_id(如图一中的$timer或者$time_id)

2018-11-17 16:35:08 374

原创 swoole中task任务

三部曲一,设置task_worker_number二,onTask三,onFinish <?php/** * Created by PhpStorm. * User: Ty_Ro * Date: 2018/11/11 * Time: 23:19 *//** * ws的优化 */class Ws_optimize{ const HOST =...

2018-11-17 14:55:16 632

原创 windows下杀死端口

 1、netstat -ano | findstr "8001"    查看端口8001被哪个进程占用;由下图可以看出,被进程为3736的占用2、查看进程号为3736对应的进程;由下图可以看出,是被java.exe占用了命令:tasklist | findstr "3736" 3、结束该进程命令:taskkill /f /t /im java.exe ...

2018-11-15 14:38:48 11575 2

原创 解决编写swoole时外网访问不了8811端口思路以及centos7系统firewall开启端口访问

1.首先检查阿里云的安全组规则是否开启,或者允许访问该端口,未被允许则添加规则2.如果阿里云安全组开启,则先查询端口是否被firewall禁止3.如果firewall允许,则检查监听该端口的程序是否允许外网访问阿里云centos7中firewall开启端口关闭防火墙:systemctl stop firewalld.service查看所有打开的端口: firewall-c...

2018-11-08 02:31:22 1840

原创 源码编译安装swoole,并让php支持swoole

第一步:下载swoole    : git  clone https://gitee.com/swoole/swoole.git第二步:进入下载目录。输入phpize(phpize是在php/bin/phpize)phpize扩展php的扩展模块,通过phpize可以建立php的外挂模块第三步:./configure  --with-php-config=/usr/local/php/...

2018-11-06 02:19:50 323

原创 centos7源码安装php

第一步本地下载官网下载php安装包:网页进入php.net进入官网,点击downloads进入下载页面,点击最新版php.版本号.tar.gz第二步:移动到服务器或虚拟机内。第三步:解压php压缩包,tar -xzvf  php.版本号.tar.gz第四步:源码编译安装。必须要有gcc和autoconf,libxml2-devel,c++yum install gccyum i...

2018-11-05 01:02:15 1137

原创 php数组函数和字符串函数

字符串:数组:array_walk(), array_filter(),array_multisort() ,array_shift() 字符串示例:数组示例:array_walk() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。$arr=array("a"=>"red","b"=>"green","c"=>&qu

2018-10-18 13:55:35 291

原创 laravel中发送邮件

 laravel中使用邮箱的163,QQ邮箱发送邮件需要注意的是:使用QQ邮箱的话,需要开启POP3和SMTP服务。开启方式如下:QQ邮箱 > 设置 > 账户 需要开启服务.png 当开启成功会生成密钥,这个东西会在配置中用到 生成密钥.png开始进行配置# 编辑邮件配置文件$ vim laravel/config/mail....

2018-09-29 15:15:15 1248

原创 mysql开启bin-log日志,实习主从配置,读写分离

 参考文档:http://blog.csdn.net/goustzhu/article/details/9339621   主从、主主、半同步复制          http://database.51cto.com/art/201505/475376_all.htm  集群一、什么是主从复制 至少两台数据库服务器,可以分别设置主服务器和从服务器,对主服务器的任何操...

2018-09-27 16:44:39 878

原创 php之单例模式,工厂模式,注册模式

工厂模式是通过类或者工厂方法来产生对象,而不是在代码中直接new;上面将实例化对象的方法封装到工厂类中,比如当实例化对象的名称发生改变时只需要更改工厂类中的方法。如果不封装到工厂类中就需要一个一个的去new的地方更改new的对象名称。工厂模式说白了就是一种编程规范,是一种良好的编程习惯。把一些常用的方法封装成一个工厂类,便于统一管理和调用。单例模式是只允许实例化一次某个类的对象...

2018-09-26 12:55:21 222

原创 python数据类型思维导图

2018-09-19 15:36:11 484

原创 Operation not permitted

经常有同事问,删除文件/目录时报Operation not permitted错误,这个要如何处理?!这个一般是权限的问题,比如:1. 普通用户且有足够的权限的话,一般文件夹可能是别的服务/进程掉用该文件夹lsof +D  /Dir/Your/Want/To/Delete/先执行上面的命令,查询到调用该文件夹的进程IDs,然后再kill掉,这个时候应该就可以删了!2. 普通用户...

2018-09-18 18:33:24 51077

原创 php ajax jsonp 跨域两种方式

第一种方式客户端代码案例第一种方法重点是服务端加header头------》header("Access-Control-Allow-Origin: *");客户端代码header("Access-Control-Allow-Origin: *");$data = $request->all();return $data;客户端响应数据第二张方法重点...

2018-09-18 11:27:11 663

原创 配置phpmyadmin连接远程 MySQL数据库

1、phpmyadmin程序所在服务器:192.168.1.1,访问地址为:http://192.168.1.1/phpmyadmin2、MySQL数据库所在服务器:192.168.1.2,已经允许数据库外链,MySQL数据库用户名:admin 密码:1234563、现在要通过http://192.168.1.1/phpmyadmin来管理服务器192.168.1.2上面的MySQL数据库系...

2018-09-13 16:19:56 11485

原创 python3与python2的区别

print 函数print语句没有了,取而代之的是print()函数。 Python 2.6与Python 2.7部分地支持这种形式的print语法。在Python 2.6与Python 2.7里面,以下三种形式是等价的:print "fish"print ("fish") #注意print后面有个空格print("fish") #print()不能带有任何其它参数然而,Pyt...

2018-09-13 14:35:48 215

原创 Python能做什么

1,爬虫(搜索引擎)2,大数据与数据分析(Spark)3,自动化运维与自动化测试4,web开发:Flask,Django5,机器学习:Tensor Flow6,胶水语言:混合其他如c++,java等来编程,能够把其他语言编写的各个模块结合起来(尤其是C++/C) ...

2018-09-13 13:42:17 389

原创 list与tuple,dict与set

listPython内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。直接用 [ ] 把list的所有元素都括起来,就是一个list对象。 L = ['Adam', 'Lisa', 'Bart']Python按照索引访问list>>> print L[0]Adam倒序访问>>> pri...

2018-09-11 16:59:09 135

原创 Python变量和数据类型

Python中数据类型计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:一、整数Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的...

2018-09-11 16:48:42 146

原创 Python之列表生成式(多层表达式及for循环条件过滤)

生成列表要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11):>>> range(1, 11)[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环:>>> L = []>&gt...

2018-09-11 16:28:14 19978 1

原创 Python之什么是迭代(for循环)

什么是迭代在Python中,如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration)。在Python中,迭代是通过 for ... in 来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码:for (i=0; i<list.length; i++) { n = ...

2018-09-11 16:00:52 5986

原创 Python之切片

对list进行切片Python提供了切片(Slice)操作符取前3个元素,用一行代码就可以完成切片:>>> L[0:3]['Adam', 'Lisa', 'Bart']L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。如果第一个索引是0,还可以省略:>>> L[:3]['Adam'...

2018-09-11 10:45:50 176

原创 Python之什么是函数

 绝对值的函数 abs比较函数 cmp(x, y)Python内置的常用函数还包括数据类型转换函数,比如   int()函数可以把其他数据类型转换为整数str()函数把其他类型转换成 str/**sun()*/例如sum函数使用:sum()函数接受一个list作为参数,并返回list所有元素之和。请计算 1*1 + 2*2 + 3*3 + ... + 100*100。...

2018-09-10 18:08:59 707

原创 汉诺塔递归

汉诺塔 (http://baike.baidu.com/view/191666.htm) 的移动也可以看做是递归函数。我们对柱子编号为a, b, c,将所有圆盘从a移到c可以描述为:如果a只有一个圆盘,可以直接移动到c;如果a有N个圆盘,可以看成a有1个圆盘(底盘) + (N-1)个圆盘,首先需要把 (N-1) 个圆盘移动到 b,然后,将 a的最后一个圆盘移动到c,再将b的(N-1)个...

2018-09-10 17:32:18 227

原创 python之Dict和Set类型

Python之Dictd = { 'Adam': 95, 'Lisa': 85, 'Bart': 59}print 'Adam:', d['Adam']print 'Lisa:', d['Lisa']print 'Bart:', d['Bart']字符串的拼接用逗号 dict的三个特点第一个特点:其中的key不能重复,key不可变化,如...

2018-09-06 18:29:39 156

原创 python之循环

python之if语句 score = 75if score>=60:    print 'passed'注意缩进 if elsescore = 55if score>=60:    print 'passed'else:    print 'failed'if else ifscore = 85if score>=90:  ...

2018-09-06 17:24:22 424

原创 php优化

php性能优化:需要优化的原因:①php语法使用不当②PHP连接的服务不给力③PHP做了他不擅长的事情                          ④PHP自身短板⑤一些自身不知原因为什么性能低:因为PHP每运行一次都需要编译解析成底层c语音,每此请求都会处理一遍,开销大PHP代码运行流程:PHP文件-》zend引擎遍历每行代码-》编译成zend引擎可以识别的语法-》经过解析-》解析成opc...

2018-04-17 23:56:22 184

原创 api接口的简单见解与优化

初级:基础接口  如注册登陆,文章内容的增删改查(一般将增和改放一起写),邮件发送中级:中级接口   主要是一些借助第三方接口文档,如短信,push消息,微信支付高级: 项目工程化及性能调优   主要包括自测脚本,lib公共代码的抽离,第三方composer管理,异常处理,DAO数据操作层抽离和基类增删改查的实现(框架自带),统一的api接口数据返回,统一的接受数据高级优化-详情:公共代码抽离:将...

2018-04-16 00:44:02 4175

原创 laravel5.4中orm中的wherein与多条件查询

$array_1_11 = VenousThrombusAnswer::where(['aa'=>'111','class'=>'M4'])->whereIn('id',['47','48','49','50','51','52','53','54','55','56','57'])->get(['answer'])->toArray();...

2018-04-14 01:38:18 40632 9

原创 api接口的简单编写方式

首先接受参数:中间处理逻辑(连接数据库,处理数据,与模型层关联等等)最后返回(return)前台所需数据如:一般是返回json串形式return json_encode( array( "errno"=>$model->errno, "errmsg"=>$model->errmsg, ));也可返回数组,xml格式数据,总之...

2018-04-13 00:47:49 29713 1

原创 laravel5..4中模型层小结查询与添加及此次添加后的id

查询方式,只查某些字段用get,只查第一条用first$from_detail = VenousThrombusAnswer::where('venous_thrombosis_risk_assessment_token', $venousThrombosisRiskAssessmentToken) ->orderBy('id','desc') ...

2018-04-13 00:34:39 818

空空如也

空空如也

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

TA关注的人

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