Beego 框架入门篇:通过 Beego 提供的脚手架工具 Bee 快速创建 Web 项目

今天我要介绍的是 Beego 中的一个命令行工具:bee(类似 Laravel 框架中的 Artisan 命令,如果你使用过 Artisan 命令的话,可以很快上手),该工具主要提供了如下命令: bee new //生成一个新的beego项目 bee api //生成一个新的api项目,专门用作api接口使用 bee generate controller //生成控制器,不用自己创建...

基于 Swoole 构建高性能 Laravel 应用系列 —— 基于 Process\Pool 通过进程池实现数据库和 Redis 的持久连接

Swoole 进程池的简单实现 从 2.1.2 版本开始,Swoole 开始支持进程池功能,该功能基于 Server 的 Manager 模块实现,可用于管理多个工作进程。相比 Process 实现多进程,Process\Pool 更加简单,封装层次更高,开发者无需编写过多代码即可实现进程管理功能。 下面我们来看一个简单的异步进程池实现示例,通过监听 WorkerStart 事件启动 R...

Go 语言函数式编程系列教程(九) —— 数据类型篇:数组切片的创建和遍历

在前一篇教程里我们已经介绍过数组的一个特点:数组的长度在定义之后无法修改,数组长度是数组类型本身的一部分,是数组的一个内置常量,因此我们无法在数组上做动态的元素增删操作。显然这种数据结构无法完全满足开发者的日常开发需求,尤其是从 PHP 转过来的开发人员(PHP 的数组非常灵活和强大),为此,Go 语言提供了数组切片(slice)来弥补数组的不足,数组切片一个最强大的功能就是支持对元素做...

Leetcode PHP题解--D88 696. Count Binary Substrings

D88 696. Count Binary Substrings 题目链接 696. Count Binary Substrings 题目分析 给定一个01字符串,返回仅用连续的0和1串所能组成的二进制字符串个数。 例如,00110011,就包含0011,01,1100,10,0011,01共6个。001100则不算,因为两个00被11分割开了,不是连续的。 思路 思路1: 生成01,0...

Leetcode PHP题解--D87 705. Design HashSet

D87 705. Design HashSet 题目链接 705. Design HashSet 题目分析 设计一个哈希类。 需要有add添加元素函数,contains判断元素存在的函数,remove移除元素函数。 思路 这真的没什么好说的了…我把要存的值作为数组的键存储。 最终代码 class MyHashSet { protected $values = []; /*...

Leetcode基础刷题之PHP解析(79. Word Search)

给定一个二维数组,其实可以理解成网格,然后让我们再网格中寻找是否存在指定的元素,当然它的寻找方式有点特殊,你只能在你需要匹配的当前字符串的上下左右的位置找下一个匹配的字符串,如果匹配那么继续找,就可以理解成下象棋一下 ,小兵的下一步只能左右上下?.emmmm打脸了,小兵不能后退。...

Leetcode PHP题解--D86 748. Shortest Completing Word

D86 748. Shortest Completing Word 题目链接 748. Shortest Completing Word 题目分析 从给定的一个字符串中提取字符。从另一个给定的单词数组中,选择出所提取的字符在单词中出现次数相等或大于的单词。若出现次数相同,则返回第一个符合条件的单词。 假定结果必定存在。 思路 先提取字符,转换成小写,并计算字符出现的次数。 遍历数组中的每...

Beego 框架入门篇:Beego! 一个 Golang Web 框架

对于一个想要用 Golang 开发 Web 应用的技术人来说,掌握一个框架是必要的,因为这些工具可以让我们工作起来更加的有效率,也能提高自己在职场上的竞争力。我在这里对 Beego 框架抛砖引玉,看完这些系列课程之后,你可以达到熟练使用 Beego 框架的来编写 Web 应用。 学习一门框架,我大概会从以下几个维度先去了解值不值得学习。第一是作者的来历,够不够牛逼;第二是框架的使用公司...