- 博客(77)
- 收藏
- 关注
原创 Golang 打包
在包含 main 函数的包的目录下执行,它会生成一个可执行文件。文件名默认与包所在的目录名相同,但也可以使用 -o 选项来指定输出的文件名。Windows 环境下进行交叉编译以构建其他平台的可执行文件,你需要在命令行中设置。在 Windows 命令提示符(CMD)中设置环境变量,应使用。在 PowerShell,则应该使用。
2024-01-14 12:17:44
1060
1
原创 Golang 网络编程
Call方法的第一个参数是要调用的服务和方法的名称,格式是"服务名.方法名"。它比建立连接时的三次握手要多一步,因为TCP连接是全双工的,所以每个方向必须单独进行终止。服务器读取来自客户端的消息,然后发送一个简单的响应。如果你打算在生产环境中使用RPC,可能需要考虑使用更现代的RPC框架,如gRPC,它提供更多的功能,包括支持Protocol Buffers和流式传输。如果你只需要创建一个简单的TCP服务器,而不需要使用TCP协议的高级特性,包中的函数,用于监听网络端口,但它们的用途和返回的类型有所不同。
2024-01-14 11:42:03
1242
原创 Golang 反射
反射(reflection)是一种能够检查程序在运行时的变量类型和值的机制。Go的反射机制定义在reflect包中。使用反射,可以动态地调用对象的方法或访问其字段,即使在编写代码时并不知道这些方法或字段的具体存在反射主要涉及到和这两个类型。代表Go值的类型,而代表Go值的具体值在使用反射时需要注意的是,反射操作通常比直接操作要慢,因此在性能敏感的代码中应当谨慎使用反射。另外,过度使用反射可能会使代码难以理解和维护。
2024-01-13 17:18:35
1286
1
原创 Golang 文件操作
每个数字可以是0到7之间的任意数字,分别控制读(4)、写(2)和执行(1)权限的开启和关闭。这些数字是对应的权限值的总和。一个权限表示是:0666,那么它其实是代表可读可写,前面的 0 是用来明确表示这是一个八进制数。如果想读取子目录中的内容,可以添加一个循环,然后判断是否是目录,然后同样取即可,直至没有子目录。读取指定目录下的文件和文件夹,及其大小。然后在此基础上,使用循环来读整个文件。(go 1.0)的优化版,性能更好。假如要读取的文件中只有内容。(go 1.16),是。
2024-01-11 08:32:51
1161
原创 Golang 泛型
泛型是在Go 1.18版本中引入的,它允许编写可以在多种数据类型上工作的函数和数据类型。这样做可以增加代码的复用性并减少重复。
2024-01-11 03:23:24
429
原创 Golang 异常处理
Go语言中,"异常"的概念与其他语言如Java或Python中的不太相同。Go没有提供传统意义上的try-catch机制来捕获异常。相反,Go使用错误作为其错误处理的主要方式感觉很麻烦,到处都要处理…,没有传统的try-catch好用。
2024-01-09 07:39:37
693
原创 Golang 线程安全与 sync.Map
线程安全通常是指在并发环境下,共享资源的访问被适当地管理,以防止竞争条件(race conditions)导致的数据不一致Go语言中的线程安全可以通过多种方式实现。
2024-01-09 06:29:45
762
原创 Golang 通道之 select 语句
select 语句是一个强大的特性,用于同时等待多个通道操作。select 可以监听多个通道的读写事件,并在有通道准备好时执行相关的case。如果有多个case同时就绪,select 会随机选择一个执行。如果没有case就绪,select 将阻塞,直到至少有一个case就绪。你还可以使用 default case来避免 select 阻塞,它会在其他case都没有就绪时执行。
2024-01-09 06:00:46
635
原创 Golang 协程与通道
在 Go 语言中,协程被称为 goroutines。goroutine 是 Go 的并发执行单元,它比传统的线程更轻量级,允许你以非常低的开销启动成千上万个并发任务通道(channel)是一种特殊的类型,用于在不同的 goroutines 之间进行通信和同步。通道可以被想象成一个传递数据的管道,它可以帮助确保并发程序的数据同步,避免竞态条件。
2024-01-08 14:38:48
1176
1
原创 Golang 接口
在 Go 语言中,接口(interface)是一种类型,它规定了一组方法签名(method signatures),但不实现这些方法。任何实现了接口中所有方法的类型都隐式地实现了该接口,无需显式声明继承或实现关系。
2024-01-07 04:37:59
815
1
原创 Golang 结构体
在 Go 语言中,结构体(struct)是一种自定义的数据类型,将多个不同类型的字段(fields)组合在一起结构体通常用于模拟真实世界对象的属性和行为Age int在这个示例中,我们定义了一个名为 Person 的结构体,它有两个字段:Name 是 string 类型,Age 是 int 类型可以通过类型声明(type declaration)来定义一个新的自定义类型。自定义类型基于现有的类型,但它有自己的独立名称和方法,这可以使代码更加清晰和类型安全。
2024-01-07 03:43:15
1295
原创 Golang 切片
在Go语言中,切片是一个引用类型,它提供了对数组的动态窗口。切片并不存储任何数据,它只是描述了底层数组中的一个片段。切片的定义包括三个部分:指向数组的指针、切片的长度和切片的容量。
2024-01-05 00:10:13
755
1
原创 Caching SHA2 password 与 MySQL native password 的区别
和是MySQL数据库管理系统中用于认证的两种不同的插件。这两种插件的主要区别在于它们使用的哈希算法和安全性。
2024-01-04 12:05:44
1376
原创 Golang 变量类型及其声明定义
在Go语言中,变量可以通过多种方式声明和定义。使用var关键字声明变量,类型在变量名之后:var x int声明变量并初始化:类型推断(不显式指定类型,而是通过初始化值推断类型):var z = 20短变量声明(只能在函数内部使用):a := 30声明多个变量:分组声明变量(通常用于全局变量):声明常量(常量不能使用短变量声明语法):声明一个指针变量,并初始化为nil:声明一个指针变量,并使用new关键字分配内存:这些是Go语言中变量声明和定义的基本方式。
2024-01-04 07:47:43
1258
原创 Pydantic 中 validator 和 validators 的区别
pydantic 是一个数据验证库,使用 Python 类型注解来验证输入或转换数据。
2023-12-16 01:14:37
1010
原创 Python虚拟环境创建和使用
Python 虚拟环境是一个独立的 Python 环境,你可以在其中安装和使用 Python 库,而不会影响系统的全局 Python 环境。这在你需要为不同的项目使用不同版本的库时非常有用Python 3.3 以后的版本都内置了 venv 模块,用来创建和管理虚拟环境。
2023-12-01 15:29:01
366
原创 npm 全局配置
npm 默认在当前路径下,将下载的包存到自动创建的文件夹里npm i 默认全局安装路径是:C:\Users\你的用户名\AppData\Roaming\npmnpm 如果已经安装了包,修改全局配置并不能迁移过去需要一个一个地卸载掉,再修改全局配置下载安装包。
2023-11-16 12:06:26
3723
原创 UTF-8-SIG 和 UTF-8 with BOM 有什么区别,该怎么选
用 Sublime Text 打开一个文件,出现一个框框,提示要点选或。
2023-11-03 01:43:58
2005
1
原创 Playwright Python 持久化浏览器上下文
在Playwright中,方法用于启动一个持久化的浏览器上下文。这个方法的主要作用是启动一个浏览器实例,并加载用户数据,这样可以在本地已经登录过网站的情况下,下次打开网站不需要登录继续操作。这对于一些爬虫用户是非常重要的功能在使用方法时,你可以通过参数指定用户数据目录,这个目录包含了用户的cookies,所以你只要登录过,就会自动保存。这样你只要代码打开网站,如果不能通过代码自动登录(可能有一些验证码什么的),你可以断点后手工去登录一次,也会记住cookies。下次代码再打开就不需要登录了此外,
2023-10-14 10:53:58
1975
原创 MariaDB 10.11.4 安装教程(zip格式,Windows环境)
MariaDB 10.11.4 这个版本是目前最新的长期支持版,下面来安装下
2023-08-12 01:11:41
2356
原创 Debian 不能自动补全命令
在Debian系统中,命令行自动补全通常是由bash shell的一个功能提供的,这个功能叫做"bash-completion"。如果你的系统不能自动补全命令,可能是因为"bash-completion"没有被正确地安装或配置。
2023-07-08 23:39:36
1653
原创 常见local,如:en-US
en_US 和 en-US 可以认为是等价的, 但是更推荐的写法是 en-US,即使用英文的连字符而不是英文的下划线,当然,二者都可以用,只是更推荐后者。
2023-06-12 13:50:58
489
原创 PyCharm 中的共享索引
打开项目时,时不时就会索引很长事件,这主要是共享索引引起的共享索引对团队协作开发很有用,如果是团队项目,就不管,默认会使用共享索引对个人开发者,没什么用,关掉最好,取消勾选等待共享索引即可,公开共享索引也建议选不下载,使用本地索引,省的每次打开项目都有小窗提示。。
2023-06-01 14:35:17
4728
原创 Python中的魔法函数
魔法函数(Magic functions),也称为特殊方法(Special methods),是在 Python 中具有特殊名称和双下划线(__)前缀和后缀的特殊函数。这些魔法函数允许您定义自定义行为,以便在特定的操作中调用。它们可以使您的对象表现得像内置类型一样,并提供了一种自定义类行为的方式。通过定义和使用这些魔法函数,您可以扩展和自定义类的功能,以满足特定的需求,并使其与 Python 的内置功能更加无缝地集成。
2023-05-31 04:43:13
802
原创 Python 中 eval 与 ast.literal_eval() 的选择
很多语言中都有eval()函数,它能将字符串解析成对应编程语言的对象,这意味着它可以执行任意的代码,安全性上来说,具有很大的安全隐患。
2023-05-27 02:01:03
341
原创 通过重置 /etc/docker/daemon.json 来解决 docker 启动不了的问题
根据提供的日志信息,Docker服务启动失败的原因是无法配置Docker守护进程(Docker daemon)使用指定的配置文件。接着重启 docker,start、restart 都行。由于没有动过该配置文件,所以语法错误什么的基本不可能。首先备份下原来的配置文件【可选,推荐】不出意外的话,成功解决!然后新建空的配置文件。
2023-05-18 21:31:26
3177
原创 Python 类型提示
在使用 PyCharm 过程中,有时导入第三方包,模块中的一些功能属性或方法没法自动提示,都可以通过这种方式来解决。属性来获取单元格坐标,那 PyCharm 可能不会自动提示,我们就可以利用类型提示来让其自动提示。类型提示可以用来指定变量、函数参数和返回值的类型等,以帮助提高代码的可读性和可维护性。此外在 Python 3.5+ 版本中还可以用类型注释来指定类的属性和方法的类型。还可以使用类型注释来指定类方法的参数和返回值的类型。类是需要导入的,这是因为指定了类型的缘故。指定函数的返回值类型为字符串。
2023-04-30 01:11:08
945
原创 vscode终端 光标变粗 ins键也不能切换
按 ins 键没用,重启 vscode 也没用。我也不知道碰到哪里了,就突然终端光标变了。设置一下终端光标样式即可,如图。无需重启,会即时改变。
2023-03-24 23:36:06
2267
2
原创 Axios
Axios 是一个流行的 JavaScript 库,用于处理 HTTP 请求。它基于 Promise,能够轻松地处理异步操作并从 REST API 获取数据。Axios 可以在浏览器和 Node.js 环境中使用,提供了许多实用功能,例如拦截请求和响应、转换请求和响应数据以及取消请求等。axios({headers: {},timeout: 3000 // 3 秒超时})})});
2023-03-24 17:04:03
332
原创 npm 代理
以上各条命令分别对应 http,https 和 socks5 的代理设置。新设置的代理会覆盖掉之前的代理配置。若返回结果是 null 或者 undefined ,则说明没有配置代理。这样就删除对应的代理了。
2023-03-20 15:29:47
4016
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人