自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 go标准包系列-文件系统相关包

个成员的[]string,切片成员为目录中文件对象的名字,采用目录顺序。对本函数的下一次调用会返回上一次调用未读取的内容的信息。该接口描述一个文件的元数据信息,它由 Stat 返回。类似,区别在于如果文件是符号链接,那么所返回的信息针对的是符号链接自身(而非符号链接所指向的文件)。则会返回由某个打开文件描述符(Go 中则是当前打开文件 File)所指代文件的相关信息。文件是按字典顺序遍历的,这让输出更漂亮,但也导致处理非常大的目录时效率会降低。指定的目录下的文件树,对每一个该文件树中的目录和文件都会调用。

2023-07-12 15:15:47 156 1

原创 go标准包系列-io

而在本节开始已经说到,如果格式化输出某种类型的值,只要它实现了 String() 方法,那么会调用 String() 方法进行处理。​ Go 语言的 “io” 标准库包是一个用于处理 I/O(输入/输出)操作的库。它提供了一组接口和实现,用于从不同来源读取和写入数据。其中,Print/Printf/Println 会调用相应的F开头一类函数,并将 os.Stdout 作为第一个参数传入。其中,Scan/Scanf/Scanln会调用相应的F开头一类函数,并将 os.Stdin 作为第一个参数传入。

2023-07-08 23:27:53 534

原创 php中的sql防注入

addslashes 函数并不能转义所有可能引起 SQL 注入的字符。例如,使用 %、_、- 等字符可以进行模糊查询,而这些字符在 addslashes 函数中并没有被转义。如果用户已经对输入进行了转义,再使用 addslashes 函数可能会导致出现双重转义的问题,从而使字符串变得无效。addslashes 函数仅仅是将某些字符进行了转义,但并没有考虑到不同字符集的编码问题。如果使用的是非 ASCII 字符集,如中文、日语等字符集,那么 addslashes 函数可能会导致字符串变得无效或者出现乱码。

2023-07-08 21:53:01 252

原创 php中的sql防注入

addslashes 函数并不能转义所有可能引起 SQL 注入的字符。例如,使用 %、_、- 等字符可以进行模糊查询,而这些字符在 addslashes 函数中并没有被转义。如果用户已经对输入进行了转义,再使用 addslashes 函数可能会导致出现双重转义的问题,从而使字符串变得无效。addslashes 函数仅仅是将某些字符进行了转义,但并没有考虑到不同字符集的编码问题。如果使用的是非 ASCII 字符集,如中文、日语等字符集,那么 addslashes 函数可能会导致字符串变得无效或者出现乱码。

2023-07-08 21:51:02 131

原创 go的GC

写屏障可以保证垃圾回收器能够正确地识别哪些对象是可达的,从而避免了内存泄漏和垃圾对象的产生。Go语言的垃圾回收器通过并发的方式实现垃圾回收,因此在GC期间可以继续执行程序,这也是Go语言被广泛使用的原因之一。STW时间的长短直接影响了应用的执行,时间过长对于一些web应用来说是不可接受的,这也是广受诟病的原因之一。GC过程中新分配的内存会被立即标记,用的并不是写屏障技术,也即GC过程中分配的内存不会在本轮GC中回收。3、遍历灰色对象的引用对象,遍历到的对象标记为灰色,遍历完引用对象的灰色对象标记为黑色。

2023-07-08 21:38:10 122

原创 go的包管理

在 Go 中,依赖关系被存储在模块文件(go.mod)中,其中包括模块名称、版本和依赖项列表。当您执行 go get 命令时,go 命令会更新模块文件并下载所需的依赖项。go mod vendor:将所有的依赖项复制到项目的 vendor 目录下,以确保项目能够在没有网络连接的情况下编译。go build 和 go run:在编译或运行程序时,自动下载和更新所需的依赖项。go get:安装指定的包,或更新已安装的包。可以指定包的版本或标签。go mod tidy:根据导入的代码,整理并更新模块的依赖。

2023-07-08 21:19:54 385

原创 go标准包系列-Time包

Time.IsZero() 函数用于判断 Time 表示的时间是否是 0 值。的零值是 sec 和 nsec 都是 0,表示 1 年 1 月 1 日。纳秒时间差,最大290年,原因是 type Duration int64。代表一个地区,并表示该地区所在的时区。代表一个纳秒精度的时间点。

2023-07-06 10:11:08 70 1

原创 go标准包系列-算法与数据结构相关包

定义// 获取数据集合元素个数 Len() int // 如果 i 索引的数据小于 j 索引的数据,返回 true,且不会调用下面的 Swap(),即数据升序排序。Less(i , j int) bool // 交换 i 和 j 索引的两个元素的位置 Swap(i , j int) }排序方法Reverse实现逆序排序Reverse的实现// 定义了一个 reverse 结构类型,嵌入 Interface 接口 type reverse struct {

2023-07-06 10:08:06 84 1

原创 php中cookie相关小知识

为了增加安全性,可以使用 Secure Cookie,在仅通过加密的 HTTPS 连接发送 Cookie。2、会话 Cookie 和持久 Cookie:会话 Cookie 存储在客户端内存中,当用户关闭浏览器时会自动删除。3、Cookie 大小限制:不同浏览器对 Cookie 的大小限制有所不同,通常限制为每个域名下的 Cookie 总大小不能超过 4KB 或 4096 字节。1、php中设置cookie的方式除了cookie函数之外,还可以通过header函数设置set_cookie来设置cookie。

2023-05-18 09:27:52 127

原创 go标准包系列-文本包

bytes 包下的 Reader 类型实现了 io 包下的 Reader, ReaderAt, RuneReader, RuneScanner, ByteReader, ByteScanner, ReadSeeker, Seeker, WriterTo 等多个接口。标题处理包含 3 个相关函数,其中 Title 会将 s 每个单词的首字母大写,不处理该单词的后续字符。ToTitleSpecial 将 s 的每个字母大写,并且会将一些特殊字母转换为其对应的特殊大写字母。utf16 的包的函数就比较少了。

2023-05-17 18:15:56 62

原创 go标准包系列-io

根据 Go 语言中实现接口的定义,一个类型只要有 String() string 方法,我们就说它实现了 Stringer 接口。而在本节开始已经说到,如果格式化输出某种类型的值,只要它实现了 String() 方法,那么会调用 String() 方法进行处理。​ 定义了用于写入数据的基本方法。在 Go 1.16 之后,请使用 “os” 包中的 “os.ReadFile” 函数代替。在 Go 1.16 之后,请使用 “os” 包中的 “os.CreateTemp” 函数代替。

2023-05-16 11:17:01 359 1

原创 go的GC垃圾回收机制以及其他语言的垃圾回收机制比较

Go语言的垃圾回收机制采用了基于标记和清除(mark-and-sweep)算法的垃圾回收器。它通过跟踪所有分配的对象并确定哪些对象不再被引用来实现垃圾回收。以下是Go语言垃圾回收器的工作原理:标记阶段(Marking phase):从根对象开始遍历整个对象图,将所有可达的对象标记为活动的。根对象包括全局变量、调用栈、寄存器和常量等。在标记期间,GC会停止所有Goroutine的执行。清除阶段(Sweeping phase):遍历堆中的所有对象,将未被标记的对象清除掉,并将相应的内存返回给操作系统。

2023-03-22 17:47:56 181

原创 php中与数据库的函数

mysqli_real_escape_string():转义SQL语句中的特殊字符。mysqli_stmt_bind_param():绑定预处理语句的参数。mysqli_stmt_fetch():从预处理语句的结果集中获取一行。mysqli_field_name():返回结果集中指定列的列名。mysqli_num_fields():返回查询结果中的列数。mysqli_free_result():释放查询结果的内存。mysqli_num_rows():返回查询结果中的行数。

2023-03-20 14:45:50 340

原创 php中的sql防注入

addslashes 函数并不能转义所有可能引起 SQL 注入的字符。例如,使用 %、_、- 等字符可以进行模糊查询,而这些字符在 addslashes 函数中并没有被转义。如果用户已经对输入进行了转义,再使用 addslashes 函数可能会导致出现双重转义的问题,从而使字符串变得无效。addslashes 函数仅仅是将某些字符进行了转义,但并没有考虑到不同字符集的编码问题。如果使用的是非 ASCII 字符集,如中文、日语等字符集,那么 addslashes 函数可能会导致字符串变得无效或者出现乱码。

2023-03-17 10:03:33 1280

原创 go的包管理

go的包管理

2023-03-16 09:27:25 163 2

空空如也

空空如也

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

TA关注的人

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