- 博客(57)
- 资源 (1)
- 收藏
- 关注
原创 golang interface与其它类型转换
ee.Value.(*entry).value以上代码就是将ee.Value 的值转换为*entry的类型,并取其中的value的值
2021-12-16 15:04:41
562
原创 golang 中的type func()
go 语言中函数是一等公民,因此针对函数的使用也可以多种多样。在go语言中函数可以作为参数传递,也可以作为函数的返回值返回。function type就是一种典型的应用。关于type function 官方的定义如下A function type denotes the set of all functions with the same parameter and result types....
2021-12-01 10:07:26
1348
原创 golang 的各种for循环的写法
1. 标准的三段式循环package mainimport "fmt"func main() { sum := 0 for i := 0; i < 100; i++ { sum += i } fmt.Println(sum)}2. 使用range 遍历sclicepackage mainimport "fmt"func main() { values := []int{1,3,5,7,9} for _,value := range values.
2021-11-24 09:35:37
868
原创 vim 多行注释与取消注释
多行注释:按键盘上的ESC进入命令行模式 按Ctrl+V进入VISUAL BLOCK模式 利用上下左右键调整需要注释多少行以及行的宽度 再按Shift+i或s进入插入模式 输入代表注释的符号,比如// 再次按ESC键,这时就可完成多行注释(可能需要等上一会,不要着急) 多行取消注释...
2021-07-09 20:25:47
183
1
原创 golang 堆排序
func HeapSort(arr []int, start, end int) { first := start hi := end - start lo := 0 // 建堆 for i := hi / 2; i >= 0; i-- { heapify(arr, i, hi, first) } //数据pop for i := hi; i >= 0; i-- { Swap(&arr[first], &arr[first+i]) heapify(.
2021-06-19 00:31:08
91
原创 golang 的快速排序 归并排序和插入排序
晚上闲着无聊,写了一下golang里面常用的排序//快速排序func QuickSort(arr []int, start, end int) { if end <= start { return } pivot := partition(arr, start, end) QuickSort(arr, start, pivot-1) QuickSort(arr, pivot+1, end)}func partition(arr []int, start int, end
2021-06-18 22:43:39
109
原创 ubuntu 安装最新的nodejs
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -sudo apt install nodejs -y第一条命令制定版本
2021-05-14 21:22:47
169
原创 golang 判断接口是否已经实现
在golang代码中经常遇到判断某个结构体是否实现了接口,我们可以这样做:var _ = (Container)(&container{})定义一个结构体的匿名变量,将其转换为相应的接口类型,如上所示, Container为接口 container为实现接口的结构体...
2021-05-14 15:51:01
1087
原创 go 语言断言
1. 类型断言的格式接口断言类似于控制流中的if,但大量类型断言出现时,应使用更高效的类型分支switch特性。t := i.(T)i表示接口变量(断言对象),T表示要转换的目标类型(指定类型),t表示转换后的变量(指定类型接口)。此时,如果i没有实现T,这个语句会触发panic。因此,有以下改进写法:t, ok := i.(T)如果断言对象是指定的类型,则返回指定类型接口;如果不是指定的类型,断言的第二个参数将返回false。如果发生接口未实现,go将会把ok置为false,.
2021-05-14 12:05:39
1319
原创 google 输入法 ubuntu
https://blog.youkuaiyun.com/chan70707/article/details/82980499#t2
2021-04-12 21:43:36
107
原创 编程十诫
Understand and accept that you will make mistakes. 接受自己会犯错的事实 You are not your code.你和你的代码不是一体的。 No matter how much "karate" you know, someone else will always know more. 天外有天,人外有人。 Don't rewrite code without consultation.不要在没有经过咨询的情况下就重写代码。 Treat pe..
2020-11-20 21:38:07
155
原创 Go 语言设计模式系列之二——设计模式简介
从这篇开始将开始讨论设计模式,我们在日常开发代码的时候总是希望开发的代码可以被充分的复用,设计模式就是为了解决代码复用问题而提出的。在GoF的经典著作Design Patterns: Elements of Reusable Object-Oriented Softwar 中提出了23中设计模式,这23中设计模式描述了一些常见的问题并且提出了解决问题的模板即为设计模式,这些模板可以用在不同的上下文中。通过研究设计模式可以很好将解决客户需求转化为一个稳定的可复用的软件架构,因为设计模式是软件架构师必备...
2020-10-25 11:42:55
562
1
原创 Go 语言设计模式系列之一 ——Go 语言中的面向对象
计划写一系列基于golang语言面向对象和设计模式的文章,此系列将结合代码实现介绍一些常用的设计模式。本篇为开篇第一篇。首先介绍一下面向对象和go语言中面向对象的方法。面向对象 面向对象(OOP)的编程方法是当前高级语言编程比如C++, Java,python等常用的编程思想。面向对象的核心思想就是将代码分成许多小的对象(object),每个对象都有自己的属性和行为。属性描述了对象当前的状态,行为描述了对象可以做什么事情。行为通常被抽象成一个函数供调用,在OOP中这个函数也被称为方法(...
2020-10-22 17:17:03
783
3
原创 golang make 和New的区别
golang make 和New的区别make 只能用于 slice,map,channel数组、结构体和所有的值类型,使用newnew(T) 返回 T 的指针 *T 并指向 T 的零值。make(T) 返回的初始化的 T,只能用于 slice,map,channel。
2020-10-10 15:42:45
108
原创 golang redis and rabbitmq mqtt
package mainimport ( "context" "encoding/json" "fmt" "reflect" mqtt "github.com/eclipse/paho.mqtt.golang" "github.com/go-redis/redis/v8" "github.com/streadway/amqp")var ctx = context.Background()// RedisClient is a interface for any type of.
2020-09-29 17:14:28
333
原创 Go redis mqtt
packagemainimport("context""fmt"mqtt"github.com/eclipse/paho.mqtt.golang""github.com/go-redis/redis/v8")varctx=context.Background()typeRedisClientinterface{rclient()*redis.Clientset(c*redis.Client,key...
2020-09-24 17:16:34
169
原创 docker 禁止docker exec bin/bash
1.RUN echo 'root:Docker!' | chpasswdorRUN echo 'Docker!' | passwd --stdin root 2.For thebashcommand specifically, I added in the .bashrc file the commandexitat the end of the file, so the user logs in and finally kicked out, but users sti...
2020-08-28 00:43:57
2542
原创 go 语言环境搭建
1. sudo tar -C /usr/local -xzf go1.15.linux-amd64.tar.gz2. vi /etc/profileexport PATH=$PATH:/usr/local/go/bin3. go proxy (china only)go env -w GO111MODULE=ongo env -w GOPROXY=https://goproxy.io,direct4. go importsgo get -v golang.org/x/tools
2020-08-27 23:14:05
118
原创 vscode 配置
{"workbench.settings.editor": "ui",// 文本编辑器"editor.suggestSelection": "first","editor.renderControlCharacters": true,"editor.multiCursorModifier": "ctrlCmd","editor.snippetSuggestions": "top","editor.renderWhitespace": "all","editor.formatO
2020-05-10 22:55:20
365
原创 在Ubuntu18.04.3系统中安装谷歌拼音输入法(Google Pinyin)
https://blog.youkuaiyun.com/weixin_41360517/article/details/102631100
2020-05-09 13:23:12
661
原创 kube proxy debian buster
kube-proxy currently incompatible with `iptables >= 1.8#iptablesworkaroundregardingDebianBusteriptablesversion>1.8sudoupdate-alternatives--setiptables/usr/sbin/iptables-legacy...
2019-11-05 15:00:32
89
原创 seagate nas nfs no_root_squash
enable sshssh NAS via username/passwordchange read only modesudo mount -o rw,remount yaffs2 /Seagate NAS create NFS shares as root_squash. This makes is inconvenient to use it as linux back...
2019-11-04 13:56:45
466
转载 多CPU平台的docker 镜像
https://medium.com/@mauridb/docker-multi-architecture-images-365a44c26be6
2019-09-10 10:06:34
421
原创 mysql two many connections
https://serverfault.com/questions/791729/ubuntu-16-04-server-mysql-open-file-limit-wont-go-higher-than-65536
2017-11-08 15:01:47
264
转载 apt-get upate Hash Sum mismatch
在运行sudo apt-get update的时候遇到以下错误:[plain] view plain copyW: Failed to fetch bzip2:/var/lib/apt/lists/partial/mirrors.163.com_ubuntu_dists_quantal-updates_main_binary-i386_Pac
2016-12-12 17:17:36
264
原创 fdisk 磁盘分区
1. 分区root@gitlab:~# fdisk /dev/sdaDevice contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel with disk identifier 0xdfdc0daa.Changes will remain
2016-12-12 17:02:59
318
原创 一次阿里巴巴电话面试新更新
最近有点想换工作了所以公开了自己在51job上的简历。下午接到阿里电话说是晚上七点聊一聊。晚上七点接到电话感觉对方很不耐烦(MLGB时间不是你定的?)。上来聊了聊自己做过的项目,中间穿插了几个问题问的比较简单。后来重点聊了聊我在docker和kubernetes上面的项目。总体感觉是对方一副瞧不起人的姿态,感觉我低他一等。在阿里的都这样吗?如果觉得不合适为啥简历筛选的时候还过了呢,
2016-08-23 18:36:07
558
原创 k8s 监控使用外部influxdb
安装 influxdb1. wget https://s3.amazonaws.com/influxdb/influxdb-0.9.5.1-1.x86_64.rpm2. yum local install influxdb-0.9.5.1-1.x86_64.rpm3. 修改配置文件信息:/etc/influxdb/influxdb.confhostname = "10.5.254.
2016-06-29 17:25:09
2579
原创 ubuntu 开启伪静态
参考文章如下:http://www.cnblogs.com/flymood/p/4868401.html在ubuntu 下的设置方法为:用命令开启伪静态sudo a2enmod rewriteservice apache2 restart然后在/etc/apache2/apache2.config中设置访问的站点1
2016-06-28 17:00:10
1833
原创 kubernetes1.1.8 使用Deployment
1. 1.1 中Deployment 默认的是关闭的。激活需要更改kube-apiserver 的配置文件添加--runtime-config=extensions/v1beta1/deployments=true2. service kube-apiserver restart3. service kube-controller-manager restart 这步
2016-06-17 14:49:45
378
原创 kubernetes heapster influxdb
参考:https://github.com/kubernetes/heapster/blob/master/docs/influxdb.md注意:1. docker镜像被墙需要想办法拉取到自己的本地的dockerhub2. github上的是为loadbalaner 使用的如果是哟个nodePort或者externalIP需要改一个地方influxdb-grafana-co
2016-06-15 15:18:57
1871
原创 Cinder volume 挂载
GNU/LinuxFrom a shell issue the lsblk command, this will list the block devices you can use:admin@mariadb:~$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda 253:0 0 160G 0 disk
2016-06-03 10:56:14
1007
原创 haproxy
HAProxy is a network software application that offers high availability, load balancing, and proxying for TCP and HTTP network applications. It is suited for high traffic and powers many websites. Thi
2016-05-27 19:14:05
377
原创 k8s 部署
ubuntu 裸机部署遇到的一些问题1. 依赖包 etcd flannel 和k8s 本身是通过curl下载的,默认的下载地址被墙需要翻墙下载下来,并更改脚本download-release.sh2.运行安装命令的机器和master和minion之间要能ssh登录, ssh 登录最好设置成key免密码省去一些麻烦3. 各个机器预先安装好docker 和
2016-05-21 22:15:27
783
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人