自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 简单的线程池技术,诠释队列的架构逻辑

    大家是不是对线程池的技术还是不够明白啦?相信看完后大家会有不一样的体验!!!     对于服务端的程序,进场面对的是客户端的请求,那么如果客户端传来的内容比较单一,内容比较小,需要服务端快速的处理并返回结果;如果把每次的任务服务端都来创建一个线程然后处理,这在我们传统的系统中也是可行的,但是如果面对成千上万个任务交递交到服务器时,如果我们还采用一个任务一个线程的方式,那么就会创建到成千上万...

2018-05-10 11:33:20 214

原创 golang sync.Once单例模式介绍

golang的单例模式介绍首先在程序开发当中我们都会发现有很多设计模式,那么我们今天介绍的是最常用的单例模式,最近刚好有时时间,和大家一起学习一下!!!单例模式我们可以自己实现,当前最简单的办法是通过bool类型来判断当然这个是很简单的啦 ,包括可以通过计数方式不做描述(有兴趣可以评论或者私信我看到会回复,要注意并发哦!!!)那么接下来今天的主场来啦(sync.Once):sync.Once 相信各位都不陌生,在go 语言里很多场景会用到sync,包括我们的单例模式;接下来我们一起看看:/

2022-04-13 23:33:39 785

原创 golang使用grpc实现服务调用(入门级二)

golang使用grpc实现服务调用(入门级二)学习目标服务端编写客户端编写实现客户端调用服务端并返回数据首先解决一下上个章节的作业(数组结构体)通过关键字repeated 来定义说明:上一章节的proto内容被博主增加了其他信息,所以今天列子是新写的,可能和上个文件存在出入接下来我们一起来通过golang代码实现服务端和客户端的编写上节和大家一起做了pd.go文件生成,那么我们怎么利用这个文件做交互呢?以下为客户端代码:func main() { // 连接服务端地址 co

2021-08-08 11:15:07 870

原创 golang使用grpc实现服务调用(入门级一)

golang使用grpc实现服务调用(一)学习目标grpc 了解protobuf 了解老样子 首先日常三问:3. 什么是grpc?在官方文档也有什么一句提问:(Why gRPC?)以下是官方做的解释: gRPC is a modern open source high performance Remote Procedure Call (RPC) framework that can run in any environment. It can efficiently co

2021-08-07 18:07:27 810

原创 关于缓存穿透详细介绍、解决方案案例代码

关于缓存穿透详细介绍、解决方案案例代码什么是缓存穿透:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。怎么解决呢:这里引入一个新概念布隆过滤器,要是大家不知道布隆过滤器 可以查看之前的文章里面专门有介绍,那么我们看下引入布隆过滤器后的逻辑图业务数据在进来之前通过布隆过滤器去校验!以上是逻辑思路!!代码下载与查看测试点击链接布隆过滤器实战代码...

2021-08-01 13:49:52 150

原创 关于缓存击穿详细介绍、解决方案案例代码

关于缓存击穿详细介绍与解决方案什么是缓存击穿:正常设计流程 请求–>数据校验—>redis有数据返回,没有—>db;但是如果我们系统的并发很高,在某个时间节点,突然缓存失效,这时候有大量的请求打过来那么由于redis没有缓存数据,这时候我们的请求会全部去查一遍数据库,这时候我们的数据库服务会面临非常大的风险,要么连接被占满要么其他业务不可用这种情况就是redis的缓存击穿。怎么解决呢:其实解决方式有很多种,可以参考分布式锁概念来做,那么这里引入一个redis 的setnx来实现

2021-07-31 21:58:59 169

原创 关于python dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib解决方案

python 启动报错dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib原因:1.启动时没有加载libssl.1.0.0.dylib,可能是因为升级过openssl 导致的版本不一致排查:ls -al /usr/local/Cellar/openssl* //查看本机存在的版本 以下附加实际操作贴图根据报错建立软连接 ln -sf libcrypto.1.1.dylib libcrypto.1

2021-06-21 22:52:10 638

原创 golang 参数校验器使用

golang 参数校验器 Validator 开箱即用日常开发中很多参数需要我们手动去校验:if x.xx ==nil{ return xxx}那么要是有很多的参数校验,那么满屏都是参数校验的if判断,接下来我们介绍一个参数校验器 validator 它支持各国语言参数返回请看图它是根据 validate 作为标识去识别的,而后面的 required则是条件这里是不为空,label则是通过改标识去获取字段的指定名称 具体详细请跳转至github详细代码使用,https://github.

2021-06-21 22:51:17 649

原创 goplus (go+)初识

goplus 初识出于对技术好奇,会浏览一些比较"花里胡哨的"操作,凑巧发现 goplus俗称go+;那么goplus是什么东西呢 接下来为大家解析首先goplus go+ 是国内大佬七牛云提供的,同时也是静态类型语言,他的好处就是和我们golang完全兼容,语法上更为简洁(和python较为类似), 但是他和我们熟知的c 和c++的关系的区别挺大的,这里要注意;那么go+的功能呢:go+ 是支持字节码后端和go代码生成的执行gop go 或者 gop install 时,就会生成go代码

2021-04-20 22:27:40 6572

转载 Linux系统工具sar查看主机性能指标(内存、CPU、IO)

sar 是帮助我们了解当前系统的内存、CPU和IO(磁盘IO和网络IO)㈠ 内存以下两个关键指标、让我们对系统使用内存情况一目了然⑴ 内存使用情况统计-r:输出物理内存和虚拟内存的统计信息[plain]view plain copy [root@obe11g~]#sar-r54Linux2.6.9-42.0.0.0.1.EL(obe11g.us.oracle.com)07/24/2013...

2021-03-22 15:17:13 1374

原创 docker从入门到放弃(附docker日常命令)

docker日常命令docker 服务1. systemctl enable docker // 设置docker自启动2. service docker start // 启动docker服务3. service docker stop //停止docker服务4. service docker restart //重启docker服务docker帮助命令1. docker version // docker 版本查看2. docker info // docker 信息3. dock

2021-01-02 23:21:53 122

原创 docker从入门到放弃二

docker从入门到放弃二docker基本概念docker整个操作都是对于三个基本来操作的,仓库 镜像和容器, 我们学习必须要对其熟悉.仓库通俗来的讲和我们现实中遇到的仓库其实很类似,就是放一些物品,但是为了方便我们会放一些货架并且有一些标识方便我们有目的的去取出和放回,这个是我们现实中见到的,那么docker的仓库也是一样,镜像就是存放在这个仓库里面的,这时候镜像就相当于我们的物品镜像仓库分为俩类,一种是私有仓库,一种是公有,很明显 私有就是我们需要验证,或者需要登录才能使用的,公有即是对

2020-12-22 15:34:01 175 1

原创 docker从入门到放弃一

docker从入门到放弃背景介绍现在docker可以说是随处可见,但是很多人只是会用,知道其然而不知其所以然,那么我接下来和大家一起来回温一下docker, 适用于新手,和已经在使用阶段,大佬务看!!!docker的认知日常三问首先我们开始接触的时候必须要做的日常三问:是什么,能做什么,怎么做,我们也会根据这个日常三问来慢慢解析,和大家一起认知它docker是什么docker是容器,那么可能有人问容器是什么,docker能做什么docker可以做我们可以把他看成一个虚拟机,或者是我

2020-12-22 14:32:11 222 2

转载 linux 内存清理/释放命令

在Linux系统下,我们一般不需要去释放内存,因为系统已经将内存管理的很好。但是凡事也有例外,有的时候内存会被缓存占用掉,导致系统使用SWAP空间影响性能,此时就需要执行释放内存(清理缓存)的操作了。Linux系统的缓存机制是相当先进的,他会针对dentry(用于VFS,加速文件路径名到inode的转换)、Buffer Cache(针对磁盘块的读写)和Page Cache(针对文件inode的读写)进行缓存操作。但是在进行了大量文件操作之后,缓存会把内存资源基本用光。但实际上我们文件操作已经完成,这部分

2020-09-21 10:52:56 2316

原创 关于python远程ssh操作多台服务器

日常工作中会遇到很多在不同的机器做相同的操作,首先我们会想到挨个机器去操作,当然这也是一种方式,但是万一要操作很多台,既费时又费力 还容易出错,那么接下来python帮你搞定首先我们需要安装paramikopip install paramiko接下来介绍一下paramiko这个包呢主要是SSHClient和SFTPClient;看组件名我们应该就知道ssh 是linux...

2020-04-17 11:52:54 1497

原创 关于mysql密码过期策略出现ERROR 1820 (HY000): You must reset your password using ALTER USER statement before ex

关于mysql密码过期策略导致无法执行语句问题解决方案:1.今天忽然间mysql远程无法登录,去服务器查看 登录正常,但是无法执行语句,提示报这样的错误:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.提示说:您必...

2020-04-13 10:58:35 801

原创 python2安装mysqldb失败问题

项目中需要python-mysqldb包 结果多次安装并未能成功,包括pip install最后通过官方https://www.python.org/下载安装包后手动安装下载好后对其进行解压然后执行 python setup.py install 进行手动安装但是 依然会报错sh: mysql_config: command not foundTraceback (...

2019-11-10 00:20:18 525

原创 关于golang1.13版本国内代理无法使用问题

golang1.13发布后 我们go get 一些资源的时候就不用通过特殊方式来下载了,官方提供了代理资源,但是按照操作一波下来后发现出现以下问题:go get -u github.com/mdempsky/gocodepackage golang.org/x/tools/go/gcexportdata: unrecognized import path "gol...

2019-09-11 12:51:48 6498

原创 关于linux安装python3后yum install 文件报错问题解决方案

大家都知道的linux中都默认安装python2.7,但是有时候我们需要python3的环境,当然python也支持多环境,当我们安装python3之后如果把默认python改为运行python3的时候会发现我们yum安装东西的时候并不能安装成功报错如下Downloading packages:Error downloading packages:...

2019-05-11 21:09:21 1475

原创 h5调用本地摄像头和麦克风一

最近在看视频流媒体方式,作为小白学者写出来大家一起沟通一起学习! 首先我认为要完成一套流程 必须是这样的:第一 数据源怎么来?第二怎么把数据源传输到服务器?第三 怎么把服务器的视频传输到页面 好了 大概就是这样 首先我给大家介绍下如何处理第一步(以下全为pc端): 数据源 就是通过我们在页面调用我们的摄像头和麦克风;我们使用h5的g...

2019-04-27 22:30:02 2535 2

原创 Go中beego解决跨域问题 利用cors,史上最详细

golang的优势就是做微服务,但是暴露出来的api不在同一个项目中调用会报错?No 'Access-Control-Allow-Origin' header is present on the requested包括前端处理了跨域请求jsonp但是还是没用!接下来小飞哥带大家解决这个问题go get "github.com/astaxie/beego/plugins/...

2019-03-08 21:09:48 7646 2

原创 Go语言快速搭建web服务

golang 快速发展,现在很多互联网行业的并发是用golang来实现今天带大家使用beego框架快速构建golang web服务首先我们安装golang 环境 https://golang.google.cn/dl/  根据对应的系统去下载 1.下载完成之后解压或者运行2.找到安装的目录下的bin/目录   然后复制路径到环境变量的path3.打开命令窗口  输入 go ...

2018-11-19 21:31:47 1124

原创 关于VS code 安装go 插件失败解决方案!!!

vs code 是一款非常好用轻量级的编辑器,并且有着很多插件为我们开发作出了很大的贡献但是安装插件的时候会遇到一些问题  以golong为例 package golang.org/x/tools/go/gcexportdata: unrecognized import path "golang.org/x/tools/go/gcexportdata" (https fetch: G...

2018-11-11 14:00:26 7952 1

原创 Ubuntu快速安装jdk

sudo apt-get install default-jresudo apt-get install default-jdk安装OK 后直接测试Java 环境java -version简单粗暴 环境OK

2018-06-27 22:44:43 397

原创 Ubuntu 搜狗拼音安装详细步骤

大神勿喷    开始玩Ubuntu首要任务就是先安装一个搜狗拼音!!!话不多说直接上步骤首先下载搜狗输入法 https://pinyin.sogou.com/linux/选择自己系统是多少位然后下载1.Ctrl+Alt+T,打开终端Terminal2.添加 sudo add-apt-repository ppa:fcitx-team/nightly3.更新 sudo apt-get update4...

2018-06-27 22:33:51 258

原创 java设计模式(单例模式)的性能及思想

                 单例模式:   单例模式是设计模式中使用最普遍的模式之一,是一种对象创建模式,用于生产一个对象的具体实例,塔可以确保系统中一个类只产生一个实例.那么在java中有什么好处呢? 接下来我们一起分析下    一:对于频繁使用的对象,可以省略创建对象所花费的时间,这对重量级对象是一笔系统开销.   二:由于new操作的次数减少,因而对系统内存的使用频率也会降低,减轻了G...

2018-05-26 20:15:00 286

转载 sql的执行顺序

今天遇到一个问题就是mysql中insert into 和update以及delete语句中能使用as别名吗?目前还在查看,但是在查阅资料时发现了一些有益的知识,给大家分享一下,就是关于sql以及MySQL语句执行顺序:sql和mysql执行顺序,发现内部机制是一样的。最大区别是在别名的引用上。 一、sql执行顺序 (1)from (3) join (2) on (4) where (5)grou...

2018-05-10 17:07:20 99

原创 java中继承的理解

继承!!!    继承是面向对象编程中最重要的概念之一,直接影响 如何设计和编写java类.继承是一种机制,让一个类能够继承另一个类的属性和行为.    通过继承,一个类可自动拥有现有类的功能,因此只需定义与现有类不同的地方.通过继承,所有的类(无论是您创建的类,还是java类库中的)都以严格层次结构来组织.继承其他类的类叫子类,被继承的类叫超类.    一个类只能有一个超类,但可以有任意数目的子...

2018-04-13 10:59:46 672

原创 java中多线程一定快吗?看完就知道!!!

理解上下文切换  即使是单核处理器也支持多线程执行代码,CPU通过每个线程分配CPU时间片来实现这个机制.时间片是CPU分配给多个线程的时间,因为时间片非常短,所以CPU通过不停的切换线程执行,让我们感觉多个线程是同时执行的,时间片一般是几十毫秒(ms).    CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务.但是,在切换前会保存上一个任务的状态,以便下次切换回...

2018-04-12 23:44:54 1165

空空如也

空空如也

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

TA关注的人

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