10 2017 档案

摘要:数据访问对象模式 该设计模式描述了如何创建提供透明访问任何数据源的对象. 阅读全文
posted @ 2017-10-29 17:50 rorshach 阅读(359) 评论(0) 推荐(0) 编辑
摘要:一.单一职责: 不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 我们最开始设计了一个类Human,我们赋予了四项功能.以下是伪代码: 二.里氏替换原则: 所有引用基类的地方必须能透明地使用其子类的对象,也就是说子类可以扩展父类的功能,但不能改变父类原有的功能 三.依赖倒置: 高 阅读全文
posted @ 2017-10-29 17:23 rorshach 阅读(9621) 评论(0) 推荐(0) 编辑
摘要:SPL,PHP 标准库(Standard PHP Library) ,此从 PHP 5.0 起内置的组件和接口,并且从 PHP5.3 已逐渐的成熟。SPL 其实在所有的 PHP5 开发环境中被内置,同时无需任何设置。 一.spl_autoload_register 更加方便的惰性加载 二.Itera 阅读全文
posted @ 2017-10-25 11:04 rorshach 阅读(285) 评论(0) 推荐(0) 编辑
摘要:1.isset empty如果遇到null,isset判断为false;empty 判断为trueisset(var1, var2,...) 可以判断多个变量 2.unsetunset可以取消之前定义的变量,如果该变量没有被其他变量引用的话,就会释放这个变量占用的内存空间. 3.php5中对象的传递 阅读全文
posted @ 2017-10-21 23:34 rorshach 阅读(685) 评论(0) 推荐(0) 编辑
摘要:注意: 本文的恢复,并不是基于恢复某个时间点的全量备份后的增量恢复,而是指在现有数据库基础上基于binlog的恢复.适用于较小的数据误操作. 提取日志文件为sql语句: /usr-ext/local/mysql/bin/mysqlbinlog --database=db_name --base64- 阅读全文
posted @ 2017-10-15 22:26 rorshach 阅读(1357) 评论(0) 推荐(0) 编辑
摘要:2.冒泡排序(二维数组使用): 2.冒泡排序(数组使用): 3.slice扩容引起的问题:切片的数据结构: slice在扩容会生成一个新的slice,再将原来的slice拷贝到新的slice,然后append.这将导致元素的地址发生变化.示例: 因为有扩容,两次打印的slice数组的地址不一致. s 阅读全文
posted @ 2017-10-15 20:55 rorshach 阅读(307) 评论(0) 推荐(0) 编辑
摘要:一.new() 这是一个用来分配内存的内置函数,它的第一个参数是一个类型,不是一个值,它的返回值是一个指向新分配的 t 类型的零值的指针。在golang的代码定义如下: 二.struct{} 用struct{} 来初始化strut时,返回的是一个struct类型的值 三.示例 阅读全文
posted @ 2017-10-08 22:15 rorshach 阅读(565) 评论(0) 推荐(0) 编辑
摘要:var和const :变量和常量的声明var varName type 或者 varName : = valuepackage and import: 导入func: 用于定义函数和方法return :用于从函数返回defer someCode :在函数退出之前执行go : 用于并行select 用 阅读全文
posted @ 2017-10-08 22:10 rorshach 阅读(302) 评论(0) 推荐(0) 编辑
摘要:一.struct(结构体) go中的struct可以实现oop中的类、方法 1.创建 2.声明 3.初始化 4.方法: go语言中的oop很另类,类在go里面叫做receiver,receiver可以是除了interface之外的任何类型。方法和类并非组织在一起,传统的oop方法和类放在一个文件里面 阅读全文
posted @ 2017-10-08 22:09 rorshach 阅读(547) 评论(0) 推荐(0) 编辑
摘要:一.创建 1.方式1 2.方式2 3.方式3 二.查找键是否存在 三.遍历 四.删除元素 五.map作为参数传递 map作为参数传递,是传递了一个引用 阅读全文
posted @ 2017-10-08 22:02 rorshach 阅读(148) 评论(0) 推荐(0) 编辑
摘要:一.数组 Go语言的数组也是一个元素类型相同的定长的序列 1.创建A.创建方式1: B.创建方式2: C.创建方式3: 2.数组的长度和容量len(array)和cap(array)求值,两者一致. 3.遍历数组 二.切片 切片是长度可变、容量固定的相同的元素序列 1.创建 除了make外,创建切片 阅读全文
posted @ 2017-10-08 21:59 rorshach 阅读(687) 评论(0) 推荐(0) 编辑
摘要:Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小的错误都抛出一个异常。在Go语言中,使用多值返回来返回错误。不要用异常代替错误,更不要用来控制流程。在极个别的情况下 阅读全文
posted @ 2017-10-07 16:45 rorshach 阅读(146) 评论(0) 推荐(0) 编辑
摘要:一.出让时间片 runtime.Gosched() 二.同步锁 Go语言包中的sync包提供了两种锁类型:sync.Mutex和sync.RWMutex。Mutex是最简单的一种锁类型,同时也比较暴力,当一个goroutine获得了Mutex后,其他goroutine就只能乖乖等到这个gorouti 阅读全文
posted @ 2017-10-07 10:12 rorshach 阅读(365) 评论(0) 推荐(0) 编辑
摘要:一.简介 select是Go语言特有的操作,使用select我们可以同时在多个channel上进行发送/接收操作.select的用法与switch语言非常类似,由select开始一个新的选择块,每个选择条件由case语句来描述。与switch语句可以选择任何可使用相等比较的条件相比,select有比 阅读全文
posted @ 2017-10-07 10:10 rorshach 阅读(315) 评论(0) 推荐(0) 编辑
摘要:一.基本语法 二.为什么要使用channel goroutine是Go语言中的轻量级线程实现,由Go运行时(runtime)管理.先看一个例子: 这个例子做了一件事情,在main函数中串行执行了5次Sub函数. 如果我们需要Sub函数能够并发的执行,我们加个go,将每一个Sub函数放在gorouti 阅读全文
posted @ 2017-10-07 10:08 rorshach 阅读(747) 评论(0) 推荐(0) 编辑
摘要:php5.3.6X是编译安装,在debug模式下,频繁报出内存泄露警告 php7.1.10下则不会有此错误. 顺便提下:测试发现ThinkPHP也不会有该内存泄露警告! 希望知道如何解决该问题的童鞋能够予以帮助! 阅读全文
posted @ 2017-10-03 10:20 rorshach 阅读(171) 评论(0) 推荐(0) 编辑