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 的语法,清晰很多。 继续阅读 >
202002-15 分享8个Laravel模型时间戳使用技巧 如果数据表没有这两个字段,保存数据时 Model::create($arrayOfValues); —— 会看到 SQL error。Laravel 在自动填充 created_at / updated_at 的时候,无法找到这两个字段。 继续阅读 >
202002-15 yii2带搜索功能的下拉框实例详解 这篇文章主要介绍了分享8个Laravel模型时间戳使用技巧小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 继续阅读 >
202002-14 Laravel 现在为你的 Redis 队列 提供了 Horizon Laravel 现在为你的 Redis 队列 提供了 Horizon,一个漂亮的仪表盘和配置系统。查看完整的 Horizon 文档 了解更多信息。 Laravel 队列为不同的后台队列服务提供统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关系型数据库的队列。队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和响应的时间。 继续阅读 >
202002-14 yii::t()的使用方法和yii2中的语言包的使用 yii::t()的使用方法和yii2中的语言包的使用以我的后台为例介绍一下,我的操作方法1、创建语言包文件 backend\messages\zh-CN\app.php在banckend下面新建messages文件夹,然后再messages下面创建zh-CN文件夹,创建文件app.php.配置return内容。return[ 'Article_message'=>'文章管理', 'Article_list'=>'文章列表', 'Article_edit'=>'文章修改', 'Article... 继续阅读 >
202002-14 Go语言之父带你重新认识字符串、字节、rune和字符 Go语言之父带你重新认识字符串、字节、rune和字符 文章篇幅还是挺长的,大家时间都很宝贵所以我先把文章探究的问题的结论放在前面,有时间的同学还是建议整篇读一下。 继续阅读 >
202002-14 Go基础系列:构建go程序 HOT 1.由于可以将所有go项目放在同一个$GOPATH目录下,为了区分src下的项目目录和库文件目录,建议将每个项目目录设置深一点。 2.go install时,先进入到项目目录下。 3.库文件的名称(也是目录名)要选取合理,尽量短,但却尽量见名知意,也尽量减少名称重复的几率。 例如util这种名称到处都是,可以修改为numutil、nameutil等。 继续阅读 >
202002-13 go 语言映射(map)要点总结 HOT Go语言中映射是一种字典类型的数据结构,类似于 c++ 和 java 中的 hashmap,用于存储一系列无序的键值对。 • 映射是基于键来存储值。映射的优势是能够基于键快速索引数据。键就像索引一样,指向与该键关联的值,在内存中键值对的关系如下图所示。 继续阅读 >
202002-13 Go 每日一库之 godotenv twelve-factor应用提倡将配置存储在环境变量中。任何从开发环境切换到生产环境时需要修改的东西都从代码抽取到环境变量里。 但是在实际开发中,如果同一台机器运行多个项目,设置环境变量容易冲突,不实用。godotenv库从.env文件中读取配置, 然后存储到程序的环境变量中。在代码中可以使用读取非常方便。godotenv源于一个 Ruby 的开源项目dotenv。 继续阅读 >
202002-13 Yii2使用自带的UploadedFile实现的文件上传 Yii2使用自带的UploadedFile实现的文件上传 这篇文章主要介绍了Yii2使用自带的UploadedFile实现的文件上传的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 继续阅读 >
202002-13 Laravel框架实现文件上传的方法 这篇文章主要介绍了Laravel框架实现文件上传的方法,结合实例形式分析了Laravel框架文件上传相关的配置设置、视图及控制器相关操作技巧,需要的朋友可以参考下 本文实例讲述了Laravel框架实现文件上传的方法。分享给大家供大家参考,具体如下: 继续阅读 >
202002-12 图解Go语言内存分配 Go语言内置运行时(就是runtime),抛弃了传统的内存分配方式,改为自主管理。这样可以自主地实现更好的内存使用模式,比如内存池、预分配等等。这样,不会每次内存分配都需要进行系统调用。 继续阅读 >
202002-12 Yii2中事务的使用实例代码详解 Yii2中事务的使用实例代码详解 这篇文章主要介绍了Yii2中事务的使用实例代码详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 继续阅读 >
202002-12 分享5个非常有用的Laravel Blade指令 分享5个非常有用的Laravel Blade指令 这篇文章主要给大家分享介绍了5个非常有用的Laravel Blade指令,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 继续阅读 >
202002-12 图解Go语言的context了解编程语言核心实现源码 HOT 于线程并发的编程语言中常用的一个概念,当一个线程派生出一个子线程后通常会加入父线程的线程组(未指定线程组的情况下)中, 最后可以通过ThreadGroup来控制一组线程的退出等操作, 然后在go语言中goroutine没有明确的这种parent/children的关系,如果想退出当前调用链上的所有goroutine则需要用到context 继续阅读 >
202002-11 Dropbox的GO语言之旅:可靠性和持久性 HOT Go语言非常高效,支持扩展,而且还能提高生产。一些程序员觉得使用Go进行工作很有趣;另一些人则认为它缺乏想象力,甚至枯燥乏味。本文我们将解释为什么这些对立的观点是不成立的。Go语言旨在解决谷歌在软件开发中所面临的问题,导致了这门语言并不是一门突破性的研究语言,但对于大型软件项目来说,它还是一个很优秀的工具。”——Rob Pike,2012年 继续阅读 >