- 博客(92)
- 资源 (4)
- 收藏
- 关注
转载 IaaS、SaaS 和 PaaS 的区别
如果你再进一步,购买某些在线论坛或者在线网店的服务,这意味着你也不用自己开发网站程序,只需要使用它们开发好的程序,而且他们会负责程序的升级、维护、增加服务器等,而你只需要专心运营即可,此即为SaaS。不采用云服务,你所需要的投入大概是:买服务器,安装服务器软件,编写网站程序。如果你采用IaaS服务,那么意味着你就不用自己买服务器了,随便在哪家购买虚拟机,但是还是需要自己装服务器软件。而如果你采用PaaS的服务,那么意味着你既不需要买服务器,也不需要自己装服务器软件,只需要自己开发网站程序。
2024-05-25 08:51:24
75
原创 SQL注入理解及防范
所谓SQL注入(sql inject),具体来说,是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。典型例子假如 user 表中有用户名为 123456 ,密码为 123456 的记录,而在前台页面提交表单的时候用户输入的用户名和密码是随便输入的,这样当然是不能登录成功的。
2023-06-21 15:15:05
1384
转载 CDN回源原理和CDN多级缓存
客户端浏览器先检查是否有本地缓存是否过期,如果过期,则向CDN边缘节点发起请求,CDN边缘节点会检测用户请求数据的缓存是否过期,如果没有过期,则直接响应用户请求,此时一个完成http请求结束;CDN的分流作用不仅减少了用户的访问延时,也减少的源站的负载。CDN边缘节点对开发者是透明的,相比于浏览器Ctrl+F5的强制刷新来使浏览器本地缓存失效,开发者在更新数据后,通过CDN服务商提供的“刷新缓存”接口,来强制CDN节点上的数据缓存过期,保证客户端在访问时,拉取到最新的数据。
2023-06-21 13:34:07
637
转载 beego之配置文件使用
beego之配置文件使用http://www.manongjc.com/detail/51-qwfpscyzomrnsyg.html
2023-04-23 15:58:33
254
原创 使用go mod模式进行开发安装第三方包冲突失败解决
关于gomod安装第三方包提示:"module declares it's path as: but was required as"解决办法
2022-11-14 10:23:54
1179
原创 docker入门
Docker 技术比虚拟机技术更为轻便、快捷。传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。...
2022-08-08 10:24:19
929
原创 Kibana报错:Kibana server is not ready yet
问题解决 - 访问kibana提示:Kibana server is not ready yet.
2022-01-26 14:30:43
39893
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
7436
2
原创 微服务初探
前言微服务化的架构确实是降低了各个软件模块间的耦合度,能更方便软件的开发,部署,测试。参考资料https://www.cnblogs.com/chy18883701161/p/12268803.html
2021-08-02 15:13:40
103
原创 nginx初探
基本概念 Nginx是一个高性能轻量级的HTTP和反向代理Web服务器,同时提供了IMAP/POP3/STMP服务。其特点是占用内存少,并发能力强,理想情况下能提供高达5W个并发连接。代理提到反向代理,就不得不说说正向代理,两者有什么区别的呢?正向代理:正向代理是客户端和其他所有服务器(重点:所有)的代理者。对于正向代理,任何客户端只要连接到该代理服务器,就可以通过代理访问任何的其他服务器,然后把数据返回给客户端,这里...
2021-08-02 15:07:18
270
原创 go - Go函数与C函数底层探究
前言无论是什么语言,函数都是最常被使用到的东西。我们对比一下 Golang 和 C 这两种语言的函数实现,进而我们能真正理解以下问题:(1)为什么 C 语言只能有一个返回值,而 Golang 中可以返回多个?正文在C语言中:① 主要通过寄存器传递参数所以,C 语言函数的性能杠杠的。寄存器是整个计算机体系结构中访问最最快的存储了。只有当参数数量大于 6 的时候,才开始使用栈。② 固定 eax 寄存器返回数据因为固定使用 eax 寄存器做返...
2021-07-30 18:19:26
142
原创 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
243
原创 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
106
原创 algorithm - 二分查找
简介 当我们要从一个序列中查找一个元素的时候,二分查找是一种非常快速的查找算法,二分查找又叫二分搜索或折半查找。 二分查找的思想非常简单,有点类似分治的思想。二分查找针对的是一个有序的数据集合,每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为 0。 它对要查找的序列有两个要求:一是该序列必须是有序的(即该序列中的所有元素都是按照大小关系排好序的,升序和降序都可以,本文假设是升序排列的);二是该序列必须是顺...
2021-07-21 23:30:00
282
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
643
原创 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
918
原创 UE - pixelStreaming初探
总览 利用像素流送可以在用户不可见的电脑上远程运行虚幻引擎应用程序。举例而言,这台电脑可以是机构中的一台实体电脑,也可以是云端服务提供的虚拟机。虚幻引擎将使用该电脑可用的资源(CPU、GPU、内存等)来运行游戏逻辑并渲染每一帧,并不断将此渲染输出编码到一个媒体流送中,再通过一个轻量级的网页服务堆栈进行传递,用户即可在其他电脑和移动设备上运行的标准网页浏览器中查看直播流送。对于用户而言,这种体验就像是在YouTube或Netflix上观看视频流送,但有2点例外: 流送并非播放...
2021-07-20 17:34:59
1337
原创 [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
1202
原创 NodeJS - net模块初探
简介net模块是nodejs通讯功能实现的基础,nodejs中最常用的功能就是作为WebServer使用,建立服务器时使用的http.createServer就是在net.createServer方法的基础上建立的。前端最熟悉的http协议属于应用层协议,应用层的内容想要发送出去,还需要将消息逐层下发,通过传输层(tcp,udp),网际层(ip)和更底层的网络接口后才能被传输出去。net模块就是对分层通讯模型的实现。 net模块中有两大主要抽象概念——net.Server...
2021-07-20 10:40:48
565
2
原创 HTTP - 协议初探
简介 超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。 HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。 HTTP是基于B/S架构进行通信的。HTTP的服务器端实现程序有httpd、nginx等;其客户端的实现程序主要是Web浏览器,例如Firefo...
2021-07-13 11:49:37
184
原创 WebSocket - 协议初探
简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议。其使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。背景 很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器...
2021-07-13 11:48:42
288
原创 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
2354
原创 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
147
基于线程池的高并发服务器演示代码.rar
2019-07-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人