自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

瓜是西瓜的瓜的博客

眼里冲出的欲望。

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

原创 GORM——查询

GORM 提供了 First、Take、Last 方法,以便从数据库中。当查询数据库时它添加了 LIMIT 1 条件,且没有找到记录时,它会返回错误。First 和 Last 方法会按主键排序找到第一条记录和最后一条记录 (分别)。只有在目标 struct 是或者通过 db.Model() 指定 model 时,该方法才有效。此外,如果相关 model 没有定义主键,那么将。

2025-02-13 09:00:00 485

原创 CRUD指南及GORM高级查询相关用法

CRUD通常指数据库的增删改查操作,本文详细介绍了如何使用GORM实现创建、查询、更新和删除操作。

2025-02-11 09:00:00 578

原创 Unscoped() 控制GORM的软删除机制

Unscoped 是一个用于绕过或操作软删除(Soft Delete)机制的方法。GORM 默认支持软删除,当你的模型包含 DeletedAt 字段时,调用 Delete 方法会触发软删除(更新 DeletedAt 字段而非真正删除数据)。Unscoped 允许你绕过这一行为,直接操作被软删除的数据或忽略软删除逻辑。

2025-02-10 09:00:00 342

原创 GORM中 .Save()和.Create()的区别

Create: 用于插入新记录,如果主键已存在则抛出错误。.Save: 用于插入新记录或更新现有记录的所有字段。

2025-02-06 09:41:07 278

原创 Bash脚本实现Linux开机自启Redis,Nginx,MySQL等服务

/etc/rc.d/rc.local 文件会在 Linux 系统各项服务都启动完毕之后再被运行。所以你想要自己的脚本在开机后被运行的话,可以将自己脚本路径加到该文件里。

2023-11-07 09:00:00 559

原创 华为云服务器前后端分离项目打包上传及nginx配置

nginx直接启动服务它是不会默认挂载到你的页面的,因此,需要修改配置文件来达到该目的。而> hr.log 的意思是将command的输出重定向到hr.log文件,即输出内容不打印到屏幕上,而是输出到hr.log文件中。需要注意的是application.properties下数据库密码和名字对错,要从本地的数据库替换为线上服务器的数据库信息。使用xtfp将jar包上传到要上传的目标文件夹,我是在 /home 目录下新建了一个coding目录去存放,你也可以像我一样。

2023-08-29 09:00:00 1187

原创 华为云服务器以编译方式安装mysql(附带常见报错解决方案)

如果要长期使用的话执行:echo "source /opt/rh/devtoolset-7/enable" >>/etc/profilegcc版本9 执行:echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile。用fdisk命令(例:# fdisk /dev/sdb)对磁盘进行分区,添加swap分区,新建分区,在fdisk中用“t”命令将新添的分区id改为82(Linux swap类型),最后用w将操作实际写入硬盘(没用w之前的操作是无效的)。

2023-08-28 09:00:00 1470

原创 华为云服务器如何安装多个数据库

将修改之后的文件复制到 /etc/init.d/ 目录,再将复制过去的文件重命名为mysql80:(若先前未将5.7版本的文件修改为mysql57,建议先重命名再复制,或者先将5.7的sql.server文件重命名再复制8.0版本的文件)cp /usr/local/mysql80/support-files/mysql.server /etc/init.d/mv /etc/init.d/mysql.server /etc/init.d/mysql80

2023-08-25 10:15:54 323

原创 解决华为云ping不通的问题

产生这一问题的原因是ping的协议基于ICMP协议工作的,而我们一般放开的都是使用TCP/IP协议的端口,因此基于ICMP协议的ping请求则无法到达。依次选择:云服务器->点击服务器id->安全组->更改安全组->添加入方向规则,添加一个安全组规则(ICMP),详见下图。再次ping公网ip就可以ping通了。

2023-08-25 09:29:19 3788

原创 华为云服务器部署mysql

本机是64位,直接用命令安装msyql官网: https://dev.mysql.com/downloads/mysql/去网站看下所需的版本,修改下列命令wget。

2023-08-24 09:00:00 850

原创 华为云部署JDK环境

在下载jdk之前要先确定自己的内核是什么版本,因为我选的云服务器是CentOS7,所以一定是Linux_86_64版本。若不确定可以在命令行中输入“uname -a”来查看系统内核。

2023-08-23 09:00:00 859 2

原创 华为云服务器设置监控及远程连接

购买完云服务器后,进入自己所购类别的服务器的管理页面。会发现自己所购买服务器上有一个橙色感叹号。鼠标移动上去就会发现,是因为Linux不支持自动监控所导致的。因此需要我们手动去安装监控插件,点击“前往安装”超链接。点击超链接后会自动进入服务器监控页面,同时在这里也会有更多关于监控插件的安装提示。选中购买的服务器,可以看到插件状态仍为“未安装”点击“未安装”超链接,会自动弹出安装操作提示这里要注意的是“②安装插件”步骤中所提示的“安装Agent前请确保正确”也就是说我们要提前配置服务器的DNS。

2023-08-22 08:53:49 1180

原创 银河麒麟安装solr及配置文件修改

将从官网下载的solr.tar.gz解压到目标文件夹解压命令:tar -zxvf solr-xxx.tar.gz。

2023-07-29 09:00:00 1015

原创 【一天三道算法题】代码随想录——Day15(困难题只有一道)

这道题我认为最难的是编程语言本身并没有一个可以让你完全直接开始使用的一个数据结构,也就是说要自己造轮子。并且为了尽可能的减少维护元素的个数我们要学会去在能实现功能的前提下,维护尽可能少的数组元素。但是,Java为什么是神?我们可以利用Java中的双端队列来实现这一点!这会让我们的操作减少很多,减少了我们做题的负担。人生中第一道困难题,确实有难度,需要反复理解。今天只有一道题,我要把它吃透。一. 滑动窗口最大值。

2023-07-28 22:00:01 314

原创 【一天三道算法题】代码随想录——Day14

思路:还是扫描,跟上一道题中扫描括号的方法类似,只是从扫描括号变成了扫描单个字符。2. 左右侧一样多,该字符串属于有小括号字符串。思路:遇到数字则入栈;遇到运算符则取出栈顶两个数字进行计算,并将结果压入栈中。那么说白了就是要比较左右括号的数量,谁多,谁少,还是相等。扫到第一个就加进去,再扫到就删除,然后将元素逆序输出即可。1. 左侧括号多,右侧少。3. 右侧括号多,左侧少。这里录哥的gif非常好懂,几乎是看一眼就明白了,推荐!二. 删除字符串中的所有相邻重复项。

2023-07-28 18:34:56 245

原创 银河麒麟安装Redis 步骤及“zmalloc.h:50:10: fatal error: jemalloc/jemalloc.h:没有那个文件或目录” 解决方案

建议使用 root 用户进行安装,避免权限不足导致命令无法执行的问题。安装完成,使用命令“redis-server”启动redis服务。将所下载的压缩包移动到 /usr/local 目录下。将命令修改为“make MALLOC=libc”编译完成后使用命令“make install”进入该文件夹,使用“make”编译安装。新建一个 redis 文件夹。将压缩包解压到该文件夹内。输入命令“ wget。”下载redis安装包。

2023-07-28 09:00:00 795

原创 (银河麒麟)使用本地Navicat远程连接MySQL

到任务栏右下角的网络连接中查看麒麟的网络IP地址(右键-“设置网络项”)点击连接后的“ i ”图标,查看ip地址。

2023-07-27 09:00:00 5239 1

原创 【一天三道算法题】代码随想录——Day13

思路:模拟题,不涉及到具体算法,考察的就是对栈和队列的掌握程度。思路:一个作为副队列,帮助实现功能,一个作为主队列,承载功能。比三数之和就是多了一层循环。

2023-07-26 20:37:40 134

原创 银河麒麟安装nginx及配置(附常见问题解析)

去官网下载所需安装包解压进入nginx目录下,输入命令此处可能报错原因为未下载gcc编译器输入以下命令解决输入后再次 “./configure”输入“make”开始编译编译完毕后输入“make install”安装部件安装完成后打开浏览器,测试是否能够进入nginx欢迎页面。

2023-07-26 09:00:00 5553

原创 银河麒麟安装kkFileView

在/bin目录下运行“./startup.sh”开启kkFile-View服务。使用root用户进入bin路径下,执行命令“./install”安装需要超级管理员权限(也就是 root)因此需要使用root权限运行该命令。解决方案 - 将java的bin配置软连接映射到/usr/bin目录下。两次输入root用户的密码后,成功。这是因为脚本执行命令的时候会默认区/usr/bin里面去找java。在系统桌面右键打开终端,输入“su”再次输入“su”,进入root用户。输入密码后,就能进入root用户。

2023-07-25 09:00:00 1550 1

原创 银河麒麟创建共享文件夹

(windows下)win+R,输入“cmd”,打开cmd后输入“ipconfig”查看本机IP与VMWare的IP,除最后一位外是否完全一致,一致则证明在同一个局域网下,不一致则证明不在同一个局域网内。6. 回到Windows,使用快捷键“win + R”打开“运行”窗口,输入 gpeit.msc 启动本地组策略编辑器。11. 按正常的访问共享的方式访问一下,“win + R”打开“运行”窗口。“win+R”打开“运行”窗口,输入“control”打开控制面板。点击连接后的“ i ”图标,查看ip地址。

2023-07-25 08:45:00 13124

原创 【一天三道算法题】代码随想录——Day12(含面试题)

思路:第二次看到噜——二刷,还是原思路,双指针 保持在焦点之前,俩指针同步进行遍历。思路:都是二刷啊,好爽!确实感觉到自己的进步了,加油加油!思路:也是二刷啦,双指针真是永远的神吧!一. 链表相交(面试题)二. 环形链表 II。

2023-07-24 23:55:12 112

原创 统信UOS安装kkFileView

到官网直接下载.deb文件下载.deb包后,打开终端,在你的 home 目录进入 Downloads 文件夹。默认情况下,下载的文件保存在那里。然后运行下面的命令来提取下载文件中的.tar.gz文件。解压.tar.gz文件后,你会在 Downloads 文件夹下看到一个新的 LibreOffice Deb 文件夹。

2023-07-24 08:45:00 631 1

原创 统信UOS安装nginx及其所需部件

usr/local 为Linux默认软件安装路径,类似于C:\Program Files。因此在local路径下新建nginx文件夹安装nginx。

2023-07-23 08:45:00 3048

原创 【一天三道算法题】代码随想录——Day11

为什么要保存一下这个节点呢,因为接下来要改变 cur->next 的指向了,将cur->next 指向pre ,此时已经反转了第一个节点了。题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/description/题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/description/牛客上101的老熟人啦,首先定义一个cur指针模拟头结点,再定义一个pre指针指向null,模拟尾结点。

2023-07-22 23:42:52 114

原创 将Windows的文件打包为Linux、Ubuntu可打开的格式

所以需要做第二步,再在这个tar文件上面点右键,选“7-ZIP”->“添加到压缩档案”,这时候弹出的窗口里再看“压缩格式选项”,发现多了两个刚才没有的,其中就包括“GZip”,这一步就是把tar文件继续压缩成GZip。b. 然后选“7-ZIP”->“添加到压缩包...”,在弹出来的窗口里有个“压缩格式”的选项,里面并没有tar.gz格式,没关系,里面有一个Tar格式,第一步就是要先压成tar格式。d. 选择“GZip”格式后确定,最后结果就是一个新的tar.gz格式的文件。设置共享文件夹具体操作。

2023-07-22 08:45:00 842

原创 【一天三道算法题】代码随想录——Day10

在遍历字符串的过程中,让 i += (2 * k),i 每次移动 2 * k 就可以,判断是否需要有反转的区间。从前向后填充是O(n^2)的算法了,因为每次添加元素都要将添加元素之后的所有元素向后移动。首先扩充数组到每个空格替换成"%20"之后的大小。i 指向新长度的末尾,j 指向旧长度的末尾。然后利用双指针法,从后向前替换空格。而高贵的Java人自有办法!因此,在for循环上一段一段的去处理字符串。而使用库函数就可以方便的跳过上述步骤。三. 翻转字符串里的单词。一. 反转字符串II。

2023-07-21 22:45:08 230

原创 统信UOS虚拟机设置共享文件夹

若不在一个局域网内则无法查找到UOS (windows下)win+R,输入“cmd”,打开cmd后输入“ipconfig”查看本机IP与VMWare的IP,除最后一位外是否完全一致,一致则证明在同一个局域网下,不一致则证明不在同一个局域网内。(随便放一个,让它不为空就行)6. 回到Windows,使用快捷键“win + R”打开“运行”窗口,输入 gpeit.msc 启动本地组策略编辑器。“win+R”打开“运行”窗口,输入“control”打开控制面板 选择“程序”-“启用或关闭Windows功能”

2023-07-21 08:45:00 5172 2

原创 【一天三道算法题】代码随想录——Day9

接下来便是移动 left 和 right,如果 arr[i] + arr[left] + arr[right] > 0,证明三数之和此时过大了。若 arr[i] + arr[left] + arr[right] < 0,证明三数之和此时过小了。从数组中找到 a b c,使得 a + b + c = 0,此处,a == arr[i],b == arr[left],c == arr[right]。思路:这道题思路同三数之和的思路是一样的,都是用双指针,其实相当于是在三数之和的基础上再外套一层for循环。

2023-07-20 23:41:00 58

原创 统信UOS安装MySQL出现ERROR 1698无法登陆的终极解决方案

my.cnf配置文件的位置,一般在/etc/my.cnf,有些版本在/etc/mysql/my.cnf。alter user 'root'@'localhost' identified by '密码';命令:select user,plugin from user;11. 重启mysql服务,就可以使用刚刚设置的密码登录了。作用是登录mysql的时候跳过密码验证。

2023-07-20 08:30:00 650

原创 【一天三道算法题】代码随想录——Day8

因此在相遇之后,在相遇位置出发一个节点,在头结点出发一个节点,同时移动,每次移动一个位置,返回相遇节点即可。快指针一次移动两个位置,慢指针一次移动一个位置,那么它们相对位置一次只变化一个位置,因此必然会相遇。思路:双指针法,快指针一次移动两个位置,慢指针一次移动一个位置,两指针必定在环内相交。思路:数组就是简单的哈希表,因此可以通过新建一个长度为26的数组来存储值。思路:和上一题几乎完全一样,只是最后的判断条件出了问题。因此,若两个指针在移动途中相遇,证明该链表有环。二. 有效的字母异位词。

2023-07-19 22:48:33 129

原创 统信UOS安装MySQL

注意安装时建议使用root账号可以避免一些问题,安装完成后登录报错可以尝试使用root账号登录。打开终端后,一条命令搞定:sudo apt-get install mariadb-server。在下载的mysql文件目录中执行安装,一般会报错,反复执行直到不报错为止。第一次登录时无需输入密码,直接使用“mysql -u root”登录。在桌面鼠标右键,选择“在终端中打开”,进入终端。查看系统内核,根据内核不同选择不同的版本下载。命令:use mysql。通信安装分为两种方式,在能联网的条件下,推荐第一种。

2023-07-19 08:30:00 2881 4

原创 【一天三道算法题】代码随想录——Day7(含面试题)

假设俩链表交点的数值相等,那么我们求出两个链表的长度,并求出两个链表长度的差值,然后让curA移动到和curB 末尾对齐的位置,就可以比较curA和curB是否相同。如果不相同,同时向后移动curA和curB,如果遇到curA == curB,则找到交点。这道题录哥给的建议是使用虚拟头结点,这样总能保证头结点后和链表是连着的,不会出现头结点是一个孤零零的头结点,链表是链表的情况。而且使用虚拟头结点的话,头结点是固定的。双指针,先让快指针向前走n+1步,让快慢指针之间始终相差n个元素,直到遍历结束。

2023-07-18 23:12:34 81

原创 统信UOS安装JDK

系统会默认选中刚刚所下载的“20230712...car.key”文件,若没有默认选中,则手动选择到“下载”目录手动选中。右键“在终端中打开”,进入终端,输入“sudo chmod 777 /opt”点击“打开”按钮后,系统会要求输入系统管理员密码,输入安装系统时设置的密码即可。桌面双击“计算机”,到分区中选择“系统盘”,进入系统盘管理页面。双击“计算机”,利用左边栏到“下载”目录,选中jdk。在桌面鼠标右键,选择“在终端中打开”,进入终端。进入/opt目录下,在/opt目录下右键打开终端。

2023-07-18 08:30:00 9082

原创 VMWare安装统信UOS虚拟机

统信系统安装步骤就没啥好说的了,直接下一步 下一步。不会分区啥的就直接全盘安装。想自定义分区就手动安装。

2023-07-17 14:44:52 2376

原创 【一天三道算法题】代码随想录——Day6

要删除的值遇到就直接将前一个值的next指针指向下一个链表的data区域。思路:这个题其实就相当于是链表小题的一个集合,都是比较基础的操作。想必是为了更加加深对于链表这一数据结构的理解吧,没什么难度喔(按照坐标添加节点像送分题有一说一)链表的长度可以是不固定的,并且可以动态增删, 适合数据量不固定,频繁增删,较少查询的场景。数组在定义的时候,长度就是固定的,如果想改动数组的长度,就需要重新定义一个新的数组。这道题是力扣101的第一题,做过n遍啦,一遍过真的是很有满足感!到链表咯——冲冲冲!

2023-07-14 21:49:36 181

原创 【一天三道算法题】代码随想录——Day5

滑动窗口的思想也很简单,先使用 i,j将该数组完全包含起来,通过不断地改变 i j,来扩展和收缩滑动窗口,可以想象为一个滑动窗口在数组上游走,直到寻找到题目要求的“包含字符串T的所有元素”,记录下该长度 j-i+1,那么这些记录中的最小值就是要求的结果。不断增加i使滑动窗口缩小,因为是要求最小字串,所以将不必要的元素排除在外,使长度减小,直到碰到一个必须包含的元素,这个时候不能再扔了,再扔就不满足条件了,记录此时滑动窗口的长度,并保存最小值。因为刷的还是滑动窗口相关的题,所以这道题还是用滑动窗口去做。

2023-07-13 23:32:04 76

原创 【一天三道算法题】代码随想录——Day4

如果此时哈希表不满足要求(即哈希表中出现超过两个键值对),那么我们需要不断移动 left ,并将 fruits[left] 从哈希表中移除,直到哈希表满足为止。主要是看每一个元素被操作的次数,每个元素在滑动窗后进来操作一次,出去操作一次,每个元素都是被操作两次,所以时间复杂度是 2 × n ,忽略常数项,也就是O(n)。需要注意的是,将 fruits[left] 从哈希表中移除后,如果 fruits[left] 在哈希表中的出现次数减少为 0,需要将对应的键值对从哈希表中移除。那么数组平方的最大值就在。

2023-07-12 21:55:14 110

原创 【一天三道算法题】代码随想录刷题——Day3

也就是说在 k² = x的情况下,求出k。那就可以对k进行二分查找,进而不断地逼近k,最终求得。这个题其实是移除元素部分的题,确实,我也是才发现前两天没有把两个知识点附近的题也做完,现在进行一个补足。确实非常精妙,将数字从0~x作为数组,进而算出mid,求其算术平方根,学到了。双指针,其实比起算法的思路,更像是对于编程基础的考察。只需要根据题目要求的不同稍微做一些配置上的修改。今天复习了一下第一天学的内容,还可以,记住一道半。思路:没啥好说的,跟上一题完全同理,真就完全同理。二. 有效的完全平方数。

2023-07-11 22:10:06 291

原创 【一天三道算法题】代码随想录刷题——Day2

1.这道题可以用暴力解法去做,两个for循环,外层负责从数组中删元素,内层负责将后面的元素移动到删除后的位置。- 快指针负责寻找新数组的元素 (新数组就是不含有目标元素的数组)- 慢指针负责更新数组,最终指向的也就是新数组末尾的下标。3.当然,快慢指针并不是它的最优解法,快慢指针只是在题目要求。因此,可以通过改变元素的相对位置,进而确保移动最少元素。的情况下的最优解,而题目说明了“元素的顺序可以改变。思路:还是使用快慢指针,快指针所指不为0就交换。”,因此使用快慢指针,而不能使用相向双指针。

2023-07-10 22:22:28 220

空空如也

空空如也

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

TA关注的人

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