golang
imwinlion
持续创业者,你必须懂的18个移动互联网模型作者,湘龙科技联合创始人
展开
-
golang微服务框架go-zero系列-3:扩展go-zero,使之支持html模板解析自动化
扩展go-zero,使之支持html模板解析自动化go-zero本身支持html模板解析,我们只需要添加url对应模板解hanlder,实现逻辑就可以了但是winlion太懒了,我甚至想不写任何一个和模板相关的handler如果有新的模板,直接把模板到某个特定目录就好,不要动任何go代码在开发环境下没有缓存,修改了模板文件无需重启需求在这里,开撸吧在代码开始前,你可能需要阅读金光灿灿的Gorm V2+适合创业的golang微服务框架go-zero实战如果对go-zero已经了解,直接跳原创 2020-09-03 23:11:11 · 1589 阅读 · 0 评论 -
golang微服务框架go-zero系列-2:在go-zero中使用jwt-token鉴权实践
阅读本文前你需要阅读金光灿灿的Gorm V2+适合创业的golang微服务框架go-zero实战创建项目生成go.mod文件以如下指令创建项目mkdir jwttokencd jwttokengo mod init jwttoken定义user.api本文设计API如下描述格式方法参数返回是否需要鉴权用户登录/open/authorizationpostmobile:手机号,passwd:密码,code:图片验证码id:用户ID,token:用户t原创 2020-09-03 12:02:57 · 2879 阅读 · 0 评论 -
golang微服务框架go-zero系列-1:适合创业的golang微服务框架go-zero + 金光灿灿的gorm V2实践
为什么使用go-zero可以有第三个选择golang圈子不大,微服务框架框架屈指可数:除了go-micro、go-kit,几乎没有其他选择。go-zero为此提供第三个可能。go-micro 对webapi支持并不友好,需要运行micro指令,难以定制创业产品需要一款支持业务成长的框架我们到底需要什么样的框架?我们需要一款可以支持业务成长的框架!产品运营初期,比如需求验证阶段,我们并不需要采取微服务架构,因为运营成本太高。一款单体应用足以应付。随着业务发展,微服务成为必要,此时我们希望不进行太原创 2020-09-02 15:38:10 · 6677 阅读 · 1 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.6 控制器参数校验
参数校验主要用于校验前端提交参数的合法性和合理性,当前有很多开源校验框架,事实上gin集成了go-playground/validator.vx 作为校验插件,当前最新版本是v9,详细文档见https://godoc.org/gopkg.in/go-playground/validator.v9go-playground/validator.vx 功能非常强大,不但内置了丰富的校验方法如email...原创 2018-02-19 10:39:57 · 2805 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.7 控制器数据响应
数据响应包含俩个方面的内容,一是数据格式的封装,一是数据响应类型.先说数据响格式封装,为了别于运维,一般我们需要将响应结果封装到函数里面,这样前端获取的数据结构统一。对于api来说,响应到前端的数据包含如下几个参数l code:用于指示数据请求状态,200表示成功l data:后端服务返回的基础数据,一般是对象l msg:后端调用返回的操作提示,如恭喜你操作成功或者失败则提示失败原因l rows:...原创 2018-02-19 10:42:25 · 1428 阅读 · 0 评论 -
go语言的困境
2017年我们公司需要快速迭代一款产品,当时,我们团队的后端框架是spring mvc ,该框架结构清晰,上手快,但是由于我们的产品迭代速度快,底层数据库操作接口变动频繁,导致service层工作量巨大,不胜其烦。另外,随着项目的成长,代码量越来越大,项目启动越来越慢,严重影响了开发调试速度。在这种情况下,我们希望寻找一种新的框架或编程语言,我们期望他具备调试简单,上手快,启动速度快,保密性高,以...原创 2018-02-19 17:58:45 · 19125 阅读 · 2 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解10 使用restgo搭建后台管理系统
1、首先上效果2、如何使用2.1、使用如下指令克隆cd $GOPATH/src git clone https://github.com/winlion/restgo-admin.git 你将得到restgo-admin 目录 进入目录 cd restgo-admin2.2、数据库新建数据库名称为restgo-admin,编码为utf-8将restgo-admin.sql导入到数据库中2.3、初始...原创 2018-03-04 08:13:01 · 2830 阅读 · 0 评论 -
java程序员10分钟可上手的golang框架golang实战使用gin+xorm搭建go语言web框架restgo
代码结构如下,是不是有点熟悉?1、首先上效果2、如何使用2.1、使用如下指令克隆cd $GOPATH/src git clone https://github.com/winlion/restgo-admin.git 你将得到restgo-admin 目录 进入目录 cd restgo-admin2.2、数据库新建数据库名称为restgo-admin,编码为utf-8将restgo-admin.s...原创 2018-03-04 08:19:33 · 2066 阅读 · 0 评论 -
手把手教你封装一款适用自己的golang web编程框架
MVC 应用一般结构目录结构说明如下名称 内容 model 模型层目录,类比Java 中的entity view 视图层,存放所有templete模板 ctrl 控制器层, 存放全部控制器 service 服务层,类比Java里面的service html 一些静态资源页面 util 核心工具包,Md5加密,返回数...原创 2019-05-24 11:48:40 · 1391 阅读 · 0 评论 -
golang+websocket实现实战扫小程序码登陆网站,提供源代码
使用扫小程序码登陆网站网络上关于实现本本功能的文章很多,但是给出案列的几乎没有,今天笔者实现用小程序码实现网站登陆,体验地址如下https://idea.techidea8.com/本文采用restgo 框架,相关信息请查阅https://gitbook.cn/m/mazi/activity/5c77c109a1fc3527823d995d思路关键流程建立场景scene...原创 2019-08-08 14:41:57 · 2325 阅读 · 1 评论 -
golang微服务框架go-micro 入门笔记2.3 micro工具之消息接收和发布
本章节阐述micro消息订阅和发布相关内容阅读本文前你可能需要进行如下知识储备golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境,golang微服务框架go-micro 入门笔记2.1 micro工具之micro apigolang微服务框架go-micro 入门笔记2.2 micro工具之micro webbroker代理微服务之间需要通过...原创 2019-08-30 01:25:38 · 570 阅读 · 0 评论 -
golang微服务框架go-micro 入门笔记2.3 micro工具之消息接收和发布
本章节阐述micro消息订阅和发布相关内容阅读本文前你可能需要进行如下知识储备golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境,golang微服务框架go-micro 入门笔记2.1 micro工具之micro apigolang微服务框架go-micro 入门笔记2.2 micro工具之micro webbroker代理微服务之间需要通过...原创 2019-09-01 09:59:39 · 866 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.9 控制器controller编程示例
该章节我们以用户管理这一需求为例,阐述如何进行控制器编程。首先我们分析用户管理需要的接口如下用户管理模块api描述编号请求格式接口描述请求数据响应数据1/user/query根据姓名、电话等注册时间等最后登陆时间、角色等搜索和统计用户 2/user/findOne根据用户编号获取基础信息 3/user/login根据用户名、密码等进行登录操作 4/user/register用户注册操作 5...原创 2018-02-19 10:45:00 · 1905 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解6.1 模型M和Orm
熟悉java中ssm框架的应该清楚,和数据库操作相关的有entity、dao、以及service层,entity将数据库表结构和java对象关联起来,而dao专门用来处理对数据库的基本操作,service层封装了具体的业务逻辑。他们结构清晰,作用明确。我们借鉴java框架,可以将entity、dao、service封装到一层,这一层,我们称之为模型层。另一方面,对于数据库处理方面,我们希望用一个对...原创 2018-02-19 10:55:55 · 8983 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解6.4 推荐编程方式
6.4 高级查询对于部分比较特殊的服务,比如根据关键字、创建时间等查询获取用户信息,我们需要设计便于维护的数据结构,我们建议将查询条件封装到一个结构体中,具体操作如下1、在model目录下定义用户信息查询条件结构体UserArg.gopackage modeltype UserArg struct { PageArg ttype string `form:"ttype" json:"tty...原创 2018-02-19 10:58:58 · 2842 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解1.2 我要做什么
个人觉得golang 是一款非常优秀的语言,但是非常遗憾,目前还不是我们团队的最优选择,为了弥补这份遗憾,我们需要做些什么。梳理一下,我要做的事情,主要有如下几点1、演示如何集成golang web框架。本书的目的不是在于集成一个golangweb 框架,而是在于演示如何集成一个golang框架,原因如下l golang框架已经很多。国外的如matini,revel,gin等,国内也有beego....原创 2018-02-19 10:00:44 · 7812 阅读 · 1 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解2 框架基本架构
2、框架基本结构一个典型的项目框架,文件夹目录如下,下面我们来逐一说明这些文件夹或文件的作用.2.1 控制器文件夹controller该目录主要存储控制器文件,特别地,我们做如下约定1、 文件名称首字母一律大写,后面必须添加Controller结尾,用做标识这是控制器文件,如UserCtrl,我们就能一目了然地看到这是一个控制器文件2、 我们约定控制器文件名必须和业务强相关,比如用户相关的控制器,...原创 2018-02-19 10:03:27 · 9279 阅读 · 1 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解3 系统常用配置参数
3.1 系统常用配置参数对于一个web应用,我们需要关注的参数很多,如下代码展示了常用的参数配置#应用运行模式,我们采用了gin框架,目前支持debug/release/test三种restgo.app.mode=debug#应用的名称,以后扩展,用做应用标识,便于分布式计算restgo.app.name=restgo演示#应用部署的访问协议,支持http/https两种restgo.app.pr...原创 2018-02-19 10:08:44 · 4504 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解4 路由配置
4.1 路由统一管理路由的本质是将用户请求的requesturi与后端实现的业务函数进行绑定,比如用户访问http://localhot/user/register , requesturi 为/user/register ,代表用户需要调用注册业务,后端需要提供一个函数,或者展示注册页面,或者提供注册账号服务。另外,随着系统的日益复杂,路由配置参数越来越多,如果不统一管理将会导致前短接口混乱,...原创 2018-02-19 10:17:26 · 3792 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5 控制器C
无论多么先进的框架,mvc思想都是值得借鉴的, mvc是模型(model)-视图(view)-控制器(controller)的缩写,他是一种软件设计典范,他用业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,这样做有巨大的好处,他在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。本章节重点阐述controller层.5.1 控制器定义控制器文件通常放在cont...原创 2018-02-19 10:20:35 · 4770 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.2 跳转和重定向
跳转重定向实现非常简单,我们调用gin框架内置的即可func (ctrl *PageController)Redirect(ctx *gin.Context){ ctx.Redirect(302,"/")} 本文源代码源代码获取地址 https://github.com/winlion/restgo待提供源代码清单10.1 restgo后台管理框架https://github.com/wi...原创 2018-02-19 10:22:46 · 2069 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.3 资源控制器
一般来说我们实现api服务器无需资源控制器,因为api一般只需要响应json/xml,但有部分应用比如cms,需要考虑到静态资源服务,这里我们需要使用资源控制器。资源控制器设计需要考虑几个方面l 资源需要实现缓存,这样可以加快系统访问速度。l 资源管理器需要支持灵活配置,因为很多资源服务是和nginx服务器反向代理相互整合的,需要考虑易整合性。l 资源管理需要统一规划。资源有静态的如css、js文...原创 2018-02-19 10:26:19 · 1811 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.5 控制器模型绑定
我们采用gin框架内置绑定操作进行模型绑定,常见方法分为俩类,一类是MustBind类,像Bind,BindJSON,BindQuery都是这一类,这一类绑定主要特征是一旦绑定失败则直接返回400错误;另一类绑定是ShouldBind类,像函数ShouldBind,ShouldBindJSON,ShouldBindQuery都是这一类,这一类绑定一旦失败,并不会立即响应400错误,而是将错误信息返...原创 2018-02-19 10:35:38 · 2814 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解5.4 控制器参数绑定
controller绑定参数常用如下方法1、 获取path中的参数// this one will match /user/john/ and also /user/john/send// If no other routers match /user/john, it will redirect to /user/john/router.GET("/user/:name/*action", fu...原创 2018-02-19 10:29:55 · 1615 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解9 session、日志、鉴权、验证码等
9.1 sessionSession模块可选择很多,我们集成了github.com/tommy351/gin-sessions,在main函数中,我们使用如下方法开启sessionstore := sessions.NewCookieStore([]byte(cfg.Session["name"]))router.Use(sessions.Middleware(cfg.Session["name"...原创 2018-02-19 11:05:44 · 5904 阅读 · 4 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解8 关于模板
8.1 模板基础语法模板基本语法不是本文的重点,本章节只阐述常用基本语法,其他语法请自行网络查阅相关知识。8.2 在模板中使用自定义函数我们需要将自动以函数统一管理起来,这个管理模块在restgo/Func.go中,该模块已经内置了ctxpath、version等常用方法,那么如果需要定制一个新的方法,该怎么做呢?以hello方法为例要使用自定义hello函数,首先需要在restgo/Func.g...原创 2018-02-19 11:03:03 · 2205 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解7 视图层V
当前web3.0时代,前后端分离已经成为主流。后端方面,restful风格api大行其道;在前端上,各种js框架如vue,reactjs,anglarjs百花齐放。但是golang的视图层却是由后端渲染的,这和java类似,正因为这个原因,golang适合做一些安全性要求较高的工作。本章节主要阐述golang框架视图相关的配置.7.1 视图配置视图主要有三个配置参数#视图存放路径restgo.vi...原创 2018-02-19 11:01:15 · 2025 阅读 · 0 评论 -
golang实战使用gin+xorm搭建go语言web框架restgo详解1.1 go语言的困境
2017年我们公司需要快速迭代一款产品,当时,我们团队的后端框架是spring mvc ,该框架结构清晰,上手快,但是由于我们的产品迭代速度快,底层数据库操作接口变动频繁,导致service层工作量巨大,不胜其烦。另外,随着项目的成长,代码量越来越大,项目启动越来越慢,严重影响了开发调试速度。在这种情况下,我们希望寻找一种新的框架或编程语言,我们期望他具备调试简单,上手快,启动速度快,保密性高,以...原创 2018-02-19 09:58:06 · 20521 阅读 · 8 评论