自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql order by主键速度慢问题

转载请声明出处哦~,本篇文章发布于fushengwushi的博客:https://www.fushengwushi.com/archives/800背景今天遇到一个奇怪的问题,就是明明是order by id(主键)但却速度奇慢。排查针对这个sql, 做了一下explain, 发现其并没有走主键索引,而是走了其他的索引总结mysql(innodb) 选择使用的索引时,有各种的优化选择策略,并不一定会符合我们的预期。而order by主键,这个可能是我们最常用到的一个不符合预期...

2021-06-23 18:55:47 1919

原创 imovie导出高清视频(1080p,4k)

转载请声明出处哦~,本篇文章发布于fushengwushi的博客:https://www.fushengwushi.com/archives/934imove可以说是目前mac上使用最为广泛的免费的视频制作工具,但同时也有不少问题会造成困扰。经常会遇到,明明自己的原视频是1080p或4k的,但imovie导出时,却仅能导出720p的视频,这种情况可以通过用下面的方法处理。imovie导出时可选的分辨率是根据时间轴第一个插入的视频的分辨率决定的,如何看出当前imovie识别出的清晰度呢?可...

2021-06-23 18:01:49 5681

原创 中文标点转为英文标点-golang

转载请声明出处哦~,本篇文章发布于fushengwushi的博客:https://www.fushengwushi.com/archives/1453业务中,中文标点符号常常是一个问题,在涉及到一些文本相关的逻辑时,为了避免复杂的逻辑,我们一般统一将中文标点转换为英文标点,再进行相关计算。示例var punctuationMap = map[rune]rune{8216: 39, // '8217: 39, // '8220: 34, // "8221: 34, // "...

2021-06-23 18:00:50 734

原创 Emoji表情

转载请声明出处哦~,本篇文章发布于fushengwushi的博客:https://www.fushengwushi.com/archives/1131Emoji表情 – 是开发中常遇到的一个难点,无论是存储还是识别,都有一定的难度,下面来具体介绍一下:一、含义emoji是可以插入文字的图形符号,是日语词“絵文字”(“えもじ”)的音译。Emoji 在上个世纪90年代,由日本电信商引入服务,最早用于在短消息之中插入表情。2007年,苹果公司的 iPhone 支持了 Emoji,导致...

2021-06-23 18:00:02 1086

原创 php:file_get_content() ssl报错

转载请声明出处哦~,本篇文章发布于fushengwushi的博客:https://www.fushengwushi.com/archives/985今天再开发时,发现利用file_get_content() 获取https的文件内容时,获取不到内容,会报ssl 错误file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:\nerror:1416F086:SSL routines:tls_pro...

2021-06-23 17:58:34 1545

原创 php 远程图片转base64

转载请声明出处哦~,本篇文章发布于fushengwushi的博客:https://www.fushengwushi.com/archives/979业务中涉及到物理删除图片,需要将原始图片以base64的方式存储下来$imageInfo = getimagesize($picUrl);$content = file_get_contents($picUrl);$base64Data = 'data:' . $imageInfo['mime'] . ';base64,' . base6...

2021-06-23 17:57:35 427

原创 Redis Cluster “cluster nodes”命令

转载请声明出处哦~,本篇文章发布于fushengwushi的博客:https://www.fushengwushi.com/archives/1633redis cluster集群部署后,可以通过redis-cli的cluster nodes命令查看集群的节点信息。输出的每行,都代表一个节点,下面我们讲解下这些信息的含义,为了更直观些,我们将这些信息放入表格里:id ip:port flags master ping-sent pong-recv ...

2021-06-23 17:56:04 24777

原创 Redis Cluster集群为何是16384个哈希槽

转载请声明出处哦~,本篇文章发布于fushengwushi的博客:https://www.fushengwushi.com/archives/1616我们都知道,对于客户端请求的key,redis是根据公式HASH_SLOT=CRC16(key) mod 16384,计算出映射到哪个分片上,然后Redis会去相应的节点进行操作。CRC16算法产生的hash值有16bit,该算法可以产生65536(2^16)个值。换句话说,值是分布在0~65535之间。那作者在做mod运算的时候,为什么...

2021-06-23 17:52:03 359

原创 Redis Cluster集群部署

转载请声明出处哦~,本篇文章发布于fushengwushi的博客:https://www.fushengwushi.com/archives/1582Redis Cluster是Redis官方提供的Redis集群功能。下载镜像docker pull redis:6.2.4运行镜像创建目录mkdir -p ~/Ethan/Docker/redis/data/node1mkdir -p ~/Ethan/Docker/redis/data/node2mkdir -p ~/Et...

2021-06-23 17:50:50 323

原创 Redis Cluster集群节点间通信

转载请声明出处哦~,本篇文章发布于fushengwushi的博客:https://www.fushengwushi.com/archives/1646Redis 的集群节点之间的通信采取 gossip 协议进行通信,在 redis cluster 架构下,每个 redis 要放开两个端口号,比如一个是 6379,另外一个就是 加10000 的端口号,比如 16379,16379 端口号是用来进行节点间通信的。Gossip协议Gossip protocol 也叫 Epidemic Prot...

2021-06-23 17:24:10 1503 1

原创 golang中文字符处理

请转:https://www.fushengwushi.com/archives/1427

2021-02-25 10:25:47 571

原创 从零开始搭建go项目(gin框架)(三)

上篇文章,我们已经给项目加上了路由,并且走通了接口,这篇文章我们再给项目加上一项必不可少的内容 —— 日志.目前go的日志记录,用的最多的还是 logrus, 我们这次就将logrus以一个中间件的方式,引入我们的项目。第一步 引入logruslogrus项目的git地址:https://github.com/sirupsen/logrus,创建logger中间件mkdir library/middlewarevim library/middleware/logger.go在..

2021-02-10 11:14:57 522

原创 go web定义全局变量,常驻内存并定时更新重载

请移步:https://www.fushengwushi.com/archives/1394

2021-02-10 10:47:50 757

原创 从零开始搭建go项目(gin框架)(二)

上一节从零开始搭建go项目(gin框架)(一)中,我们已经实现了一个go项目的基础搭建,实现了程序可访问,本节,我们继续对该项目进行完善和补充。第一步 接口路由根目录创建router目录,目录下创建router.go路由文件,同时,创建根目录创建api/v1目录,作为我们的接口目录,可以看做控制层。package routerimport ("github.com/gin-gonic/gin""word-dect-go/api/v1")func Http(router *..

2021-02-08 10:25:30 1448

原创 从零开始搭建go项目(gin框架)(一)

本文会对一些基础的git操作也进行记录,希望对一些对git不是很了解的同学有所帮助。第一步 创建git项目git init --bare word-detect-go.git这是因为我是自己搭建的git服务,如果使用的是github等官方服务的话,可以直接页面操作创建项目。第二步 本地部署项目第三步 创建readme说明文件,提交第四步 创建go.mod文件go mod init word-dect-gogo mod是golang的依赖包管理工具,能够让我们即

2021-02-08 10:24:09 3418 1

原创 Redis浮生系列:为什么要使用Redis

Redis可以说是目前而言,应用最为广泛的一种nosql数据库,其广受欢迎必然有着其独有的优势。优势一:速度快redis为什么速度快呢?最主要的原因就是redis是基于内存的。Redis将所有的数据都放在内存中进行操作,纯内存访问,没有磁盘的I/O读取,自然就非常的快了。redis内存读取其次,redis是单线程的。采用异步非阻塞的多路 I/O 复用,让单个线程高效的处理多个连接请求,减少了网络 IO 的时间消耗,且不存在多线程中线程切换竞争等问题造成的性能...

2021-01-26 20:01:52 157 1

原创 nginx 配置TLS1.2无效总是TLS1.0

最近因为证书过期要换证书,不过发现ios端访问总是证书验证不过,必须使用TLS1.2连接才可以,不过通过nginx配置成TLS1.2后,访问还是走的TLS1.0,网上也查了不少资料,openssl和nginx的版本均没问题,搞了很长时间,后来才发现,nginx上面配置了很多站点,只将这一个站点修改成TLS1.2是不起作用的,于是,将这个nginx上配置的其他的站点也统一修改成了TLS1.2,问题解...

2020-07-17 11:09:26 9711 5

原创 删除软连接,新建同名软连接后还是走的原来的连接地址

开发中遇到了这样一个问题,原来的一个软连接soft_conn,连接的地址是address1,现在将原来的软连接soft_conn删除,新建同名的软连接soft_conn,其指向address2后,发现代码中requiresoft_conn还是引进的旧地址address1解决:1、将address1删除或者mvaddress1address3,可mvaddress3address1...

2020-07-17 11:08:44 1270

原创 批量修改文件名(python)

背景工作中总有各种场景,需要批量修改文件的名字,但是一个一个的该实在是太麻烦而且太费时间了,所以干脆写了个批量修改文件名的脚本。代码import sysimport osimport redef rename(find, replace, local_file_path): file_list = os.listdir(local_file_path) # 得...

2020-04-13 13:31:53 354

原创 php7与php5底层区别

1. 抽象语法树php7之前的版本,直接将php代码在语法解析阶段生成ZendVM指令, 编译器和执行器是耦合在一起的,所以如果语法规则或执行引擎有一个变,则另外一个也要跟着改变才可以。php7增加了抽象语法树,首先将php代码解析生成抽象语法树,然后将抽象语法树编译为ZendVm指令,将php的编译器与执行器很好的隔离开.2. Native TLSphp7之前的版本,为了线...

2020-03-19 19:32:08 916

原创 省市二级及联动(省市对应数组)

html<select name="province" id="pro"></select> <select name="city" id="city"></select>address.js$(function() { function pro_i...

2019-12-11 19:30:29 3157

原创 msyql主从同步

主从同步原理图:注: 5.6.3前,只有一个I/O线程,5.6.3之后,有多个I/O线程去读,效率更高原理:步骤1: 主从同步后,主服务其会把所有DDL和DML操作写到binlog日志中, 由于是顺序写,所以效率很高步骤2: 从服务器的I/O线程读取主服务器的binlog日志, 并写到从服务器的relay log中步骤3: 从服务器会依次执行relay log中的sq...

2019-12-11 19:30:21 611

原创 不少程序员都会碰到的三个面试题

对于面试时问算法问题是否有效,一直饱受争议。然而算法编程题,有时候能够很好筛选人才。问题如下:1. 求从10到100中能被3或5整除的数的和int sum = 0;for(int i = 10; i if( i % 3 == 0 || i % 5 == 0) sum += i;System.out.p

2017-08-06 00:47:39 782

转载 工作感悟成长

最近在工作中有了一个感悟,不吐不快 以前工作的时候,自己总是自我感觉很好,因为交给我的工作我总是能够很快的搞定,不过最近才发现,原来这远远的不够,深深地自我反思了一下 首先,代码写得快,但同时也很容易出一些粗心大意的错误 其次,只干完自己手上的工作是远远不够的,这点是我感受最深的,如果永远做一个被动者,而不主动,永远不会比别人出色,工作中永远需要用心去做自己的创新,哪怕是一些方便

2016-12-08 20:36:46 2287 2

原创 curl couldn‘t connect to host 拒绝连接

1、首先ping一下,看能不能通2、ping 通的话,最大的可能就是要访问的端口被防火墙拦住了防火墙添加允许通过端口:1、sudo /etc/init.d/iptables status 查看端口开通情况2、sudo vi /etc/sysconfig/iptables 添加允许防火墙通过的端口 -A INPUT -m state --state NEW ...

2016-10-25 17:09:57 54796 1

原创 多台服务器批量增加,修改crontab

shell脚本批量增加:# Local CluserLOCAL="10.10.10.10"# for localcrontab_cluster="$LOCAL"# For TmpTMP_FILE="/tmp/crontab"#定义数组lines# lines 数组为需要新增的crontab内容 注:lines下标要从0开始# l...

2016-02-01 21:36:48 4943

原创 laravel5.1 项目开发常用接口

一、路由定义app/Http/routes.phpRoute::get();e.g. Route::get('foo','Photos\AdminController@method');Route::post();Route::put();Route::delete();为多种请求注册路由Route::match();e.g. ...

2016-01-14 21:02:29 3598 1

原创 laravel5.1 缓存

1、配置 Laravel 为各种不同的缓存系统提供一致的 API 。缓存配置文件位在config/cache.php 注:使用Cache门面,你可以使用store方法访问不同的缓存存储器 $value = Cache::store('file')->get('foo'); Cache::store('redis')->put('bar', 'baz...

2016-01-14 21:01:24 1064

原创 nginx rewrite 相关、重定向

rewrite指令的最后一项参数为flag标记,支持flag标记有:1.last     相当于apache里面的[L]标记,表示rewrite。         2.break本条规则匹配完成后,终止匹配,不再匹配后面的规则。3.redirect  返回302临时重定向,浏览器地址会显示跳转后的URL地址。4.permanent  返回301永久重定向, 浏览器地址会

2015-12-31 20:27:00 5345

原创 laravel5.1 数据库相关,操作底层实现

一、数据库配置 数据据库相关配置文件都在config/database.php 目前 Laravel 支持四种数据库系统: MySQL、Postgres、SQLite、以及 SQL Server。二、基本语句 useDB;执行 Select语法DB::select('select*fromuserswhereid=...

2015-12-31 20:26:10 846

原创 laravel5.1 日志相关

一、日志相关配置1、应用程序的日志功能配置在Illuminate\Foundation\Bootstrap\ConfigureLogging启动类中。该类中定义了日志文件位置 这个类使用config/app.php配置文件的log配置选项。2、Laravel 提供立即可用的single、daily、syslog和errorlog日志模式。3、可以

2015-12-31 20:25:21 1342

原创 laravel5.1 配置相关

Laravel 框架所用的所有配置文件都被存放在config目录下。一、环境配置 .env文件 当应用程序收到一个请求时,.env文件中的所有变量都会被加载到 PHP 的$_ENV超全局变量中二、基本配置 Laravel 框架所用的所有配置文件都被存放在config目录下,也可在该目录下自行创建自己的配置文件 ...

2015-12-31 20:23:46 426

原创 thinkphp3.2.3 相关

一、命名空间实现原理:autoload自动加载所有的“命名空间\类名”(或类名),根据其是否符合命名空间格式(是否存在“\”)分情况进行处理1、 若符合命名空间格式,则通过字符串处理取出该命名空间的根命名空间名称,判断其是否为配置文件中规定的根命名空间目录数组中元素,若是,则根据配置文件中配置该跟命名空间目录的路径信息与autoload取出的“命名空间\类名”信息组合出该类文件的路径...

2015-12-16 20:33:45 507

原创 thinkphp3.2.3 命名空间

命名空间:1、autoload自动加载类(命名空间)$class,写入static $_map(第一次)2、判断是否符合命名空间格式2.1 若为命名空间则通过字符串处理取出其根命名空间2.1.1 若其根命名空间属于ThinkPhP/Library/ 下已有目录或自己创建的目录则命名空间自动定位为:$path = LIB_PATH;即物理路径如E:\xamppp\htdocs\...

2015-12-16 20:28:35 1604

原创 CentOS 上php环境搭建

一 、Mysql的安装 yum install mysql mysql-server 安装 chkconfig --levels 235 mysqld on 让mysql随系统启动 /etc/init.d/mysqld start 启动mysql mysql_secure_installation 设置mysql数...

2015-12-16 20:19:55 428

空空如也

空空如也

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

TA关注的人

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