自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(899)
  • 资源 (8)
  • 问答 (1)
  • 收藏
  • 关注

原创 golang学习笔记—— defer、panic 和 recover 处理错误

然后,程序会崩溃并记录日志消息。有时,你可能想要避免程序崩溃,改为在内部报告错误。异常的使用场景简单描述:Go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处理。通常情况下,当你想要避免忘记任务(例如关闭文件或运行清理进程)时,可以推迟某个函数的运行。通常,你会发送一条错误消息,说明为什么会进入紧急状态。Golang 没有结构化异常,使用 panic 抛出错误,recover 捕获错误。延迟调用中引发的错误,可被后续延迟调用捕获,但仅最后一个错误可被捕获。

2024-04-26 00:00:00 454

原创 手把手带你写一个 MiniTomcat

MiniTomcat 的课程大体上分成四大块:HTTP Server、Connector、Container 和扩展部分。熟悉 Tomcat 的人想必更加清楚,Connector + Container 就是 Tomcat 的核心了。学习这些内容,会为进一步的研究打下良好的基础。

2024-04-21 00:00:00 488

原创 go项目实战——Go微服务入门到容器化实践,落地可观测微服务项目

系统完整的Go微服务技术栈+实用容器化落地方案+服务级监控观测台。

2024-04-18 12:15:00 230

原创 go项目实战——自主开发PaaS平台核心功能

go项目实战——自主开发PaaS平台核心功能。

2024-04-16 13:30:00 98

原创 go项目实战——构建Go+ES8企业级搜索微服务

【代码】go项目实战——构建Go+ES8企业级搜索微服务。

2024-04-15 00:15:00 217

原创 100个Go语言典型错误

1.1 Go 大纲1.2 简单并不意味着容易1.3 100 个 Go 错误1.4 本章总结。

2024-04-12 14:26:10 1072

原创 go第三方库go.uber.org介绍

用于自动设置 GOMAXPROCS 以匹配 Linux 容器 CPU 配额的库。维护 golang/mock 的分支。一种静态分析工具,用于检测 Go 中潜在的零恐慌。Cadence 工作流编排引擎的 Go 客户端。用于将一个或多个 Go 错误组合在一起的库。Go 的 Thrift 编码代码生成器和库。在 Go 中快速、结构化、分级的日志记录。基于依赖注入的 Go 应用程序框架。一个基于反射的 Go 依赖注入库。Go 应用程序的配置库。Go 的消息传递平台。Go 的并发工具包。

2024-04-12 00:30:00 648 1

原创 golang设计模式图解——代理模式

正向代理是客户端的代理。它代表客户端(例如,浏览器)发出请求。客户端设置代理服务器,并通过它访问互联网上的资源。反向代理是服务器的代理。它代表一台或多台服务器接收来自客户端的请求。对于客户端来说,反向代理就像是它正在直接与后端服务器通信。

2024-04-06 11:24:20 1033

原创 golang设计模式图解——命令模式

命令模式为我们提供了一种将请求或操作封装到一个对象中的方法,它使我们的代码更具有可扩展性和复用性。希望本文能够帮助你理解命令模式,并在实际开发中找到其应用场景。

2024-04-06 09:51:19 864

原创 golang设计模式图解——模板方法模式

GoF提出的设计模式有23个,包括:(1)创建型(Creational)模式:如何创建对象;(2)结构型(Structural )模式:如何实现类或对象的组合;(3)行为型(Behavioral)模式:类或对象怎样交互以及怎样分配职责。

2024-04-05 00:00:00 732

原创 使用alist+RaiDrive+百度网盘通过webdav协议为笔记本电脑扩容

双击文件,下一步,下一步即可安装完成。此云盘是国内第二个原生支持WebDAV协议的云盘(第一个是某果云),开通VIP后,可以直接用RaiDrive挂载,大大节省了不少步骤。目前最新版本是RaiDrive_2023.9.90_x64.msi,但是广告为右下角弹窗,这里找了个比较旧的版本。可以在软件界面设置,但较好的方法是用脚本启动,这样可以确保先启动alist,再启动RaiDrive。注意,如果之前用nssm安装alist服务,要把服务设置为手动,以免冲突。,想单独挂载子目录的,可以写上子目录,如。

2024-04-04 22:16:47 782

原创 Bun安装与使用

Bun安装与使用。它目前无法在windows上直接安装使用,必须通过虚拟机安装。在win10虚拟机中安装。

2024-03-30 02:00:00 590

转载 golang学习笔记——栈

在main函数中,我们创建了一个Stack对象,并分别将1、2、3三个元素加入栈中。然后我们调用Peek方法返回栈顶元素的值,调用Pop方法两次弹出栈顶元素并返回,最后调用IsEmpty方法判断栈是否为空。在计算机科学中,栈是一种线性数据结构,它具有先进后出(LIFO)的特点。栈通常用于计算表达式,处理递归函数,和其他需要后进先出的处理场景。在上面的代码中,我们首先定义了一个Stack类型,它是一个包含int类型的slice。方法用于返回栈顶元素的值,但不会弹出该元素,方法用于将一个元素添加到栈中,

2024-03-15 16:49:59 39

原创 golang学习笔记——missing go.sum entry for go.mod file

这是在迁移项目,复用模块的时候,遇到的错误。将前一个项目的代码复制到新项目的目录下,并将前一个项目的go.md里的内容,复制到新项目的 go.md 里造成的,这是因为代码中使用了第三方库,但没有更新 go.sum 文件。

2024-02-29 19:00:00 636

原创 golang学习笔记——type func实现事务

Go 语言中实现事务和 SQL 原生语句其实是非常接近的。执行一系列操作,如果发生错误,通过。回滚,如果没有发生错误,则通过。

2024-02-29 17:14:01 390

转载 golang学习笔记——Context 并发编程简明教程

WaitGroup 和信道(channel)是常见的 2 种并发控制的方式。会等待所有的子协程任务全部完成,所有子协程结束后,才会执行wg.Wait()后面的代码。WaitGroup 只是傻傻地等待子协程结束,但是并不能主动通知子协程退出。假如开启了一个定时轮询的子协程,有没有什么办法,通知该子协程退出呢?这种场景下,可以使用的机制。子协程使用 for 循环定时轮询,如果stop信道有值,则退出,否则继续轮询。更复杂的场景如何做并发控制呢?比如子协程中开启了新的子协程,或者需要同时控制多个子协程。

2024-02-29 00:00:00 47

原创 golang学习笔记——协程数量控制套路总结

尽管Goroutine(协程)非常清轻量,但是本身也是占用资源的,过多协程切换也会带来开销,总之物极必反,无限制的开协程的结果只会是Game Over。生产实践中必须考虑控制协程数量,本文带你看看针对不同场景和需求的协程数量控制方式。场景如下,go中一个典型场景是,接受数据然后开协程处理,代码如下├── go.mod必须要创建一个XXX_test.go的文件,并引入testing包代码import ("log""runtime""sync""testing""time"

2024-02-27 11:13:36 441

原创 golang学习笔记——vscode远程开发没有代码提示

国内 Go 语言实践圈子公认的 Go 语言专家超过 15 年互联网从业经验,曾在金山、盛大从事技术研究方面的工作,是 WPS 2005 的首席架构师。2011 年创办七牛云,致力于为客户提供一站式「云+数据」的服务和多场景解决方案。许式伟,七牛云创始人兼CEO ,ECUG 社区发起人 ,著有《Go语言编程》。《Go 语言程序设计》(译)。在win10下在代码提示,远程之后没有了。原来,这个插件远程也要安装一次。点击之后全选,然后点击OK就会自动下载安装。打开你的 PowerShell 并执行。

2024-02-09 23:56:03 601

转载 什么是JWT

【代码】什么是JWT。

2024-02-07 20:35:24 44

原创 golang通用后台管理项目——Go+Vue通用后台管理项目实战

vue前端vue+axios+element-ui+echarts+vue-router+vuex+vue-treeselect。go后端 gin+gorm+swagger+reids+jwt+base64Captcha+mysql+yaml。2、掌握jwt,日志,跨域,鉴权中间件的使用。5、掌握go语言开发前后端分离项目的能力。6、从0到1开发完整前后端分离项目的能力。3、掌握基于gorm的sql多表查询。1、掌握组件中业务逻辑抽离的方法。4、掌握gin-swag的应用。

2024-02-06 11:16:08 1223 2

原创 golang学习笔记——面试题 使用 3 个协程顺序打印 cat、dog、fish 各 100 次

思考,可否换成无缓冲区的 channel。

2024-01-24 18:31:35 1404

原创 golang学习笔记——http.Handle和http.HandleFunc的区别与type func巧妙运用

的使用方法和面向对象编程差不多,第一步定义一个接口类型,第二步定义一个非接口类型,第三步在非接口类型上实现接口。使用上简洁一些,但原理比较复杂。先定义一个函数(参数类型,返回值都要和ServeHTTP一样),再将它强转为类型,类型有一个方法叫ServeHTTP,这方法会执行一个名叫f的函数,这个函数的类型就是。因为一个对象只要全部实现了接口中的方法,那么就实现了这个接口。所以,类型实现了这个接口。所以,我们只要写一个匿名函数,内部就会为我们转为类型。

2024-01-21 21:34:05 1440

原创 golang学习笔记——go语言多文件项目运行的四种方式

有两个源码文件的go语言项目如何运行?如何直接运行会提示找不到文件。是真的找不到文件吗。其实不是。我们把鼠标放到Constructor()函数上就会发现也就这个函数在代码结构中的路径,而且这个函数是的。所以应该是我们的命令有问题。在传统的c/c++项目中,都是先编译才能运行的。go语言作为一门静态语言,也应当如此。这里提供四种方法。

2024-01-13 01:30:00 873

原创 零基础学Python网络爬虫案例实战全流程详解(入门与提高篇)

笔者编写的《Python金融大数据挖掘与分析全流程详解》于2019年出版面市后,陆续有不少读者表示对该书的爬虫部分非常感兴趣,想做进一步的学习。笔者由此萌生了一个想法:专门针对Python爬虫技术编写一套书籍,在保留之前核心内容的基础上,新增更多实战案例,方便读者在练中学,并体会Python爬虫在实战中的应用。

2024-01-08 12:18:06 1894

原创 零基础学Python网络爬虫案例实战 全流程详解 高级进阶篇

网络爬虫是当今获取数据不可或缺的重要手段。本书讲解了Python爬虫的进阶理论与技术,帮助读者提升实战水平。全书共7章。第1~3章为常见反爬机制的应对手段,主要内容包括Cookie模拟登录、多种类型的验证码识别、Ajax动态请求破解。第4章为手机App内容爬取。第5章和第6章为Scrapy爬虫框架应用。第7章为爬虫云服务器部署。

2024-01-08 12:09:59 972

原创 LeetCode经典150题Golang版.55. 跳跃游戏

给你一个非负整数数组nums,你最初位于数组的。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回true;否则,返回false。

2023-12-22 00:15:00 355

原创 LeetCode经典150题.274.H指数

给你一个整数数组citations,其中表示研究者的第i篇论文被引用的次数。计算并返回该研究者的 h。根据维基百科上h代表“高引用次数” ,一名科研人员的h是指他(她)至少发表了h篇论文,并且有h篇论文被引用次数大于等于h。如果h有多种可能的值,h是其中最大的那个。

2023-12-20 19:00:00 356

原创 LeetCode经典150题Golang版.121. 买卖股票的最佳时机II

给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候只能持有股票。你也可以先购买,然后在出售。返回 你能获得的利润*。

2023-12-17 11:45:00 55

原创 LeetCode经典150题.121. 买卖股票的最佳时机

给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择买入这只股票,并选择在卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。

2023-12-17 00:30:00 63

原创 LeetCode经典150题Golang版.189. 轮转数组

给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。O(1)

2023-12-16 21:45:00 102

原创 tcp连接全过程各种状态详解

TCP是一种可靠、面向连接、全双工、流控制、拥塞控制、有序传输、无差错传输、无重复传输、无丢失传输等特点的协议。SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(服务器)FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认。TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认。:通过序列号、确认和重传机制,确保数据的按序到达,防止数据的丢失和乱序。LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认。

2023-12-16 14:45:00 64

转载 golang学习笔记——Go 网络编程:使用 Handler 和 HandlerFunc

上述代码启动了一个 http 服务器,监听 8080 端口,分别实现了。这个方法,当接收到一个匹配路由的请求时,会调用该方法。该方法接收两个参数,一个是路由匹配的字符串,另外一个是。实现这两个路由的方法有点不同,一个使用。接收两个参数,一个是路由匹配的字符串,另外一个是。类型是什么呢,其实它就是一个接口,包含一个。,下面来看看这两个之间的区别;接口,所以其也可以转换成。

2023-12-14 12:27:54 163

原创 golang学习笔记——go流水线示例

Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对。for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。

2023-12-11 00:00:00 66

原创 golang学习笔记——sync.Pool

Go并发编程实战课golang并发之sync包。

2023-12-10 00:30:00 61

原创 golang学习笔记——编写最简单的命令行工具

使用go语言编写最简单的命令行工具go mod初始化打开vscode,创建main.go运行,

2023-12-10 00:00:00 68

原创 golang学习笔记——爬虫colly入门

很多语言都可以写爬虫,包括python,java、c++、Pythhon等。而Go本身是开源的,很多大佬为Python的功能扩展写了很多成熟的工具,也就是网络上常说的xx库,我们可以利用这些工具快速实现我们的需求,比较好入门。另外,需要强调的是,网络上并不是什么东西都可以爬,针对这个问题,我国有着一套完备的法律。爬了不该爬的内容,比如大量个人信息,那可以快速实现“从入门到入狱”。

2023-12-09 00:30:00 231

原创 golang学习笔记——数据结构进阶

【代码】golang学习笔记——数据结构进阶。

2023-12-09 00:15:00 101

原创 golang学习笔记——TCP端口扫描器

FileConn返回与打开的文件f相对应的网络连接的副本。完成后关闭f是调用者的责任。关闭c不影响f,关闭f不影响c。测试中发现,把500个goroutine改为20000个,速度是变快了,但结果并不准确。Since返回自t以来经过的时间。多个goroutine可以同时调用一个Conn上的方法。DialTimeout的作用类似于Dial,但需要超时。对带缓存的channel不理解的可以看一下。Conn是一种通用的面向流的网络连接。(代码中创建了500个),利用。拨号连接到命名网络上的地址。

2023-12-08 00:56:59 191

原创 golang学习笔记——互斥锁sync.Mutex、计数器sync.WaitGroup、读写锁sync.RWMutex

临界区总是需要通过同步机制进行保护的,否则就会产生竞态条件,导致数据不一致。

2023-12-07 00:00:00 562 1

原创 静态博客指南

Hexo 最大的问题在于他的主题系统太过于静态以及过度地依赖纯字符串,而我们十分希望能够好好地利用 Vue 来处理我们的布局和交互,同时,Hexo 的 Markdown 渲染的配置也不是最灵活的。VuePress 能做的事情,Nuxt 理论上确实能够胜任,但 Nuxt 是为构建应用程序而生的,而 VuePress 则专注在以内容为中心的静态网站上,同时提供了一些为技术文档定制的开箱即用的特性。在构建时,我们会为应用创建一个服务端渲染(SSR)的版本,然后通过虚拟访问每一条路径来渲染对应的HTML。

2023-11-25 11:38:40 119

Debian12通过Docker安装mariadb数据库(mysql可参考)

Docker Compose version v2.26.1

2024-04-11

debain11安装code-server以非root用户开机启动

code-server_4.4.0_amd64.deb安装包

2023-09-12

Qt tableWidget删除多行

Qt tableWidget删除多行

2023-09-06

HP1010打印机驱动与教程(含Dot4x64).rar

HP1010打印机驱动与教程(含Dot4x64)

2021-03-16

tomcat8-maven-plugin-3.0-r1655215.jar

解决tomcat8-maven-plugin-3.0-r1655215.jar阿里云同有的问题。放到路径org\apache\tomcat\maven\tomcat8-maven-plugin\3.0-r1655215\就可以了

2020-10-26

ventoy-1.0.19-linux.tar.gz

deepin系统u盘启动盘制作工具ventoy-1.0.19-linux.tar.gz。可引导deepin系统,windows系统等。操作看https://blog.csdn.net/e891377/article/details/108258000

2020-08-27

jdk-6u161-linux-x64

jdk-6u161-linux-x64.bin是linux的JDK版本,可以安装在linux系统。

2019-02-16

tensorflow windows版

放入本地运行pip install tensorflow的文件名就可以安装成功了。

2018-11-24

angularjs学习笔记本

angularjs学习笔记本,请参加http://blog.csdn.net/e891377/article/details/50519971

2016-06-04

电子面单系统

所谓电子面单,是指使用不干胶热敏纸按照物流公司的规定要求打印客户收派件信息的面单,在行业内也被称为热敏纸快递标签、经济型面单,二维码面单等。电子面单在国外已经成功运用多年,如联邦快递(FedEx)和国际快递(Ups)。而在国内,京东、当当、易迅、一号店等从自建初期就使用了电子面单。 本资源的电子面单系统可以自动生成条形码。

2016-01-28

queryMobile

压缩包里是手机号码归属地查询的app文件和源码。 getMobileCodeInfo 获得国内手机号码归属地省份、地区和手机卡类型信息 输入参数:mobileCode = 字符串(手机号码,最少前7位数字) userID = 字符串(商业用户ID) 免费用户为空字符串; 返回数据:字符串(手机号码:省份 城市 手机卡类型)。

2014-10-11

空空如也

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

TA关注的人

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