- 博客(31)
- 收藏
- 关注
原创 spark executor日志无法写入
spark_logging.py:import loggingimport logging.configimport osLOG_FILE="./xxx.log"def getLogger(name): directory = os.path.dirname(LOG_FILE) try: os.stat(directory) except: os.mkdir(directory) log_settings = {
2020-11-26 20:28:10
506
原创 golang json inline用法
package mainimport ( "encoding/json" "fmt")type Project struct { Key string `json:"key"` Value string `json:"value"`}type JiraHttpReqField struct { Project `json:",inline"` Summar...
2020-01-21 17:07:22
12933
1
原创 glang template使用
test.template{{. | printadd}}{{. | printupdate}}{{. | printdel}}test.gopackage mainimport ( "fmt" "html/template" "os")type TemplateInfo struct { OperateType string NewRecord str...
2019-02-19 12:24:31
282
转载 golang fatal error: concurrent map read and map write
go语言切片slice的线程协程安全问题一、map并发读写问题如果map由多协程同时读和写就会出现 fatal error:concurrent map read and map write的错误如下代码很容易就出现map并发读写问题func main(){c := make(map[string]int) Go func() {//开一个协程写map ...
2018-11-06 16:43:59
1381
转载 golang defer return执行先后顺序
Go语言中延迟函数defer充当着 cry...catch 的重任,使用起来也非常简便,然而在实际应用中,很多gopher并没有真正搞明白defer、return和返回值之间的执行顺序,从而掉进坑中,今天我们就来揭开它的神秘面纱!先来运行下面两段代码:A. 无名返回值的情况 package main import ( "fmt" ) ...
2018-11-06 16:42:02
1326
原创 mysql ERROR 1045 (28000): (using password: YES)问题解决
限制ip连接范围了,只限制本地连接查看用户:mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;+--------------------------------------+| query |+-
2017-12-22 12:27:55
1673
转载 time.After 在select-case中使用的正确姿势
前言select 的语法如下所示每个case都必须是一个通信所有channel表达式都会被求值所有被发送的表达式都会被求值如果任意某个通信可以进行,它就执行;其他被忽略。如果有多个case都可以运行,Select会随机公平地选出一个执行。其他不会执行。 否则:如果有default子句,则执行该语句。如果没有default字句,select将阻塞,直到某个通信可以运行;Go不
2017-11-16 12:07:59
1364
转载 移动场景下通信协议Json,FlatBuffers、ProtocolBuffers、MessagePack选优
写文章注册登录首页下载App移动场景下通信协议FlatBuffers、ProtocolBuffers、MessagePack选优 爱唱歌的王小猫 关注2017.04.05 19:26 字数 2828 阅读 562评论 0喜欢 2大家都知道JSON是纯文本协议,优点是可读性高,使用
2017-11-15 17:51:43
986
原创 日志采集系统filebeat输出到logstash配置
关于elk框架介绍参考链接:https://www.zybuluo.com/dume2007/note/665868filebeat输出到logstash(filebeat汇集日志数据到logstash)filebeat配置:/etc/filebeat/filebeat.yml修改配置filebeat.yml:- input_type: log #
2017-11-03 16:46:49
11783
原创 golang修改struct数组问题
struct数组修改结构体值:// 11111111 project 11111111.gopackage mainimport ( "fmt")type Bid struct { CRID string ImpID string}func main() { bid1 := Bid{ CRID: "222", ImpID: "aaa", } bid2 :
2017-09-26 18:27:35
11502
原创 golang DES跟base64相结合加解密
// DEStest project DEStest.go//注意base64对中文不同编码加解密结果不一样,即UTF-8跟GBKpackage mainimport ( "bytes" "crypto/cipher" "crypto/des" "encoding/base64" "fmt" "github.com/axgle/mahonia")//DES加密func
2017-06-19 16:41:51
2350
原创 golang 匿名函数用法
// http://studygolang.com/articles/3756package mainimport ( "fmt")func main() { c := func() int { fmt.Printf("func 1\n") return 555555 } fmt.Println(c
2017-03-15 12:26:25
1820
原创 golang生成唯一标识id
package mainimport ( "crypto/md5" "crypto/rand" "encoding/base64" "encoding/hex" "fmt" "io")//生成32位md5字串func GetMd5String(s string) string {
2017-03-03 11:29:10
18474
原创 golang reflect简单使用
C:/Go/bin/go.exe build -i [F:/Go/src/reflect]成功: 进程退出代码 0.F:/Go/src/reflect/reflect.exe [F:/Go/src/reflect]stringthis is string-------------------float643.4-------------------&{fjgui
2017-02-22 17:09:45
511
原创 golang grpc服务端客户端简单源码实现
协议hello.proto 文件:syntax = "proto3";package hello;message HelloRequest { string greeting = 1;}message HelloResponse { string reply = 1; repeated int32 number = 4;}
2017-02-16 18:32:11
1285
转载 golang中并发sync和channel
golang中实现并发非常简单,只需在需要并发的函数前面添加关键字"go",但是如何处理go并发机制中不同goroutine之间的同步与通信,golang 中提供了sync包和channel机制来解决这一问题.sync 包提供了互斥锁这类的基本的同步原语.除 Once 和 WaitGroup 之外的类型大多用于底层库的例程。更高级的同步操作通过信道与通信进行。typ
2016-09-03 15:45:49
2131
原创 Go tcp通信
//server端package mainimport ( "fmt" "net" "os" "strconv" "strings" "time" //"io/ioutil")func main() { service := "localhost:7777" tcpAddr, err := net.ResolveTCPAddr("tcp4", service) c
2016-08-11 21:37:30
921
转载 如何处理被中断的系统调用
1. 术语1.1. 慢系统调用(Slow system call)该术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用永远无法返回,多数网络支持函数都属于这一类。如:若没有客户连接到服务器上,那么服务器的accept调用就会一直阻塞。慢系统调用可以被永久阻塞,包括以下几个类别:(1)读写‘慢’设备(包括pipe,终端设备,网络连接等)。读时,数据不存在
2016-08-05 17:36:41
3160
转载 STL实现的底层数据结构简介
C++ STL 的实现:1.vector 底层数据结构为数组 ,支持快速随机访问2.list 底层数据结构为双向链表,支持快速增删3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问4.stack 底层一般用23实现,封闭头部即可,不用vector的原因应该是容量大小有限
2016-08-05 15:26:50
385
转载 关于socket阻塞与非阻塞情况下的recv、send、read、write返回值
recv:阻塞与非阻塞recv返回值没有区分,都是 0接收到数据大小,特别:非阻塞模式下返回 值 只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻塞着读,因此需要 循环读取。write:阻塞与非阻塞write返回值没有区分,都是 0发送数据大小,特别:非阻塞模式下返回值 只是阻塞模式下write会阻塞着发送数据,非阻塞模式下如果暂时无法发送
2016-08-05 11:11:36
270
转载 IO之阻塞与非阻塞比较
在网络程序中遇到的一些问题进行了总结, 这里主要针对的是我们常用的TCP socket相关的总结, 可能会存在错误, 有任何问题欢迎大家提出.对于网络编程的更多详细说明建议参考下面的书籍《UNIX网络编程》 《TCP/IP 详解》 《Unix环境高级编程》非阻塞IO和阻塞IO:在网络编程中对于一个网络句柄会遇到阻塞IO和非阻塞IO的概念, 这里对于这两种socket先做一下说明
2016-08-04 15:35:09
425
转载 nanosleep()函数使用
nanosleep()函数会导致当前的线程将暂停执行,直到rqtp参数所指定的时间间隔。或者在指定时间间隔内有信号传递到当前线程,将引起当前线程调用信号捕获函数或终止该线程。#include #include #include #include void* pthread_do(void *arg){ struct timespec ts, ts1; int c
2016-07-08 16:24:13
9668
原创 static作用
1>隐藏:如果加了static,就会对其他源文件隐藏。利用这一特性可以在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。静态局部变量只能被其作用域内的变量或函数访问。也就是说虽然它会在程序的整个生命周期中存在,由于它是static的,它不能被其他的函数和源文件访问2>static变量还有两个特性: 1.保持变量内容的持久,只能初始化一次。存储在静态数据区的变量在
2016-06-24 17:18:47
336
原创 go安装步骤
解压go语言安装包tar -zxvf go1.7beta1.linux-amd64.tar.gz环境变量配置vim .bash_profileexport GOROOT=/data/gfj/go #go安装目录PATH=$PATH:$HOME/bin:$GOROOT/bin export PATHexport GOPATH=/data/gfj/gopath #go工程
2016-06-17 17:01:36
699
原创 openssl双向验证
接上文生成证书之后,双向验证c/s ssl通信源代码来源openssl服务端源代码:serv.cpp/* serv.cpp - Minimal ssleay server for Unix 30.9.1996, Sampo Kellomaki *//* mangled to work with SSLeay-0.9.0b and OpenSSL 0.9.2b S
2016-03-31 15:46:02
823
原创 openssl证书生成
下载安装openssl./configmakemake testmake install下载地址:http://www.openssl.org/source/ 进入程序执行路径下面(/data/gfj/openssl-1.0.1s/demos/ssl),将/data/gfj/openssl-1.0.1s/apps/openssl.cnf 拷贝到/data/gfj/opens
2016-03-31 11:14:02
439
原创 Qt tcp通信简单实现
功能:Qt前台界面作为客户端,linux后台程序作为服务端,客户端发送字符串给服务端,服务端返回大写前台界面实现:通过Qt designer生成 (地址映射:10.200.1.46:19961 -> 172.18.18.99:9961)10.200.1.46:19961(windows本机访问linux服务端对外地址端口)172.18.18.99:9961(linux服务端
2016-03-04 21:21:08
6071
原创 select服务端代码实现
#include #include #include #include #include #include #include #include #include #define BUF_LEN 1024#define SERV_PORT 6000#define FD_SIZE 100#define MAX_BACK 100int main(int argc, char
2015-08-11 16:36:56
565
原创 poll服务端代码实现
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define MAXLINE 1024#define OPEN_MAX 10i
2015-08-11 16:34:54
385
原创 epoll服务端代码实现
#include #include #include #include #include #include #include #include #include #include #include #include #include #define MAX_EVENTS 10#define PORT 12345#define BUFFSIZE 1024void
2015-08-11 16:32:41
507
原创 PostgreSQL一主两从实现及主从切换
HA 实现方式: 热备份、冷备份 冷备份:物理备份,也就是文件复制。主机写完一个WAL日志文件后,才复制到standby服务器上去应用。 热备份:流复制,也就是同步复制或异步复制。主备机实时同步。 一主两从操作步骤: 在三台机器分别按照步骤1-4安装pg数据包 1、 安装 ./configure –prefix=/usr/pgsql9.3.4 –wit
2015-08-11 15:58:39
17406
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人