自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

普通Gopher

微信搜索@普通Gopher,关注我吧~

  • 博客(215)
  • 收藏
  • 关注

原创 Golang实战之海量日志收集系统(一)项目背景介绍

项目背景每个系统都有日志,当系统出现问题时,需要通过日志解决问题当系统机器比较少时,登陆到服务器上查看即可满足当系统机器规模巨大,登陆到机器上查看几乎不现实每个业务系统都有自己的⽇志,当业务系统出现问题时,需要通过查找⽇志信息来定位和解决问题。 当业务系统服务器⽐较少时,登陆到服务器上查看即可满⾜。但当系统机器规模巨⼤,登陆到服务器上查看⼏乎不现实(分布式的系统,⼀个系统部署在⼗⼏甚至...

2020-03-22 11:21:25 2961

原创 Python算法学习: 蓝桥杯官方练习系统VIP题库真题代码讲解(持续更新)

文章目录试题 入门训练 Fibonacci数列试题 入门训练 圆的面积试题 入门训练 序列求和试题 入门训练 A+B问题试题 基础练习 数列排序试题 基础练习 十六进制转八进制试题 基础练习 十六进制转十进制试题 基础练习 十进制转十六进制试题 基础练习 特殊回文数试题 基础练习 回文数试题 入门训练 Fibonacci数列资源限制时间限制:1.0s 内存限制:256.0MB问题描述...

2020-02-05 20:53:13 6804 8

原创 WindowsServer2016 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)

记一次为GPU服务器搭建机器学习平台的操作安装Anaconda去官网安装Anaconda添加环境变量以后,创建TensorFlow环境将以下三个路径加入,注意这里要换成你自己的安装路径。C:\Users\xxx\anaconda3C:\Users\xxx\anaconda3\ScriptsC:\Users\xxx\anaconda3\Library\bin安装gpu版本的Te...

2019-11-16 16:04:18 1804 2

原创 CTF线下AWD攻防步骤总结

AWD竞赛前半个小时应熟悉配置环境。准备网线、网线转接口最好的防御就是攻击,一定要做好安全加固本次记录的目的是为了给自己一个月来的准备弄个交代,感觉自己跟大佬们差的很远,只拿了三等,往后的路还很长,还是需要亿点点的努力,无限进步.赛前准备常用工具:Burpsuitesqlmapnmap、masscanncD盾Xshell、Xftp菜刀或蚁剑Chrome、Firefox...

2019-10-20 20:44:40 21076 6

原创 Python使用BeautifulSoup与selenium爬取Boos直聘

数据采集数据采集(Date Capture),又叫做数据获取,数据采集是将系统需要管理的所有对象的原始数据(外部数据)进行一系列的操作并输入到系统内部的一个接口。像摄像头、麦克风等等,都是数据采集工具,而在计算机世界,相应的数据采集工具就更多了,简单的采集工具有Hawk、八爪鱼等。在计算机广泛应用的今天,数据采集在多个领域具有非常重要的意义。它是计算机与外部物理世界连接的桥梁。前几个月做了一个...

2019-10-02 19:13:14 901

原创 MacOs——Docker 安装 ClickHouse单机版

默认已经安装好Docker1、拉取镜像直接运行, docker会自动帮你拉取镜像:docker run -d --name ch-server --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 -p 9009:9009 yandex/clickhouse-server查看镜像docker psCONTAINER ID IMAGE COMMAND CREATED .

2021-01-15 16:33:38 2141 1

原创 Mac 上使用 brew 安装的 mysql 导入 csv 文件,解决报错ERROR: Loading local data is disabled

前言使用mysql导入csv文件数据时遇到了很多问题导入方法LOAD DATA INFILE '/Users/boy.lee/Downloads/D Box/title.akas.tsv' INTO TABLE imdb_title;ERRORERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement编辑 my.cnf,

2021-01-04 18:53:25 1346

原创 Golang语言学习从入门到实战----go URL参数编码,解码与HMACSHA1加密算法

go URL参数编解码1. urlencodegolang下可以使用net/url模块实现urlencode和urldecode操作,类似java URLEncoder和URLDecoder的函数,它们是QueryEscape:类似URLEncoderQueryUnescape:类似URLDecoder代码如下:package mainimport( "fmt" "net/url")func main() { var urlStr string = "

2020-12-31 17:25:49 2814

原创 Mysql8.0 mysqldump 报错: Unknown table ‘column_statistics‘ in information_schema (1109)

问题今天在使用Mysqldump的时候mac报错1109,查询本机Mysql版本后发现问题。mysql --versionmysql Ver 8.0.22 for osx10.15 on x86_64 (Homebrew)在StackFlow上查到问题:mysqldump throws: Unknown table ‘COLUMN_STATISTICS’ in information_schema (1109)原因mysqldump 8中默认启用了一个新标志在mysql8.0之前的mysq

2020-12-25 17:17:45 2178

原创 Go-gRPC入门到实战——系列一:RPC,Protobuf,gRPC入门及相关介绍

前言RPC 代指远程过程调用(Remote Procedure Call),是分布式系统中不同节点间流行的通信方式,RPC 它的调用包含了传输协议和编码(对象序列号)协议等等。允许运行于一台计算机的程序调用另一台计算机的子程序,而开发人员无需额外地为这个交互作用编程实际场景:有两台服务器,分别是 A、B。在 A 上的应用 C 想要调用 B 服务器上的应用 D,它们可以直接本地调用吗?答案是不能的,但走 RPC 的话,十分方便。因此常有人称使用 RPC,就跟本地调用一个函数一样简单RPC 框架我认

2020-12-16 20:06:59 531

原创 SQL从入门到熟练——Mysql版SQL练习题及答案(持续更新中)

数据表创建# 创建 test 数据库mysql> create database test;Query OK, 1 row affected (0.01 sec)mysql> use test;Database changed学生表 Studentcreate table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10));insert into Student values(

2020-12-16 12:01:11 229

原创 Go语言云原生与微服务(三)Kratos微服务框架学习

前言常见的微服务框架一、Go Kit框架这是一个工具包的集合,可以帮助攻城狮构建强大、可靠和可维护的微服务。提供了用于实现系统监控和弹性模式组件的库,例如日志、跟踪、限流、熔断等。基于这个框架的应用程序架构由三个主要的部分组成:- 传输层:用于网络通信,服务通常使用HTTP或者gRPC等网络传输协议,或者使用NATS等发布订阅系统相互通信。- 接口层:是服务器和客户端的基本构建块。每个对外提供的接口方法都会定义为一个Endpoint,一遍在服务器和客户端之间进行网络通信,每个端点使用传输层通过H

2020-12-13 21:23:19 1465 1

原创 Go语言云原生与微服务(二)微服务概述

微服务概述在上一章,我们介绍了云原生架构的相关概念Go语言云原生与微服务(一)云原生架构,并了解到微服务架构在云原生中占据着较为关键的位置,这一章我们聚焦到微服务上面。srices Architecure Patterm)架构Marin Fowler在2014年首次提出了微服务( Microservices )设计,其理念是特单体应用特化为多个可以独立开发、独立部署、独立运行和独立维护的服务成者应用的集合,从而满足业务快速变化以及多团队并行开发的需求。微服务架构由多个相对独立的服务或者应用组成,所以具备

2020-12-13 21:22:45 1130 2

原创 Golang语言学习从入门到实战----协程详解

一、Golang 线程和协程的区别备注:需要区分进程、线程(内核级线程)、协程(用户级线程)三个概念。1.1 进程、线程 和 协程 之间概念的区别对于 进程、线程,都是有内核进行调度,有 CPU 时间片的概念,进行 抢占式调度(有多种调度算法)对于 协程(用户级线程),这是对内核透明的,也就是系统并不知道有协程的存在,是完全由用户自己的程序进行调度的,因为是由用户程序自己控制,那么就很难像抢占式调度那样做到强制的 CPU 控制权切换到其他进程/线程,通常只能进行 协作式调度,需要协程自己主动把控

2020-12-11 18:29:03 407

原创 2020年秋招面试记录——珍爱网笔试

考试题型:单选 7 道,不定项 3 道,填空 2 道,编程 2 道,问答 1 道## 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可# 找到只出现一次的数字# @param array int整型一维数组 # @return int整型#class Solution: def findNum(self , array ): # write code here if not array: return 0

2020-12-11 17:04:50 390

原创 2020年秋招面试记录——爱奇艺笔试

无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串

2020-12-11 17:03:08 329

原创 2020年秋招面试记录——广州速游笔试

检测mysq是否存在名称为tt的数据库,若存在,请将库下的每个表都独立到处份以<表名 sq|>为文件名的sql,放在当前目录下,请写出命令。(相关信息:本地库127.0.0.1或者localhost,端口: 3306, sock /tmp/mysql.sock,账号: ttuser密码: ttpasswd)SELECT * FROM information_schema.SCHEMATA where SCHEMA_NAME='tt'; mysqldump -u ttuser -p ttp.

2020-12-11 16:51:12 2547 1

原创 Mac OS下安装ffmpeg和ffplay(简单版)

前言FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。 采用LGPL或GPL许可证。 它提供了录制、转换以及流化音视频的完整解决方案。 它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的同时它是一个开源项目,可以将任何格式的音视频文档进行编解码转换播放等等等等,基本可以这么说你对音视频相关的任何需求她都能办到,但首先你得会用她。开源领域内神一样的VLC,还有Media Player

2020-12-08 11:00:32 6181

原创 CDN基础知识——rtmp,flv(http-flv),hls协议详解

最近在搞CDN方面的知识,因此学习音视频推拉流。建议先从个协议开始学起。1. 推拉流1.1 什么是推流推流,指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验很是糟糕。要想用于推流还必须把音视频数据使用传输协议进行封装,变成流数据。常用的流传输协议有RTSP、RTMP、HLS等,使用RTMP传输的延时通常在1–3秒,对于手机直播这种实时性要求非常高的场景,RT

2020-12-07 18:30:51 7291 2

原创 解决使用go-chart库制作图标时横纵坐标不正常显示的问题

现象本人之前在使用go-chart库制作图标时,使用go mod下载了最新的包,通过跑通实例代码,发现横纵坐标不正常显示!详情见:Golang语言学习从入门到实战----使用go-chart实现折线图通过翻阅资料,最终在Github issues里找到答案解决链接:https://github.com/wcharczuk/go-chart/issues/132这是因为Go Modules使用最新的发行标签。尝试在使用时指定提交go get更换版本,例如:go get github.com/w

2020-12-07 11:00:05 824 1

原创 Golang语言学习从入门到实战----使用go-chart实现折线图

Why this最近在实现一个某某模块功能,邮件中实现统计信息的发送,其中涉及到需要在邮件正文中嵌入图表(折线图,饼图等等)由于邮件中无法支持js解析,不能按照寻常方式制作图标。通过翻阅大量资料,发现go-chart可以生成PNG图片形式的图表,因此尝试使用https://github.com/wcharczuk/go-chart库实现操作。How togo-chart是个强大的go生成图片的库,但是采用默认配置生成线条较多或者文本过长的图片时,无法完美适应。默认不支持中文。但是里面的属性大多可自己

2020-12-04 19:05:28 3572

原创 解决Mac ~/.bash_profile 配置的环境变量重启终端后失效问题

问题本人使用的是iterm2下的zsh终端,zsh加载的是 ~/.zshrc文件,所以每次重启终端后配置的不生效自己在 ~/.bash_profile 中配置环境变量解决需要重新执行 : $source ~/.bash_profile或者永久解决:在~/.zshrc文件最后,增加一行source ~/.bash_profile如果没有 .zshrc 文件, 在相应目录下 执行 touch .zshrc 创建文件,添加 source ~/.bash_profile...

2020-12-04 14:35:04 1987

原创 Golang语言学习从入门到实战----使用gomail库发送邮件(图片+正文)到qq邮箱实现

文档地址:https://godoc.org/gopkg.in/gomail.v2#Message.EmbedHow to startgomail包:执行 go get gopkg.in/gomail.v2 下载库假设你开启了GO111MODULEmkdir mailDemogo mod init ... 代码操作go mod tidygo run mailDemo.go代码实现新建mailDemo.go文件package mainimport ( "gopkg.in/g.

2020-12-04 12:20:42 1967

原创 分布式关系型数据库TiDB入门(一)—— 原理与特征

TiDB简介TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP

2020-12-02 18:49:28 2104

原创 Go语言云原生与微服务(一)云原生架构

本人在学习云原生与微服务架构中的总结资料,参考书籍《Go语言高并发与微服务实战》仅以此文记录学习过程。云原生架构之前(即传统飞云原生应用),底层平台负责向上提供运行资源,而应用需要满足业务需求和非业务需求。为了更好地使代码复用,通用性好的非业务需求的实现,往往会以类库和开发框架的方式提供。在SoA、 微服务时代,部分功能会以后端服务的方式存在,在应用中被简化为对其客户端的调用代码,然后应用将这些功能连同自身的业务实现代码一起打包。而云的出现,可以在提供各种资源之外,还提供各种能力(如基础设施,以及基础

2020-12-02 15:39:03 4670

原创 CDN基础知识-CNAME、加速域名、源站地址与回源host之间的关系

CDN原理1. CNAME首先需要了解,CNAME 是什么东西。1.1 A记录即Address记录,它并不是一个IP或者一个域名,我们可以把它理解为一种指向关系:域名 www.xx.com → 111.111.111.111主机名 DD → 222.222.222.222可以理解为,最终的域名与IP的对应关系这条记录,就是A记录1.2 CNAME为什么要区分A记录和CNAME?我们可以把CNAME记录叫做别名记录,就是小名比如A记录为:www.baidu.com → 111.111.

2020-12-02 14:31:11 9616 1

原创 Mac 安装 brew (2020最新,不报错)

前言今天安装brew,一会报这个错,一会儿报那个错,上网查了很多教程,用了很多时间都是不可以,网上资料抄来抄去,可阅读性很差Warning: The Ruby Homebrew installer is now deprecated and has been rewritten inBash. Please migrate to the following command: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com

2020-11-27 17:59:44 1623 1

原创 基于GO实现千万级WebSocket消息推送服务

实现HTTP服务端server.gopackage mainimport "net/http"func wsHandler(w http.ResponseWriter, r *http.Request) { _, _ = w.Write([]byte("hello"))}func main() { http.HandleFunc("/ws", wsHandler) _ = http.ListenAndServe(":7777", nil)}完成Websocket握手ser

2020-07-19 17:51:07 1513

原创 使用Centos7基于Squid与Lvs搭建小型CDN

CDN详情查看我这篇文章:https://blog.csdn.net/qq_43442524/article/details/106924003前期准备Centos7 四台Xshell1. SquidSquid 常常被用作代理缓存服务器,在自建CDN中处于源站和客户端的中间位置,使得用户无需访问源站便可获取内容资源,提高了用户的访问速度。作为代理服务器,Squid 可以支持多种协议,如 HTTP 、 FTP , SSL 协议等,Squid 使用 的是单独的 I/O 驱动进程来获取并响应客户端

2020-06-27 16:59:10 944

原创 直播技术原理:CDN技术详解

背景随着互联网应用的迅速发展与网络流量的大幅度激增,用户对网站的加速需求日益增长。由于 CDN 技术能够及时解决网站的响应速度问题,并对网站的稳定性起了较大的提升作用,因此受到了业界的很大关注。不同于网站镜像的单纯内容复制,CDN 技术更加智能,可以用这样一个式子来解释 CDN 与镜像的关系: CDN=更智能的镜像+缓存+流量调度。 从上面的关系式可以看出,CDN 能够明显提高网络中数据流动的效率,从而解决网络带宽不足、 用户访问量过大以及内容分布不均等问题,提升用户的网站访问体验。 许多我国国内的网站

2020-06-23 16:36:14 5804 1

原创 Centos7防火墙与IPTABLES详解

防火墙定义防火墙分类无状态包过滤防火墙基于单个IP报文进行操作,每个报文都是独立分析默认规则一切未被允许的都是禁止的一切未被禁止的都是允许的规则特征协议类型,如TCP、UDP、ICMP、IGMP等源和目的IP地址和端口TCP标记,如SYN、ACK、FIN、RST等网络层协议选项,如ICMP ECHO、ICMP REPLY等报文的传递方向,如进入接口还是从接口发出报文流过的接口名,如eth0有状态包过滤防火墙自动归类属于同一个会话的所有报文,实现会话的跟踪

2020-06-13 17:15:29 1784

原创 解决Centos系统设置静态ip时报错 ping: www.baidu.com: Name or service not known

具体设置静态IP可以查看我这篇文章:Centos7下NAT设置静态ip问题设置静态以后发现 ping: www.baidu.com: Name or service not known但是ping网关192.168.233.2,DNS服务器8.8.8.8与114.114.114.114都能ping通并且设置完静态显示正常 Xshell也可以正常连接[root@localhost ~]# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdis

2020-06-11 16:03:42 1513

原创 解决docker中修改docker.daemon文件后启动失败

在 docker 配置文件中设置docker 1.12 版本之后, 建议在 docker 的 js 配置文件中配置, 路径为 /etc/docker/daemon.json 默认没有这个文件, 可以手动创建此文件, docker 启动时默认会读取此配置文件{ "registry-mirrors": ["https://6y2639ye.mirror.aliyuncs.com"]}我这里配置的加速源在一次误操作中 动了/usr/lib/systemd/system/docker.service

2020-05-14 10:36:31 4015

原创 Python垃圾回收与内存管理

文章目录Python垃圾回收1. 引用计数器1.1 环状双向链表 refchain1.2 类型封装结构体1.3 引用计数器1.4 循环引用的问题2. 标记清除3. 分代回收4. 小结Python缓存1. 池2. free_listPython垃圾回收引用计数器为主,标记清除和分代回收为辅+缓存机制1. 引用计数器1.1 环状双向链表 refchain在Python程序中创建的任何对象都会放在refchain中static PyObject refchain = {&r

2020-05-09 21:36:06 402 1

原创 git push文件夹时报错Fatal: HttpRequestException encountered.

在使用git push时报出如下的错误:$ git push -u origin masterfatal: HttpRequestException encountered. 发送请求时出错。fatal: HttpRequestException encountered. 发送请求时出错。Username for 'https://github.com':之前时不需要输入的...

2020-05-06 15:23:18 1265

原创 HA高可用与负载均衡入门到实战(八)---- 基于Docker配置NFS实现Nginx动静分离

NFS介绍NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件...

2020-04-30 19:06:26 370

原创 Docker 三剑客之Machine,Compose,Swarm

Docker三剑客为了把容器化技术的优点发挥到极致,docker公司先后推出了三大技术docker-machinedocker-composedocker-swarm它们可以说是几乎实现了容器化技术中所有可能需要的底层技术手段。图源: https://xiaoxiami.gitbook.io/docker/docker-ji-qundocker-machine - 提供容...

2020-04-26 16:48:14 567

原创 Kubernetes(K8s)入门到实践(八)----Kubernetes1.15.1 部署Prometheus

Prometheus介绍随着容器技术的迅速发展,Kubernetes 已然成为大家追捧的容器集群管理系统。Prometheus 作为生态圈 Cloud Native Computing Foundation(简称:CNCF)中的重要一员,其活跃度仅次于 Kubernetes, 现已广泛用于 Kubernetes 集群的监控系统中。本文将简要介绍 Prometheus 的组成和相关概念,并实例演...

2020-04-25 13:18:04 2493 3

原创 Kubernetes(K8s)入门到实践(七)----部署Helm 2.13.1

什么是 HelmHelm官方网站:The package manager for Kubernetes在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂。Helm 通过打包的方式,支持发布的版本管理和控制,很大程度上简化了 Kubernetes 应用的...

2020-04-24 20:49:11 541

原创 HA高可用与负载均衡入门到实战(七)---- 基于Docker配置KeepAlive-LVS负载均衡

实验要求1、 安装配置LVS负载均衡2、 安装配置LVS高可用负载均衡拓扑图:LVS介绍负载均衡工作模式1. NAT模式Virtualserver via Network address translation(VS/NAT) 这个是通过网络地址转换的方法来实现调度的。首先调度器(LB)接收到客户的请求数据包时(请求的目的IP为VIP),根据调度算法决定将请求发送给哪个后端的真实...

2020-04-23 18:41:19 668

空空如也

空空如也

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

TA关注的人

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