#GO

MongoDB数据库遭大规模勒索攻击,被劫持26000多台服务器 #精选GITHUBMYSQL

昨天,一个大新闻爆出,MongoDB数据库叕被攻击了。就在上周末,三个黑客团伙劫持了MongoDB逾26000多台服务器,其中规模最大的一组超过22000台。  此次攻击由安全专家DylanKatz和VictorGevers发现,被他们称为是“MongoDB启示录”的延续。所谓的“MongoDB启示...

Golang---反射(reflect)

  摘要:今天我们来学习一下golang中的反射,这个是golang语言中的一大利器。  Go语言提供了一种机制在运行时更新变量和检查它们的值、调用它们的方法,但是在编译时并不知道这些变量的具体类型,这称为反射机制--《Go语言圣经》需要使用反射的两个常见场景 1:有时...
代码星球 ·2021-01-09

golang--交替打印一个数组中的元素

  摘要:今天面试中,面试官让写两个goroutine交替打印一个数组中的元素,没有写出来,所以今天总结一下:packagemainimport("fmt""time")vararr=[5]int{1,2,3,4,5}funcg1(chchanbool){fori:=0;i<5;i++{ch&...

Golang---基本类型(interface)

  摘要:今天我们来学习Golang中的interface类型。 interface是一种类型typeAnimalinterface{SetName(string)GetName()string} 首先interface是一种类型,从它的定义中就可以看出用了type关键字,更准确...

Golang---基本类型(map)

 摘要:今天我们来学习Golang中的另外一种常用的数据类型,通过数据结构和源码来分析golang中的map是如何实现的。 bucketCntBits=3bucketCnt=1<<bucketCntBits//Maximumaverageloadofabucketthattriggers...
代码星球 ·2021-01-09

Golang---基本类型(slice)

 摘要:今天我们来学习Golang中的一个基本的数据结构slice,这个和C++中的vector容器思想基本一致,是一个容量可变的数组,那我们就来看下它和array的区别和联系,并对其中的典型操作给出分析。 //StringHeaderistheruntimerepresentationofastr...
代码星球 ·2021-01-09

Golang---基本类型(string)

  摘要:由于在实习过程中,做的项目都是基于Golang语言,所以在面试时,面试官也一定会理所当然的问Golang,所以在最近一段时间,主要学习这门语言的基础知识,以及常出的面试题。  字符串虽然在Go语言中是基本类型string,但是它实际上是由字符组成的数组,类似于C语言中的...

Golang---内存逃逸

 摘要:今天我们来了解一下Golang中的内存逃逸的概念。 引言:写过C/C++的同学都知道,调用著名的malloc和new函数可以在堆上分配一块内存,这块内存的使用和销毁的责任都在程序员。一不小心,就会发生内存泄露,搞得胆战心惊;切换到Golang后,基本不会担心内存泄露了。虽然也有new函数,但...
代码星球 ·2021-01-09

Golang---内存管理(内存分配)

 摘要:上次我们学习了Golang的goroutine调度策略,今天我们来学习Golang的内存管理策略。内存池 最直接的方式是调用malloc函数,指定要分配的大小,直接向操作系统申请。问题是这种方式会涉及到用户态和内核态的切换过程,那么频繁的切换就会带来很大的性能下降,我们要减少用户态和内核态的...

Golang---GMP调度策略

摘要:Go能很好的在用户空间支持并发模型,这也是Go如此火热的原因,那今天我们来学习Go的调度机制。G结构体 G是goroutine的缩写,相当于操作系统中的进程控制块,在这里就是goroutine的控制结构,是对goroutine的抽象,下面是G的结构(只列出了部分与调度有关的)://用于保存上下文的gob...
代码星球 ·2021-01-09

Golang---Channel

 摘要:今天我们来学习Go语言中channel,这是Go语言中非常重要的一个特性。 创建 在使用channel之前需要使用make来创建一个channel,如果在使用之前没有使用make,则会造成死锁(原因在后面死锁部分进行说明)ch:=make(chanint)//创建无缓冲的chann...
代码星球 ·2021-01-09

Gorm 常用操作总结

摘要:由于在实习的工作中,采用的是Go语言,数据库操作采用的ORM框架是Gorm,所以就来总结一下使用过程中遇到的一些问题。Save当匹配主键的数据不存在时,它的效果是插入一条新数据,而当匹配的主键存在时,则更新全部字段。无论字段是否做了修改或者是定义类型的默认值。packagemodelconstUserTable=...
代码星球 ·2021-01-09

Golang---sort包

  Go语言标准库sort包中实现了几种基本的排序算法:插入排序、快速排序和堆排序,但是在使用sort包进行排序时无需具体考虑使用哪种排序方式,因为该方法会根据传入的排序的数据量来进行自动选择合适的排序算法。funcinsertionSort(dataInterface,a,bint)//插入排序funcheapSor...
代码星球 ·2021-01-09

Golang---序列化和反序列化

  我们的数据对象要在网络中传输或保存到文件,就需要对其编码和解码动作,目前存在很多编码格式:json,XML,Gob,GoogleProtocolBuffer等,Go语言当然也支持所有这些编码格式。  序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状...
代码星球 ·2021-01-09

Golang---BASE64编码原理

  Base64是一种基于64个可打印字符来表示二进制数据的表示方法。在Base64中可打印字符包括字母A-Z,a-z,数字0-9,这样共有62个字符,另外两个可打印符号在不同的编码系统中不同。由于2^6=64,所以每6个比特为一个单元,对应某个可打印字符。比如:3个字节(ASCII表示)有24个比特,可由4个Base...
代码星球 ·2021-01-09
首页上一页...3839404142...下一页尾页