摘要:前言 依赖注入的好处和特点这里不讲述了,本篇文章主要介绍gin框架如何实现依赖注入,将项目解耦。 项目结构 ├── cmd 程序入口 ├── common 通用模块代码 ├── config 配置文件 ├── controller API控制器 ├── docs 数据库文件 ├── models 数 阅读全文
posted @ 2019-11-06 14:52 烟花易冷人憔悴 阅读 (171) 评论 (0) 编辑
摘要:前言 随着Go 1.13发布,GOPROXY默认值 在中国大陆不能被访问。 七牛云顺势推出 ,以利于中国开发者更好使用Go Modules,它是非盈利性的项目,首先感谢七牛云。 使用教程 (1)升级到Go1.13 (2)运行 (3)运行 可以通过运行 查看(2)、(3)步骤是否设置成功 (4)在项目 阅读全文
posted @ 2019-10-22 11:12 烟花易冷人憔悴 阅读 (388) 评论 (0) 编辑
摘要:前言 Go协程一般使用channel(通道)通信从而协调/同步他们的工作。合理利用Go协程和channel能帮助我们大大提高程序的性能。本文将介绍一些使用channel的场景及技巧 场景一,使用channel返回运算结果 计算斐波那契数列,在学习递归时候这是个经典问题。现在我们不用递归实现,而是用c 阅读全文
posted @ 2019-09-25 20:29 烟花易冷人憔悴 阅读 (144) 评论 (0) 编辑
摘要:goroutine简介 golang语言作者Rob Pike说, “Goroutine是一个与其他goroutines 并发运行在同一地址空间的Go函数或方法。一个运行的程序由一个或更多个goroutine组成。它与线程、协程、进程等不同。它是一个goroutine“ 。 goroutine通过通道 阅读全文
posted @ 2019-09-12 19:28 烟花易冷人憔悴 阅读 (265) 评论 (0) 编辑
摘要:线程实现模型 线程实现模型主要分为: ,`内核级线程模型 两级线程模型`。他们的区别在于线程与内核线程之间的对应关系。 以下我们将分析这三种线程实现模型的特点: 用户级线程模型 (1)多对一关系 用户级线程模型为多对一关系。即,一个进程中的所有线程对应一个内核线程; (2)处理速度快、移植性强; 线 阅读全文
posted @ 2019-09-11 19:53 烟花易冷人憔悴 阅读 (179) 评论 (0) 编辑
摘要:前言 之前文章简单介绍了如何运行 "gin+vue的前后端分离开源项目" ,该项目是学习了 "Gin实践教程" 后结合vue element admin写的,该教程讲得很详细,适合入门Gin。本篇文章将介绍gin+vue的前后端分离开源项目中如何使用gin jwt对API进行权限验证。 安装gin 阅读全文
posted @ 2019-09-03 21:33 烟花易冷人憔悴 阅读 (924) 评论 (2) 编辑
摘要:该项目是gin+vue的前后端分离项目,使用gorm访问MySQL,其中vue前端是使用vue-element-admin框架简单实现的; go后台使用jwt,对API接口进行权限控制。此外,Web页面在token过期后的半个小时内,用户再次操作会自动刷新token; 项目很小,适合gin新手学习! 阅读全文
posted @ 2019-08-21 09:05 烟花易冷人憔悴 阅读 (2380) 评论 (2) 编辑
摘要:目前很多应用都存在网页端和客户端形式,例如常用的:钉钉、微信等。按传统的开发形式,需要为客户端开发一套界面。基于当前Web应用可以利用三大前端框架和UI框架快速开发出各种酷炫的界面,于是出现了客户端嵌浏览器的方式,它不仅可以重用Web应用,而且以客户端内嵌浏览器的形式,不用担心用户用IE浏览器打开你 阅读全文
posted @ 2019-07-23 19:09 烟花易冷人憔悴 阅读 (3172) 评论 (27) 编辑
摘要:上篇文章介绍了如何使用mybatis-generator生成实体类、Mapper接口代码,其中生成的Mapper接口代码是不带ByExample方法的。本篇文章将介绍如何使用mybatis-generator生成的ByExample方法动态扩展where字句。 一、Mapper接口生成ByExamp 阅读全文
posted @ 2019-07-18 10:04 烟花易冷人憔悴 阅读 (270) 评论 (0) 编辑
摘要:MyBatis是Java目前主流的ORM框架,在Spring Boot中使用MyBatis可以参考这篇文章:http://www.ityouknow.com/springboot/2016/11/06/spring-boot-mybatis.html 这篇文章来将介绍MyBatis Generato 阅读全文
posted @ 2019-07-04 21:31 烟花易冷人憔悴 阅读 (759) 评论 (0) 编辑
摘要:本篇文章将教你如何使用VS Code编写Spring Boot程序。你不需要用Eclipse,也不需要用IDEA。已经习惯了VS,其他的IDE…… 但不得不说VS Code很厉害,一用就喜欢。微软给VS Code提供了编写Java的插件,你可以在VS Code上愉快地写Java。 一、环境搭建 (1 阅读全文
posted @ 2019-06-26 19:50 烟花易冷人憔悴 阅读 (1644) 评论 (17) 编辑
摘要:前言 之前文章讲到如何使用Node.js+Express构建JavaScript客户端,实现前后端分离。本节将介绍如何使用Vue实现前后端分离,文中介绍Vue的知识比较基础,适合新手学习。 一、搭建Vue项目 前提条件:安装nodejs、webpack和vue-cli。这个网上很多教程,这里不多说。 阅读全文
posted @ 2019-03-22 11:10 烟花易冷人憔悴 阅读 (1438) 评论 (9) 编辑
摘要:前言 最近在忙一个高考项目,看着系统顺利完成了这次高考,终于可以松口气了。看到那些即将参加高考的学生,也想起当年高三的自己。 下面分享下RabbitMQ实战经验,希望对大家有所帮助: 一、生产消息 关于RabbitMQ的基础使用,这里不再介绍了,项目中使用的是Exchange中的topic模式。 先 阅读全文
posted @ 2019-03-20 09:05 烟花易冷人憔悴 阅读 (997) 评论 (4) 编辑
摘要:RabbitMQ流程简介(带Exchange) RabbitMQ使用一些机制来保证可靠性,如持久化、消费确认及发布确认等。 先看以下这个图: P为生产者,X为中转站(Exchange),红色部分为消息队列,C1、C2为消费者。 整个流程分成三部分:第一,生产者生产消息,发送到中转站;第二,中转站按定 阅读全文
posted @ 2019-01-28 14:56 烟花易冷人憔悴 阅读 (711) 评论 (1) 编辑
摘要:前言 上篇博文说到使用Visual Studio Tools for Docker帮助我们生成Dockerfile,现在我们讨论下生成的Dockerfile的优劣。 一、以往Dockerfile构建模式 (1)发布API项目 新建Web API项目,项目名称为API 在项目所在目录输入指令:dotn 阅读全文
posted @ 2019-01-04 17:41 烟花易冷人憔悴 阅读 (628) 评论 (3) 编辑
摘要:一、Docker简介 Docker是基于Linux容器技术(LXC),使用Go语言实现的开源项目,诞生于2013年,遵循Apache2.0协议。Docker自开源后,受到广泛的关注和讨论。 Docker在开发和运维中的优势: (1)更快的交付和部署。 使用Docker,开发人员可以使用镜像来快速构建 阅读全文
posted @ 2019-01-04 10:23 烟花易冷人憔悴 阅读 (283) 评论 (2) 编辑
摘要:上两节介绍完Hybrid模式在MVC下的使用,包括验证从数据获取的User和Claim对MVC的身份授权。本节将介绍Implicit模式在JavaScript应用程序中的使用,使用Node.js+Express构建JavaScript客户端,实现前后端分离。本节授权服务和资源服务器基于第四和第五节。 阅读全文
posted @ 2018-12-29 19:15 烟花易冷人憔悴 阅读 (1445) 评论 (0) 编辑
摘要:本节将在第四节基础上介绍如何实现IdentityServer4从数据库获取User进行验证,并对Claim进行权限设置。 一、新建Web API资源服务,命名为ResourceAPI (1)新建API项目,用来进行user的身份验证服务。 (2)配置端口为5001 安装Microsoft.Entit 阅读全文
posted @ 2018-12-27 08:56 烟花易冷人憔悴 阅读 (2059) 评论 (17) 编辑
摘要:上节以对话形式,大概说了几种客户端授权模式的原理,这节重点介绍Hybrid模式在MVC下的使用。且为实现IdentityServer4从数据库获取User进行验证,并对Claim进行权限设置打下基础(第五节介绍)。 本节内容比较多,且涉及一、二节的内容,如有不懂,可先熟悉一、二节知识。 一、新建授权 阅读全文
posted @ 2018-12-26 20:21 烟花易冷人憔悴 阅读 (1100) 评论 (4) 编辑
摘要:在学习其他应用场景前,需要了解几个客户端的授权模式。首先了解下本节使用的几个名词 Resource Owner:资源拥有者,文中称“user”; Client为第三方客户端; Authorization server为授权服务器; redirection URI:简单理解为取数据的地址; User 阅读全文
posted @ 2018-12-19 12:04 烟花易冷人憔悴 阅读 (836) 评论 (1) 编辑