- 博客(120)
- 收藏
- 关注
原创 golang 多版本管理(mac)
目录前文golangIDE(推荐)step1 下载gostep2 指定go 版本使用gvmstep0 常用命令step1 下载gvmstep2 使用gvm前文基于gomod管理后,经常出现需要多个版本的go进行代码构建。如果仅仅是为了编译,个人推荐使用docker进行交叉编译即可;如果是为了本地调试运行,可以参考一下方式golangIDE(推荐)原理: 指定go版本左右软件环境的goroot,替代系统环境gorootstep1 下载gofile->other settings-&g
2021-11-15 21:38:02
4095
原创 python 多环境隔离搭建(mac)
目录一 前言二 安装0. 什么是anaconda1. 安装anaconda2. 环境变量三 创建虚拟环境1.前置2.命令行3.可视化界面四 Pycharm使用1. 项目添加py环境2. 选择py环境3. 使劲造吧一 前言mac自带python版本,为2.7日常工作需要多种py版本,本文主要通过Anaconda进行py环境的搭建常见pip/virtualenv/condaconda结合了pip和virtualenvanaconda集成了conda名称包管理环境管理适用语
2021-10-27 22:57:51
1704
原创 mac 环境变量
Mac系统的环境变量,加载顺序为:1. /etc/profile2. /etc/paths3. ~/.bash_profile4. ~/.bash_login5. ~/.profile6. ~/.bashrc1,2 系统级别的,系统启动就会加载。3,4,5,6是用户接别的,3,4,5 按照从前往后的顺序读取,读到即返回。6没有上述规则,作用于终端命令窗口。1,2常做基础软件环境变量配置,区别除了加载顺序还有配置方式区别。3,4,5,6常用于临时环境变量配置。自己开..
2021-10-27 21:11:42
449
原创 SLA服务保障初识
目录前言一.SLA是什么SLASLISLO二.为什么需要SLA?三.怎么保障服务SLA?什么会影响SLA?如何提高SLA?0.重视sla1.架构设计2.代码设计与测试3.监控异常报警4.应急预案四.总结前言本文为扫盲文章扫除未知概念,培养服务保证意识一.SLA是什么sla是量化软件服务质量的协定SLA服务品质协议(简称:SLA,全称:service level agreement)是在一定开销下为保障服务的性能和可用性,服务提供商与用户间定义的一种双方认可的协定。SLA包含SLI和SLO。S
2021-10-14 00:50:05
8765
3
原创 python 退出程序
目录无异常抛出有异常抛出无异常抛出import osos._exit(1) # status = 1os._exit(0) # status = 0 正常退出有异常抛出import syssys.exit(1) # status = 1 抛出异常sys.exit(0) # status = 0 正常退出
2021-10-11 16:35:36
259
原创 mysql 存储过程mock数据
目录前文知识点存储过程模版前文本文提供mysql存储过程mock数据的方式,主要实现循环n次执行sql的mock数据操作知识点# 删除存储过程drop procedure if exists mock_r_id; # 如果存储过程mock_r_id存在则删除# 创建存储过程CREATE PROCEDURE mock_r_id ( r_id INT, n INT ) BEGINDECLARE i INT DEFAULT 0; # 定义变量i 默认 0# ……语句END# 调用存储
2021-10-08 23:07:22
757
原创 docker 安装navicat-monitor
目录前言步骤step1: 下载安装navicat-monitorstep2: 配置navicat-monitorstep3:使用navicat-monitor前言navicat是我们常用的数据库可视化工具navicat-monitor时navicat公司推的一个数据库监控工具,主要功能是对数据库进行监控和性能分析以及一些告警功能。目前可试用15天navicat-monitor 产品介绍官网简要按照流程如下navicat-monitor 安装由于其以服务方式存在,本文对docker方式进
2021-10-08 22:37:37
1185
1
原创 docker 配置国内镜像加速
目录前言常用镜像方式一打开app设置界面方式二创建daemon.json配置方式三使用daocloud前言docker实用技巧整理,文章简陋,仅供参考以mac版本为例常用镜像{ "registry-mirrors": [ "https://registry.docker-cn.com" # docker中文镜像源 "https://docker.mirrors.ustc.edu.cn" # docker 中国科学技术大学源 "https://hub-mirror.c.163.com"
2021-10-08 21:36:40
669
原创 解决golang test出现# command-line-arguments [command-line-arguments.test]报错
项目场景:xxx.go xxx_test.go 单元测试和代码分开放,代码不在gopath中以及idea设置的项目根中。背景:gopath: /Users/zyj/go 项目根:/Users/zyj/study/demo go源文件:/Users/zyj/study/demo/go/src/xxx_test.go问题描述:xxx.go xxx_test.go分开存放 xxx_test.go 编译报错command-line-arguments [command-line...
2021-10-05 00:19:09
5555
4
原创 redis+lua实现原子库存增减
目录背景分析为何需要锁?原子操作为那几步?如何实现原子操作?实现go实现总结背景高并发场景下,设计订单系统时,常遇到写写/读写/写读并发冲突导致的脏读,容易引起的超卖问题。通常方案:使用锁包裹非原子语句集来保证并发读写一致性,但锁的存在牺牲了其并发性能。以订单扣减为例:伪代码:## step1 查询库存 do get## step2 库存判断 do check and pass## step3 当前库存-1 do sub## step4 创建订单 do others并发情况
2021-08-24 01:25:48
1472
原创 alibaba-springcloud-sentinel探索
目录前言整合step1: sentinel-client配置如下step2: sentinel- dashboarddocker部署验证无配置情况:配置限流:前言仅做集成参考项目为maven项目,版本如下:参考官网组件版本springcloudHoxton.SR8springboot2.3.2.RELEASEspringcloud-alibaba2.2.4.RELEASEalibaba-sentinel-dashborad1.8.0jdk1.
2021-08-01 18:22:26
323
原创 api文档一些思考
前文无关api设计,记录对api文档约定的理解api文档约定问题:文档编写麻烦变化则需更新文档api不可调试不可流通主流工具记录自己解决思路准备适用场景约定apiapi调试导出文档导入postman等主流主流支持文档格式 doc/markdown/pdf/html/swagger.json调试模式 swagger-ui/postman软件平台 yapi/swagger/postman思路:采用openapi规范编写api文档,具体采用swagge
2021-07-31 17:08:47
361
原创 springboot springfreework jdk版本对照
https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-VersionsJDK版本JDK时间1.01996-01-231.11997-02-191.21998-12-041.32000-05-081.42002-02-13Java SE 5.0 / 1.52004-09-30Java SE 6.0 / 1.62006-04Java SE 7
2021-02-17 14:16:02
11605
原创 jdk与class version版本对照表
java的class文件是二进制文件,其中前四个字节是magic位,第五字节对应minor 第六个字节对应和majorclass与jdk版本关系class 第5和6字节minor版本major版本jdk版本2D03453jdk1.02D03453jdk1.12E00460jdk1.22F00470jdk1.33000480jdk1.43100490jdk1.53200500jdk1.63300
2021-02-16 15:58:32
6955
原创 ES语法入门
这里写目录标题基本语法过滤语句trem过滤trems过滤range过滤exists过滤missing过滤bool过滤 (组合多个过滤语句)mustmust_notshouldfilter基本语法过滤语句trem过滤等价于sql =http://xxx.xxx.xxx.xxx:9200/tablename/_search{ "query":{ "term":{ "tablefield":"xxx" } }}select * from tab
2021-01-18 23:41:38
894
2
原创 说说写博客吧
自己工作三年多了,能做到的就是偶尔写个博客啥的。图啥呢?分享交流工作经验没了早些时候吧,没啥知识储备,靠着各种实验记录经验,回头看看这些博客都是自己宝贵的财富。常言道:学知识最好的方式是实践,而掌握知识最好的方式是复述教学。也常常乐此不疲,不知道有多少博客是实验一整天并写到深夜3/4点的。有多少日日夜夜,期待着粉丝和点赞,算是对自己的犒劳吧。这里是两个学习反馈系统:康奈尔学习法:笔记,总结,通过讲述,得到反馈,再总结讲述,直到得到凝练知识奖励反馈回路:学习,写博客,点赞评论,形成奖励回路
2020-08-03 03:12:06
199
原创 golang中defer与return的执行顺序
这里写目录标题1. defer是LIFO,类似堆栈方式运行的2. return与defer同时出现时,defer只有被return包裹才会运行3. return变量时,并不是原子操作,分为赋值 + 返回,如果有defer将在赋值与返回间执行匿名返回值有名返回值有名返回值临时赋值1. defer是LIFO,类似堆栈方式运行的示例func test(){ defer fmt.Println(1) defer fmt.Println(2) defer fmt.Println(3) return}
2020-07-23 11:25:19
2561
原创 go扩展ticker实现优雅起停
go扩展ticker实现优雅起停ticker源码分析关键源码ticker核心源码startTimer stopTimer sentTime 核心源码源码解读原理注意事项ticker优化关闭思路MyTicker代码代码代码效果ticker源码分析关键源码ticker核心源码package timeimport "errors"type Ticker struct { C <-chan Time r runtimeTimer}func NewTicker(d Duratio
2020-07-18 23:20:28
1062
3
原创 golang json传递time类型参数
目录一 前言二实现三 验证四 总结一 前言golang的强制类型转换可以让人抓狂,遇上json序列化/反序列化时候的时间类型参数,需要不断的转换参数类型,简直让人抓狂。 本文通过组合方式对时间类型进行拓展,并实现序列化/反序列化接口来解决时间json传递类型转换问题。二实现自定义jsonTime,时间格式以"2006-01-02 15:04:05" 为例const ( YYYYMMDDHHMISS = "2006-01-02 15:04:05" //常规类型...
2020-05-26 20:40:52
3455
原创 Dockerfile 中 CMD与ENTRYPOINT的区别
前言使用golang开发,需要交叉编译rpm。docker是不二之选,所以编写了golang编译打包镜像。学习并记录下dockerfile语法。基本语法CMDCMD <command> CMD ["<executeable>","<param1>","<param2>",...] CMD ["<param1>","...
2020-02-04 00:40:40
615
原创 go实现定时周期
一、前言1、go有现成的周期定时器和定时器,但是没有定时周期2、基于在未来某个时刻后进行周期循环,于是有了定时周期3、本文秒级精度的定时器,存在几个指令时间的误差二、实现1、基础代码package timerimport ( "time")//阻塞循环定时器func tickerDone(interval int, function func()) {...
2019-10-24 18:43:59
1390
原创 HTTP的一次DNS解析过程
目录一、dns网络拓扑图二、dns解析过程一、dns网络拓扑图二、dns解析过程Q1:用户输入网址域名。Q2:浏览器会先查询dns解析缓存,这个缓存是浏览器设置的,有时长和个数限制。命中则使用ip访问,未命中下一步。Q3:浏览器未命中缓存会查询本机host文件配置,这个文件存放域名 ip的键值配置值。命中则使用ip访问,未命中下一步。Q4:host文...
2019-10-05 22:27:05
1396
原创 HTTP码表整理
目录http官方码表nginx服务器扩展码表CloudFlare服务器扩展码表微软服务扩展码表其他码表http官方码表码段 状态码 状态 含义 使用范围 1XX 100 Continue (since HTTP/1.1)(继续) 请求已经接受,客户应继续发送请求的其余部分 表示临时的响应。客户端在收到常规响应之前,应...
2019-10-05 13:30:59
903
1
原创 golang依赖管理 glide
目录一、gilde简介二、glide命令简介三、gilde安装配置step1:下载安装gildestep2:使用gildestep3:根据gilde安装依赖到vendor四、gilde官方bugbug1:windows使用gilde get报错bug2:gilde install 或者 gilde get失败五、gilde常用命令初始化gilde...
2019-10-04 16:40:24
1516
2
原创 golang依赖管理 govendor
目录一 、govendor简介二、govendor命令简介主命令子参数三、govendor安装配置step0:环境准备step1:安装下载govendorstep2:使用govendorstep3:常用命令组合一 、govendor简介vendor是go的一个目录形式的包管理工具,而govendor结合了vendor这机制,扩展了功能:支持分析...
2019-10-03 19:56:22
878
原创 golang官方依赖管理go module(vgo)简单使用
目录一 、VGO简介二 、命令简介三 、配置VGO方式一:传统方式方式二:GOLANG-IDE插件支持step1:下载安装step2:设置vgo四 、使用vgostep1:创建项目并创建gomodstep2:初始化gomod文件step3:解析依赖step4:如果有第三方库,无法下载可以使用go.mod中的replace来解释require指定,例如...
2019-10-03 13:10:30
6117
原创 golang解决go get命令无响应问题
操作go get -v github.com/golang/net现象go get github.com/golang/net: module github.com/golang/net: Get https://proxy.golang.org/github.com/golang/net/@v/list: dial tcp 216.58.220.209:443: connec...
2019-10-01 18:03:01
54653
8
原创 golang开发环境搭建(windows)
目录一、安装golangstep1:下载golangstep2:无脑安装即可step3:设置环境变量step4:验证环境变量step5:工程化项目目录二 、安装IDE jetbrains-Golangstep1:下载2018版jetbrainsGolangstep2:软件无脑安装即可step3:注册码,亲测有用,有效至2099年step4:设置ID...
2019-10-01 14:13:42
1208
原创 ICE java实现服务双向调用
目录一 前言二 实现1、目录结构2、公共代码3、java实现4、spring实现(spring启动ice)三 项目githttps://github.com/HandsomeMars/springboot-ice-demo一 前言1、基于上篇ice简单使用,本篇文章讲讲如何实现客户端与服务端之间双向调用2、本文列举两种实现:java main方法调用...
2019-09-04 17:53:27
3628
原创 2年工作经验杂谈(java开发)
前言个人介绍本人不是985/211,普通本科,通信专业,成绩挺好不是最拔尖算得上中等偏上,好吧我觉得可能是上吧,党员。在毕业后在厦门一家公司实习后加入工作,工资中等,公司规模300-500,团队8-30人。与理想的薪资待遇有偏差,当然自己的能力有偏差。两年来工作路线入职小白-》高效下手-》初级程序员-》核心研发、中级-》技术组长、技术主管(短暂)两年来学习路线...
2019-09-02 18:34:04
4902
原创 开发常用的google插件
目录一、前言二、工具分类1、chrome扩展类google翻译下载管理扩展程序管理历史记录2、网站开发类前端助手前端样式调试神器json插件vue热部署插件接口调试工具3、常用工具类github源码查看工具网页剪辑工具一、前言工欲善其事必先利其器二、工具分类1、chrome扩展类google翻译 名称...
2019-08-28 13:44:30
2330
1
原创 docker 安装 oracle11g
目录一 前言二 实现1、下载oracle镜像2、检查镜像3、运行镜像4、配置oracle服务5、修改oracle默认密码(可选)三 验证一 前言1、需要docker环境,oracle镜像2、本文使用windows-docker环境操作系统 winodws10 64 docker Docker version 18.09.2,...
2019-08-09 14:38:44
9947
9
原创 ICE java实现helloworld
目录一 前言二 实现1、目录结构2、java实现3、spring实现(spring启动ice)三 项目githttps://github.com/HandsomeMars/springboot-ice-demo一 前言1、基于上篇slice2java编译,本文接着使用slice2java实现简单的客户端和服务端2、本文列举两种实现:java main方法...
2019-08-07 16:26:20
1132
原创 ICE插件 编译slice2java
目录一 前言二 插件实现三 命令实现四 项目githttps://github.com/HandsomeMars/springboot-ice-demo一 前言1、ICE使用slice文件经定义协议文档,针对不同语言进行编译实现,本文阐述如何将slice文件编译为java类2、ICE编译slice文件主要使用 slice2java命令,本文提供两种实现: ...
2019-08-07 15:25:39
2133
2
原创 springboot实现自动配置
目录一 前言二 实现原理(1)springboot启动类注解解析(2)参考三 实现方式一:使用spring.factories文件,通过配置enable实现开关1、目录结构2、关键代码3、测试方式二:使用注解@EnableXXX实现开关1、目录结构2、关键代码3、测试四 项目githttps://github.com/Handsom...
2019-08-05 18:43:59
1217
原创 swagger离线文档导出html(maven插件版)
目录一 前言1、swagger作为出色的在线api生成工具,在项目中经常作为前后端接口对接的利器。2、本文不阐述swagger及其配置,重点阐述如何导出swagger文档,无需代码编写。二 实现1、maven插件配置2、配置结果3、配置详解4、使用流程5、项目githubhttps://github.com/HandsomeMars/swagger-...
2019-07-25 22:44:21
2792
原创 docker 安装(6.x单机)elasticsearch、elasticsearch-head、ik分词器
一、 前言1、本文为docker for window,docker for mac 或者 docker for linux 略有不同2、本文软件版本soft version function elasticsearch 6.2.2 es搜索引擎 elasticsearch-head 5 es管理 ik 6.2.2 es分词器...
2019-07-07 17:32:54
513
1
原创 解决springboot集成es 报错NoNodeAvailableException None of the configured nodes are available
一、问题背景1、elasticsearch启动正常,localhost:9200能正常访问2、spring-boot-starter-data-elasticsearch连接es,启动报错NoNodeAvailableException None of the configured nodes are available3、软件环境soft version func...
2019-07-07 16:49:13
17720
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人