自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

枫枫知道的个人博客

全网都叫枫枫知道

  • 博客(89)
  • 收藏
  • 关注

原创 8.gorm基础新-配置

本门课程没有在一开始就讲一大堆gorm的配置那是因为尽可能实现约定大于配置如果按照gorm的约定来是编写代码,那么就可以省去很多配置项。

2024-10-11 10:21:15 177

原创 7.gorm新-自定义数据类型

json数据用的比较多// Scan 实现 sql.Scanner 接口,Scan 将 value 扫描至 Jsonbif!ok {return err// Value 实现 driver.Valuer 接口,Value 返回 json value注意:这里千万不要自作聪明,去改指针方法或者接受者方法,Scan是指针方法,Value是接受者方法插入数据ID int64Name: "枫枫",Age: 21,Addr: "湖南长沙",

2024-10-11 10:17:48 396

原创 6.gorm基础-多表关系(超重要)

就是用户与文章的多对多关系表结构ID int64ID int64重点是many2many:生成表的名称要和第三张表的名称要对上然后joinForeignKey对应的是本表的ID,例如用户表的joinForeignKey就是UserIDJoinReferences对应的是对方表的ID,用户表的JoinReferences就是ArticleID然后就是要添加SetupJoinTable,不然是不会走第三张表的创建钩子// 必须要加这个才会走第三张表的创建钩子然后创建,删除就和之前是一样的了。

2024-10-10 10:43:32 942

原创 5.gorm基础新-单表高级查询

还可以使用高阶函数的特点,实现带参数的scope。take、first、last只会查主键。那么就可以把这些可能被复用的方法抽离出来。很多时候,我们会经常使用重复的查询方法。注意where的顺序,再&函数的前面。可以新建一个字段比较少的结构体。分组之后,需要特定字段的数据。或者可以直接使用Pluck。使用Row来进行查询操作。使用Exec来操作数据。

2024-10-10 10:41:16 241

原创 4.gorm基础新-单表模型和单表操作

有很多方法,Save、Update、UpdateColumn、Updates。特别注意:Create函数接收的参数是结构体的指针或者是切片。设置为当前时间,而后的一般查询方法将无法查找到此条记录。通常情况下,我们会使用Model结尾表示它是表的结构体。时,GORM并不会从数据库中删除该记录,而是将该记录的。如果在插入的钩子函数中,返回错误,则数据不会被插入。生成表结构只会新增字段,不会删除字段和更新字段。中),那么该模型将会自动获得软删除的能力。在gorm中,使用结构体表示一张表。字段(该字段也被包含在。

2024-10-09 12:19:22 720

原创 3.gorm基础新-gorm引入

gorm的引入肯定是为了我们更好的操作数据库在使用原生sql查询的时候最大的问题就是没办法映射到结构体上我们不难发现,数据库里面的记录就很想一个结构体,数据库的一列对应一个字段所以数据库到结构体的映射就是orm的一个最大特点所有的orm都是如此使用一个类或者一个结构体表示一张表然后使用一个实例化对象表示一条记录字段表示列你品,你细品所以,知道这个关系之后,我们再来看看gorm的用法安装视频里面的版本是 v1.25.12。

2024-10-09 12:17:46 180

原创 2.gorm基础新-通过go去操作sql的增删改查

安装驱动。

2024-10-08 17:51:21 351

原创 1. gorm基础新——传统sql的增删改查

mysql里面的建库,建表,删库,删表添加记录,查询,删除记录,更新记录这些命令是一定要会的就算我们脱离orm这些,也能直接连上数据库进行操作。

2024-10-08 17:49:11 275

原创 使用docker部署项目核心心法

使用docker部署go项目有一个通用的范式那就是分阶段构建。

2024-10-02 12:54:39 896

原创 正则表达式零基础入门

正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。搜索模式可用于文本搜索和文本替换。各个编程语言中都支持正则表达式。

2024-10-02 12:51:58 637

原创 logrus go语言第三方日志库

如果我们想要在控制中显示颜色,一般的做法都是使用ANSI 控制码,用于设置文本颜色。\033 是控制码的开始,是八进制数字,[31m 表示将文本设置为红色。ANSI 控制码是用于在终端和控制台中控制文本格式和颜色的一种标准。它们通常用于在命令行界面 (CLI) 程序中输出彩色文本或者在文本模式下的图形界面 (GUI) 中输出文本。// 前景色fmt.Println("\033[30m 黑色 \033[0m")fmt.Println("\033[31m 红色 \033[0m")

2024-09-30 09:17:44 995

原创 ts基础-5.interface

name: "张三"

2024-09-29 09:37:17 197

原创 ts基础-4.数组类型

一般来说,数组里面的元素都应该是同类型的。

2024-09-29 09:36:24 188

原创 ts基础-3.联合类型与类型断言

就是认为将某一种不确定的类型断言为确定的类型。只是在编辑器层面进行的欺骗行为。

2024-09-29 09:35:36 207

原创 ts基础-2.基本类型

ts的类型,核心就是同一个类型只能给同一个类型赋值避免了不同类型之间赋值。

2024-09-29 09:34:33 252

原创 ts基础-1.ts介绍与安装

我们都知道,JavaScript是一门弱类型动态语言在开发大型项目的时候,虽然开发速度快,但是对于后期的维护,那简直是火葬场特别是有些逻辑,开发者自己写的,过了一个月自己都忘了这些变量都是写什么特别是前后端对接口的时候,这个接口响应什么数据,该传什么参数,只有开发的时候才知道了针对这些痛点,ts横空出世。

2024-09-29 09:33:37 187

原创 casbin访问控制框架

Casbin是一个强大的,高效的开源访问控制框架,其权限管理机制支持多种访问控制模型,各个编程语言都对casbin有支持目前我的所有项目,都是基于简单的角色管理来的分为了三类,未登录能访问的,普通用户能访问的,管理员能访问的后续做rbac系统,那就会把角色和访问控制结合起来,casbin就可以更好的帮助我去做这个事情网上关于casbin的文档其实还挺多的,但是他们的案例很多都不太适合,新手第一次看很容易看懵这个文档就结合实际的web中的访问控制来进行讲解。

2024-09-28 10:59:25 683

原创 es基础操作,看这篇就够了

本节课讲解es的基本操作ElasticSearch 简称es,开源的分布式的全文搜索引擎,可以近乎实时的存储检索数据。

2024-09-27 09:16:41 608

原创 supervisor好用的进程管理工具

supervisor是一款特别好用的进程管理工具。

2024-09-26 10:51:35 677

原创 redis入门指南 万字超全解析

Redis是一种流行的内存键值数据库,被广泛用于构建高性能的缓存和消息队列应用如果你的网站访问很卡顿,那么接入redis缓存热点数据,将会使你的网站访问体验得到质的飞跃redis的体系很庞大,本课程就简单的带着大家入个门。

2024-09-26 10:48:22 1442

原创 git零基础-5.远程仓库

在实际的工作中,我们需要一个可靠的、安全的、高速的Git服务器非常重要。那么,这个Git服务器我们可以自己搭建,也可以使用别人搭建好的仓库托管服务,以下是常见的几个代码托管服务平台。最常用的代码托管平台就是github了建议大家都去注册一个账号本课程练习使用gitee,可以简单了解为github的国内版,是国内最大的代码托管平台,又称码云还有一个就是gitlab,一般是企业内部的代码库。

2024-09-26 10:42:55 161

原创 git零基础-4.分支

HEAD指的是当前所在的分支,下面的是合并过来的分支。两个人改了同一个文件的同一行代码。develop(开发)分支。feature(特性)分支。hotfix(bug)分支。在合并的时候就会发生冲突。master(生产)分支。

2024-09-26 10:42:20 104

原创 git零基础-3.git忽略文件

gitignore.idea前端常用gitignorego常用python常用。

2024-09-26 10:41:39 174

原创 git零基础-2.git三大区域

工作区,暂存区,本地版本库工作区 → 暂存区 git add暂存区 → 本地库 git commit查看状态git status。

2024-09-26 10:41:02 130

原创 git零基础-1.为什么要版本控制

于是Torvalds,就是那个发明linux的老哥,因为不满那个时代的版本控制工具,例如CVS,SYN,所以就自己花了10天发明了git,一个月之内,linux的源码就由git来管理了。并且,它不应该只有记录的功能,而是能够记录每次提交,此时的文件与之前文件的差异,将这些差异存储起来。如果这个时候你比较年轻,你可能会在原文件的基础上进行修改,然后发给领导,领导又说要改,然后你再改。然后发给领导,领导说,这个方案大体上已经没问题了,你再改一改其中的一些地方,再发给我就好了。这个时候,git闪亮登场。

2024-09-26 10:40:30 311

原创 linux基础-11.网络相关

如果ping ip半天出不来数据 那就是主机不在线,看看是不是没开机,或者网卡掉了。这个一般是在目标主机上使用的,一个端口没开,先看看这个主机上是不是开了这个端口。不仅是用于web的端口检测,22,3306,6379这些端口同样可以检测。如果是ping域名没反应,可能是域名写错了,也可能是dns的问题。以上的修改都不会立即生效,需要ctrl+d退出,重新登陆一下。大家细心观察就能发现,端口开了和没开响应是不一样的。再高级一点的就是使用网络抓包工具,抓流量数据去看。使用ping可以很直观的发现目标是否可达。

2024-09-25 14:11:55 177

原创 linux基础-10.软件安装和环境变量

YUM是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。当用户登录时以及每次打开新的Shell时该文件都将被读取,不推荐在里面配置用户专用的环境变量,因为每开一个Shell,该文件都会被读取一次,效率肯定受影响。在用户的主目录,有几个特别的文件,用ls是看不见的,用ls .bash_*可以看见。系统环境变量对全部的用户生效,设置系统环境变量有三种方法。

2024-09-25 14:11:09 779

原创 linux基础-9.重定向、管道

grep是一个可以利用”正则表达式”进行”全局搜索”的工具,grep会在文本文件中按照指定的正则进行全局搜索,并将搜索出的行打印出来。连续使用管道意味着第一个命令的输 出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。比如: 搜索/etc目录下的所有".conf"结尾的文件信息,然后以详细列表形式显示。注:以上只能将标准输出重定向到文件中,标准出错是不能通过此方式输出到文件。选项即可只统计符合条件的总行数,而不会打印出行。管道符左边命令的输出就会作为管道符右边命令的输入。

2024-09-25 14:10:12 413

原创 linux基础-8.打包和压缩

归档,也称为打包,指的是一个文件或目录的集合,而这个集合被存储在一个文件中。归档文件没有经过压缩,因此,它占用的空间是其中所有文件和目录的总和压缩是指利用算法将文件进行处理,已达到保留最大文件信息,而让文件体积变小的目的。其基本原理为,通过查找文件内的重复字节,建立一个相同字节的词典文件,并用一个代码表示。

2024-09-25 14:08:40 259

原创 linux基础-7.用户与用户组管理

Linux基于用户身份对资源访问进行控制。

2024-09-25 14:08:04 353

原创 linux基础-6.进程管理

在Linux中,进程(Process)是指正在运行的程序实例。一个进程可以看做是系统中的一个任务,它可以执行各种操作,例如打开文件、发送网络请求、计算数据等。每个进程都有自己独立的内存空间和资源使用情况每个进程都有一个唯一的进程ID( PID ),它是一个非负整数,用于标识进程。除了PID外,每个进程还有其他属性,如父进程ID、进程状态、进程优先级、内存使用情况等。Linux系统中有许多命令和工具可以用来管理和监视进程,例如ps、top、kill等其中,ps。

2024-09-25 14:07:08 936

原创 linux基础-5.vim

在Linux系统下经常使用编辑一些文本或者代码。

2024-09-25 14:06:19 329

原创 linux基础-4.磁盘和文件系统

在Linux中,一切皆文件,不仅普通的文件和目录,甚至是我们使用的那些命令都是由文件系统管理的。它的功能是为某一个文件在另外一个位置建立一个同步的链接。可以理解成Windows中的快捷方式。有个备份效果,删除源文件,硬链接的文件还能用。如果你链接的还是一个软连接,那实际还是软链接。极其重要,web开发中的路径同样适用。删除源文件,软链接就无法正常使用了。稍微记一下每个目录都是干什么的。多个文件名指向同一个物理文件。linux之环境变量。

2024-09-25 14:05:47 361

原创 linux基础-3.文件与目录

在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按 键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。字符前的数字表示第一个文件中的行数,字符后的内容表示第二个文件中的行数。第1列表示文件类型,其中d表示为目录,-表示为普通文件,l表示为软链接。有的时候,这个文件不是你创建的,你没有它的对应权限。

2024-09-24 15:18:39 681

原创 linux基础-2.linux初体验

"echo"是一个常用的Linux命令,可以用于向标准输出或文件写入一行或多行文本。通常用来输出一些提示信息或测试脚本的输出,也可以用于输出变量的值或执行命令的结果。du 的英文原义为 disk usage,含义为显示磁盘空间的使用情况,用于查看当前目录的总大小。history命令只会记录当前用户的命令历史,而不会记录其他用户执行的命令。目录下的文件和子目录,并以长格式显示其详细信息,其中ls是命令,另外,历史命令默认只会保存最近执行的1000条命令。不同的发行版,这个命令是不一样的,这个需要注意。

2024-09-24 15:18:02 1190

原创 linux基础-1.安装linux环境

通过虚拟化技术,在电脑内,虚拟出计算机硬件,并给虚拟的硬件安装操作系统,即可得到一台虚拟的电脑称之为虚拟机。

2024-09-24 15:17:14 615

原创 nginx入门就看这篇文章 万字整理

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器Nginx是一款轻量级的Web 服务器/反向代理服务器,处理高并发能力是十分强大的,并且支持热部署,启动简单,可以做到7*24不间断运行。

2024-09-24 10:54:49 1204

原创 mysql基础-10.视图

简单的说,视图就是封装了特定的查询语句。

2024-09-24 10:45:09 386

原创 mysql基础-9.索引

一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重。说起加速查询,就不得不提到索引了。

2024-09-24 10:44:08 409

原创 mysql基础-8.连表查询和子查询

第五种情况,右连接,通过学生连班级,以班级表为基表,班级信息是完整显示出来了,但是班级3对应的学生信息是null。第六种情况,右连接,通过班级连学生,以学生表为基表,学生信息完整显示出来了,但是学生2对应的班级信息是null。第三种情况,左连接,通过学生连班级,学生信息是完整显示出来了,学生2对应的班级信息全是null。第四种情况,左连接,通过班级连学生,班级信息完整显示出来了,但是班级3对应的学生信息是null。第一种情况,内连接,通过学生连班级,就只有1 3 4的学生和班级记录。

2024-09-24 10:42:56 1052

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除