10 2021 档案

摘要:Gin 中使用 base64Captcha 生成图形验证 码以及分布式架构中配置 Captcha https://github.com/mojocn/base64Captcha captcha.mojotv.cn package models import ( "fmt" "github.com/m 阅读全文
posted @ 2021-10-29 13:26 成强 阅读(1309) 评论(0) 推荐(0) 编辑
摘要:Gin 大型企业级 MVC 架构详解 Gin 不是一个 MVC 的框架,所有的代码都可以写在 main.go 中。当我们的项目比较大的时候, 所有代码写在一个文件里面会带来很大问题,比如:没法实现多人协作开发,没法实现模块 化,没法实现代码共用等。为了使我们的项目更易于开发、维护、管理、升级,这个时 阅读全文
posted @ 2021-10-29 09:21 成强 阅读(1393) 评论(0) 推荐(1) 编辑
摘要:Gin 中使用 go-ini 加载.ini 配置文件 Github 地址:https://github.com/go-ini/ini 官方文档:https://ini.unknwon.io/ package main import ( "fmt" "os" "gopkg.in/ini.v1" ) f 阅读全文
posted @ 2021-10-29 09:07 成强 阅读(762) 评论(0) 推荐(1) 编辑
摘要:GORM 中使用事务 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全执行,要么全不执行 禁用默认事务 为了确保数据一致性,GORM 会在事务里执行写入操作(创建、更新、删除)。如果没有这方面的要求,您可以在初始化时禁用它,这将获得大约 30%+ 性能提升 DB, err = go 阅读全文
posted @ 2021-10-28 21:39 成强 阅读(1649) 评论(0) 推荐(1) 编辑
摘要:Gin GORM 多表联查 package admin import ( "15_gin_demo15/models" "github.com/gin-gonic/gin" "gorm.io/gorm" ) type StudentController struct { BaseController 阅读全文
posted @ 2021-10-28 21:01 成强 阅读(1387) 评论(0) 推荐(1) 编辑
摘要:![](https://img2020.cnblogs.com/blog/2111999/202110/2111999-20211028144851323-1208099152.png) 阅读全文
posted @ 2021-10-28 14:49 成强 阅读(962) 评论(0) 推荐(1) 编辑
摘要:Gin GORM 查询语句和原生SQL的使用 package admin import ( "gindemo15/models" "github.com/gin-gonic/gin" ) //测试的结构体 type NavJson struct { Id int `json:"id"` Title 阅读全文
posted @ 2021-10-28 10:06 成强 阅读(1175) 评论(0) 推荐(1) 编辑
摘要:Gin 中使用 GORM 操作 mysql 数据库 GORM 是 Golang 的一个 orm 框架。简单说,ORM 就是通过实例对象的语法,完成关系型 数据库的操作的技术,是"对象-关系映射"(Object/Relational Mapping) 的缩写。使用 ORM 框架可以让我们更方便的操作数 阅读全文
posted @ 2021-10-27 14:15 成强 阅读(1709) 评论(0) 推荐(1) 编辑
摘要:Mysql 锁 Mysql 中的锁有表级锁和行级锁,最常用的表级锁 1、添加读锁 ​ 可以并发读,但是不能并发写,读锁期间,没释放锁之前不能进行写操作。 使用场景:读取结果集的最新版本,同时防止其他事务产生更新该结果集 主要用在需要数据依存关系时确认某行记录是否存在,并确保没有人对这个记录进行 UP 阅读全文
posted @ 2021-10-27 11:14 成强 阅读(26) 评论(0) 推荐(1) 编辑
摘要:Mysql 事务 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不 执行。 例子:张三账户转账转出 100 元到李四的账户 1、张三账户减去 100 元 2、李四账户增加 100 元 UPDATE user set balance = balance-100 WH 阅读全文
posted @ 2021-10-27 11:07 成强 阅读(32) 评论(0) 推荐(1) 编辑
摘要:Mysql 索引 MySQL 索引的建立对于 MySQL 的高效运行是很重要的,索引可以大大提高 MySQL 的检索速度。 如果没有索引,执行查询时候必须从第一条记录开始,扫描整个表的记录,直到符合要求的记录。如 果有了索引,mysql 无需扫描任何记录即可顺序找到目标记录的位置。简单说来, 索引就 阅读全文
posted @ 2021-10-27 10:11 成强 阅读(30) 评论(0) 推荐(1) 编辑
摘要:Mysql 常用关联查询(内连接) 一对多 查找一个文章并显示每个文章的分类 内连接 select article.id as id,article.title as title,article_cate.title as cate from article INNER JOIN article_c 阅读全文
posted @ 2021-10-27 09:55 成强 阅读(599) 评论(0) 推荐(1) 编辑
摘要:基于 Redis 存储 Session 如果我们想将 session 数据保存到 redis 中,只要将 session 的存储引擎改成 redis 即可。 使用 redis 作为存储引擎的例子: 首先安装 redis 存储引擎的包 go get github.com/gin-contrib/ses 阅读全文
posted @ 2021-10-25 22:24 成强 阅读(1004) 评论(0) 推荐(1) 编辑
摘要:Gin 中的 Session session 是另一种记录客户状态的机制,不同的是 Cookie 保存在客户端浏览器中,而 session 保存在服务器上。 Session 的工作流程 当客户端浏览器第一次访问服务器并发送请求时,服务器端会创建一个 session 对象,生成 一个类似于 key,v 阅读全文
posted @ 2021-10-25 22:12 成强 阅读(176) 评论(0) 推荐(1) 编辑
摘要:Gin 中的 Cookie ● HTTP 是无状态协议。简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页 面,服务器无法认识到这是同一个浏览器在访问同一个网站。每一次的访问,都是没有任何 关系的。如果我们要实现多个页面之间共享数据的话我们就可以使用 Cookie 或者 Session 实 阅读全文
posted @ 2021-10-25 21:37 成强 阅读(317) 评论(0) 推荐(1) 编辑
摘要:func main() { r := gin.Default() //配置模板文件的路径,放在路由配置的前面:加载templates下的所有文件 r.LoadHTMLGlob("templates/**/*") r.GET("/user/add", func(c *gin.Context) { c. 阅读全文
posted @ 2021-10-25 20:45 成强 阅读(252) 评论(0) 推荐(1) 编辑
摘要:先写错误判断 if err != nil :return结束 阅读全文
posted @ 2021-10-25 08:59 成强 阅读(149) 评论(0) 推荐(1) 编辑
摘要:定义模板 需要在上传文件的 form 表单上面需要加入 enctype="multipart/form-data" 单文件上传 r.POST("/admin/user/doUpload", func(c *gin.Context) { username := c.PostForm("username 阅读全文
posted @ 2021-10-21 16:54 成强 阅读(191) 评论(0) 推荐(1) 编辑
摘要:Gin 中自定义 Model 如果我们的应用非常简单的话,我们可以在 Controller 里面处理常见的业务逻辑。但是如果 我们有一个功能想在多个控制器、或者多个模板里面复用的话,那么我们就可以把公共的功 能单独抽取出来作为一个模块(Model)。 Model 是逐步抽象的过程,一般我们会在 Mo 阅读全文
posted @ 2021-10-21 14:02 成强 阅读(433) 评论(0) 推荐(1) 编辑
摘要:MVC架构 M:公共的方法 model V:模板 templates c:控制器 controller 阅读全文
posted @ 2021-10-21 13:54 成强 阅读(605) 评论(0) 推荐(1) 编辑
摘要:Gin 中间件 Gin 框架允许开发者在处理请求的过程中,加入用户自己的钩子(Hook)函数。这个钩子函 数就叫中间件,中间件适合处理一些公共的业务逻辑,比如登录认证、权限校验、数据分页、 记录日志、耗时统计等。 通俗的讲:中间件就是匹配路由前和匹配路由完成后执行的一系列操作 ctx.Next()调 阅读全文
posted @ 2021-10-21 13:35 成强 阅读(928) 评论(0) 推荐(1) 编辑
摘要:controllers 控制器 -admin -userController.go //实现方法的继承 type UserController struct{ } //(con UserController):表示把当前的函数挂载到结构体中,实现子结构体可以访问到父类中 //UserIndex:提供 阅读全文
posted @ 2021-10-21 11:18 成强 阅读(261) 评论(0) 推荐(0) 编辑
摘要://AdminRouters:首字母大写,共有的,可以被其他调用 func AdminRouters() { } 阅读全文
posted @ 2021-10-20 15:38 成强 阅读(326) 评论(0) 推荐(0) 编辑
摘要:存储内容大小一般支持5M B左右(不同浏览器可能还不一样) 浏览器端通过 Window.sessionStorage 和 Window.localStorage 属性来实现本地存储机制。 相关API: 1.xxxxxStorage.setItem('key', 'value'); 该方法接受一个键和 阅读全文
posted @ 2021-10-20 09:43 成强 阅读(65) 评论(0) 推荐(0) 编辑
摘要:GET POST 以及获取 Get Post 传值 package main import ( "encoding/xml" "fmt" "github.com/gin-gonic/gin" "html/template" "net/http" "time" ) type userInfo stru 阅读全文
posted @ 2021-10-19 22:51 成强 阅读(146) 评论(0) 推荐(0) 编辑
摘要:使用了一段时间postman和apipost之后,明显感受到,对于缓存的处理,postman做的更好,果断弃坑apipost,使用免费的postman,表示真香 阅读全文
posted @ 2021-10-19 21:53 成强 阅读(140) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/lk2684753/article/details/99680892 阅读全文
posted @ 2021-10-19 11:54 成强 阅读(57) 评论(0) 推荐(0) 编辑
摘要:所谓热加载就是当我们对代码进行修改时,程序能够自动重新加载并执行,这在我们开发中 是非常便利的,可以快速进行代码测试,省去了每次手动重新编译 beego 中我们可以使用官方给我们提供的 bee 工具来热加载项目,但是 gin 中并没有官方提 供的热加载工具,这个时候我们要实现热加载就可以借助第三方的 阅读全文
posted @ 2021-10-18 14:26 成强 阅读(656) 评论(0) 推荐(0) 编辑
摘要:前后端分离的node: 博客开发(nest)API: https://www.bilibili.com/video/BV1eh411B7NL?from=search&seid=17585415330193203797&spm_id_from=333.337.0.0 express+vue前后端分离项 阅读全文
posted @ 2021-10-15 15:38 成强 阅读(55) 评论(1) 推荐(1) 编辑
摘要:1.设置用户名和密码 git config --global user.name "username" git config --global user.email useremail@qq.com --注意邮箱没有双引号 2.查看用户名和密码 git config user.name git co 阅读全文
posted @ 2021-10-15 08:49 成强 阅读(2538) 评论(0) 推荐(0) 编辑
摘要:1、具体步骤 配置npm 淘宝镜像: npm config set registry https://registry.npm.taobao.org 第一步(仅第一次执行):全局安装@vue/cli。 npm install -g @vue/cli 第二步:切换到你要创建项目的目录,然后使用命令创建 阅读全文
posted @ 2021-10-12 14:45 成强 阅读(54) 评论(0) 推荐(0) 编辑
摘要:1、非单文件组件: 一个文件中包含有n个组件。 基本使用: <!-- Vue中使用组件的三大步骤: 一、定义组件(创建组件) 二、注册组件 三、使用组件(写组件标签) 一、如何定义一个组件? 使用Vue.extend(options)创建,其中options和new Vue(options)时传入的 阅读全文
posted @ 2021-10-12 13:19 成强 阅读(430) 评论(0) 推荐(0) 编辑
摘要:1、mounted (this指向vm) Vue完成模板的解析并把初始的真实DOM元素放入页面后(挂载完毕)调用mounted 常用的生命周期钩子: ​ 1.mounted: 发送ajax请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】。 ​ 2.beforeDestroy: 清除定时器、 阅读全文
posted @ 2021-10-12 09:29 成强 阅读(112) 评论(0) 推荐(0) 编辑
摘要:我们学过的指令: ​ v-bind : 单向绑定解析表达式, 可简写为 :xxx ​ v-model : 双向数据绑定 ​ v-for : 遍历数组/对象/字符串 ​ v-on : 绑定事件监听, 可简写为@ ​ v-if : 条件渲染(动态控制节点是否存存在) ​ v-else : 条件渲染(动态 阅读全文
posted @ 2021-10-11 17:31 成强 阅读(709) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示