首页
学习
活动
专区
工具
TVP
发布

句小芒的学习专栏

专栏作者
54
文章
55244
阅读量
15
订阅数
channel 实现互斥锁
//channel 实现互斥锁 type Mutex struct { ch chan struct{} } func newMutex() *Mutex { mu := Mutex{ch: make(chan struct{}, 1)} mu.ch <- struct{}{} return &mu } // 加锁,也就是可以直接取出来数据 func (m *Mutex) lock() { <-m.ch } func (m *Mutex) tryLock() { select { case
句小芒
2023-01-10
5720
mongo 笔记
为什么要存在mongo 在以往的关系型数据库(如Mysql),使用表和列来对数据进行存储,进行数据查询操作。但是这样有一个弊端就是 1. 多表查询会比较复杂。 2.对数据类型要求严格,如果需要加字段会稍微麻烦一些。 📷 mongo 是以数组或者对象来对数据进行存储,并且还可以嵌套。 # 进入mongo $ mongo # 显示所有数据库 > show dbs # 创建数据库 使用use 命令, > use gmtest switched to db gmtest # 查看当前db > db gmtes
句小芒
2022-12-29
1.1K0
zsh 好用的配置
插件如:git autojump(快速跳转) zsh-autosuggestions(自动补全) zsh 插件,这个链接就够了
句小芒
2022-12-29
8540
gin 读取配置文件
需求:对于配置文件不要直接在代码中进行定义和使用,而是单独放到配置文件的目录中,以便区分环境使用不同的配置。 分离前代码: database, err := sqlx.Open("mysql", "root:XXXX@tcp(127.0.0.1:3306)/test") 修改为读取配置文件 创建文件 config/main.toml app_name = "awesome web" # possible values: DEBUG, INFO, WARNING, ERROR, FATAL log_l
句小芒
2022-12-29
8030
gin 框架将路由文件单独处理
首先,我们新建一个 routers 文件夹,这里面放置路由文件,包含一个总的router.go
句小芒
2022-12-29
6080
gin 数据绑定
gin 框架中使用数据绑定 定义请求结构体 //router.go package router type Person struct { Id int `form:"id"` //Id 首字母大写,外部才可以访问 Name string `form:"name"` //如果接口参数是全小写,则加上form参数 } 在函数中进行数据绑定 // main.go r.GET("/", func(c *gin.Context) { var jsons router.Person err :=
句小芒
2022-12-29
6150
go 连接redis
package main import ( "fmt" "github.com/garyburd/redigo/redis" ) func main() { c, err := redis.Dial("tcp", "localhost:6379") if err != nil { fmt.Println("conn redis failed,", err) return } c.Do("set","gin_demo","test_gin", "ex",10*60) fmt.Pri
句小芒
2022-12-29
6880
YII2 控制器中不能使用大写的问题
解决方案, 设置默认方法, public $defaultAction = "Index";
句小芒
2022-12-29
3500
go包管理代理网址无法访问
go get -u github.com/kardianos/govendor ## 执行命令 go get: module github.com/kardianos/govendor: Get "https://proxy.golang.org/github.com/kardianos/govendor/@v/list": dial tcp 172.217.160.81:443: i/o timeout 网上找了个能用的代理地址:https://goproxy.cn 执行命令: go env -w GO
句小芒
2022-12-29
9080
redis 使用setnx实现锁
在token失效时,要重新请求服务器生成新的token,如果不使用锁的话,在并发的情况下,会有很多请求同时请求服务器。
句小芒
2022-12-29
4280
mac 安装Yapi
手动进行接口测试是一件很麻烦的事情。所以需要有一个高效,易用的管理平台,比如Yapi
句小芒
2022-12-29
4350
ssh通过证书登陆服务器
step1: 本机生成公钥,私钥。 step2: 将公钥复制到服务器。 具体做法百度。 step3: 打开 ~/.ssh/config 文件,添加主机信息。如:
句小芒
2022-12-29
2.9K0
php 拉取 gz 文件进行解压后保存到自己的服务器
结果在调试数据发现有部分数据丢失,我们直接解压原压缩包后进行对比,发现确实是解压后数据丢失。
句小芒
2022-12-29
7960
yii 配置文件根据模式分类
在刚下载的yii 框架源码中,配置文件是没有进行分类的。我想在index中定义模式(dev,demo,online)。所以希望根据自己的定义读取相应的配置。
句小芒
2022-12-29
3270
PHP二维数组取差集
使用 array_diff() 获取差集,返回空数组。这个函数只能用于一维数组,不能用于二维数组。
句小芒
2022-12-29
4.7K0
laravel 之 Unit 单元测试
在进行项目开发的时候,经常会对我们的类,函数,http请求等进行测试,看结果是否符合我们的预期。 对于http 请求我们通常会使用postman 来进行测试。 那么如果我们需要测试某一个类,某一个方法,需要怎么办?
句小芒
2022-12-29
1.3K0
前端(JS)与后端(PHP) 通过 RSA 实现加解密
在项目开发过程中,为了安全起见,通常不能以明文形式传递敏感信息,容易被截获,所以引入RSA。 1. 生成公钥和私钥 在终端(基于 Unix 的操作系统)中输入以下内容。生成私钥 openssl genrsa -out rsa_1024_priv.pem 1024 通过执行以下命令获取公钥 openssl rsa -pubout -in rsa_1024_priv.pem -out rsa_1024_pub.pem 可以使用 cat 命令来查看 cat rsa_1024_priv.pem //
句小芒
2022-12-29
1.7K0
shell 脚本提示权限不够的几种解决方式
2)使用命令 source test.sh 执行 3)使用命令 sh test.sh 执行
句小芒
2022-12-29
7.1K0
ES 简单操作指令
POST ip:9200/index/type 这样会自动生成id 是一串随机字符串
句小芒
2022-12-29
2960
开发中遇到的越权问题
解决办法: 根据订单id 查询到对应的user_id 对当前登录用户的id 和查询到的user_id 进行一致性判断,如果不一致,则返回操作越权。
句小芒
2022-12-29
3260
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档