Go总结(三)| 函数传值和传指针的区别

其实Go语言函数中所有的传参传递的都是拷贝。只不过有的copy是值类型的副本,有些copy是指针类型的副本。 Go语言实战 《Go语言实战》这本书有下面这两段描述。 内置类型是由语言提供的一组类型。我们已经见过这些类型,分别是数值类型、字符串类型和布尔类型。这些类型本质上是原始的类型。因此,当对这些值进行增加或者删除的时候,会创建一个新 ………

阅读全文

GoFast(零)| 为什么写这个WEB Framework

当前Go语言生态中的WEB开发框架已经有很多了,比如 gin、beego、iris 等,各有各的特点,经过这几年的沉淀已经足够优秀了。那我还不拿来主义直接用,还要再造个轮子干啥呢?大致是因为这几点考虑: gin足够简洁高效,但太简了,我需要继续封装点东西,方便后期开发 beego特性丰富,不过封装的层级太多,代码量大看着头晕,封装过多性能 ………

阅读全文

Go总结(二)| 类型占用内存大小探究

数据类型的本质是内存空间,每种语言都有大量丰富的预定义类型,以方便开发。每种数据类型究竟占用多少内存空间呢?我相信很多学编程的人并不十分清楚这个问题,然而要想写出高质量的代码、设计高效的数据结构、开发优良的底层工具类项目;对内存空间的了解就很有必要了,这样才能尽可能节省内存空间,提高CPU和缓存之间的命中率,进而提高核心代码的性能。 基础 ………

阅读全文

Go总结(一)| 数据类型的本质

每种编程语言都设计了自己的数据类型系统,数据类型的本质是什么? 我上大学才开始接触计算机的概念(太晚了),老师说现代计算机叫存储程序式计算机(冯诺依曼体系结构),现在我更直白的理解就是计算机是由CPU + IO设备组成的。IO设备就是数据,CPU就是对这些数据进进出出一顿算。我们常说的内存是IO设备的一种,IO设备种类繁多不好说清楚问题, ………

阅读全文

JSONP和CROS解决跨域请求

浏览器的同源安全策略 浏览器只允许请求当前域的资源,拒绝其它域的资源请求。下面这几个地方任何不一样就算是跨域: 请求协议http,https不同 域domain不同 端口port不同 解决浏览器跨域请求的问题,常见的做法是JSONP(json with padding 填充式json)和CROS(Cross-origin resource ………

阅读全文

XSS和CSRF简介和防范

XSS简介 XSS(Cross Site Script),即跨站脚本攻击;其原本缩写是 CSS,但为了和层叠样式表(Cascading Style Sheet)有所区分,在安全领域叫做 XSS。 XSS 攻击是指攻击者在网站上注入恶意的客户端代码,通过恶意脚本对客户端网页进行篡改,从而在用户浏览网页时,对用户浏览器进行控制或者获取用户隐私 ………

阅读全文

Vsftp && Sftp

Vsftp常见配置 一般来说需要加一个Linux系统用户,指定系统用户的默认跟目录就是ftp操作的目录,限制ftp用户登录之后只能对自己家目录的访问,其它目录不可随意访问。特殊情况也可以用root用户登录,打开家目录的限制,能访问全盘的文件。此时安全性较差,谨慎使用。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ………

阅读全文

VS开发基于Linux系统的应用

NOTE VS是常用的开发c/c++程序的IDE,然而如何开发运行在Linux上的程序呢?不用着急,VS很好的支持了,通过远程调试的方式开发基于Linux的应用。 首先就是设置开发环境。 参考下面的博客: https://www.cnblogs.com/apocelipes/p/11431808.html ………

阅读全文