202003-19 php单例模式的常见应用场景 HOT 单例模式(Singleton)也叫单态模式,是设计模式中最为简单的一种模式,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象,也因此有些设计大师并把把其称为设计模式之一。 继续阅读 >
202003-19 MySQL索引优化 HOT MySQL官方对索引的定义:索引是帮助MySQL高效获取数据的数据结构。索引是在存储引擎中实现的,所以每种存储引擎中的索引都不一样。如MYISAM和InnoDB存储引擎只支持BTree索引;MEMORY和HEAP储存引擎可以支持HASH和BTREE索引。 继续阅读 >
202003-19 php 简单的 单例模式 HOT 使用注意事项: 1.使用时不能用反射模式创建单例,否则会实例化一个新的对象 2.使用懒单例模式时注意线程安全问题 3.饿单例模式和懒单例模式构造方法都是私有的,因而是不能被继承的,有些单例模式可以被继承(如登记式模式) 继续阅读 >
202003-19 Mysql复制方式(半同步复制,并行复制,多源复制) HOT 在每次准备提交事务完成数据更新前,主库将数据更新的事件记录到二进制日志binlog中。主库上的sync_binlog参数控制binlog日志刷新到磁盘。 继续阅读 >
202003-18 几行php代码把数据格式化成树形结构 HOT 上代码:<?php/***将数据格式化成树形结构*@authorXuefen.Tong*@paramarray$items*@returnarray*/functiongenTree5($items){foreach($itemsas$item){$items[$item['pid']]['son'][$item['id']]=&$items[$item['id']];}returnisset($items[0]['son'])?$items[0]['son']:array();}functiongenTree9($items){$tree=array();//格式化好的树foreach($itemsas$item)... 继续阅读 >
202003-18 PHP利用nginx的X-sendfile控制下载,提高下载效率 HOT 为了控制静态文件下载, 一般方法需要PHP用file_get_contents读取文件,再传给客户端。 继续阅读 >
202003-18 PHP实现redis的批量操作命令pipeline HOT 以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家, 继续阅读 >
202003-17 2020 重学 Go 系列:08. 面向对象编程:结构体与继承 HOT 在之前学过的数据类型中,数组与切片,只能存储同一类型的变量。若要存储多个类型的变量,就需要用到结构体,它是将多个容易类型的命令变量组合在一起的聚合数据类型。 继续阅读 >
202003-17 2020 重学 Go 系列:09. 一篇文章理解 Go 里的函数 HOT 函数是基于功能或 逻辑进行封装的可复用的代码结构。将一段功能复杂、很长的一段代码封装成多个代码片段(即函数),有助于提高代码可读性和可维护性。 继续阅读 >
202003-17 2020 重学 Go 系列:10. Go语言流程控制:if-else 条件语句 HOT Go里的流程控制方法还是挺丰富,整理了下有如下这么多种: if - else 条件语句 switch - case 选择语句 for - range 循环语句 goto 无条件跳转语句 defer 延迟执行 继续阅读 >
202003-16 Micro In Action(三):调用服务 HOT 本文讨论了如何调用一个已经存在服务。 micro 提供了丰富的工具, 可以用来在运行时查看服务状态及调用服务方法。这其中既有命令行工具, 也有基于 web 界面工具。 最后,我们创建了一个客户端项目,用代码真正完成了服务的调用。 继续阅读 >
202003-16 Go1.14 的这个改进让 Gopher 生活更美好 HOT testing 包是 Go 标准库中我最喜欢的程序包之一,不仅是它具有低干扰的单元测试方法,而且在 Go 的整个生命周期中,它可以改善、提高生活质量 ^_^。 在 Go1.14 中,go test -v 将使 t.Log 的输出变成流式,而不是在测试运行结束之前进行存储,最后一起输出。 继续阅读 >
202003-14 解析和提交 HTML 表单的库:gosubmit HOT 项目地址:https://github.com/jeremija/gosubmit,发布刚半个月。该库帮助在测试过程中填写纯HTML表单。将自动从表单中获取现有值,因此无需手动设置诸如csrf令牌之类的东西。在缺少必填字段或模式验证不匹配时发出警报。支持的表单元素input[type=checkbox]input[type=date]input[type=email]input[type=hidden]input[type=number]input[type=radio]input[type=text]input[type=url]t... 继续阅读 >
202003-14 用面向对象设计原则理解 Go 中 interface HOT 1、interface是方法声明的集合 2、任何类型的对象实现了在interface接口中声明的全部方法,则表明该类型实现了接口。 3、interface可以作为一种数据类型,实现了该接口的任何对象都可以给对应的接口类型变量赋值。 继续阅读 >
202003-14 Micro In Action(二):项目结构与启动过程 HOT 本文是 Micro in Action 系列的第二篇文章, 我们作了几件事: 介绍了上篇文章所创建的项目结构, 说明每一个文件的用途。 对照源码逐行分析一个 Micro 服务的启动过程。 考虑到 Micro 文档的缺失, 本文完整介绍了创建 Micro 服务所支持的全部 Option 最后用 micro web 查看了服务的运行时状态 继续阅读 >
202003-13 神奇了!这个 Go 项目让前端构建快了近 100 倍 HOT 这是作者 2019-2020 年寒假期间写的一项业余爱好项目。我相信它是相对完整和实用的。但是,它是全新的代码,可能有很多错误。还没有任何人在生产中使用过它。合并运算符。 此外,官方还给了如何和 React 配合使用。 目前,该项目在 Github 上已收获 3400+ Star,并有 51 个 fork。近期增长很快,总在 GitHub 趋势榜。 继续阅读 >
202003-13 官方博文:使用 Go Cloud 的 Wire 进行编译时依赖注入 HOT Go 团队公布了用于开放云开发的可移植云 API 和工具,开源项目Go Cloud 。这篇文章详细介绍了 Wire,一个随 Go Cloud 提供的依赖注入工具。 继续阅读 >
202003-13 map 并发崩溃一例:顺便吐槽 Go 打印堆栈不友好 HOT 如若在实践中碰到了类似的 bug,只能好好读代码,别无他法,甩锅给离职员工是解决不了问题的。 如果你手边的代码抽象程度比较高,比如函数的参数都是一些 interface,由运行期来决定,那可能要定位这种 bug 就更费劲一些。 继续阅读 >