自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

斛兵的博客

克己力行 严以修身!

  • 博客(69)
  • 资源 (3)
  • 收藏
  • 关注

原创 Linux三剑客:awk

awk简介awk程序设计语言 允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表等功能。awk 借鉴了某些语言的一些精华,如C语言等。在linux系统日常处理工作中,发挥很重要的作用,掌握了awk将会使你的工作变的so easy。awk语言的最基本功能是在文件或者字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作...

2018-11-22 16:43:14 286

原创 Git常用命令

1.获取远程gitlab上的代码到本地:其中http://www.xxx.git为远程项目的urlgit clone http://www.xxx.git从远程指定分支上拉取代码,使用Git下载指定分支命令为:git clone -b 分支名 仓库地址git clone -b develop http://www.xxx.git2.查看当前所属本地分支状态以及在当前分支是否有修...

2018-08-30 17:27:15 247

原创 SkipList跳表

是一种有序的数据结构,可以作为的一种替代。本质上是一种利用的一组的结构。

2023-09-22 15:36:31 111

原创 iTerm2 个性化配置

一、首先安装iTem2https://iterm2.com/ 二、安装oh-my-zsh方式一(如果无法安装可通过方式二进行安装): sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 方式二: 1、下载oh-my-zsh,https://gitee.com/mirrors/oh-my-zsh下载: 2、解压后进入到tools目录执行ins...

2021-08-12 12:59:03 1083

原创 go函数式选项模式

Go语言没有提供默认参数,一旦一个对象有很多属性(这些属性都可以有默认值)的时候,生成一个对象会变得及其麻烦。函数式选项模式可轻松解决该类问题。package mainimport "fmt"type Connection struct{}type stuffClient struct { conn Connection timeout int retries int}var defaultStuffClient = stuffClient{ retri

2021-06-28 19:35:23 236

原创 go高阶函数

高阶函数(Hiher-order Function)定义为:满足下列条件之一的函数: 接收一个或多个函数作为参数 返回值是一个函数 高阶函数可以轻松的实现函数的个性化过滤,举个例子package mainimport ( "fmt")type student struct { firstName string lastName string grade string country string}func

2020-08-11 21:05:22 516

原创 Go中chan引发的协程死锁

fatal error: all goroutines are asleep - deadlock!代码如下package mainimport ( "fmt" "time")func deadLock(c chan string) { timeout := time.Millisecond * time.Duration(10) tk := time.NewTicker(timeout) defer tk.Stop() for { select { case tx

2020-08-11 14:52:49 1160

原创 go用chan实现WaitGroup并支持超时

来来来,话不多说,上代码package mainimport "fmt"import "time"import "sync"type group struct { gc chan bool tk *time.Ticker cap int mutex sync.Mutex}func WaitGroup(timeOuteRec int) *group{ timeout := time.Millisecond * time.Duration(timeOuteRec) w

2020-08-11 12:45:10 1446

原创 go并发协程示例

如何用go写并发协程呢?来来来,有代码有真相package mainimport "fmt"import "time"import "runtime"import "sync/atomic"var runningMultiGoNum int64func main() { //定时器,防止协程执行超时阻塞进程 timeOuteRec := 10 timeout := time.Millisecond * time.Duration(timeOuteRec) tk :=

2020-08-05 11:32:06 485

原创 netstat命令

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。usage: netstat [-veenNcCF] [<Af>] -r netstat {-V|--version|-h|--help} netstat [-vnNcaeol] [<Socket> ...]

2020-07-20 18:25:54 448

原创 喷气大脑(jetBrain)快捷键指南

跳转、搜索、工作区切换跳单词 alt + 右键跳行 command + 右键光标位置前进,后退 command+] , command +[跳转到最新编辑地区 command + shift + del顶部项目目录:command + 向上方向键已经打开文件切换:shift+command+[ 、shift+command+]项目目录切换:command + 1terminal切换:alt+f12选中、列操作、代码模板选中:将光标移动到待选中单词的某个位置,alt..

2020-05-13 15:52:45 809

原创 Golang包管理工具glide

glide命令# 初始化glide配置glide createglide init# 添加新的包glide get [package name]# 根据glide.yaml更新包glide updateglide up# 根据glide.yaml安装包glide install# 返回当前项目的名称glide name# 列出当前项目已安装的包...

2020-04-20 20:59:11 183

原创 Golang调试工具Delve安装调试

1.安装Golang debug 推荐使用 Delve 工具,项目地址:https://github.com/derekparker/delve拉取最新 delve 项目代码到本地,编译安装。# cd $GOPATH/src/# git clone https://github.com/derekparker/delve.git# cd delve/cmd/dlv/# go bu...

2020-02-16 22:25:11 1789

原创 golang中.([]byte)和 []byte()

.([]byte)value, ok :=var.([]byte)这是标准的golang类型断言(Type Assertion)。这里的val一般是一个interface{}类型的变量。这句的字面含义是“我认为val这个interface{}类型变量的underlying type是[]byte,如果是,请将其值赋给变量value,并且ok =true,如果不是ok = false。...

2019-11-29 10:29:11 11742

原创 golang变量类型判断方法

方法一:用Printf判断package mainimport ( "fmt")func main() { v1 := "123456" v2 := 12 fmt.Printf("v1 type:%T\n", v1) fmt.Printf("v2 type:%T\n", v2)}输出内容:v1 typ...

2019-11-27 21:46:09 400

原创 Composer Downloader TransportException 解决方法

使用composer引了一个包出现如下异常[Composer\Downloader\TransportException] Your configuration does not allow connection to http://packagist.phpcomposer.com. See https://getcomposer.org/doc/06-config.md#secure-ht...

2019-09-06 19:09:11 8901

原创 redis和memcached的分析总结

Memcached和Redis的区别Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等。 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,sortset,hash等数据结构的存储。 虚拟内存: Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘 过期策略: m...

2019-08-21 17:32:21 164

原创 不用加减号求两个数的和

分析:以10+ 15为例 10的二进制为 1 0 1 0,15的二进制为 1 1 11,可以这样做:1、先给这两个数加起来不考虑进位,这样得到的结果为 0 1 01,会发现与^得到的结果相同,与是先给两个数做^运算;2、接下来考虑进位,两个二进制数相加会有这么几种情况 1 1,0 0, 1 0, 0 1除第一种情况外其他情况均不产生进位,而1 1两数相加进1,结果得0,可以这...

2019-08-05 21:08:18 387

原创 求二叉树中任意两个节点的最近公共祖先节点

思路:从根节点开始遍历,如果node1和node2中的任一个和root匹配,那么root就是最低公共祖先。 如果都不匹配,则分别递归左、右子树,如果有一个 节点出现在左子树,并且另一个节点出现在右子树,则root就是最低公共祖先. 如果两个节点都出现在左子树,则说明最低公共祖先在左子树中,否则在右子树。TreeNode lowestCommonAncestor(TreeNode root,...

2019-08-05 17:05:30 1734

原创 Mac 启动和关闭rabbitmq

1、安装brew installrabbitmq2、启动及关闭RabbitMQ服务前台启动sudo ./rabbitmq-server 或sudo /usr/local/Cellar/rabbitmq/3.7.7_1/sbin/rabbitmq-server -detacted后台启动sudo ./rabbitmq-server -deta...

2019-07-29 10:49:58 3895 2

原创 Go中获取当前日期信息和时间戳

1.获取当前时间 currentTime:=time.Now()//获取当前时间,类型是Go的时间类型Timet1:=time.Now().Year()//年t2:=time.Now().Month()//月t3:=time.Now().Day()//日t4:=time.Now().Hou...

2019-07-24 17:58:50 4366

原创 beego框架之orm模块

1.安装mysql驱动 github.com/go-sql-driver/mysq2.建立模型映射,并使用结构体的tag标签来将结构体的成员变量和表的字段做映射。在models模块里,被注册的结构体与数据库里的表会以一种默认方式进行一一对应。然而,在实际开发中,默认的这种映射关系并不是我们所期待的,所以我们需要指定被注册的结构体与数据库里的表之间的关系。其中函数TableNam...

2019-07-24 17:40:15 357

原创 beego框架orm时区问题

使用beego框架,orm层插入datetime类型字段会比插入当前时间晚八个小时。根据github上go-sql-driver/mysql和beego官网的说法,从某一版本的驱动程序会无视数据库和系统时区,所以需要在连接字符串中指定时区。1.在linux(Ubuntu)和windows上(Mac上测试不支持)测试mysql5.6是可以支持loc=Asia/Shanghai这种写法的,而5.5...

2019-07-23 20:38:00 1707

原创 beego使用过滤器实现PUT、DELETE请求

首先要说明, 在 XHTML 1.x 标准中, 表单只支持 GET 或者 POST 方法. 虽然说根据标准, 你不应该将表单提交到 PUT 方法, 但是如果你真想的话, 也很容易, 通常可以这么做:首先表单本身还是使用 POST 方法提交, 但是可以在表单中添加一个隐藏字段:<form method="post" ...> <input type="hidden" ...

2019-07-22 18:04:52 1356

原创 golang中make和new的区别

话不多说先上代码package mainimport "fmt"func main() { p := new([]int) //p == nil; with len and cap 0 fmt.Println(p) v := make([]int, 10, 50) // v is initialed with len 10, cap 50 fmt.P...

2019-07-22 17:51:00 223

原创 golang检测结构体是否实现了接口的方法

假设我们定义了一个NestPreparer接口,并且定义了一个baseController结构体,那么如何判断结构体baseController是否实现了NestPreparer接口的方法呢? 结话不多说先上代码:type NestPreparer interface { NestPrepare()}// baseRouter implemented glo...

2019-07-22 16:59:34 3250

原创 PHP逻辑运算符关系

PHP中的逻辑“与”运算有两种形式:AND 和 &&,同样“或”运算也有OR和||两种形式。如果是单独两个表达式参加的运算,两种形式的结果完全相同,例如 $a AND $b和$a && $b没有任何区别。同样的$a OR $b和$a || $b也完全一样。但两种形式的逻辑运算符优先级不同,这四个符号的优先允许从高到低是:&&、||、AND、OR。特...

2019-07-18 13:00:18 537

原创 Linux crontab命令

Linux crontab是用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crontab命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。Linux任务调度的工作主要分为以下两类:1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存 2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有...

2019-07-15 16:49:41 91

原创 golang 方法

Go 没有面向对象,而我们知道常见的 Java、C++ 等OOP语言中,实现类的方法做法都是编译器隐式的给函数加一个 this 指针,而在 Go 里,这个 this 指针需要明确的声明出来,其实和其它 OOP 语言并没有很大的区别:在 C++ 中其实是这样的:class Circle { public: float getArea() { return 3.1...

2019-06-25 19:04:46 145

原创 联合索引左前缀原则

最左前缀匹配原则在mysql建立联合索引时会遵循最左前缀匹配的原则,即最左优先,在检索数据时从联合索引的最左边开始匹配,示例:对列col1、列col2和列col3建一个联合索引 1 KEY test_col1_col2_col3 on test(col1,col2,col3); 联合索引test_col1_col2_col3实际建立了(col1...

2019-05-13 17:32:05 599

原创 数据库建表和查询规范

建表规范存储引擎:表的存储引擎必须选择InnoDB 每一个Innodb表都必须要有主键字符集:表的字符集都选择utf-8 如果有需要存储emoji可以使用utf8mb4索引:单表的索引个数最好不要超过5个 尽量使用复合索引,而不是添加新的索引 不要在索引列上使用数学运算和函数运算 注意组合索引的顺序,以便利用索引的最左原则字段:一张表的字段个数最好不要超过50个...

2019-05-07 20:32:12 568

原创 mysql中\G的作用

使用\G按行垂直显示结果在SQL语句或者命令后使用\G而不是分号结尾,可以将每一行的值垂直输出mysql> show create table log \G*************************** 1. row *************************** Table: logCreate Table: CREATE TABLE `log`...

2019-05-07 16:52:54 560

原创 PHP字符串日期加一天

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。strtotime(time,now)time: 规定要解析的时间字符串。now: 用来计算返回值的时间戳。如果省略该参数,则使用当前时间。strtotime("now"); //当前时间的Unix时间戳strtotime("3 October 2018"); //2018-10-03的Unix...

2019-03-20 10:56:47 1021

原创 tar命令

tar [参数:-cxtzjvfpPN] [文件与目录] [要压缩的文件]参数:-c :--create 建立一个压缩文件;-x :--extract解开一个压缩文件;-t :--list查看 tarfile 里面的文件;特别注意,在参数的下达中, c/x/t 仅能存在一个,因为不可能同时压缩与解压缩-r: --append向压缩归档文件末尾追加文件-u: ...

2019-03-13 11:43:22 146

原创 TCP/IP 协议栈

TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构,分别是应用层、传输层、网络层和链路层,每一层都调用它的下一层所提供的协议来完成自己的需求。由于我们大部分时间都工作在应用层,下层的事情不用我们关心;其次网络协议体系本身就很复杂庞大,入门门槛高,因此很难搞清楚TCP/IP的工作原理,通...

2019-03-13 10:50:15 188

原创 Git配置秘钥

一、安装Git在 Linux 上安装如果要在 Linux 上安装预编译好的 Git 二进制安装包,可以直接用系统提供的包管理工具。在 Fedora 上用 yum 安装:$ yum install git-core在 Ubuntu 这类 Debian 体系的系统上,可以用 apt-get 安装:$ apt-get install git在 Mac 上安装在 Mac...

2019-03-11 16:44:44 1952

原创 DISTINCT,COUNT(*),GROUP_BY,HAVING的联合使用

一、distinct用于获得表中某一列或多列不重复数据,其既可以作用于单列也可以作用于多列,使用时其必须要放置于查询语句的开头,distinct语句中select显示的字段只能是distinct指定的字段,其他字段是不可能出现的。二、count(*) 函数返回在给定的选择中被选的行数,语法:select count(*) from table例如:有student_course表如下...

2019-03-08 16:36:11 1691

原创 curl 命令模拟 HTTP GET/POST/PUT/DELETE 请求

在 Linux 或 Mac 操作系统上对后端程序进行测试的时候,需要进行模拟连接或者书写测试脚本curl 命令默认使用GET请求如:curl http://www.baidu.com如果进行POST/PUT请求则如下:curl -X POST --data 'key=123' http://localhost:8088/curl -X PUT --data 'key=12...

2019-02-27 20:53:22 3780

原创 Laravel 修改默认View模版加载路径

在laravel框架中,加载模版页面会默认到resources/views目录中寻找,如果想修改默认的加载路径,可通过如下方法:use Illuminate\Support\Facades\View;use Illuminate\View\FileViewFinder;protected function initViewPath($relative_path = '/'){ ...

2019-02-18 15:41:49 4447

原创 git版本回退

如果在修改时发现修改错误,而要放弃本地修改,可根据情况执行下面命令1.未使用 git add 缓存代码时可以使用 git checkout -- filepathname (比如: git checkout -- readme.md  ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout .  命令。此命令用来放弃掉所有还没有加入到...

2018-12-05 11:12:26 117

php 实现贴吧

使用laravel框架实现贴吧功能,主要包括发帖和回帖等,还包括帖子列表的展示和基于RBAC模型的权限管理。资源中包括源码和数据库表结构的设计及创建表的sql语句。在配置项目时,请将nginx的主目录配置到public文件夹下。

2018-08-31

PHP实现的贴吧

使用原生PHP实现贴吧功能,后台模块具有统一的调用入口。该贴吧功能主要包括发帖、回帖以及帖子列表的展示,其中发帖和回帖支持富文本。数据库使用mysql,文件中包含表结构。

2018-08-31

javaweb留言板

用jsp javabean写的一个web应用。数据库用的是mysql,用到了连接池!

2013-12-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除