自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术宅拯救世界

任何问题欢迎致信工作邮箱[email protected]

  • 博客(388)
  • 资源 (1)
  • 收藏
  • 关注

原创 重构整个博客

在完成此前此文会一直置顶🔝。

2022-09-15 22:43:27 209

原创 如何准备一份简历

很多同学的简历写的不是很好,我总结一下简历大概应该具备哪些信息:

2022-08-08 18:43:11 304

原创 前端和后端如何选择?

前端是很受重视的,而且绝对不止有页面样式开发,但是这种团队对前端要求是很高的,也是需要扣框架源码,node原理,如何设计组件啥的,不会只停留在按钮输入框搬运上。但是很多大厂的后台或者tob业务,招前端门槛会低很多,因为本来就不需要太强的前端能力,主要是协助后端排版页面,干三年可能和一年没区别,而且你会发现你的师兄都是后端,这种情况,晋升是很困难的。前端也好后端也好,在某些团队是各有侧重点的,比如做系统,后台,中台,只面向公司内部,其实对前端要求很低的,大部分都是后端在做。...

2022-08-07 19:33:24 953

原创 服务器控制面板简单介绍和服务器测试

华为云云耀云服务器L实例总体来说还是很不错的,价格便宜,并且自带宝塔面板可以很方不安的部署和迁移网站,备份数据库等等。因为华为云云耀云服务器L实例评是针对中小企业和个人开发者,所以可以试着与学校达成合作,给学生教育优惠来扩大知名度后续可以和更多部署面板,一键脚本达成合作,争取做到类似虚拟主机、saas平台的效果。

2023-10-18 23:59:56 150

原创 谷歌开源库 wire 阅读

通过调研,了解到 Golang 中常用的依赖注入工具主要有 Inject 、Dig 等。但是今天主要介绍的是 Go 团队开发的 Wire,一个编译期实现依赖注入的工具。wire是 Google 开源的一个依赖注入工具。它是一个代码生成器,并不是一个框架。我们只需要在一个特殊的go文件中告诉wire类型之间的依赖关系,它会自动帮我们生成代码,帮助我们创建指定类型的对象,并组装它的依赖。wire是随着go-cloud的示例 guestbook一起发布的,可以阅读guestbook看看它是怎么使用wire的。

2023-05-13 21:58:41 278 1

原创 经典库httprouter源码阅读

官方:https://github.com/julienschmidt/httprouter文档:https://godoc.org/github.com/julienschmidt/httprouter简单描述,httprouter是一个golang实现的路由组件。httprouter使用一个前缀树来维护映射的父子关系,通过前缀树快速路由。同时其里面的HttpRouter结构体实现了golang的net.http.server的Handler接口,可以作为httpHandle发布。

2023-05-09 00:24:06 191

原创 在线html转markdown好用

三、打开网址https://tool.lu/markdown/,点击HTML2MD,粘贴html代码,转换成Markdown。一、按f12,然后搜索关键字:article_content。二、然后右键选择copy outHTML。例如:CSDN转为Markdown。

2023-01-28 23:58:10 589

原创 frpc: command not found 问题解决

然后再重新执行sudo ./frpc -c ./frpc.ini 即可。今天调试m1 mac的frp内网穿透,在执行。问题,特此记录下解决方法。

2023-01-28 23:54:34 1041

原创 基于 gorilla/mux 包学习路由分发之路由定义和请求分发

学习完 Go 语言的基础知识,接下来,我们来学习 Go Web 编程。遵循程序员的传统,我们从 Web 应用版"Hello World"式服务开始。在这段代码中,我们在入口函数中通过方法定义了一个路由/和对应的路由处理函数(在该函数中,r代表请求对象,w代表响应对象),然后通过启动这个 HTTP 服务器,并设置监听端口为8080。

2022-09-23 21:27:53 636

原创 教科书答案

➌ Because they see more oppoortunities for promotion as baby boomers retire(因为随着婴儿潮一代的退休,他们看到了更多晋升机会).➌ Because they contain things desired by common people(因为它们包含了普通人想要的东西).➍ Celebrities’ lives are similar to those of common people(名人的生活与普通人相似).

2022-09-16 19:38:06 2974

原创 面试题Go语言之垃圾回收机制

垃圾回收(Garbage Collection,简称GC)是编程语言中提供的自动的内存管理机制,自动释放不需要的对象,让出存储器资源,无需程序员手动执行。​ Golang中的垃圾回收主要应用三色标记法,GC过程和其他用户goroutine可并发运行,但需要一定时间的,STW的过程中,CPU不执行用户代码,全部用于垃圾回收,这个过程的影响很大,Golang进行了多次的迭代优化来解决这个问题。

2022-09-13 17:22:09 676

原创 Go Web请求处理 | 如何通过 ResponseWriter 对象发送 HTTP 响应

本文讨论Go语言处理完Web请求(比如解析用户请求信息,包括表单字段和文件上传等)后,如何将响应发送给客户端。

2022-09-01 22:47:30 959

原创 Go语言类型内嵌和结构体内嵌

结构体可以包含一个或多个匿名(或内嵌)字段,即这些字段没有显式的名字,只有字段的类型是必须的,此时类型也就是字段的名字。匿名字段本身可以是一个结构体类型,即结构体可以包含内嵌结构体。可以粗略地将这个和面向对象语言中的继承概念相比较,随后将会看到它被用来模拟类似继承的行为。Go语言中的继承是通过内嵌或组合来实现的,所以可以说,在Go语言中,相比较于继承,组合更受青睐。通过类型 outer.int 的名字来获取存储在匿名字段中的数据,于是可以得出一个结论:在一个结构体中对于每一种数据类型只能有一个匿名字段。..

2022-08-31 23:08:54 221

原创 Golang Gin | 分组路由源代码分析

以上等等,这些路由最前面的部分/admin/是相同的,如果我们一个个写也没问题,但是不免会觉得琐碎、重复,无用劳动,那么有没有一种更好的办法来解决呢?Gin为我们提供的解决方案就是分组路由(了解过前缀树这种数据结构的同学可能会更加容易理解一些)...

2022-08-30 21:48:59 302

原创 LeetCode 1344. 时钟指针的夹角

请你返回在时钟上,由给定时间的时针和分针组成的较小角的角度(60 单位制)。与标准答案误差在 10^-5 以内的结果都被视为正确结果。(1

2022-08-26 22:18:40 248

原创 理解Go语言延迟执行语句defer关键字

Go语言的 defer 语句会将其后面跟随的语句进行延迟处理,在 defer 归属的函数即将返回时,将延迟处理的语句按 defer 的逆序进行执行,也就是说,先被 defer 的语句最后被执行,最后被 defer 的语句,最先被执行。关键字 defer 的用法类似于面向对象编程语言 Java 和 C# 的 finally 语句块,它一般用于释放某些已分配的资源,典型的例子就是对一个互斥解锁,或者关闭一个文件。

2022-08-24 10:18:38 235

原创 理解Go语言并发编程

在早期的单用户操作系统中,任务是一个接一个运行的,各个任务的执行完全是串行的。不过在多进程和分布式程序的编写方面,由于它具有高效的并发编程方法以及便捷的标准库,我们总能事半功倍。不过那时并没有任何理论基础来支持这种编程方式,这样一个细微的编程错误就会使程序变得非常不稳定,并且对这种程序的测试也是几乎不可能的。总体来看,感觉编写并发程序会更加困难的原因有两个:一是缺乏既非常适合开发应用程序又对并发编程有良好支持的语言,二是感觉(也许仅仅是感觉)并发编程的理论大难了。在计算机问世不久,并发的概念就出现了。

2022-08-23 22:12:10 291

原创 【持续置顶,使用期间保持一直更新】Ubuntu 20.0.4 使用经验分享

最近换了ubuntu系统,在此记录一些使用心得。首先在制作启动盘安装系统的时候,发现ubuntu居然能够自选分盘安装ubuntu系统还是覆盖安装系统到整台计算机,省去了很多archLinux和centos下需要手动删除Windows磁盘的麻烦,不得不说确实很好用。

2022-08-20 19:11:42 3309

原创 小程序运行机制分析

当我们选择使用微信小程序开发工具生成默认的javascript模版之后,在我们深入学习如何开发小程序之前,其实可以来研究一下这个模版。

2022-08-11 11:55:40 348

原创 Go语言类型断言简述

需要注意如果不接收第二个参数也就是上面代码中的 ok,断言失败时会直接造成一个 panic。如果 x 为 nil 同样也会 panic。类型断言(Type Assertion)是一个使用在接口值上的操作,用于检查接口类型变量所持有的值是否实现了期望的接口或者具体的类型。其中,x 表示一个接口的类型,T 表示一个具体的类型(也可为接口类型)。...

2022-08-05 13:58:16 362

原创 LeetCode 1403. 非递增顺序的最小子序列

题目要求从原数组中取出部分元素,且满足取出的元素之和严格大于剩余的元素之和,且满足要求取出的元素数量尽可能的少的前提下,取出的元素之和尽可能的大。我们应尽量保证取出的元素尽可能的大,才能满足取出的元素尽可能的少且元素之和尽可能的大,因此我们按照从大到小的顺序依次从原始数组中取出数据,直到取出的数据之和。与子数组不同的地方在于,「数组的子序列」不强调元素在原数组中的连续性,也就是说,它可以通过从数组中分离一些(也可能不分离)元素得到。,请你从中抽取一个子序列,满足该子序列的元素之和。同时,返回的答案应当按。.

2022-08-04 20:44:06 98

原创 LeetCode 897. 递增顺序搜索树

在中序遍历的时候,修改节点指向就可以实现。具体地,当我们遍历到一个节点时,把它的左孩子设为空,并将其本身作为上一个遍历到的节点的右孩子。事实上,还可以遍历一次输入二叉搜索树,在遍历的过程中改变节点指向以满足题目的要求。将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。然后根据列表中的节点值,创建等价的只含有右节点的二叉搜索树,其过程等价于根据节点值创建一个链表。中序遍历之后生成新的树,题目要求我们返回按照中序遍历的结果改造而成的、只有右节点的。.

2022-08-03 22:10:56 1351

原创 LeetCode 896. 单调数列

遍历两次数组,分别判断其是否为单调递增或单调递减。如果数组是单调递增或单调递减的,那么它是。既不是单调递增的,也不是单调递减的。

2022-08-03 20:42:17 107

原创 LeetCode 899. 有序队列

在第二步中,我们将第三个字符(“c”)移动到最后,获得最终结果 “aaabc”。在第一步中,我们将第一个字符(“b”)移动到最后,获得字符串 “aacab”。在第二步中,我们将第一个字符(“b”)移动到最后,获得最终结果 “acb”。在第一步中,我们将第一个字符(“c”)移动到最后,获得字符串 “bac”。在应用上述步骤的任意数量的移动后,字典上最小的字符串。个字母中选择一个,并把它加到字符串的末尾。......

2022-08-03 19:33:30 96

原创 Go语言为任意类型添加方法

Go语言可以对任何类型添加方法,给一种类型添加方法就像给结构体添加方法一样,因为结构体也是一种类型。

2022-08-03 18:46:59 329

原创 LeetCode 622. 设计循环队列

循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。// 返回 false,队列已满。// 返回 true。// 返回 true。// 返回 true。// 返回 true。// 返回 true。// 返回 true。...

2022-08-02 22:29:55 112

原创 LeetCode 1374. 生成每种字符都是奇数个的字符串

pppz"是一个满足题目要求的字符串,因为'p'出现3次,且'z'出现1次。当然,还有很多其他字符串也满足题目要求,比如"ohhh"和"love"。"xy"是一个满足题目要求的字符串,因为'x'和'y'各出现1次。当然,还有很多其他字符串也满足题目要求,比如"ag"和"ur"。如果存在多个满足题目要求的字符串,则返回其中任意一个即可。当n为偶数时,我们返回n−1个‘b’组成的字符串。当n为奇数时,我们返回n个‘a’组成的字符串。...

2022-08-01 20:55:39 131

原创 Go语言类型与接口的关系

在Go语言中类型和接口之间有一对多和多对一的关系,下面将列举出这些常见的概念,以方便读者理解接口与类型在复杂环境下的实现关系。

2022-08-01 16:18:40 204

原创 编译型语言和解释型语言的区别

类型原理优点缺点编译型语言通过专门的编译器,将所有源代码一次性转换成特定平台(Windows、Linux等)执行的机器码(以可执行文件的形式存在)。编译一次后,脱离了编译器也可以运行,并且运行效率高。可移植性差,不够灵活。解释型语言由专门的解释器,根据需要将部分源代码临时转换成特定平台的机器码。跨平台性好,通过不同的解释器,将相同的源代码解释成不同平台下的机器码。一边执行一边转换,效率很低。https。...

2022-07-30 13:38:58 111

原创 编程语言是什么

虽然借助Siri(Apple)、GoogleNow(Android、Cortana(Microsoft)等技术,我们可以使用汉语直接告诉计算机做什么,比如“Siri,打开酷狗音乐”,但使用过这些系统的读者都知道,它尚未完全成熟,再加上我们语言充满了模糊和不精确因素,使得设计一个完全理解人类语言的计算机程序,仍然是一个有待解决的问题。其实,程序指的就是一系列指令,用来告诉计算机做什么,而编写程序的关键在于,我们需要用计算机可以理解的语言来提供这些指令。.........

2022-07-30 13:27:33 94

原创 部署Go语言程序到Linux服务器

就这么简单,不需要任何语言环境,像java程序需要在服务器安装java,php需要安装Apache,PHP等运行环境,go统统不需要,只需要一个linux系统将编译好的代码扔上去就可以了。其二,linux搭建好环境,将代码上传,然后对代码进行编译,运行即可。OK,编译完成后会生成一个main可执行文件,没有后缀,这时只需要把这个文件上传到你的虚拟机,直接运行就好了。代码已经写好了,现在需要编译了,由于是window环境编译到linux下运行,所有涉及到跨平台编译。.........

2022-07-28 22:02:10 2067

原创 MySQL 为什么有时候会选错索引?

为了说明优化器选择的结果是否正确,我增加了一个对照,即使用forceindex(a)来让优化器强制使用索引a(这部分内容,我还会在这篇文章的后半部分中提到)。然后,我们往表t中插入10万行记录,取值按整数递增,即(1,1,1),(2,2,2),(3,3,3)直到(100000,100000,100000)。看上去,这条查询语句的执行也确实符合预期,key这个字段值是’a’,表示优化器选择了索引a。你一定会说,这个语句还用分析吗,很简单呀,a上有索引,肯定是要使用索引a的。我们一起来看一个例子吧。...

2022-07-24 23:07:44 254

原创 LeetCode 871. 最低加油次数

汽车从起点出发驶向目的地,该目的地位于出发位置东面 英里处。沿途有加油站,每个 代表一个加油站,它位于出发位置东面 英里处,并且有 升汽油。假设汽车油箱的容量是无限的,其中最初有 升燃料。它每行驶 1 英里就会用掉 1 升汽油。当汽车到达加油站时,它可能停下来加油,将所有汽油从加油站转移到汽车中。为了到达目的地,汽车所必要的最低加油次数是多少?如果无法到达目的地,则返回 。注意:如果汽车到达加油站时剩余燃料为 0,它仍然可以在那里加油。如果汽车到达目的地时剩余燃料为 0,仍然认为它已经到达目的地

2022-07-02 21:50:16 154

原创 人工智能导论丁世飞第三版期末考试复习大纲

什么是智能?什么是人工智能?➊ 智能是知识与智力的总和。➋ 人工智能是研究开发用于模拟、延伸和扩展人的智能的理论方法、技术及应用系统的一门新的技术科学。人工智能研究有哪几个主要学派?其特点是什么?➊ 符号主义:又称为逻辑主义、心理学派或计算机学派,其理论基础是物理符号系统假设和有限合理性原理。其主要特征:(1)立足于逻辑运算和符号操作,适合于模拟人的逻辑思维过程,解决需要逻辑推理的复杂问题;(2)知识可用显示的符号表示,在已知基本规则的情况下,不需要输入大量的细节知识;(3)便于模块化,当个别事实发生

2022-06-21 17:14:28 1095

原创 【无标题】#修复日志#

muyu2411行左右jiejaitt

2022-06-20 17:49:09 74

原创 算法期末考试复习大纲

分治法所能解决的问题一般具有哪些特征?➊ 。问题的规模缩小到一定的程度就可以容易地解决;➋ 。问题可以分解为若干个规模较小的相同问题;➌ 。利用该问题分解出的子问题的解可以合并为该问题的解;➍ 。该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。算法的重要特性是什么?➊ : 算法具有0个或多个输入。➋ : 算法至少有1个或多个输出。➌ : 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成。➍ :算法中的每一步都有确定的含义,不会出现

2022-06-16 23:15:22 352

原创 基于Gin、Gorm实现的在线练习系统之项目梳理

go/gin/gorm/mysql等环境搭建略过;首先使用Navicat新建一个数据库用于本项目,内容如下图:在本库中新建问题表如下图:我们正常的项目逻辑(项目流程)应该是我们定义完一张表之后我们需要去我们的gorm里面把它的 model也给它同步过去;我们在Goland新建目录目录,然后新建文件如下所示:problem.go内容如下:新建表如下:新建 如下:新建category表:新建文件:新建submit表:新建submit.go文件如下:整体构建完后目录如下:......

2022-06-09 23:53:26 374 1

原创 【快捷记录,方便CV】TeachYourselfSQL_MySQL

TeachYourselfSQL_MySQL

2022-06-08 12:30:36 136

原创 数据库期末考试大纲

① 数据 data:描述事物的符号, 数据库中储存的基本对象② 数据库 DataBase, DB:长期储存在计算机内、有组织的、可共享的大量数据集合③ 数据库管理系统 DataBase Management System, DBMS:位于用户与操作系统之间的一层数据管理软件④ 数据库系统 DataBase System, DBS:由数据库、数据库管理系统、应用程序和数据库管理员组成① 数据结构化② 数据的共享性高,冗沉度低而且容易扩充③ 数据独立性高:④ 数据由数据库管理系统统一管理和控制数据模

2022-06-07 17:43:50 1635 6

原创 gin获取querystring参数

querystring指的是URL中?后面携带的参数,例如:/user/search?username=小王子&address=沙河。 获取请求的querystring参数的方法如下:func main() { //Default返回一个默认的路由引擎 r := gin.Default() r.GET("/user/search", func(c *gin.Context) { username := c.DefaultQuery("username", "小王子") //usern

2022-05-31 17:07:13 474

操作系统概念(原书第9版)英文PPT习题解答.7z

操作系统概念(原书第9版)英文PPT习题解答.7z

2022-09-07

简单前端html、css和js好看二次元个人导航页

内容概要:好看二次元个人导航页 使用人群:个人建站博主或者是需要个人引导页的博主 使用场景及目标:个人博客引导页 其他说明:具体可以访问jiejaitt.gitee.io预览体验该资源网站

2022-07-29

空空如也

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

TA关注的人

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