Err

Kratos 读源码笔记一(配置加载)

从入口文件看配置(初始化/加载/绑定/热加载) main.go //main.go 初始化配置 c := config.New( config.WithSource( file.NewSource(flagconf), //文件配置源 //也可以自己实现远程配置中心数据源 ), ) //加载配置数据 if err := c.L...

golang学习之rpc实例

rpc(远程过程调用),可以像调用本地程序一样调用远端服务,rpc分为http方式和tcp连接方式,使用http的rpc调用如下: 首先是server端: // rpc_server project main.go package main import ( "fmt" "net" "net/http" "n...

使用bcrypt对数据加密

使用bcrypt对数据加密 ​ 这是一篇随笔,用于记录在项目中用到一个比较的你npm包。这个包之所以这个货因为他的安全系数比以前用到的类似于md5,sha1要高,因为bcrypt加密,同样一个值,你每次加密出来的值是不一样的。原来的md5加密就做不到这一点。好了废话不多说,如果对bcrypt的算法感兴趣的话,大佬们可以去研究一下。下面我们来讲讲他的使用方法...

使用 ejs 渲染数据库中的数据

const http = require('http'); const Router = require('./Router') const {MongoClient} = require('mongodb') const ejs = require('ejs') const queryString = require('querystring') co...

grpc-gateway--支持grpc和restful

The grpc-gateway is a plugin of the Google protocol buffers compiler protoc. It reads protobuf service definitions and generates a reverse-proxy server which 'translates a RESTful...

使用Golang 封装一个Api 框架 ----- 数据库操作篇(gorm引入)

前言: 一个框架中没有数据库操作是万万不能的,本框架暂时先引入gorm,后续如果gorm使用不顺手的话,就需要考虑基于Golang数据库驱动自己造轮子了 引入gorm // 在 go.mod 中加入 require github.com/jinzhu/gorm v1.9.12 在引入gorm的时候可能会遇到crypto 这个资源被墙了,拉取不到,这时...

Golang之sqlite数据库

本文章介绍一下golang的sqlite 数据使用,废话少说直接上代码: package main import ( "database/sql" "fmt" "time" _"github.com/mattn/go-sqlite3" ) func main() { //打开数据库,如果不存在,则创建...

xinetd网络(2) 协议头解析

1:在/etc/xinetd.d下添加配置文件xhttpd 1 service xhttpd 2 { 3 socket_type = stream //每行“=”前后各最多只能有一个空格 4 protocol= tcp 5 wait = no 6 user =nobody 7 server =/home/username/xhttpd...

influxDB学习总结

1.安装    请参考http://www.cnblogs.com/zhja/p/5996191.html,    安装完毕运行influxd,http://域名:8083为控制台界面;http://域名:8086为api地址;运行influx进入命令行模式。 2.go操作influxdb   1)利用influxdb的client,github地址:gi...

Golang学习--平滑重启

在上一篇博客介绍TOML配置的时候,讲到了通过信号通知重载配置。我们在这一篇中介绍下如何的平滑重启server。 与重载配置相同的是我们也需要通过信号来通知server重启,但关键在于平滑重启,如果只是简单的重启,只需要kill掉,然后再拉起即可。平滑重启意味着server升级的时候可以不用停止业务。 我们先来看下Github上有没有相应的库解决这个问题,...