- 博客(347)
- 资源 (5)
- 收藏
- 关注
原创 一个go的支持多语言的error自动生成插件
该结构体实现标准库的error接口,实现自定义errorconst(Err_Code_Success = 0 Err_Code_UnKnown = - 1 Err_Code_InValid_Phone = 10001) const(Language_Chinese = 0 //中文 Language_Enligh = 1 //英文) //不同语言对应的错误描述 var errMap = map [ int ] map [ int ] string {
2023-07-29 17:14:53 779
原创 一个go的http和grpc客户端库
大家好,我是peachesTao,今天是五一假期的第4天,首先祝大家劳动节快乐。,该库是我公司根据最佳实践总结开发出来的,它可以提升开发效率,让开发者聚焦于业务层代码。下面我从三个方面来介绍。
2023-05-02 20:28:25 1184 2
原创 Go的泛型来了
来源:公众号【peachesTao】作者:peachesTao原文地址:Go的泛型来了大家好,我是peachesTao,本周三go语言史上改动最大的版本Go 1.18发布了,为什么说的改动最大的?因为Gopher们期待已久的泛型包含在这里版本中,之前Go 1.18 Beta 1中有实验性的泛型。除了泛型,Go 1.18 还包含其他的新功能,如:模糊测试、工作区,详细的更新内容请参考Go 1.18 Release Notes。如果你想知道go为什么需要泛型可以参考why-generics,.
2022-03-20 23:07:21 1203
原创 go中的nil容易踩的坑
来源:公众号【peachesTao】作者:peachesTao原文地址:go中的nil容易踩的坑大家好,我是peachesTao,有2个多月没有更新了,没有达到一个月更新两次的标准,过了个年变得懒散了,现在已找回专注,今天给大家介绍一下go中使用nil时容易踩的坑。先看一段代码packagemainimport"fmt"typeMyErrorstruct{CodeintMsgstring}func(e*MyError)Error()st...
2022-03-14 20:47:23 802 1
原创 2021年总结
大家好,我是peachesTao,今天是2021年的最后一天,对一年来工作和生活做一下总结。过去的2021跳槽这一年对我影响最大的事莫过于工作变动,跳槽到一家在线教育互联网公司,大家都知道,在线教育今年受到了政策的打压,市场空间被严重挤压,公司也经历了大裁员,现在已经趋于稳定。写作写作既能将自己的知识和经验分享给更多有需要的人,也能帮助自己对知识的深入了解。从8月底首次在公众号上分享技术文章,虽然之前也有在CSDN上分享文章的习惯,但大部分内容都属于笔记性质,而且有不少是转载的,很少
2021-12-31 23:06:12 275
原创 go如何实现可选参数
大概的意思是:go语言函数不支持默认参数是刻意为之,默认参数使得通过添加更多参数来修补API设计缺陷变得太容易了,导致过多的参数与交互难以解开甚至理解,为不同的可选参数定义不同函数可以使得api更清晰和理解
2021-12-11 22:24:22 5180
原创 Mysql优化器原理
大家好,我是peachesTao,今天给大家分享一篇关于mysql优化器的文章,在正式进入今天的主题之前先抛出几个问题: mysql 对我们写的sql语句做了哪些优化?优化后的语句我们如何得知? 为什么我的字段明明加了索引最后还是全表扫界? 一个字段存在于多个索引中,为什么最后选择了索引A,而不是B? 如果你也有上面的疑问,那么你算是来对了,通过这篇文章,我将会为大家解开谜底。我们先准备一下本篇文章要用到的表结构(注意:本文中所有的数据均基于mac mysql 8.0.12
2021-11-17 21:34:30 1978
原创 Can‘t run linter goanalysis_metalinter: buildir: failed to load package : could not load export dat
昨天在一个项目根目录执行下执行golangci-lint run命令时报如下错:WARN [runner] Can't run linter goanalysis_metalinter: buildir: failed to load package : could not load export data: no export data for "uclass_console/internal/controllers"解决方案:将代码中"uclass_console/interna
2021-10-27 17:59:39 8475
原创 go语言中的for range
大家好,我是peachestao,今天是国庆节的最后一天,大部分人应该都已经返程了,不知道大家这个国庆玩的怎么样。前段时间工作有点忙,加上生活中的一些事导致一个月没更新了,以后会加快更新频率。分享是一个再学习的过程,不知道大家有没有过这样的体会:某个知识点写之前觉得掌握透了,但是当你写出来的时候发现自己对知识点的理解有盲区,只掌握了个大概,不知道来龙去脉,无法自圆其说。秉着”写出来并让大家理解就是自己完全掌握透了的“分享原则,会逼着自己查阅各种资料并亲手实践,在这个过程中你会恍然大悟:”原来如此
2021-10-07 22:41:04 7169
原创 go语言内存对齐
大家好,我是peachesTao,今天跟大家聊一聊go语言中的内存对齐,这个知识点涉及到计算机运行原理,也是go面试中经常被问的问题通过这篇文章你可以了解到go语言中内存是怎么对齐的,以及代码怎么写才能更有效的利用内存。本次分享分为4个部分 什么是内存对齐? 为什么要内存对齐? 如何做才能内存对齐? 对于内存对齐,程序员能做点什么 什么是内存对齐?以下定义来源于网络现代计算机中内存空间都是按照字节(byte)进行划分的,所以从理论上讲对于任何类型的
2021-09-05 21:45:30 538
原创 记一次编译转码程序遇到的坑
大家好,我是peachesTao,今天给大家分享一下工作中遇到的一个C#转码工具的编译问题及解决过程。背景老师每次上课,都会准备ppt课件,上课前会将课件上传到上课app,上传后调用转码程序转码,将ppt课件转成html格式,之前这个转码程序设置的最大可支持的ppt文件大小是25M,很多老师反映他们有些课件超过25M,希望能支持更大的课件上传。经过内部讨论决定,将上限提高到30M。写这个转码工具的人已经离职了,我的一个同事尝试着修改代码,发布到测试环境发现无法转码,他之前没写过C#,只是凭借其
2021-08-28 22:33:38 511
原创 go语言传参是值传递还是引用传递
曾经在某次go面试中被面试官问到:“go中引用类型有哪些?”,我答到:“slice,map,channel”,面试官:“其实go没有引用类型,都是值类型“,当时我就懵了,这么基础的问题居然我跟面试官意见不同。现在想想也许是我听错了,他应该说的是:”go没有引用传递,都是值传递“。我们今天就来聊一下这个话题。一个简单的例子funcmodifySlice(slice[]int){ slice[0] = 11}funcmain(){mySlice:=[]int{1,2,3} m...
2021-08-23 13:25:45 2216 4
转载 SecureCRT 登录连接后自动执行命令
转载于:https://blog.csdn.net/u011700186/article/details/109452658相关环境MacOS 10.15.4SecureCRT 8.7.0问题描述当某一个用户登录某一台服务器之后,我们可能会想要执行某些特定的命令或者脚本。比如,连接后我们想要自动切换到某一个特定的目录解决方法针对特定的某个 session 的解决方法1、右键特定的 session -> Properties,会弹出 session options 的窗口
2021-04-23 11:23:36 3285 1
转载 如何理解go语言提倡组合,不提倡继承
如何理解go语言提倡组合,不提倡继承刘凯_7013关注0.5992018.12.27 11:43:36字数 944阅读 9,980学习golang的过程中,有一个比较关注的价值观,golang提倡组合,不提倡继承。看过一些书和资料,感觉对这个概念的解释都不是很满意,特总结这篇文章,大家指正。希望通过阅读本文,对网上的一些说法做纠正。比如 “golang是如何用组合实现继承的”,组合是组合,继承是继承,golang也没有想要混为一谈。应该说,golang是如何利用组合代替继承的~组合与
2021-02-28 15:04:20 680
转载 Mac修改环境变量路径中带空格的处理
Mac修改环境变量路径中带空格的处理Gaoit***2019-02-19 17:17:432654收藏1分类专栏:Android文章标签:AndroidMac环境变量版权目前Mac开发Android似乎是标配,开发Android就离不开Android Studio,使用Android Studio自然少不了Gradle.故将配置gradle环境变量的方法记录在此:Step 1:用Atom或者其他文本编辑工具打开 ~/.zshrc 文件Step 2:新增环境...
2020-12-09 19:26:55 2274
转载 在Mac中设置Ctrl+C/V进行复制/粘贴
在Mac中设置Ctrl+C/V进行复制/粘贴从Windows世界走入Mac世界,最让不习惯的是在Mac中“复制/粘贴”的快捷键是Command+C/V。而且Command键与C/V键靠得太近,只能用大拇指与食指进行操作,也让人不习惯。再加上远程桌面连接至Windows时,只能用Ctrl+C/V进行复制/粘贴,在两种快捷键之间进行切换也容易让人乱了手指。今天终于在superuser网站上找到了解决方法(Remap Copy and Paste shortcuts on a Mac中的第二个回.
2020-11-29 20:39:29 4930
转载 设置了普通密码的excel打不开怎么办
转载于:https://jingyan.baidu.com/article/ca41422f7f0d821eaf99ed61.html重装系统,发现加密的表格打不开了,那么有两种方法,让你可以将表格找回来工具/原料 office、电脑、wps 方法/步骤 加密表格打不开,什么都不显示 第一种方法,你可以安装一个wps,装好以后,然后鼠标放到表格上面点击鼠标右键--打开方式,选择wps表格 打开就看到弹出了密码 输入原来设置的密码,成功打
2020-11-07 13:08:59 7060
转载 Go 为什么这么“快”
Go 为什么这么“快”腾讯技术工程转载于:https://zhuanlan.zhihu.com/p/111346689已认证的官方帐号关注他402 人赞同了该文章本文主要介绍了 Go 程序为了实现极高的并发性能,其内部调度器的实现架构(G-P-M 模型),以及为了最大限度利用计算资源,Go 调度器是如何处理线程阻塞的场景怎么让我们的系统更快随着信息技术的迅速发展,单台服务器处理能力越来越强,迫使编程模式由从前的串行模式升级到并发模型。并发模型包含 ...
2020-10-22 21:20:38 460
转载 关系型数据库设计三大范式
数据库设计三大范式目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。而通常我们用的最多的就是第一范式(1NF)、第二范式(2NF)、第三范式(3NF),也就是本文要讲的“三大范式”。1、第一范式(1NF):要求数据库表的每一列都是不可分割的原子数据项。举例说明:在上面的表中,“家庭信息”和“学校信息”列均不满足原子性的要求,故不满足第一范式,调整如下:可见,调
2020-10-14 10:34:39 1257
转载 defer关键字
3.4 defer关键字转载于:https://tiancaiamao.gitbooks.io/go-internals/content/zh/03.4.htmldefer和go一样都是Go语言提供的关键字。defer用于资源的释放,会在函数返回之前进行调用。一般采用如下模式:f,err := os.Open(filename)if err != nil { panic(err)}defer f.Close()如果有多个defer表达式,调用顺序类似于栈,越后面的defer
2020-10-11 21:18:47 1448
转载 MySQL锁系列之锁的种类和概念
MySQL锁系列之锁的种类和概念若丨寒关注在mysql当中,关于innodb的锁类型总共可以分为四种,包含了行锁和表锁,分别是基本锁 - [ 共享锁(Shared Locks:S锁)和排它锁(Exclusive Locks:X锁)] 意向锁 - [ intention lock,分为意向共享锁(IS锁)和意向排他锁(IX锁)] 行锁 - [ record Locks、gap locks、next-key locks、Insert Intention Locks ] 自增锁 - [ au
2020-10-11 16:09:21 501
转载 MySQL并发更新数据时的处理方法
MySQL并发更新数据时的处理方法转载于:https://juejin.im/post/6844903846313984007前言在后端开发中我们不可避免的会遇见MySQL数据并发更新的情况,作为一名后端研发,如何解决这类问题也是必须要知道的,同时这也是面试中经常考察的知识点。UPDATE是否会加锁?SQL语句为如下时,是否会加锁?UPDATE table1 SET num = num + 1 WHERE id=1;复制代码答案是不会实际上MySQL是支持给数据行加锁(In
2020-10-11 16:04:51 1371
原创 自己用go写的一个轻量级的 restful api web框架
bingo这是自己写的一个轻量级的golang restful api web框架,基于httprouter组件项目地址:https://github.com/peachestao/bingo,欢迎大家使用并踊跃提bug,我会第一时间处理快速使用1、下载 go get github.com/peachestao/bingo2、例子package mainimport ( "github.com/peachestao/bingo")func main(){ engine := bin
2020-09-16 20:51:13 795
转载 fatal: HttpRequestException encountered解决方法
fatal: HttpRequestException encountered解决方法之前在windows下一段时间git push都没什么问题,最近一旦提交就会弹出无论是push前先将远程仓库pull到本地仓库,还是强制push都会弹出这个问题。网上查了一下发现是Github 禁用了TLS v1.0 and v1.1,必须更新Windows的git凭证管理器,才行。https://github.com/Microsoft/Git-Credential-Manager-for-Windows.
2020-09-15 20:32:24 232
转载 413 Request Entity Too Large
nginx修改上传文件大小限制(413 Request Entity Too Large)上传文件时,nginx报413 Request Entity Too Large错误需要修改nginx配置文件nginx.conf在http{}段中添加或修改:client_max_body_size 20m;-s reload 重新加载nginx配置文件即可,如下:/home/nginx/nginx/sbin/nginx -p /home/nginx/nginx -c /home
2020-09-06 16:19:12 113
原创 concurrent write to websocket connection
问题:在使用github.com/gorilla/websocket库时报"concurrent write to websocket connection"的错原因是该库不支持并发向conn写数据,详情请参考:https://github.com/gorilla/websocket/issues/380解决方案:在向conn写数据前先加锁,之后再解锁即可解决此问题,读数据同理type WsConn struct { *websocket.Conn Mux sync.RWMu.
2020-09-04 13:25:36 3799
转载 Linux查看进程运行的完整路径方法
Linux查看进程运行的完整路径方法通过ps及top命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等。这时,我们需要通过以下的方法来查看进程的详细信息:Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为exe的文件即记录了绝对路径,通过ll或ls–l命令即可查看。ll/proc/PIDcwd符号链接的是进程运行目录;exe符号连接就是执行程序的绝对路径;cmdlin...
2020-09-01 09:46:27 3678
原创 Android中TextView文字居中
Android中TextView文字居中1、水平垂直居中: 在xml文件设置:android:gravity="center"2、垂直居中水平居左 在xml文件设置:android:gravity="center| left"3、垂直居中水平居右 在xml文件设置:android:gravity="center | right"4、垂直居上水平居中 在xml文件设置:android:gravity="center| top"...
2020-07-24 22:59:24 18756
转载 react-native 的 Text 多余的显示省略号
当字数太多的时候我们需要省略号来显示多余的字,使用Text的属性1:显示几行(numberOfLines)<TextnumberOfLines={1}/>2:省略号显示的位置(ellipsizeMode)可以是以下几个值tail、head、middle、clip默认的是tail (尾部)头部 head中间 middle从尾部截掉 clip<Text numberOfLines={1}ellipsizeMode={'tail'}>...
2020-07-02 12:28:26 1766
转载 INSTALL_FAILED_TEST_ONLY的原因
有一天给测试同学打了个deubg 包发现无法安装,提示无法解析,使用adb install 安装后提示INSTALL_FAILED_TEST_ONLY,原来是Android Studio 3.0会在debug apk的manifest文件application标签里自动添加 android:testOnly="true"属性问题在Android Studio进行开发的时候,生成的debug apk手动使用adb install无法安装,提示错误:➜ apk adb install '/home..
2020-06-29 11:48:11 305
转载 golang 安装etcd clientv3 报错
golang go mod 安装etcd clientv3 报错报错github.com/coreos/etcd/clientv3/balancer/resolver/endpoint../../pkg/mod/github.com/coreos/etcd@v3.3.18+incompatible/clientv3/balancer/resolver/endpoint/endpoint.go:114:78: undefined: resolver.BuildOption../../pkg/mo
2020-05-27 21:24:00 2874 6
转载 OkHttp使用
OkHttp3.0下载文件1 首先要在app/build.gradle中添加依赖,另外注意清单文件中打开相应网络访问权限如: implementation 'com.squareup.okhttp3:okhttp:3.14.1' implementation 'com.squareup.okhttp3:logging-interceptor:3.14.1' implementation 'com.squareup.okio:okio:1.6.0'2 创建一个OkHttp
2020-05-19 19:57:39 357
转载 Lint found fatal errors while assembling a release target
Lint found fatal errors while assembling a release target. 问题的解决方案此问题发生在编译为 release 版本时,出现错误提示如下:Lint found fatal errors while assembling a release target.To proceed, either fix the issues identified by lint, or modify your build script as fol..
2020-05-19 19:55:47 1016 1
转载 android.os.FileUriExposedException: file:///storage/emulated.. exposed beyond app through Intent.get
安卓7.0遇到 android.os.FileUriExposedException: file:///storage/emulated.. exposed beyond app through Intent.getData()1、在AndroidManifest.xml中添加如下代码<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/r.
2020-05-19 19:52:15 661
转载 android 该文件包与具有同一名称的现有文件包存在冲突
问题:安装应用提示 该文件包与具有同一名称的现有文件包存在冲突。 无法安装可能的原因:新版的软件的versionCode和现有版本的软件相同解决方案:修改新版本软件的versionCode。为了不用每次发布都手工修改,通过代码可以设置为自动增加+1方法如下:第一步:创建一个文件,名字就叫version.properties(当然,这个不一定要这么写),位置和build.gradle文件同级,app这个是我的执行module,文件里面的内容是:VERSION_CODE=.
2020-05-19 19:50:39 7166
转载 error: failed to read PNG signature: file does not start with PNG signature
android studio打包错误Error:error: failed to read PNG signature: file does not start with PNG signatureliuhaha1015 2019-06-06 17:41:03 519 收藏展开打包apk时报:Error:error: failed to read PNG signature: file does not start with PNG signature.android studio错误:..
2020-05-19 19:42:40 1755
转载 行对象不一致。请重新运行该查询
问题在SQL server上执行 :select * fromxxx表whererp(字段)=‘20180601’时消息提示:消息669,级别22,状态5,第一行行对象不一致。请重新运行该查询。解决方案原因:这张表经常会有插入数据、更新数据等操作。可能某些数据损坏,导致查询报错。dbcc CHECKTABLE('xxx表','repair_rebuild')修复该表。如果提示“只能在单用户模式下操作”,...
2020-05-14 12:46:15 668
转载 解决VS2017无法用IIS Express调试
解决VS2017无法连接到已配置的开发web服务器今天突然碰到项目无法用内置的IIS Express运行及调试,按F5就报“无法连接到已配置的开发Web服务器”的错误,启动webapi项目无法启用IIS Express调试。网上找了几种方法(什么关闭防火墙)都不行,后面看到一种方法是删除.vs文件夹,感觉这个靠谱,试了下果然解决问题。具体方法:删除项目根目录下的.vs文件夹,然后用VS重新打开项目,会重新生成新的.vs文件夹。...
2020-05-13 13:18:13 1839
mysql 在ubuntu14.04安装包
2019-05-05
一款chrome浏览器网页加速插件Decentraleyes
2018-09-05
c# winform webbrowser页面中js调用winform类方法
2015-11-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人