自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (4)
  • 收藏
  • 关注

原创 SQL注入理解及防范

所谓SQL注入(sql inject),具体来说,是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。典型例子假如 user 表中有用户名为 123456 ,密码为 123456 的记录,而在前台页面提交表单的时候用户输入的用户名和密码是随便输入的,这样当然是不能登录成功的。

2023-06-21 15:15:05 1282

转载 CDN回源原理和CDN多级缓存

客户端浏览器先检查是否有本地缓存是否过期,如果过期,则向CDN边缘节点发起请求,CDN边缘节点会检测用户请求数据的缓存是否过期,如果没有过期,则直接响应用户请求,此时一个完成http请求结束;CDN的分流作用不仅减少了用户的访问延时,也减少的源站的负载。CDN边缘节点对开发者是透明的,相比于浏览器Ctrl+F5的强制刷新来使浏览器本地缓存失效,开发者在更新数据后,通过CDN服务商提供的“刷新缓存”接口,来强制CDN节点上的数据缓存过期,保证客户端在访问时,拉取到最新的数据。

2023-06-21 13:34:07 359

转载 使用CDN加速OSS访问的优势

参考文章:

2023-06-21 12:06:06 269

转载 beego之配置文件使用

beego之配置文件使用http://www.manongjc.com/detail/51-qwfpscyzomrnsyg.html

2023-04-23 15:58:33 196 1

原创 vim使用技巧

Vim使用

2022-11-25 17:38:28 566

原创 golang中的类型比较

golang类型比较

2022-11-16 23:45:24 444

原创 grep命令实操

grep命令使用解析

2022-11-16 12:26:22 3404

原创 go - rune类型

go编程之rune类型解析

2022-11-15 10:08:17 1308

原创 git 恢复未add的文件 执行了reset --hard

git 恢复未add的文件

2022-11-14 11:20:32 2861 2

原创 使用go mod模式进行开发安装第三方包冲突失败解决

关于gomod安装第三方包提示:"module declares it's path as: but was required as"解决办法

2022-11-14 10:23:54 909

原创 go语言字符类型byte与rune

go语言字符类型byte与rune入门

2022-10-13 12:28:04 548

原创 git merge与git rebase详解

git merge与git rebase详解

2022-08-10 18:00:03 4378 1

原创 go - flag包(处理命令行参数小能手)

golang标准库提供了 flag包 来专门处理命令行参数,灵活、方便、还实用!

2022-08-09 11:23:28 677

原创 docker入门

Docker 技术比虚拟机技术更为轻便、快捷。传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。...

2022-08-08 10:24:19 820

原创 Mac 文本对比工具(比较两份文件差异)

macos 文本对比工具,比较两份文件文本内容差异

2022-03-11 11:45:53 10686 1

原创 Mac 文件文本16进制数据查看

macos下,文件文本16进制数据内容查看

2022-03-11 11:34:16 1611

原创 gorm - database操作利器

ORM利器之GORM入门指南 [golang]

2022-02-18 19:09:22 1155

原创 一个好用的在线加解密验证工具网站

http://tool.chacuo.net/cryptaes

2022-02-17 18:59:53 1551

原创 Kibana报错:Kibana server is not ready yet

问题解决 - 访问kibana提示:Kibana server is not ready yet.

2022-01-26 14:30:43 39082 7

原创 elasticSearch - es报错:exception [type=search_phase_execution_exception, reason=all shards failed]

背景: 在做es聚合查询时,遇到了如下问题:exception [type=search_phase_execution_exception, reason=all shards failed]结论: 查询语句中,字段类型使用错误,在es中查询字段类型为int,而查询语句中错误地用成了string。 ...

2021-12-13 09:58:12 7305 2

原创 go - map

golang中的map

2021-08-02 15:23:39 75

原创 微服务初探

前言微服务化的架构确实是降低了各个软件模块间的耦合度,能更方便软件的开发,部署,测试。参考资料https://www.cnblogs.com/chy18883701161/p/12268803.html

2021-08-02 15:13:40 78

原创 nginx初探

基本概念 Nginx是一个高性能轻量级的HTTP和反向代理Web服务器,同时提供了IMAP/POP3/STMP服务。其特点是占用内存少,并发能力强,理想情况下能提供高达5W个并发连接。代理提到反向代理,就不得不说说正向代理,两者有什么区别的呢?正向代理:正向代理是客户端和其他所有服务器(重点:所有)的代理者。对于正向代理,任何客户端只要连接到该代理服务器,就可以通过代理访问任何的其他服务器,然后把数据返回给客户端,这里...

2021-08-02 15:07:18 217

原创 go - 空结构体

参考资料https://zhuanlan.zhihu.com/p/351176221

2021-07-31 19:47:41 309

转载 go - 第三方库 go-sql-driver 源码浅析

参考资料http://adkx.net/wm4uu

2021-07-30 18:22:28 82

原创 go - Go函数与C函数底层探究

前言无论是什么语言,函数都是最常被使用到的东西。我们对比一下 Golang 和 C 这两种语言的函数实现,进而我们能真正理解以下问题:(1)为什么 C 语言只能有一个返回值,而 Golang 中可以返回多个?正文在C语言中:① 主要通过寄存器传递参数所以,C 语言函数的性能杠杠的。寄存器是整个计算机体系结构中访问最最快的存储了。只有当参数数量大于 6 的时候,才开始使用栈。② 固定 eax 寄存器返回数据因为固定使用 eax 寄存器做返...

2021-07-30 18:19:26 112

原创 go - 汇编

使用.go使用 go tool 生成汇编// 为了方便查看,使用 -N -l 参数,能阻止编译器对汇编代码的优化> go tool compile -S -N -l main.go > main.s参考资料http://adkx.net/wm4we

2021-07-30 18:11:40 132

原创 go - new与make

new描述 new()是Go的内置函数。其作用是初始化一个指向类型的指针(*T),使用new()来分配内存空间,返回值是一个指向新分配类型零值的指针。注意 ① new()的参数是一个类型而不是一个值。 ② new创建的内存空间位于heap上。 ③ new(T) 和&T{}是等效的。语法func new(Type) *Type使用示例p := new(int) //p is '*int'make...

2021-07-30 16:16:03 79

原创 algorithm - 二分查找

简介 当我们要从一个序列中查找一个元素的时候,二分查找是一种非常快速的查找算法,二分查找又叫二分搜索或折半查找。 二分查找的思想非常简单,有点类似分治的思想。二分查找针对的是一个有序的数据集合,每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。 它对要查找的序列有两个要求:一是该序列必须是有序的(即该序列中的所有元素都是按照大小关系排好序的,升序和降序都可以,本文假设是升序排列的);二是该序列必须是顺...

2021-07-21 23:30:00 230 1

原创 go - channel初探

无缓冲channel特点若只有读端没有写端,那么读端阻塞;反之亦然。无缓冲 channel,发送者会阻塞直到接收者接收了发送的值,所以是“同步”的。声明无缓冲channel的方式:不设置缓冲大小或者设置为 0。// 举例c := make(chan string)// <==>c := make(chan string, 0)内部结构channel 的结构体hchan被定义在runtime包中的chan.go文件中(忽略了hchan结构体中和缓冲相关的属性

2021-07-21 18:35:05 534

原创 UE - pixelStreaming多实例多用户情况下的负载均衡

/// MatckMaker.jsfunction getAvailableCirrusServer() { // 若有闲置WebServer,则使用闲置Server for (cirrusServer of cirrusServers.values()) { if (cirrusServer.numConnectedClients === 0) { return cirrusServer; } } // 若没有闲置WebServer,则使用负载量较小的Server let.

2021-07-21 16:04:55 747

原创 UE - pixelStreaming初探

总览 利用像素流送可以在用户不可见的电脑上远程运行虚幻引擎应用程序。举例而言,这台电脑可以是机构中的一台实体电脑,也可以是云端服务提供的虚拟机。虚幻引擎将使用该电脑可用的资源(CPU、GPU、内存等)来运行游戏逻辑并渲染每一帧,并不断将此渲染输出编码到一个媒体流送中,再通过一个轻量级的网页服务堆栈进行传递,用户即可在其他电脑和移动设备上运行的标准网页浏览器中查看直播流送。对于用户而言,这种体验就像是在YouTube或Netflix上观看视频流送,但有2点例外: 流送并非播放...

2021-07-20 17:34:59 1101

原创 [UE]pixelStreaming - Chrome浏览器无法自动播放音频视频的问题,Uncaught(in promise) DOMException

问题描述 Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.问题背景 现有 a.html 和 b.html 两个网页,通过点击a.html 中的按钮跳转到b.html,其中b.html 是pixelStreaming的像素流送前端显示界面。 在实际测试时,发现跳转到 b.html 后U...

2021-07-20 11:10:51 1006

原创 NodeJS - net模块初探

简介net模块是nodejs通讯功能实现的基础,nodejs中最常用的功能就是作为WebServer使用,建立服务器时使用的http.createServer就是在net.createServer方法的基础上建立的。前端最熟悉的http协议属于应用层协议,应用层的内容想要发送出去,还需要将消息逐层下发,通过传输层(tcp,udp),网际层(ip)和更底层的网络接口后才能被传输出去。net模块就是对分层通讯模型的实现。 net模块中有两大主要抽象概念——net.Server...

2021-07-20 10:40:48 527 2

原创 HTTP - 协议初探

简介 超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。 HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。 HTTP是基于B/S架构进行通信的。HTTP的服务器端实现程序有httpd、nginx等;其客户端的实现程序主要是Web浏览器,例如Firefo...

2021-07-13 11:49:37 153

原创 WebSocket - 协议初探

简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议。其使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。背景 很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器...

2021-07-13 11:48:42 209

原创 js - 点击按钮关闭当前网页探究

简介 通过 window.close() 函数可以实现关闭网页的功能。接口介绍提到 window.close() 就难免的要说道 window.open() :语法: window.open(URL,name,features,replace)// 在新标签页中打开一个空白网页window.open('');// 在当前网页的标签页中打开一个空白网页window.open("about:blank","_self");// 在新标签页中打开百度首页w...

2021-07-13 10:54:34 2202

原创 Zdog - 3D engine of JS

简介Zdog is a 3D JavaScript engine for<canvas>and SVG. With Zdog, you can design and render simple 3D models on the Web. Zdog is apseudo-3D engine. Its geometries exist in 3D space, but are rendered as flat shapes. This makes Zdog special.Zdog i...

2021-07-13 10:07:28 106

原创 vscode 内置terminal终端在执行编译语句时闪退解决方法

在Settings.json中最后一行添加如下: "terminal.integrated.shell.osx": "/bin/bash"

2021-07-04 23:25:25 1240

原创 js - 获取当前电脑日期时间

// 样式:2021-06-30 18:15:50function getNowTime() { let t = new Date(); let fn1 = (d) => ('0'+d).substr(-2); let date = t.getFullYear()+'-'+fn1(t.getMonth()+1)+'-'+fn1(t.getDate()); //2021-06-30 let time = t.toLocaleTimeString('chinese', { hour12: fa.

2021-06-30 18:19:24 207

go Demo - test0325.rar

# vscode配置go开发调试环境所用小demo

2021-03-25

go1.16.2.windows-amd64.rar

# golang 1.16.2 windows 安装包

2021-03-25

网络编程之文件服务器.rar

网络编程之文件服务器;网络编程之文件服务器。 说明:支持断点续传。

2019-07-02

基于线程池的高并发服务器演示代码.rar

基于线程池的高并发服务器演示代码。 1、基于线程池设计的高并发服务器测试用例 server/main.c 2、测试高并发服务器的客户端 client.c

2019-07-02

空空如也

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

TA关注的人

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