202002-21 Tips:如何优雅的使用GDB调试Go AppArmor 是一个 Linux 内核安全模块,可用于限制主机操作系统上运行的进程的功能。每个进程都可以拥有自己的安全配置文件。安全配置文件用来允许或禁止特定功能,例如网络访问或文件读/写/执行权限。 继续阅读 >
202002-21 yii2实现 "上一篇,下一篇" 功能的代码实例 最近做了简答的文章详情页面,需要在页面底部加入上一篇,下一篇 按钮,分析了下,最基本需要有文章的标题和id(作为参数). 开始想的是当前的id加减1,但考虑到如果部分id丢失就不对了,于是分别查询比当前id大和小的记录并且限定为一条,于是有了以下代码。 继续阅读 >
202002-21 Laravel 类和接口注入相关的代码 对于类,Laravel可以自动注入,但是接口的话需要创建相应的ServiceProvider注册接口和实现类的绑定,同时需要将ServiceProvider添加到congif/app.php的providers数组中,这样容器就能知道你需要注入哪个实现。 继续阅读 >
202002-20 Yii2中Restful API原理实例分析 本文实例分析了Yii2中Restful API原理。分享给大家供大家参考,具体如下: Yii2 有个很重要的特性是对 Restful API的默认支持, 通过短短的几个配置就可以实现简单的对现有Model的RESTful API 继续阅读 >
202002-20 Go语言入门:map和指针 HOT Go作者之一是Thompson,他发明了后来衍生出C语言的B程序语言,作为鼻祖,设计的新语言指针必须有。Go里的指针和C的指针语法使用上基本一样,区别是Go里不能对指针进行算术运算。 继续阅读 >
202002-19 详解数据类型:数组与切片 HOT 数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。因为数组的长度是固定的,所以在Go语言中很少直接使用数组。 继续阅读 >
202002-19 深挖 Go 之 for-range 排坑指南 HOT golang 常用的遍历方式,有两种:for 和 for-range。而 for-range 使用中有些坑常会遇到,今天我们一起来捋一捋。 继续阅读 >
202002-18 laravel框架中控制器的创建和使用方法分析 本文实例讲述了laravel框架中控制器的创建和使用方法。分享给大家供大家参考,具体如下:laravel中我们可以使用artisan命令来帮助我们创建控制器文件。 phpartisanmake:controllerTestControllerTestController控制器名我们可以任意指定。文件默认会创建在app\Http\Controllers目录下。打开控制器文件,我们就可以添加自已的方法了。<?phpnamespaceApp\Http\Controllers;useIlluminate\Http\Request;classTestCont... 继续阅读 >
202002-18 Go 字符串格式化 twelve-factor应用提倡将配置存储在环境变量中。任何从开发环境切换到生产环境时需要修改的东西都从代码抽取到环境变量里。 但是在实际开发中,如果同一台机器运行多个项目,设置环境变量容易冲突,不实用。godotenv库从.env文件中读取配置, 继续阅读 >
202002-18 Go语言指针详解,看这一篇文章就够了 HOT 与 Java 和 .NET 等编程语言不同,Go语言为程序员提供了控制数据结构指针的能力,但是,并不能进行指针运算。Go语言允许你控制特定集合的数据结构、分配的数量以及内存访问模式,这对于构建运行良好的系统是非常重要的。指针对于性能的影响不言而喻,如果你想要做系统编程、操作系统或者网络应用,指针更是不可或缺的一部分。 继续阅读 >
202002-18 Go语言之并发 HOT Go语言的并发同步逻辑来自一个叫做通信顺讯进程(CSP)的范型。CSP是一种消息传递模型,通过在goroutine之间传递数据来传递消息,而不是通过对数据进行加锁来实现同步访问。这种数据的类型叫做通道(channel) 。 继续阅读 >
202002-17 Laravel 对某一列进行筛选然后求和sum()的例子 Laravel 对某一列进行筛选然后求和sum()的例子 这个例子是对课程进度表里面的某个学生的剩余课时进行求和汇总。 laravel 版本是 lts 5.5 继续阅读 >
202002-17 从Go汇编角度解释for循环的两个疑点 Go常用的遍历方式有两种:for和for-range。实际上,for-range也只是for的语法糖,本文试图从汇编代码入手解释for循环是如何工作的。 继续阅读 >
202002-17 Go实现工作池的两种方式 HOT worker pool其实就是线程池thread pool。对于go来说,直接使用的是goroutine而非线程,不过这里仍然以线程来解释线程池。 在线程池模型中,有2个队列一个池子:任务队列、已完成任务队列和线程池。其中已完成任务队列可能存在也可能不存在,依据实际需求而定。 继续阅读 >
202002-17 互斥锁Mutex和读写锁RWMutex用法详述 HOT Mutex和RWMutex都不关联goroutine,但RWMutex显然更适用于读多写少的场景。仅针对读的性能来说,RWMutex要高于Mutex,因为rwmutex的多个读可以并存。 继续阅读 >
202002-16 defer、panic和recover HOT defer关键字可以让函数或语句延迟到函数语句块的最结尾时,即即将退出函数时执行,即便函数中途报错结束、即便已经panic()、即便函数已经return了,也都会执行defer所推迟的对象。 继续阅读 >
202002-16 import导包和初始化阶段 HOT 编译器会根据上面指定的相对路径去搜索包然后导入,这个相对路径是从GOROOT或GOPATH(workspace)下的src下开始搜索的。 继续阅读 >
202002-15 为什么Go语言把类型声明放在后面 小编就为大家分享一篇关于为什么Go语言把类型声明放在后面?,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 关于类型,官网上有一段仔细地介绍了一下函数指针的部分,现在的设计比起 C 的语法,清晰很多。 继续阅读 >