自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

魂影魔宅

走向全栈开发者之路

原创 Go编程入门详细例子-TCP

服务器 package main import ( "fmt" "net" //做网络socket开发时,net包含有我们需要所有的方法和函数 _"io" ) func process(conn net.Conn) { //这...

2020-05-06 11:25:20 84 0

原创 Go编程入门详细例子-反射

反射入门 package main import ( "reflect" "fmt" ) //专门演示反射 func reflectTest01(b interface{}) { //通过反射获取的传入的变量的 type , kind, 值 /...

2020-05-05 18:33:10 132 0

原创 Go编程入门详细例子-协程/管道

协程 package main import ( "fmt" "strconv" "time" ) // 在主线程(可以理解成进程)中,开启一个goroutine, 该协程每隔1秒输出 "hello,world"...

2020-05-05 15:06:59 89 0

原创 Go编程入门详细例子-面向对象

结构体 package main import ( "fmt" ) //定义一个Cat结构体,将Cat的各个字段/属性信息,放入到Cat结构体进行管理 type Cat struct { Name string Age int Color string Ho...

2020-04-26 21:51:27 140 0

原创 Go编程入门详细例子

变量 //golang的变量使用方式1 //第一种:指定变量类型,声明后若不赋值,使用默认值 // int 的默认值是0 , 其它数据类型的默认值后面马上介绍 var i int fmt.Println("i=", i) //第二种:根据值自行判定变量类型(类型...

2020-04-26 12:50:20 85 0

转载 游戏服务器常用架构

游戏服务器,是一个会长期运行程序,并且它还要服务于多个不定时,不定点的网络请求。所以这类服务的特点是要特别关注稳定性和性能。这类程序如果需要多个协作来提高承载能力,则还要关注部署和扩容的便利性;同时,还需要考虑如何实现某种程度容灾需求。由于多进程协同工作,也带来了开发的复杂度,这也是需要关注的问题...

2020-04-24 16:23:22 122 0

转载 网游服务端架构

最近二十年以来,IT行业发展之迅猛。计算机也从最开始的“毒害青少年的罪魁祸首”变成了各行各业都离不开的工具。在这个过程中,网络游戏也变得容易让人接受了,再也不像二十年前一样,如过街老鼠,人人喊打。现在的游戏已经是几乎下到幼儿园上到养老院的居家旅行必备良品。因此,从技术层面来说,现在的网络游戏也面领...

2020-04-24 16:11:55 109 0

转载 游戏服务器架构设计整理

一个大型的网落游戏服务器应该包含几个模块:网络通讯,业务逻辑,数据存储,守护监控(不是必须),其中业务逻辑可能根据具体需要,又划分为好几个子模块。 这里说的模块可以指一个进程,或者一个线程方式存在,本质上就是一些类的封装。 对于服务器的并发性,要么采用单进程多线程,要么采用多进程单线程的方式,说说...

2020-04-24 15:43:03 135 0

转载 Go游戏服务端框架从零搭建(一)— 架构设计

本教程以Go语言分区游戏服务端框架搭建为例。 Go语言是Google开发的一种静态强类型、编译型、并发型、具有垃圾回收功能的编程语言。语法上近似C语言,支持接口、可通过struct包含另一个struct方式实现继承等面向对象的概念。性能上媲美C/C++,相比C/C++更健壮,更易开发并发程序。我以...

2020-04-21 13:52:41 348 0

原创 PHP高手之设计模式

模式 这些模式可以分为三个大类。 1. 创建型 在软件工程中,创建型设计模式是处理对象创建机制的设计模式,试图以适当的方式来创建对象。对象创建的基本形式可能会带来设计问题,亦或增加了设计的复杂度。创建型设计模式通过控制这个对象的创建方式来解决此问题。 2. 结构型 在软件工程中,结构型设计模式是通...

2020-03-01 11:50:31 97 0

原创 Linux服务器内核参数优化

ulimit设置 ulimit -n 要调整为100000甚至更大。 命令行下执行 ulimit -n 100000即可修改。如果不能修改,需要设置 /etc/security/limits.conf,加入 * soft nofile 262140 * hard nofile 262140 roo...

2020-02-26 12:00:18 224 0

原创 Window环境PHP7使用Protobuf开发详解

安装Protoc 用于生成PHP代码 下载地址: https://github.com/protocolbuffers/protobuf/releases 选择Window平台下载地址 这里选择最新版 https://github.com/protocolbuffers/protobuf/rel...

2020-02-16 18:00:42 501 1

转载 Python虚拟环境安装Sentry

Sentry 简介 Sentry 是一个开源的实时错误报告工具,支持 web 前后端、移动应用以及游戏,支持 Python、OC、Java、Go、Node、Django、RoR 等主流编程语言和框架 ,还提供了 GitHub、Slack、Trello 等常见开发工具的集成。 Sentry 服务支持...

2020-01-15 10:58:36 152 0

原创 Swoole整合PHP性能分析平台: Tideways+Xhgui

简介 最近在公司使用EasySwoole开发一个项目, 发现一些性能问题, 想安装个PHP性能调试工具监控调试一下,看看性能差在哪里。 找到了一个Facebook开源的PHP性能分析工具Xhprof。Xhprof可以报告函数级别的请求次数和各种指标,包括阻塞时间,CPU时间和内存使用情况。但是fa...

2020-01-11 17:04:40 2286 1

转载 CentOS 6.9安装MongoDB 4.0

1.下载MongoDB 官网下载地址 https://www.mongodb.com/download-center#community 下载地址 32位 http://dl.mongodb.org/dl/linux/i686 开始下载 wget https://fastdl.mongod...

2020-01-09 14:51:41 239 0

原创 CentOS搭建异常监控服务平台:Sentry

简介 Sentry 是一个实时事件的日志聚合平台。它专门监测错误并提取所有有用信息用于分析,不再麻烦地依赖用户反馈来定位问题。 Sentry发展多年,几乎没有同类产品可与其媲美。它能覆盖大部分的主流编程语言与框架,很适合应用到实际生产环境中采集异常日志。 Sentry 中文翻译过来是 哨兵 的意思...

2020-01-08 15:52:03 2313 3

转载 PHP编译支持SQLite3加密扩展

自PHP 5.3.0起默认启用SQLite3扩展,但是由于SQLite 3 开源版不带加密功能,如果想使用加密功能需要用他的商业版本。这导致PHP默认的SQLite扩展本身是不支持加密功能,只预留了相关的接口,详见官方文档介绍: An optional encryption key used w...

2019-11-01 18:19:16 694 0

原创 Composer基本使用

Composer基本使用 1、composer update、composer install 与 composer require的区别 Composer update: 根据composer.json文件的包依赖关系将包更新到最新版本,并将版本依赖信息更新到composer.lock文件...

2019-10-12 15:43:07 286 0

转载 MYSQL死锁之路 - 常见SQL语句的加锁分析

这篇博客将对一些常见的 SQL 语句进行加锁分析,看看我们平时执行的那些 SQL 都会加什么锁。只有对我们所写的 SQL 语句加锁过程了如指掌,才能在遇到死锁问题时倒推出是什么锁导致的问题。在前面的博客中我们已经学习了 MySQL 下不同的锁模式和锁类型,我们要特别注意它们的兼容矩阵,熟悉哪些锁是...

2019-10-05 16:07:36 197 0

原创 外部网络SSH访问公司内网服务器终极解决方案(实现SFTP直连内网)

最近工作中中遇到了这样的情况,公司内部搭建了一台测试服务器作为测试环境使用。 某天请假回家,公司测试服务器出了问题,公司的小伙伴无法使用测试环境测试。 这个时候就想,能否在外部也能访问公司的服务器。 解决办法 利用外网服务器以及反向SSH搭一条通道,就可以利用外网的服务器登录内网的服务器。...

2019-07-26 20:56:15 3742 0

转载 Gitlab 可以push但web端不显示文件

最近遇到一个奇怪的问题,Git本地push文件成功,但是登录Gitlab看不到文件! 解决办法: 运行命令 gitlab-rake cache:clear RAILS_ENV=production 清楚缓存. 如果没有 gitlab-rake命令 , 可以到git安装目录的bin目录下, 执行ra...

2019-07-18 17:17:46 1522 0

原创 PhpStorm配置自动同步Web服务器

1、首先创建需要创建SFTP用户,具体可参考其他网络教程,这里以www为例 2、在webstom编辑器依次选择 Tools => Deployment => Configuration 3、添加一个远程主机,协议选择SFTP/填写主机信息 设置目录映射,选择Deployment P...

2019-07-05 14:05:37 295 0

转载 PHP过滤输入的emoji表情

1.过滤emoji表情的原因 在我们的项目开发中,emoji表情是个麻烦的东西,即使我们可以能存储,也不一定能完美显示,因为它的更新速度很快:在iOS以外的平台上,例如PC或者android。如果你需要显示emoji,就得准备一大堆emoji图片并使用第三方前端类库才行。即便如此,还是可能因为em...

2019-05-23 20:18:48 365 0

转载 gRPC快速入门教程

gRPC快速入门教程 gRPC快速入门(一)——Protobuf简介 https://blog.51cto.com/9291927/2331980 gRPC快速入门(二)——Protobuf序列化原理解析 https://blog.51cto.com/9291927/2332264 gRPC快速入...

2019-05-23 17:37:25 170 0

原创 CentOS中PHP服务器安装gRPC

载 PHP的gRPC扩展和protobuf扩展 PHP的gRPC扩展:http://pecl.php.net/package/gRPC PHP的protobuf扩展: http://pecl.php.net/package/protobuf wget http://pecl.php.net/get...

2019-05-23 17:05:40 459 0

转载 PHP中使用gRPC客户端

因为工作需要使用gRPC,本人使用的是windows10,不过linux的操作流程基本一样。 直接进入主题,分为了几部分 1、下载Protoc 下载地址:https://github.com/google/protobuf/releases 这里采用的二进制文件,选择对应的平台,下载 h...

2019-05-23 16:30:14 2833 0

转载 Redis持久化-数据丢失及解决方案总结

Redis大部分应用场景是纯缓存服务,请求后端有Primary Storage的组件,如MySQL,HBase;请求Redis的键未命中,会从primary Storage中获取数据返回,同时更新Redis缓存。如果少量数据丢失,相当于请求"缓冲未命中"; 一般对业务的影响是无...

2019-05-16 18:24:58 1244 0

原创 PHP+Redis 实现点赞+热度

前言 点赞其实是一个很有意思的功能。基本的设计思路有大致两种, 一种自然是用mysql(写了几百行的代码都还没写完,有毒)啦。数据库直接落地存储, 另外一种就是利用点赞的业务特征来扔到redis(或memcache)中, 然后离线刷回mysql等。 我这里所讲的功能都是基于我之前的项目去说的,所以...

2019-05-16 17:18:42 955 2

原创 解决CentOS安装GitLab经常奔溃,Prometheus运行失败

背景 由于内部服务器安装GitLab,但是发型GitLab运行一段时间后就无法访问,重启后又可以 终极分析原因 由于之前升级python的原因,导致安装GitLab的时候安装prometheus失败 解决方案 查看GitLab状态 gitlab-ctl status 发现...

2019-05-15 13:05:52 977 0

原创 CentOS 6.9升级python2.7问题

ImportError: No module named pkg_resources解决方案 重装安装pip pip是python的安装工具,很多python的常用工具,都可以通过pip进行安装。 要安装pip,首先要安装setuptools。官网,https://pypi.python.o...

2019-05-14 21:51:52 404 0

原创 PHP高性能的配置管理扩展Yaconf

简介 Yaconf 是一个高性能的配置管理扩展,是由PHP核心开发者鸟哥惠新宸发布的 PHP7 下的扩展应用。主要目标是简化读取项目配置文件, 使配置文件和项目代码分离,增强了配置文件的可读性和可维护性。 据 Yaconf 开发者惠新宸在其博客上说,这个项目是其在来微博以后, 第一个优化项目中...

2019-05-03 15:22:23 540 2

原创 Linux下SVN命令一次性提交多个目录及子目录

svn st|awk '{print $2}'|xargs svn add。 乍看之下觉得更加精炼,仔细看下就会发现这个脚本没有区分文件状态。所以完善了以下这个脚本: svn st | awk '{if ( $1 == "?") { print ...

2019-05-01 00:29:32 2819 0

原创 Linux下SVN使用钩子自动同步代码

什么是 post-commit 利用SVN的POST-COMMIT钩子自动部署代码 我们在开发的过程将代码提交到SVN后使用SVN的hook,通过post-commit脚本,在目 标文件夹根下执行svn update操作,将更新内容同步到测试环境,这样开发调试非常方便。 如何做 创建项目 svna...

2019-04-28 00:48:00 428 0

原创 最详细的CentOS7设置自定义开机启动服务教程

CentOS 7 添加开机启动有两种方式: 一、添加开机启动服务 Centos 系统服务脚本目录: /usr/lib/systemd/ 有系统(system)和用户(user)之分,如需要开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即: /usr/lib/sys...

2019-04-27 20:20:47 574 0

原创 Linux下安装Composer及下载问题

下载 Composer 的可执行文件 局部安装 要真正获取 Composer,我们需要做两件事。首先安装 Composer (同样的,这意味着它将下载到你的项目中): curl -sS https://getcomposer.org/installer | php 注意: 如果上述方法...

2019-04-26 15:46:44 1111 0

转载 后端技术流大神博客收藏

团队技术博客 淘宝UED淘宝用户体验团队 淘宝核心系统淘宝核心系统团队博客 阿里巴巴数据库团队专注数据库管理开发运维 淘宝通用产品专注JAVA技术 淘宝QA致力于做测试的行业标准 淘宝搜索技术关注技术 关注搜索 量子恒道专注大数据统计 百度搜索研发关注搜索相关技术 EMC中国...

2019-04-24 13:23:18 187 0

转载 Redis未授权访问漏洞利用总结

0x01 redis介绍 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。 R...

2019-04-24 13:12:13 233 0

转载 Redis未授权访问漏洞的利用及防护

什么是Redis未授权访问漏洞? Redis在默认情况下,会绑定在0.0.0.0:6379。如果没有采取相关的安全策略,比如添加防火墙规则、避免其他非信任来源IP访问等,这样会使Redis服务完全暴露在公网上。如果在没有设置密码认证(一般为空)的情况下,会导致任意用户在访问目标服务器时,可以在未...

2019-04-24 12:52:49 319 0

原创 编译安装Swoole4.3.3详细步骤

安装PHP 7.3.1 https://blog.csdn.net/uisoul/article/details/86631469 下载Swoole wget https://github.com/swoole/swoole-src/archive/v4.3.3.tar.gz 解压 ...

2019-04-21 22:18:35 687 0

转载 phpize 编译安装php扩展出现Cannot find autoconf解决办法

运行/usr/local/webserver/php/bin/phpize时出现: Configuring for: PHP Api Version: 20041225 Zend Module Api No: 20060613 Zend Extension Api No:...

2019-04-21 21:56:32 346 0

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