- 博客(154)
- 收藏
- 关注
原创 c语言-动态规划-代码随想录
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。状态转移方程 dp[i] = dp[i - 1] + dp[i - 2];dp[i]的定义为:第i个数的斐波那契数值是dp[i]问总共有多少条不同的路。
2025-03-20 21:27:16
116
原创 C语言细节
你在 scanf(“%s %s”, &students[n].name, &students[n].classID) 里加了 &,虽然不会报错,但它实际上是 未定义行为(UB,Undefined Behavior),只是刚好没出问题。⚠ 尽管 &students[n].name 不是 char*,但它的地址数值和 students[n].name 一样,某些编译器可能不会报错,所以代码可能能跑,但它是错误的。)[50](指向 char[50] 的指针),但 scanf(“%s”) 期望的是 char。
2025-03-05 11:12:40
813
原创 ENSP-旁挂式AC
3.AC需要设置静态路由 ip route static 0.0.0.0 0.0.0.0 192.168.31.1(下一跳地址即连接的SW4的接口地址)5.业务vlan在SW4上设置,可使用vrrp在AC和SW4上都设置,可使用DHCP中继DHCP路由器。2.AC和SW4之间为access口且capwap为AC g0/0/1的vlan号。1.连接AP的接口需要打上pvid为管理vlan的标签。4.管理vlan可在AC上设置地址池和分配地址。
2024-04-15 11:53:32
970
原创 脚本-禁止“运行”菜单 | 禁止“显示桌面所有图标”
设置禁用显示桌面所有图标的数值为1。(2)禁止“显示桌面所有图标”;’ 设置禁用运行菜单的数值为1。’ 刷新资源管理器以使更改生效。’ 刷新资源管理器以使更改生效。(1)禁止“运行”菜单;
2023-07-01 11:38:43
386
原创 脚本/宏病毒
一旦发现计算机Office软件打开后弹出系统警告框,并且无法“另存为”,就表示该文件已感染宏病毒,此时不能再打开其他文件,否则病毒也会感染,应马上关闭删除该文件。(3)用Win Hex分别打开notepad.exe和notepad_upx.exe文件(2分),再比较PE头部分,用语言描述有什么不同。在“受信任位置”中,删除“可靠来源”列表框中的不安全来源,根据实际情况设置是否信任所有安装的加载项和模板,设置宏的安全性;(3)描述清除病毒及加固的方法;(注:直接答在该题下面)(5分)
2023-06-30 22:01:16
783
原创 【golang】将项目部署到Docker
原因:默认的docker将使用桥,桥将为您的容器设置一个内部网络,所以当容器使用localhost时,它并不意味着主机,它意味着容器自身的网络。注意:当你的项目有需要连接到本地的端口时你不能从容器中使用localhost访问主机上的服务,你必须使用主机的ip地址来访问。RUN -> 执行操作(就跟在终端执行语句一样)ENTRYPOINT -> 程序入口。解决办法: --net=host。ADD -> 将文件复制到镜像中。WORKDIR -> 工作目录。EXPOSE -> 暴露端口。FROM -> 母镜像。
2023-03-18 19:18:30
932
原创 【代码随想录】哈希表-golang
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!先通过长度过滤,然后将magazine 中的字符存进hashmap中 val++,遍历赎金信去命中hashmap val-- 如果小于0返回false,未命中返回false,最后返回true。给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。但是,数组中同一个元素在答案里不能重复出现。
2023-01-16 14:52:52
438
原创 【代码随想录】链表-golang
addAtIndex(index,val):在链表中的第 index 个节点之前添加值为 val 的节点。给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。思路:快慢指针,慢指针为dummy,快指针为head,快指针先移动n次,然后移动慢指针,直到快指针为空。如果索引无效,则返回-1。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
2022-12-26 22:34:45
929
原创 【代码随想录】数组-golang
思路:滑动窗口,本质上为双指针(start为慢指针,end为快指针),只是取的是双指针之间(包含两端)之间的内容,以和小于target驱动end指针,以和大于等于target驱动start指针。给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。元素的顺序可以改变。
2022-12-22 19:13:16
367
原创 分布式websocket探索
一提到服务拆分就会联想到微服务,但是为了这个我们可能要付出重构的代价,凭着合适才是王道的想法,我放弃用微服务重构而是采用服务拆分的思想,以下将不考虑微服务拆分。我们首先考虑将websocket和web业务进行拆分,用消息队列(以NSQ为例)进行主web业务与websocket业务的下发通讯
2022-12-13 23:01:42
1133
原创 【golang】协程和线程的区别
在多核处理场景中,线程是并发与并行同时存在的,而go协程依托于线程,因此多核处理场景下,go协程也是并发与并行同时存在的。协程从属于某一个线程,多个协程可以调度到一个线程中,一个协程也可能切换到多个线程中执行,因此协程与线程是多对多(M:N)的关系。协程: 协程属于用户态轻量级的线程,协程的切换不需要经过用户态与内核态的切换,且切换时只需要保存极少的状态值,因此切换速度快数倍,大约为0.2微秒左右。线程: 抢占式调度。线程: 线程上下文的切换需要经过操作系统用户态与内核态的切换,切换速度大约为1~2微秒。
2022-11-08 19:44:52
683
原创 golang-wire依赖注入示例
当需要初始化的各个函数带有依赖性质的时候,此时就是wire发挥作用的时刻。此时在app目录下输入wire即可生成wire_gen.go。
2022-09-25 20:48:38
476
原创 redis-读写分离-一台linux上模拟多台redis
以相同方式创建redis6380.conf redis6381.conf。通过在服务器上查看管道符查看redis的运行状态。将原来运行的redis配置文件复制到此处一份。redis6379.config详细。进入6380/6381设置主服务器。运行三台redis(一主二从)在根目录创建一个文件夹。查看从服务器info。查看主服务器info。
2022-09-18 21:59:19
308
原创 golang-grpc-操作,安装
按照grpc官方文档来运行and注:source_relative 会直接在本文件夹生成,而且不同于过往版本只生成一个pb.go在prot文件夹指定然后将source_relative换成import即可eg:为目标proto所处地址。
2022-08-28 19:57:41
438
原创 golang-channel-一个基础channel并行操作的简单函数
这是一个基于网请求的函数,很巧妙的进行多个连接的检索,如果有一条查询到了那么其他goroutine将会走default字段,以此达到同时连接最多节点的同时达到接收数据的最快化。
2022-08-02 18:10:43
181
原创 golang-gin-优雅重启
当gin框架部署以及运行的时候,如果瞬间重启或关闭,可能会造成其中的进程或者函数执行不完整,形成脏数据,导致系统个别功能运行异常。因此优雅的重启以及关闭是非常有必要的。原理关闭httpserver后延迟几秒关闭系统,待各个函数运行完毕。并且加入证书位置来开启tls。代码设置在main.go函数。此为https的请求,调用。如果为http则只需改为。...
2022-07-27 21:40:06
1420
原创 golang-gin-pprof-使用以及安全问题
我们将接口注册到新的路由组里,并且将(账号+冒号+密码)Base64后并添加Basic标识,即可触发访问也要输入账号和密码的保护机制。Gin框架所携带的pprof直接调用即可,但是在生产环境中会引发暴露的问题,导致/debug/pprof接口暴露到公网。...
2022-07-21 18:36:46
1021
原创 golang-gin-gorm-sql注入及解决方案
eg:(查询操作使用 db.Prepare() 方法声明预处理 SQL,使用 stmt.Query() 将数据替换占位符进行查询,更新、插入、删除操作使用 stmt.Exec() 来操作。)3. 使用Raw的占位符来处理sql注入问题(推荐)eg:完美避免测试(使用占位符):sql注入成功测试(不使用占位符,纯纯拼接sql)...
2022-06-09 21:03:10
4810
原创 golang-gin-websocket问题
接口全览//聊一聊接口func Handler(c *gin.Context) { fmt.Println("进入函数") //获取发送者uid和被发送者uid token := module.WsGetTokenFromHeader(c.Request.Header) fmt.Println(token) stuNum := dao.Redis.Get(token).Val() toStuNum := c.Query("toStuNum") if stuNum == toStuNum {
2022-04-21 11:22:22
2914
原创 golang-select解决管道数据阻塞问题
package mainimport "fmt"func main() { //使用select解决管道取数据导致的阻塞问题 //1.定义一个管道 10个数据int intChan := make(chan int, 10) for i := 0; i < 10; i++ { intChan <- i } //2.定义一个管道,5个数据string stringChan := make(chan string, 5) for i := 0; i < 5; i
2022-02-21 22:32:25
745
原创 python-控制ensp
操作函数class TelnetClient(): def __init__(self, ): self.tn = telnetlib.Telnet() # 此函数实现telnet登录主机 def login_host(self, host_ip, username, password): try: # self.tn = telnetlib.Telnet(host_ip,port=23) self.
2022-02-21 12:07:22
757
原创 golang-channel读取数据
当读取channel时,channel不会关闭而是持续性监听(for 循环且intChan开启)package mainimport ( "fmt" "time")// WriteDatafunc writeData(intChan chan int) { for i:=1;i <= 50;i++{ //放入数据 intChan <- i fmt.Printf("writeData 写入数据=%v\n",i) time.Sleep(500) } clos
2022-02-18 18:12:36
2175
原创 js-捕获、目标、冒泡阶段
捕获阶段在捕获阶段时从最外层的祖先元素,向目标元素进行时间的捕获,但是默认此时不会触发事件目标阶段事件捕获到目标元素,捕获结束开始在目标元素上触发事件冒泡阶段事件从目标元素向他的祖先元素传递,依次触发祖先元素上的事件...
2022-02-07 22:03:00
346
原创 js-获取鼠标坐标并跟随其移动
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> #box1{ width: 100px; height: 100px; background-col
2022-02-06 18:13:34
877
原创 js-全选练习
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> window.onload = function () { //获取四个多选框items var item
2022-02-06 18:11:05
95
原创 js-全选练习
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> window.onload = function () { //获取四个多选框items var item
2022-02-05 22:42:55
441
原创 js-dom查询练习
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> /* * 定义一个函数,专门用来为指定元素绑定单击响应函数 * 参数: * idStr 要绑定单击响应
2022-02-05 22:42:24
108
原创 Js-dom增删改
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> window.onload = function (){ //创建一个广州节点,添加到#city下 myCl
2022-02-05 22:41:37
441
原创 js-对象
使用new关键字调用的函数,是构造函数constructor构造函数是专门来创建对象的函数 var obj = new Object(); console.log(1,obj); obj.name = "麻衣"; obj.gender = "女"; obj.age = 18; console.log(2,obj);...
2022-01-24 15:04:27
216
原创 golang-正则表达式爬虫实例(拉勾网泛用)
爬取拉勾网求职信息并生成excel文件package mainimport ( "errors" "fmt" "github.com/tealeg/xlsx" "io" "net/http" "regexp" "strconv" "sync")type CompanyInfo struct { ZhiWei string ChengShi string LowestWage string HighestWage string CompanyName s
2021-12-30 18:38:22
260
原创 golang-colly实例
goqueryhttps://blog.youkuaiyun.com/yang731227/article/details/89338745eg1:fcdm爬虫package mainimport ( "fmt" "github.com/PuerkitoBio/goquery" "github.com/gocolly/colly" "strconv" "time")func main(){ t := time.Now() c := colly.NewCollector() content
2021-12-30 18:36:20
457
原创 golang-爬虫-正则表达式
正则表达式 __(?s:(.*?))__能匹配两个内容之间的全部内容参考url:“https://studygolang.com/pkgdoc” 的 “regexp”package mainimport ( "fmt" "regexp")func main() { str :="" //解析编译正则表达式 //ret := regexp.MustCompile(`<div>(.*)</div>`) ret := regexp.MustCompile(`<
2021-11-07 20:30:53
208
原创 golang-爬虫-百度贴吧
package mainimport ( "fmt" "io" "net/http" "os" "strconv" "sync")func HttpGet(url string) (result string, err error) { resp, err1 := http.Get(url) if err1 != nil { err = err1 return } defer resp.Body.Close() //循环读取网页数据 buf := make([]b
2021-11-07 20:27:07
117
原创 golang-gin-中间件
eg://HandFuncfunc indexHandler(c *gin.Context) { fmt.Println("index") c.JSON(http.StatusOK, gin.H{ "msg": "index", })}//定义一个m1中间件:统计耗时func m1(c *gin.Context) { fmt.Println("m1 in ....") //即使 start := time.Now() c.Next() // 调用后续的函数 !!!!..
2021-10-23 20:38:56
434
原创 golang-gin-路由和路由组
//路由组的组 videoGroup := r.Group("/video") { videoGroup.GET("/xxx", func(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"msg": "访问路由组成功"}) }) videoGroup.GET("/pppp", func(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"msg": "访问路由组成功"}) }) vi.
2021-10-23 19:18:39
531
原创 golang-gin-file
获取文件func main() { router := gin.Default() router.Use(Cors()) router.POST("/upload", func(c *gin.Context) { //获取文件头 file, err := c.FormFile("upload") if err != nil { c.JSON(http.StatusBadRequest, "请求失败") return } //获取文件名 fileName := fi
2021-10-23 18:22:48
356
原创 golang-gin-queryString
eg:package mainimport ( "fmt" "github.com/gin-gonic/gin" "net/http")func main(){ r := gin.Default() r.GET("/web", func(c *gin.Context) { //获取浏览器那边发请求携带的query string 参数 //name := c.Query("query") //DefaultQuery 在如果检测不到query的时候默认key值为指定的对象
2021-10-22 17:16:16
231
原创 golang-gin基础GET
轻量级web框架eg:package mainimport ( "github.com/gin-gonic/gin" "net/http")type msg struct{ Name string `json:"name"` Message string Age int}func main(){ r := gin.Default() r.GET("/json", func(c *gin.Context) { //方法1:使用map //data := map[str
2021-10-22 17:08:52
174
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人