自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 mac m1 安装tensorflow问题记录

mac m1 安装tensorflow 问题记录

2022-09-18 18:26:26 1034

原创 grpc php客户端使用记录

具体步骤参考:https://github.com/grpc/grpc/tree/master/src/php1. 生成php的桩文件首先需要安装protobuf,然后通过protoc -- version查看已安装版本:libprotoc 3.7.0然后根据protobuf版本下载grpc版本,用于生成grpc_php_plugin插件:git clone -b v1.21.3 https://github.com/grpc/grpccd grpcgit submodule u

2021-04-13 15:08:53 581

原创 mac 下安装protobuf

首先使用Home Brew安装Protobuf:brewinstallprotobuf安装好之后,查看是否安装成功protoc--version如果成功会有如下类似的版本号显示:libprotoc3.7.1这表明我安装成功,并且版本号是3.7.1。接着安装protobuf的golang插件goget-u-vgithub.com/golang/protobuf/protogoget-u-vgithub.com/golang/protobuf/prot...

2021-04-13 11:43:15 1014

原创 go1.16升级编译失败问题

今天看到go1.16发布了,修改了内存管理的方式,打算升级试下,结果编译时遇到下面的错误:/usr/local/go/pkg/tool/linux_amd64/link: running g++ failed: exit status 1/usr/bin/ld: /tmp/go-link-852636201/000012.o: unrecognized relocation (0x2a) in section `.text'/usr/bin/ld: final link failed: Bad val

2021-02-19 15:44:45 4186 2

原创 tcp连接关闭总结

我们知道在常见的web服务中,一般客户端都会在需要的时候通过http的get,post方法直接请求一个服务器接口,获取到相应的数据,一个http请求本质上都是客户端通过tcp协议和服务端建立连接,然后构造一个http协议的请求req发给服务器,服务器返回相应的resp数据。最简单的http请求可能就是每次请求都会重新建立一个tcp连接,然后请求结束后主动关闭这个tcp连接,这种方式处理比较简单,但是问题也比较明显,就是每次请求都要进行3次握手4次挥手,增加了额外的消耗,所以大多数http的客户端s.

2020-11-17 19:04:45 3818

原创 golang pprof使用

在程序中加上:go func() { http.ListenAndServe("127.0.0.1:8888", nil)}()如果需要监听block阻塞情况:runtime.SetBlockProfileRate(5 * 1000 * 1000) //采样频率,ns监听锁事件:// 当 rate = 0 时,关闭 mutex prof (默认值)// 当 rate = 1 时,表示记录所有的 mutex event// 当 rate > 1 时,记录 1/ra

2020-08-16 17:14:25 784

原创 记录下知识点

解决nginx进程占用内存过大的问题修改nginx.confworker_connections 选项,把数字改小点!这个参数表示每个进程允许的最多连接数,如果数字过大,就会预先申请大的内存以便接受连接。改小点就可以了。进程打开文件数限制1). 系统级文件数限制输入命令cat /etc/sysctl.conf得到fs.file-max = 10000002). 用户级文件数限制cat /etc/security/limits.conf得到soft nofile 65535.

2020-05-18 15:10:12 180

原创 最长回文子串

动态规划,使用二维数组存储中间状态:funclongestPalindrome(sstring)string{n:=len(s)ifn<2{returns}start:=0//end:=0maxLen:=1dp:=make([][]bool,...

2020-04-13 13:08:31 129

原创 kmp算法

next数组:NEXT数组中的值是字符串的前缀集合与后缀集合的交集中最长元素的长度。例如,对于”aba”,它的前缀集合为{”a”, ”ab”},后缀 集合为{”ba”, ”a”}。两个集合的交集为{”a”},那么长度最长的元素就是字符串”a”了,长 度为1,所以对于”aba”而言,它在PMT表中对应的值就是1。再比如,对于字符串”ababa”,它的前缀集合为{”a”, ”ab”, ”aba”,...

2020-04-12 23:20:32 121

原创 golang 字符串转整型Atoi

func myAtoi(str string) int { l := len(str) if l < 1 { return 0 } var res int32 flag := 1 i := 0 for i<l && str[i] == ' ' { i++ } if ...

2020-04-12 21:45:57 1720

原创 elasticsearch查询语法

我们可以使用两种结构化语句: 结构化查询(Query DSL)和结构化过滤(Filter DSL)。 查询与过滤语句非常相似,但是它们由于使用目的不同而稍有差异。一条过滤语句会询问每个文档的字段值是否包含着特定值,一条查询语句会计算每个文档与查询语句的相关性,会给出一个相关性评分 _score,并且 按照相关性对匹配到的文档进行排序。1 TERM 过滤精确匹配数字、日期、布尔值或 not_a...

2020-04-06 12:49:25 318

原创 zookeeper面试题

Zookeeper工作原理Zookeeper 的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和 leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和Server...

2020-04-05 20:25:14 224

原创 mysql面试题

mysql数据一致性binlog:MySQL Server层记录的日志,在MySQL 5.1之前,MySQL只有一种基于语句statement形式的日志记录格式。即将所有的相关操作记录为SQL语句形式。但是这样的记录方式对某些特殊信息无法同步记录,例如uuid,now()等这样动态变化的值。从MySQL 5.1开始,MySQL支持statement、row、mixed三种形式的记录方式。ro...

2020-04-05 19:32:20 165

原创 kafka面试题

###kafka主题是一个逻辑上的概念,它还可以细分为多个分区,一个分区只属于单个主题,很多时候也会把分区称为主题分区(Topic-Partition)。Kafka 为分区引入了多副本(Replica)机制,通过增加副本数量可以提升容灾能力。同一分区的不同副本中保存的是相同的消息(在同一时刻,副本之间并非完全一样),副本之间是“一主多从”的关系,其中 leader 副本负责处理读写请求,fol...

2020-04-05 19:28:01 214

原创 centos 安装开发环境

经常买了个新机器需要安装一系列环境,在这里记录一下:yum install epel-release新建用户:/usr/sbin/groupadd -f www-user/usr/sbin/useradd -g www-userwww-userjava8:yum install java-1.8.0-openjdk* -y环境变量:export JAVA_HOME...

2020-04-01 23:35:42 251

原创 python3 安装ssl编译问题

python3 编译安装时默认没有添加ssl模块,但是使用时有些库需要用到,你可以用python3进入命令行后:import ssl测试一下是否可以成功加载。如果不能加载,这时需要重新编译python,进入你的python下载目录,打开Modules/Setup文件:vim/usr/local/Python-3.7.4/Modules/Setup然后把下面的几行注释打开:...

2020-03-04 23:02:16 7638 1

原创 逻辑回归

一、sigmoid函数的由来线性回归定义因变量的形式为:一个事件发生的几率(odds)是指该事件发生的概率p与该事件不发生的概率1-p的比值,那么通过logit变换对odds加以变换得到对数几率如下:得到:上面的式子就是sigmoid函数,其图像如下:sigmoid由sigma和后缀-oid合成而来。sigma即希腊文第十八个字母σ\sigmaσ,通常用来指代S...

2019-12-26 00:29:08 222

原创 druid学习笔记3 - superset 展示druid 数据

druid早期的查询方式主要是写一个json格式的查询条件,通过http请求进行查询,现在已经有了sql直接查询的方式,下面主要介绍下如何通过superset进行查询:按如下点击:点击右上角+号后:注意下面的Cluster字段一定要填就可以了。再点一下刷新元数据,就可以看到druid中的数据表了:然后可以看到druid中的数据源都显示出来了,点击进去就可...

2019-11-03 17:10:45 464

原创 druid 学习笔记2 - druid数据导入

上一篇我们讲到了druid可以监听kafka的topic实时导入数据,下面我们讲一下如何通过flume实时讲本地的日志文件导入kafka中。flume是一个日志采集系统,可以通过不同方式收集数据,并做一些预处理,然后传输到下游的数据管道中,比如hdfs或者kafka中。因为druid中的字段最好是简单类型,方便进行分析,而我们现在上报的日志都是通过一个ext_data的json字段将关键字段存...

2019-11-03 15:08:07 705

原创 druid 学习笔记1 - druid架构和部署实践

druid 是一个基于列存储的适合实时数据分析的分布式系统,所有节点可以分成3个部分:master、query、data,分别运行相应的服务,如下图所示:Historical: 历史节点的职责主要是对历史的数据进行存储和查询。它们通过Zookeeper来声明自己存储的节点,同时也通过zookeeper来监听加载或删除Segment的信号。Segment是按时间段划分的一个个数据块。Co...

2019-11-03 13:22:34 456

原创 c++字符串分割

方法1://借助strtok实现split#include <string.h>#include <stdio.h>int main(){ char s[] = "Golden Global View,disk * desk"; const char *d = " ,*"; char *p; ...

2019-08-07 08:40:37 197

原创 leetcode 208. 实现 Trie (前缀树)

Trie数的原理是一个根据26个小写字母确定的一个26叉树,所以主要是创建树的过程:class TrieNode {public: bool isWord; TrieNode *next[26]; TrieNode() { for (auto &i : next) { i = nullptr; ...

2019-06-12 08:53:57 171

原创 go channel

Happens Before的作用Happens Before主要是用来保证内存操作的可见性。如果要保证E1的内存写操作能够被E2读到,那么需要满足:E1 Happens Before E2; 其他所有针对此内存的写操作,要么Happens Before E1,要么Happens After E2。也就是说不能存在其他的一个写操作E3,这个E3 Happens Concurrently ...

2019-01-17 20:27:28 189

转载 http缓存

2019-01-16 16:57:23 84

转载 golang http 客户端连接池

TIME_WAIT和CLOSE_WAIT过多netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'我们用netstat可以查看到目前的tcp连接中,各个状态的数量,最常见的问题是,TIME_WAIT和CLOSE_WAIT状态的数量过多了,严重占用端口资源。众所周知,TCP连接是三次握手,四次挥手的...

2019-01-16 16:49:28 5137

原创 alias

常用参数格式:alias格式:alias -p显示当前设置的别名。 格式:alias name='command line'设置别名。 格式:alias name显示指定的别名设置。 格式:unalias name取消指定的别名设置。...

2019-01-10 11:52:11 249

原创 mac zsh 配置 git 快捷键

Zsh 是一个 Unix shell,是 Z shell 的简称。Zsh 作为一款强大的终端工具,能帮助你更高效地编写和执行命令。Zsh 好用也足够强大,但它的配置相对复杂,这时,有一个叫 oh-my-zsh 的 Zsh 扩展工具,源自 GitHub 的一个个人开源项目,它内置丰富的自定义主题(指 Zsh 显示风格),自带上百个功能各异的插件,并能便捷地管理和配置。让使用者能快速上手 Zsh。...

2019-01-07 13:12:55 3742

原创 c++ string类的实现

自己实现的stirng类,注意自我复制的异常安全性,采用copy and swap技术。

2017-02-19 18:19:15 280

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除