gin框架编译后,怎么从.exe的的文件内把文件取出来
# gin框架 - gin打包后,在win10成了 xx.exe程序 - 我想在项目启动的时候,在项目内读取文件并copy出来.但是项目打包后是xx.exe程序, - 有大佬有解决方案没阅读全文
# gin框架 - gin打包后,在win10成了 xx.exe程序 - 我想在项目启动的时候,在项目内读取文件并copy出来.但是项目打包后是xx.exe程序, - 有大佬有解决方案没阅读全文
package main import ( "golang.org/x/sys/unix" "log" "os" "syscall" "unsafe" ) func FatalError(err error) { if err != nil { log.Fatal(err) } } func main() { var hd unix.HDDriveID fd, err := unix.Open(os.Args[1], os.O_RDONLY, 0660) FatalError(err) _, _...阅读全文
序本文主要研究一下golang的zap的errorerrorzap@v1.16.0/error.govar _errArrayElemPool = sync.Pool{New: func() interface{} { return &errArrayElem{} }} // Error is shorthand for the common idiom NamedError("error", err). func Error(err error) Field { return NamedErr...阅读全文
三种情况: package main import "fmt" func main() { a := 0 tp := 0 b := &tp // condition 3 defer func() { fmt.Println(a) fmt.Println(*b) fmt.Println("condition 3 end============") }() // condition 2 defer fmt.Println("condition 2 end============") defer fm...阅读全文
Golang RSA2 签名-验签 const ( // 私钥 PEMBEGIN 开头 PEMBEGIN = "-----BEGIN RSA PRIVATE KEY-----\n" // 私钥 PEMEND 结尾 PEMEND = "\n-----END RSA PRIVATE KEY-----" // 公钥 PEMBEGIN 开头 PUBPEMBEGIN = "-----BEGIN PUBLIC KEY-----\n" // 公钥 PEMEND 结尾 PUBPEMEND = "\n-----E...阅读全文
翻译:Eolinker 来源:www.eolinker.com Facebook、GitHub、Google以及其他许多巨头都需要一种服务和消费数据的方式。在当今的开发环境中,RESTful API仍然是服务和消费数据的最佳选择之一。 但是你是否考虑过学习行业标准?设计RESTful API的最佳实践是什么?从理论上讲,任何人都可以在不到五分钟的时间内快速启动数据API——无论是Node.js,Golang还是Python。 我们将探讨在构建RESTful API时应考虑的13种最佳实践。 什么...阅读全文
说明 1、目的是练习golang基于gin+gorm的web开发涉及到的最基本的增删改查,所以关于数据库连接和对应配置从配置文件的读取没有详细说明 如果想了解配置文件解析和读取可以参考: Golang加载yaml类型配置文件问题 2、为了方便演示,所有的代码都在同一个文件todo.go中,没有做项目目录的划分,关于项目目录划分后续文章介绍 3、为了保证http handle 逻辑和 实际model的正删改查不混在一起,所以这里定义了 service和handler service 是 model...阅读全文
# xxl-job-executor的gin中间件 ## 背景 xxl-job-executor-go是xxl-job的golang执行器,可以独立运行,有时候我们要与项目或者框架(如:gin框架)集成起来合并为一个服务,本项目因此而生。 ## 执行器项目地址 https://github.com/xxl-job/xxl-job-executor-go ## 与gin集成示例 ```go package main import ( "github.com/gin-goni...阅读全文
基本介绍通道(chan)是goroutine之间传递特定值的通信机制。它属于通信顺序进程并发模式(Communicating sequential processes,CSP)。go语言中还有另一种并发模式,即共享内存多线程的传统模型。三种类型划分接下来讨论chan的不同类型,从三个角度去分析:缓冲/非缓冲(buffered/unbuffered)chan是一个有长度的容器,通过对长度的限定,可以定义不同类型的通道。对于声明长度的chan,称之为缓冲通道ch := make(chan int, ...阅读全文
上一篇文章分享了wasmer runtime,编译好的openssl.wasm文件可以独立运行,这篇文章分享openssl.wasm和原生openssl之间的性能对比。测试硬件主机 MacBook ProCPU 6-Core Intel Core i7 2.2 GHz/启动超线程内存 16GB磁盘 SSD测试软件Openssl LibreSSL 2.8.3Openssl WASM openssl安装包版本 openssl 1.1.1dWASMER 1.0.0-alpha4测试方法分别对 100/...阅读全文
## 基于beego的开源博客Go Blog [![GitHub stars](https://cdn.learnku.com/uploads/images/202012/23/43046/oWeOixY7NC.svg)](https://github.com/1920853199/go-blog/stargazers) [![GitHub forks](https://cdn.learnku.com/uploads/images/202012/23/43046/bFCQCay2PX.svg...阅读全文
从事服务端工作,已经有大几年了,从懵懂的小菜鸡,成长为可以自由飞翔的秃鹰,那些逝去青春和的头发见证了自己的成长 或许,这就是高手的应该有样子吧 头秃图 这里将会把类似的问题/业务场景的解决方案中,提炼出相对通用的部分,作为经验进行梳理罗列出来,共勉 幂等 业务场景: 用户多次点击按钮,或者因为设备的性能问题,连接的网络问题,点击按钮没反应,用户就会继续尝试点击,导致触发多次请求提交 解决方案: 客户端防重点击: 防重点击,只允许点击一次,通过记录按钮的状态值,控制按钮不可点击,等响应结果回来才能...阅读全文
原文链接:http://www.msedt.com/infoflow/details/1085更多面试资源尽在:面试一点通msedt.com对于刚接触容器的人来说,他们很容易被自己构建的 Docker 镜像体积吓到,我只需要一个几 MB 的可执行文件而已,为何镜像的体积会达到1 GB以上?本文将会介绍几个奇技淫巧来帮助你精简镜像,同时又不牺牲开发人员和运维人员的操作便利性。本系列文章将分为三个部分:第一部分着重介绍多阶段构建(multi-stage builds),因为这是镜像精简之路至关重要的...阅读全文
无法修改同一个make创建的map,只能修改不同make创建的map func Maptest() { var data_list []map[string]interface{} subdata := make(map[string]interface{}) //第一次make subdata["synctag"] = "" data_list=append(data_list,subdata) subdata = make(map[string]interface{}) //第二次make ...阅读全文
序 本文主要研究一下golang的zap的Sink Sink zap@v1.16.0/sink.go type Sink interface { zapcore.WriteSyncer io.Closer } type WriteSyncer interface { io.Writer Sync() error } type Writer interface { Write(p []byte) (n int, err error) } type Closer interface { Close(...阅读全文
[root@spray2:~]# kubectl logs -f client-go-in-cluster-demostandard_init_linux.go:211: exec user process caused "no such file or directory".非常简单的Dockerfile[root@omp-harbor:/data/Dockerfile/k8stest]# vim Dockerfile FROM alpine:3.12.3 COPY ./app /appCMD...阅读全文
参考链接: Python中的屏障对象Barrier Objects什么是垃圾回收 曾几何时,内存管理是程序员开发应用的一大难题。传统的系统级编程语言(主要指C/C++)中,程序员必须对内存小心的进行管理操作,控制内存的申请及释放。稍有不慎,就可能产生内存泄露问题,这种问题不易发现并且难以定位,一直成为困扰开发者的噩梦。如何解决这个头疼的问题呢?过去一般采用两种办法: 内存泄露检测工具。这种工具的原理一般是静态代码扫描,通过扫描程序检测可能出现内存泄露的代码段。然而检测工具难免有疏漏和不足,只能起...阅读全文
序本文主要研究一下golang的zap的SinkSinkzap@v1.16.0/sink.gotype Sink interface { zapcore.WriteSyncer io.Closer } type WriteSyncer interface { io.Writer Sync() error } type Writer interface { Write(p []byte) (n int, err error) } type Closer interface { Close() er...阅读全文
! https://zhuanlan.zhihu.com/p/338679138 ZStack 源码编译 更新 yum 源以及安装相关依赖: $ curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo $ yum clean all $ yum makecache $ yum install -y vim tmux wget curl maven ant mariadb-serv...阅读全文