- 博客(183)
- 资源 (10)
- 收藏
- 关注
原创 小刘整理的 go 面试题
Go相关map、channel、slice的底层实现,sync.map、sync.pool、sync.Once的原理GC的过程、写屏障的含义及作用GMP模型,触发Goroutine切换的原因有哪些?for死循环会怎么样?全局goroutine里面存储什么?interface的底层实现,怎么判空?reflect的使用逃逸分析context的使用go 性能问题的定位过程(pprof的使用)协程池的使用Mysql相关索引的分类为什么选择B+树实现索引?一般深度为多少?b+树和红黑树
2020-06-17 10:27:13 1959 3
原创 php 整理的零碎知识点
游戏准备安装pygamesudo pip2 install pygame验证安装python3 -m pygame.example.aliens
2019-03-13 11:42:57 303
原创 模拟三方的模拟平台
https://hellosean1025.github.io/yapi/https://github.com/YMFE/yapihttps://github.com/fjc0k/docker-YApi
2024-03-07 11:59:18 170
原创 liux 快捷命令
ssh liuanyuan@superatomfin.com@op.cmcm.com’ 改成。mac 和linux 电脑命令每次都需要粘贴可以自己进行更改 比如登录机器可以改成。
2024-02-28 14:31:01 112
原创 go 调用函数 函数里边defer、log和调用函数层级 defer、log执行顺序
go 调用函数 函数里边defer、log和调用函数层级 defer、log执行顺序
2022-06-21 16:56:48 359
原创 panic recovered, err: runtime error: invalid memory address or nil pointer dereference 怎么排查问题
panic recovered, err: runtime error: invalid memory address or nil pointer dereference
2022-05-11 15:54:23 1033
原创 go-xorm 报错 “( could not be the first charactor”
go-xorm 报错 “( could not be the first charactor”
2022-03-13 16:29:08 284
原创 go-trace设计
一、为什么要传递trace信息? 现在微服务开发已经成为主流,从用户发起请求到最终返回结果,中间可能会跨越好几个服务,调用链路会非常长,因为无法把用户请求上下游串联起来所以定位问题就会非常头疼,所以就需要通过trace信息把用户完整请求链路串联起来 主要目的:1、后期全链路追踪 2、快速排查定位问题 3、设置链路最长执行时间,超时自动返回,防止由于下游服务调用异常引起雪崩效应二、trace传递规范流程
2021-12-14 14:15:27 587
原创 go -Unmarshal 错误的几种情况
情况1 返回的json是string,struct里边的tag是其他类型比如是int.则报错返回的json如下 :{"loan_product_id":"101","manage_rate":"0.41","overdue_rate":"0.09","late_fee_rate":"0.00"}type OrderRet struct { ProductId int `json:"loan_product_id,int"` OverdueRate float64 `json:
2021-12-13 18:04:46 13074 1
原创 error: You have not concluded your merge (MERGE_HEAD exists).解决
原因可能是在以前pull下来的代码自动合并失败解决办法:切换到项目文件夹中,使用git命令舍弃本地代码,远端版本覆盖本地版本(慎重)$:git fetch --all$:git reset --hard origin/master$:git fetch保留本地的更改,中止合并->重新合并->重新拉取$:git merge --abort$:git reset --merge$:git pull...
2021-09-29 15:03:27 514
原创 go net/http: HTTP/1.x transport connection broken: malformed MIME header line:
当碰到错误 :net/http: HTTP/1.x transport connection broken: malformed MIME header line:********A服务版本为go 1.13.5调用 B服务1.9.2出现这个问题主要是由于go的版本过低解决方案: 升级对应服务器的低版本的go, go版本1.10之前都会有这种错误所以升级之后就解决了github原文链接 https://github.com/C-Sto/recursebuster/issues/18...
2021-09-08 17:49:39 3076
原创 签名校验 go & php
一.签名传参(统一在header头里面进行传递)参数名称参数说明sign签名值ak调用方标识,服务端根据此标识匹配SK秘钥timestamp签名时间戳,服务端需要进行过期检测二.签名步骤1.GET请求将URL请求中的传参构造成url方式得到urlstring如:a=1&b=2&c=3根据请求来源确定加密秘钥SK(秘钥可以是设备ID+动态token根据业务进行确定)拼接加密串 urlstring+timestamp(请求参数+请求时间)如:
2021-09-03 15:21:17 449
原创 mysql查询某个字段在哪些表中
查询sql如下查看某个库中哪些表存在对应的某个字段select * from INFORMATION_SCHEMA.columns where COLUMN_NAME Like '%字段名%' and table_schema = '库名';查看某个库中某个表中是否存在对应的某个字段select * from INFORMATION_SCHEMA.columns where COLUMN_NAME Like '%字段名%' and table_schema = '库名' and table_n
2021-09-03 15:14:57 3854
原创 go json.Unmarshal 精度问题怎么解决
golang使用json.Unmarshal的时候,有些数字类型的数据会默认转为float64,而一些数据因其比较大,导致输出的时候会出现数据与原数据不等的现象,var jsonBlob = []byte(`[ {"Name": "2000.00", "Order": "200.23"}, {"Name": "100.00", "Order": "12.00"} ]`) type Animal struct { Name float32 Order float32 } va
2021-08-17 21:21:09 664
原创 mysql隔离级别对应的解决问题
什么是幻读?幻读,在一个事务里面的两次相同过滤条件的读取,读取的数据数条数不一致。(注意和不可重复读的区别)MySQL的默认隔离级别是RR,但是却没有幻读的问题,那他是怎么解决的呢?答案就是Gap锁。隔离级别脏读不可重复读幻读Read Uncommitted可能可能可能Read Committed不可能可能可能Repeat Read不可能不可能可能(MySQLInnoDB不可能)串行化不可能不可能不可能MySQL的Gap锁MyS
2021-08-10 10:35:41 409
原创 go map的实现
1. map数据结构Golang的map使用哈希表作为底层实现,一个哈希表里可以有多个哈希表节点,也即bucket,而每个bucket就保存了map中的一个或一组键值对。map数据结构由runtime/map.go:hmap定义:type hmap struct { count int // 当前保存的元素个数 ... B uint8 ... buckets unsafe.Pointer // bucket数组指针,数组的大小为2^
2021-06-29 09:38:34 550 2
原创 nginx https证书配置
server { listen 443; server_name 149.129.216.117 sta.api-pay.uangme.com; root /data/app/pay_order/public; ssl on; ssl_certificate ssl/sta.api-pay.uangme.com.pem;#配置
2021-06-11 14:26:36 206 2
原创 go protobuf 的使用
protobuf是google旗下的一款平台无关,语言无关,可扩展的序列化结构数据格式。所以很适合用做数据存储和作 为不同应用,不同语言之间相互通信的数据交换格式,只要实现相同的协议格式即同一 proto文件被编译成不同的语言版本,加入到各自的工程中去。这样不同语言就可以解析其他语言通过 protobuf序列化的数据。目前官网提供了 C++,Python,JAVA,GO等语言的支持。google在2008年7月7号将其作为开源项目对外公布。protoBuf简介Google Pro.
2021-06-10 19:51:48 820
原创 kafka名词定义
削峰填谷削峰填谷:所谓的“削峰填谷”就是指缓冲上下游瞬时突发流量,使其更平滑。特别是对于那种发送能力很强的上游系统,如果没有消息引擎的保护,“脆弱”的下游系统可能会直接被压垮导致全链路服务“雪崩”。但是,一旦有了消息引擎,它能够有效地对抗上游的流量冲击,真正做到将上游的“峰”填满到“谷”中,避免了流量的震荡。消息引擎系统的另一大好处在于发送方和接收方的松耦合,这也在一定程度上简化了应用的开发,减少了系统间不必要的交互。...
2021-06-08 10:32:21 218
原创 技术调研的模式
技术调研,是一个程序员的基础能力。快速进行技术调研,是一个高级程序员的基础能力。又快又好的技术调研,是一个咨询师的核心竞争力——你永远得比客户快半步。太长只看目录版:为什么需要技术调研调研示例:我的故事如何做技术调研0. 明确需求诊断与信息收集整理相关信息试用技术进行思考与回顾构建 MVP做一次分享技术调研的产出一句话概括优缺点分析适用场景比较,比较,比较MVP为什么需要技术调研?在过去美好光景里, 作为一个开发人员,又或者是一个 Tech
2021-05-23 16:55:00 456
原创 go负载机器的加锁
比如两台机器同时执行代码 为了防止两台机器重复执行 加上redis锁来防止重复执行import ( "fmt" "git.liebaopay.com/INA_financial/main/model" "git.liebaopay.com/INA_financial/main/service" "github.com/astaxie/beego/logs" "github.com/garyburd/redigo/redis" "time")type runTdTaskTimer stru
2021-05-20 14:53:08 221
原创 Go面试: 求101-200之间的素数 (Golang经典编程案例)
例:判断101-200之间有多少个素数,并输出所有素数。思路分析:判断素数的方法:用一个数分别去除2,如果能被整除,则表明此数不是素数,反之是素数。package mainimport "fmt"func main() { for i := 101; i <= 200; i++ { for j := 2; j <= i; j++ { if i != j && i%j == 0 { break } if i == j &&
2021-05-02 12:49:47 332
原创 kafka 操作
删除kafka topic./kafka-topics.sh --zookeeper 147.139.170.215:2181 --delete --topic “topic_name”
2021-04-19 14:00:34 156
原创 git push non-fast-forward
git push orign ori_branchname 报错怎么解决To git.liebaopay.com:INA_financial/main.git ! [rejected] HEAD -> dev_TDSpider20210331 (non-fast-forward)error: failed to push some refs to 'git@git.liebaopay.com:INA_financial/main.git'hint: Updates we
2021-04-02 13:12:54 357
原创 mac failed to open stream: Read-only file system
场景mac 想在/home/pids/trade_sync-wdt2.pid新建一个文件却没有写的权限failed to open stream: Read-only file system解决sudo mount -uw /
2021-04-02 10:26:45 307
原创 go 垃圾回收:三色算法
转载自https://studygolang.com/articles/22194?fr=sidebar三色算法go垃圾回收器的操作都是基于三色算法,这篇文章主要来说明此算法。注意:三色算法并不是go独有的,它也会在其它编程语言中使用到严格来说,在Go中这个算法的官方名称是叫做三色标记清除算法(tricolor mark-and-sweep algorithm)。它可以和程序一起并发工作并且使用写屏障(write barrier)。这就意味着,当Go程序员运行起来,go调度器去负责应用程序的调度,而
2021-03-21 12:22:52 520
原创 Redis的五大数据类型的底层实现
转载自https://www.cnblogs.com/MouseDong/p/11134039.html简介Redis的五大数据类型也称五大数据对象;前面介绍过6大数据结构,Redis并没有直接使用这些结构来实现键值对数据库,而是使用这些结构构建了一个对象系统redisObject;这个对象系统包含了五大数据对象,字符串对象(string)、列表对象(list)、哈希对象(hash)、集合(set)对象和有序集合对象(zset);而这五大对象的底层数据编码可以用命令OBJECT ENCODING来进行查
2021-03-14 17:40:35 338
原创 golang之树遍历
转载自https://studygolang.com/articles/16314go语言在区块链编程中有巨大的优势,其中fabric和ethereum都是基于go语言编写的。为了能更好的学习区块链的底层技术,先将go的基础打好。本篇文章使用golang来实现树的遍历树的定义package maintype Node struct { Val int Left *Node Right *Node}深度优先遍历深度优先遍历需要优先使用栈栈的定义package main
2021-03-14 14:08:12 1092
原创 phpstorm Do you want to add the following file to Git?
碰到创建的文件总是自动添加到git里边,怎么处理呢?碰到创建的文件总是自动git add ,怎么处理呢?其他编辑器 jetbrain全家桶都一样处理从Preference找到Version Control 找到Confimation 取消勾选 Do not add...
2021-02-26 10:48:56 6144 1
原创 go orm框架对比
订单系统重构技术选型针对目前订单系统由PHP系统重构成go系统orm 技术调研选型ormgormxorm地址官网 :https://gorm.cn/ github:https://github.com/go-gorm/gorm官网:https://xorm.io/ github: https://github.com/go-xorm/xormstar(目前)226666305优势1.全功能 ORM 2.关联 (has one,has many,bel
2021-02-06 21:55:18 6790
原创 nginx.conf配置
#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}http { include mime.types; defau.
2021-01-29 10:12:22 250
转载 go mod tidy 报错:verifying ...: checksum mismatch
转载自 https://maiyang.me/post/2019-01-23-go-mod-tidy-occure-verify-checksum-mismatch/杨文大佬整理的博客在编译阶段时执行 go mod tiny 报错go: verifying github.com/docker/docker@v1.13.1: checksum mismatch解决办法$ go clean -modcache$ cd project && rm go.sum$ go mod
2021-01-17 13:07:09 956
安装mysql5.7.21缺少msvcp120.dll报错的扩展vc程序
2018-04-11
HTTP权威指南].David.Gourley等.扫描版.pdf
2018-03-16
《MySQL管理之道:性能调优、高可用与监控》.(贺春旸).[PDF]@ckook.pdf
2018-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人