后台开发
文章平均质量分 51
longtails
:(){ :|:& };: 术业专攻
展开
-
k8s client-go 之 依赖问题解决
k8s client-go依赖问题解决记一次go mod依赖版本不一致的解决过程克隆下client-go的工程,并checkout对应kubernetes版本上,可以直接使用example中的例子,但是在自定义开发时遇到了接口不一致问题,很明显这是依赖版本问题所致。我们使用client-go/examples/create-update-delete-deployment的例子测试测试环境...原创 2019-12-09 10:35:09 · 12822 阅读 · 1 评论 -
用awk过滤docker容器ip
脚本#!/bin/bash#docker ps |awk '{if($2=="hyperledger/fabric-kafka") print $1}'#docker ps |awk '{if($2=="hyperledger/fabric-kafka"){ print $1;cmd="docker exec "$1" ifconfig";system(cmd);}}'|grep ad...原创 2018-11-10 22:16:31 · 1006 阅读 · 0 评论 -
树莓派小车-Go调用C
Go调用C 过年在家无聊,玩起了大学买的小车,想通过网页操作小车的前进后退转弯, 但是小车的驱动是C写的,而web服务想用Go写,故需要Go调用C.Go调用C#include <stdio.h>int helloFromC() { printf("Hi from C\n"); return 0;}package main/*extern ...原创 2019-02-18 09:24:23 · 433 阅读 · 0 评论 -
go语言的坑
for-rangepackage mainimport "fmt"func main() { slice := []int{0, 1, 2, 3} mp := make(map[int]*int) fmt.Println("for range 坑") for index, value := range slice { mp[index] = &value } ...原创 2019-03-20 09:47:33 · 648 阅读 · 0 评论 -
golang面试问题集锦
启动两个线程,合并输出到stdout要求用java wait notify,但不会用java,这里用go的channel实现了一下。package mainimport "fmt"func main() { ch1 := make(chan int) ch2 := make(chan int) go func() { for i := 0; i < 10; i++ ...原创 2019-03-20 10:04:32 · 2595 阅读 · 0 评论 -
Go-panic&recover
Go-panic&recoverpanic引发运行时恐慌,并沿函数调用栈的逆顺序返回,直到该goroutine顶层,函数的defer会在返回前调用处理,同时也之后出发panic之前的defer。recover能够捕获panic,若能够处理该问题,则会正常结束,不会再向上传递panic,若处理不了可以重新触发panic。package mainimport "fmt"func ma...原创 2019-03-31 15:28:21 · 320 阅读 · 0 评论 -
Go复习笔记1-duck typing&闭包
Go的特别之处:Go中没有“对象”,没有继承多态,没有范型,没有try/catch;有接口,函数式编程,CSP并发模型(goroutine+channel)。大纲:面向接口:结构体,duck typing的概念,组合的思想函数式编程:闭包的概念工程化:资源管理、错误处理、测试和文档、性能调优并发编程:goroutine和channel,理解调度器实战:分布式爬虫基础函数外变量...原创 2019-05-04 22:31:48 · 281 阅读 · 0 评论 -
Go复习笔记2-错误处理、测试&文档
本节是学习imooc/Google资深工程师深度讲解Go语言收获最大的部分,尤其是错误处理封装函数,以及对http的测试处理部分。资源管理和错误处理defer调用:确保调用在函数结束时发生(return甚至panic都可以)参数在defer语句时计算defer列表为后进先出何时使用defer调用:Open/ClseLock/UnlockPrintHeader/PrintFo...原创 2019-05-04 22:40:42 · 248 阅读 · 0 评论 -
Go复习笔记3-并发(goroutine&channel)
goroutine协程Coroutine:轻量级“线程”非抢占式多任务处理,由协程主动交出控制权编译器/解释器/虚拟机层面的多任务多个协程可能在一个或多个线程上运行自程序是协程的一个特例协程非抢占式:package mainimport ( "fmt" "runtime" "time")func main(){ var a[10]int for i:=0;i...原创 2019-05-04 22:46:31 · 254 阅读 · 0 评论 -
Go复习笔记4-一些标准库
http使用http客户端发送请求使用http.Client控制请求头部等使用httputil简化工作package mainimport ( "fmt" "net/http" "net/http/httputil")func main() { req,err:=http.NewRequest(http.MethodGet, "http://www.baidu.c...原创 2019-05-06 22:22:11 · 172 阅读 · 0 评论 -
Go复习笔记5-实现广度优先
广度优先算法为爬虫做好准备,爬虫内部真正的核心就是一个bfs应用广泛,综合性强面试常见bfs用队列实现。广度优先搜索走迷宫:用循环创建二维slice,(一直是这个了)使用slice来实现队列,(这个可以借鉴,不是非得用容器的)使用Fscanf读取文件对point的抽象输入:6 50 1 0 0 00 0 0 1 00 1 0 1 01 1 1 0 00 1...原创 2019-05-07 10:20:37 · 189 阅读 · 0 评论 -
用汇编分析go的defer闭包处理
用汇编分析go的defer闭包处理首先如下代码是我在网上看到的关于defer的代码,当时判断错了很多。package mainimport _ "fmt"func main() { a := DeferFunc1(1) b := DeferFunc2(1) c := DeferFunc3(1) println(a) //4 println(b) //1 println(c)...原创 2019-06-08 21:28:33 · 602 阅读 · 0 评论 -
supervisor 监控进程
supervisor监控进程安装 sudo apt-get install supervisor创建socket文件 sudo touch var/run/supervisor.sock配置文件; supervisor config file[unix_http_server]file=/var/run/supervisor.sock ; (the path to th...原创 2018-03-18 10:56:24 · 455 阅读 · 0 评论 -
Thrift
thrift_rpc安装thrift go get git.apache.org/thrift.git/lib/go/thrift sudo apt-get install thrift-compiler定义thrift service并生成对应语言的代码namespace go rpc// 测试服务service RpcService { // 发起远程调用 ...原创 2018-03-18 10:57:38 · 381 阅读 · 0 评论 -
生成go包依赖图
利用godepq生成包依赖,分析代码安装 go get github.com/google/godepqgodepq依赖 sudo apt install graphviz生成依赖图 godepq -from github.com/google/godepq -o dot | dot -Tpng -o test.png ...原创 2018-03-12 10:30:23 · 2963 阅读 · 0 评论 -
基于物品的协同过滤算法实现
基于物品的协同过滤算法实现本内容主要通过一个算例实现学习itemCF的推荐,包括实现的基本步骤。基于物品的协同过滤算法实现 1.计算物品之间的相似度 -&amp;amp;gt;通过同现矩阵实现 2.根据物品的相似度和用户的历史行为给用户生成推荐列表算例实现一个简单的电影网站的推荐算法,数据集合中有电影、用户、及用户对电影的评价数据集采用MovieLens中的small.csv...原创 2018-06-04 19:13:24 · 3009 阅读 · 1 评论 -
发送邮件&短信(网易云信)
利用curl发送邮件&发送短信(网易云信平台)原创 2017-03-12 23:07:19 · 6830 阅读 · 0 评论 -
Socket 网络通讯
Socket 网络通讯 主要内容:socket基于tcp建立通讯。建立通过简述,待续。server#include&amp;lt;sys/socket.h&amp;gt;#include&amp;lt;sys/types.h&amp;gt;#include&amp;lt;netinet/in.h&amp;gt;#include&amp;lt;netdb.h&原创 2017-04-04 10:36:35 · 522 阅读 · 0 评论 -
http服务-搭建简易的http服务器
http服务-搭建简易的http服务器仅仅实现了Post和Get,也就简单的使用了 200 OK,100-continue和发送http格式的文本而已,其实我们只要按照HTTP协议收发数据即可。先来一张做http上传功能时的意外收获,也是待会我们的测试图片 浏览器访问我们所建立的链接 其实就是要返回一段http协议要求的内容即可,当然首先我们要建立一个监听//建立监听,比较简单,看文末尾贴出的代原创 2016-08-13 18:31:32 · 18593 阅读 · 6 评论 -
mysql with c++ in ubuntu16.04
mysql with c++ in ubuntu16.04更新:error:Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)解决办法-配置my.cnf原创 2017-03-14 13:59:22 · 1348 阅读 · 0 评论 -
mysql局域网连接设置——Windows
mysql局域网连接设置——Windows授权 1、mysql -uroot -p 2、use mysql; 3、grant all privileges on . to ‘root’@’%’ identified by ‘password’with grant option; 4、flush privileges; 尝试远程登录 1、授权完成后,尝试远程登录。 2、如果失败,尝试关原创 2016-08-17 10:13:45 · 2128 阅读 · 0 评论 -
Apache Kafka 笔记
Apache Kafka一个分布式的消息发布-订阅系统,具有可扩展性、数据分区、低延迟、处理大量不同消费者的能力。消息队列 点对点通讯多点广播发布/订阅(publish/subscribe)模式 发送接收者耦合关系松散化,只关心主题和内容,无关地址集群(cluster) 域内用集群通道通讯,并且自动负载均衡Apache Kafka术语 1.brok...原创 2018-03-18 10:54:44 · 264 阅读 · 0 评论