把一只旧博客慢慢烧成新的样子
这次给博客换样式,起点是一份叫作 Cerâmica Wabi-Sabi 的设计说明。里面没有现成页面,也没有可以直接套用的组件,只有一组很明确的约束。陶土色、石灰色、米白纸面、炭灰文字,边角要利落,阴影要轻,版面需要留出足够多的空处。页面还要带一点手工痕迹,像陶器表面的细纹,或者金缮留下的那条亮线。 原来的站点用 Hexo 和 Landscape 主题,文章…
阅读全文这次给博客换样式,起点是一份叫作 Cerâmica Wabi-Sabi 的设计说明。里面没有现成页面,也没有可以直接套用的组件,只有一组很明确的约束。陶土色、石灰色、米白纸面、炭灰文字,边角要利落,阴影要轻,版面需要留出足够多的空处。页面还要带一点手工痕迹,像陶器表面的细纹,或者金缮留下的那条亮线。 原来的站点用 Hexo 和 Landscape 主题,文章…
阅读全文文字器皿
前文分别介绍过了Resty和gin-jwt两个包,Resty是一个HTTP和REST客户端,gin-jwt是一个实现了JWT的Gin中间件。本文将使用这两个包来实现一个简单的用户登录功能。 环境准备实现登录功能之前要提前准备一个用于查询…
阅读微服务开发中服务间调用的主流方式有两种HTTP、RPC,HTTP相对来说比较简单。本文将使用 Resty 包来实现基于HTTP的微服务调用。 Resty简介是一个简单的HTTP和REST客户端工具包,简单是指使用上非常简单。Resty在…
阅读本文是对前几篇文章的一些补充,主要包含两部分:单元测试和实际项目中使用路由的小问题。 拾遗1:单元测试Golang单元测试要求代码文件以_test结尾,单元测试方法以Test开头,参数为*testing.T类型。以下是一个计算hash值…
阅读JSON Web Token(JWT)是一种很流行的跨域认证解决方案,JWT基于JSON可以在进行验证的同时附带身份信息,对于前后端分离项目很有帮助。 1eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJz…
阅读Golang天生适合运行在docker容器中,这得益于:Golang的静态编译,当在编译的时候关闭cgo的时候,可以完全不依赖系统环境。 一些基础测试容器时我们经常需要进入容器查看运行情况,以下命令启动一个centos容器并进入bash…
阅读作为后端开发者我们要记住一句话:“永远不要相信用户的输入”,这里所说的用户可能是人,也可能是另一个应用程序。“永远不要相信用户的输入”是安全编码的准则,也就是说,任何输入的内容在验证无害之前都是有害的。很多应用程序的安全漏洞都和用户输入…
阅读在前后端分离的项目维护一份完整且及时更新的api文档会极大的提高我们的工作效率,传统项目中接口文档都是由后端开发手写的,这种文档很难保证及时性,久而久之便失去了参考意义。swagger给我们提供了一种新的维护文档的方式,在gin中只需要…
阅读gin中间件(middleware)提供了类似于面向切面编程或路由拦截器的功能,可以在请求前和请求之后添加一些自定义逻辑。实际开发中有很多场景会用到中间件,例如:权限验证,缓存,错误处理,日志,事务等。 使用中间件gin的中间件分为三类…
阅读Go语言访问mysql数据库需要用到标准库database/sql和mysql的驱动。标准库的Api使用比较繁琐这里再引入另一个库github.com/jmoiron/sqlx。 12go get github.com/jmoiron/…
阅读