自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

...

这都给你找到这来了...你太厉害了...

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

原创 k8s ingress 代理 mysql 3306端口

k8s 使用 ingress 代理 mysql

2023-11-07 19:21:02 681

原创 k8s mysql 主从复制(带密码) ubuntu arm内核

k8s mysql 主从复制(带密码) ubuntu arm内核

2023-10-31 15:20:26 145

原创 docker 快速搭建 redis 集群

git 项目地址https://github.com/Gekkoou/docker-redis-clusterdocker-redis-cluster快速创建redis集群使用安装 docker 和 docker-composegit clone 代码到本地$ git clone [email protected]:Gekkoou/docker-redis-cluster.git执行命令$ cd docker-redis-cluster$ docker-compose up -d执行命

2020-12-13 19:01:07 284

原创 dnmp v2.0

git 项目地址https://github.com/Gekkoou/dnmpdocker + nginx + mysql + php7/5扩展 redis + mongodb + swoole (更多扩展可编辑 .env 文件)使用安装 docker 和 docker-composegit clone 代码到本地$ git clone [email protected]:Gekkoou/dnmp.git执行命令$ cd dnmp$ docker-compose up -d默认站点在浏

2020-12-13 18:50:06 363

原创 swoole 学习笔记

写的有点乱, 仅供本人参考官方手册: https://wiki.swoole.com/协程,是为了提高并发的,如果我的应用就没有高并发,或者必须要用某些无法异步化 IO 的操作 (例如上文的 MongoDB),那么你完全可以不开启一键协程化,关闭 enable_coroutine,多开一些 Worker进程,这就是和 Fpm/Apache 是一样的模型了,值得一提的是由于 Swoole 是常驻进程的,即使同步 IO 性能也会有很大提升,实际应用中也有很多公司这样做。PHP-FPM vs Swool.

2020-05-22 15:06:26 424

原创 swoole reload 平滑重启小实践

官方参考: https://wiki.swoole.com/#/server/methods?id=reloadreload() 安全地重启所有 Worker/Task 进程。Swoole\Server->reload(bool $only_reload_taskworkrer = false): bool平滑重启只对 onWorkerStart 或 onReceive 等在 Worker 进程中 include/require 的 PHP 文件有效Server 启动前就已经 includ

2020-05-13 05:06:12 1312

原创 swoole 并发调用小实践

顺序执行耗时 = 所有任务执行耗时的总和: t1+t2+t3...并发执行耗时 = 所有任务执行耗时的最大值: max(t1, t2, t3, ...)按照 test1.php 正常执行代码, 若 for 里每个调用都需要耗时 2s, 那执行5次下来就需要 10stest2.php 和 test3.php 用 swoole 提供的并发调用功能, 利用 协程(go) + 通道(channel)...

2020-04-07 23:42:08 595

原创 约瑟夫问题 php

原题: https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof/0,1,…,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数...

2020-04-02 02:34:27 277

原创 用两个栈来实现一个队列 php

思路:定义一个栈为储存队列 queue, 一个为临时队列 tmp_queue入列: 正常入栈出列: 将 queue 依次 pop 出栈并 push 入栈到 tmp_queue, 根据栈特性 先进后出 然后把 tmp_queue 中 pop 出第一个元素, 最后依次把 tmp_queue 的元素重新入栈回 queue至此实现了队列的性质 先进先出class Queue{ publi...

2020-03-27 02:24:37 312 1

原创 利用链表实现栈和队列 php

栈: http://data.biancheng.net/view/169.html队列: http://data.biancheng.net/view/172.htmlphp链表类: https://blog.csdn.net/Gekkoou/article/details/105127971栈use LinkedList;class LinkedListStack extend...

2020-03-26 22:56:36 288

原创 php实现链表

链表: http://data.biancheng.net/view/160.html双向链表: http://data.biancheng.net/view/166.html双向链表官方类:https://www.php.net/manual/zh/class.spldoublylinkedlist.php链表class Node{ public $data; ...

2020-03-26 21:10:10 561

原创 N皇后问题 php

https://leetcode-cn.com/problems/n-queens/回溯函数 backtrack(row = 0)循环列并且试图在每个列 column 中放置皇后在位置 (row, column) 方格上放置皇后排除同行、同列冲突、对角线的位置if 所有的行被考虑过, row == N找到一个解else继续查找下一行皇后的位置 backtrack(r...

2020-03-24 23:22:45 342

原创 红黑树 学习笔记

参考: https://www.jianshu.com/p/e136ec79235cR-B树(红黑树) = 自平衡的二叉查找树AVL树(平衡二叉树) = 自平衡的二叉查找树在线测试: https://www.cs.usfca.edu/~galles/visualization/RedBlack.html性质:每个节点要么是黑色, 要么是红色根节点是黑色每个叶子节点(NIL)...

2020-03-24 19:21:28 289

原创 红包算法 php (随机 & 固定最大金额与最小金额)

网络搜集的3种简易算法随机红包function randNum($total, $num){ $min = 0.01;//每个人最少能收到0.01元 for($i=1; $i<$num; $i++){ $safe_total = ($total-($num-$i)*$min)/($num-$i);//随机安全上限 if($safe_tota...

2020-03-24 18:37:53 1370

原创 斐波那契数列 爬楼梯问题 python & php版

https://leetcode-cn.com/problems/climbing-stairs/爬楼梯问题假设你正在爬楼梯, 需要 n 阶你才能到达楼顶每次你可以爬 1 或 2 个台阶, 你有多少种不同的方法可以爬到楼顶呢?设爬 n 个台阶有 f(n) 种可能假设先爬1阶, 剩下 n-1 阶有 f(n-1) 种可能假设先爬2阶, 剩下 n-2 阶有 f(n-2) 种可能因此爬...

2020-03-24 18:26:36 688

原创 https协议流程

参考: https://blog.csdn.net/kefengwang/article/details/81219121RSA非对称加密 公钥加密算法明文 + 加密算法 + 私钥 => 密文密文 + 解密算法 + 公钥 => 明文对于数据交换双方, 都拥有自身的公钥和私钥, 私钥都为自己私藏, 公钥都向对方公开同样一个数据, 发送方使用自身的私钥加密, 接收方收到后可...

2020-03-23 22:09:06 398 1

原创 inotifywait+rsync 实时同步脚本

利用 inotifywait 对文件系统事件实时监控, 触发事件调用 rsync 远程同步文件至一台或多台服务器同步指定目录 (缺点: 每次触发都要扫描整个目录进行文件差异对比, 文件越多越耗时长)#!/bin/bashuser=rootip=192.168.0.2source=/data/target=/data/log_path=/var/log/inotifywait.log...

2019-05-24 17:02:25 835

原创 Dockerfile ssh免密登录容器小实践 docker-alpine-sshd

基于 alpine 镜像, 体积小, 方便做小实验, 本次实践使用 alpine:3.8 版本, 若使用其它本版, 更改 Dockerfile 中 FROM alpine:3.8 版本号与阿里源的版本号.Dockerfile 文件FROM alpine:3.8RUN echo "http://mirrors.aliyun.com/alpine/v3.8/main/" > /etc/a...

2019-05-22 14:26:13 3409

原创 nginx 禁止IP访问简单实现隐藏管理后台

方法很简单很傻瓜, 原理就是服务器上nginx禁止IP访问, 只允许域名访问, 而nginx配置域名时填上一个外网访问不了的域名, 在需要访问管理后台的本地电脑上更改host为预先设置的域名就可以了.首先想一个外网访问不了的域名, 假设用 test.com 域名隐藏管理后台.再假设一下 test.com 是你本来拥有的一个域名, 又不想阻碍你正常访问, 通常可采取二级域名方法. 例如隐藏数据库...

2019-05-20 18:09:21 1925

原创 cordova+codepush 热更新实践 (微软 cordova-plugin-code-push)

系统环境 windows 10所需工具 node.js, android studio, 安装方法自行百度/谷歌cordova-hot-code-push 不再维护, 转而使用 cordova-plugin-code-push安装 codepushnpm install -g code-push-cli创建一个 CodePush 的云账户code-push register浏览...

2019-04-21 01:37:29 1999 2

原创 redis 队列简单实现高并发抢购/秒杀

前提为每人限购1件开抢前把秒杀商品库存存进 Redis 队列中$redis = new redis();$redis->connect('127.0.0.1', 6379);//库存$num = 10;//往队列 goods_store 插入商品, 队列的长度为库存for($i=0;$i<$num;$i++) $redis->lpush('good...

2019-03-21 14:34:28 7551 1

原创 django 模版加载顺序与模版存放结构位置

项目目录结构├── app1│ │ urls.py│ │ views.py│ └── ...│├── app2│ │ urls.py│ │ views.py│ └── ...│ ├── django_test│ │ settings.py│ │ urls.py│ └── ...│ └── templ...

2019-03-06 09:39:09 695

原创 django 多个app的urls.py 别名name重复问题

若多个APP下的urls.py使用了重复相同的name, 前端需用此name生成的url会引起冲突可用命名空间方法来区分相同name的url, 解决重复的问题项目目录结构├── app1│ │ urls.py│ │ views.py│ └── ...│├── app2│ │ urls.py│ │ views.py│ └── ......

2019-03-06 09:39:02 1221

原创 django 多个app的urls配置

创建项目 django_test 与应用 app1 app2django-admin startproject django_testdjango-admin startapp app1django-admin startapp app2django_tes/urls.py 文件from django.contrib import adminfrom django.urls impo...

2019-03-06 09:38:55 3187

原创 xdebug 配置

环境: windows+phpstudy php5.6官方配置文档: https://xdebug.org/docs/all_settings[xdebug];指定Xdebug扩展文件的绝对路径zend_extension = &amp;quot;D:\phpStudy\php\php-5.6.27-nts\ext\php_xdebug.dll&amp;quot;;指定性能分析信息文件的输出目录xdebug.pro...

2019-01-31 10:27:44 404

原创 oppo 推送 php simple demo (oppo-push-php-sdk)

oppo 推送 simple demo只有普通的 全量用户推送 与 registration_id 推送 (别名推送官方屏蔽不许用, 没有离线与定时推送等高级设置功能~)参考文档: http://storepic.oppomobile.com/openplat/resource/201812/03/OPPO推送平台服务端API-V1.3.pdf官方没有提供php版本SKD, 某度某歌搜不到...

2019-01-22 17:27:46 1642

原创 linux 编写 php扩展 小实验

环境 Ubuntu 16.04, PHP 5.6php扩展后门小实验git: https://github.com/Gekkoou/php-extension-backdoor利用了 PHP SAPI 的生命周期, 当有请求的时候, 调用一次所有模块的请求初始化函数(PHP_RINIT_FUNCTION), 然后执行POST过来指定参数的命令. 当然这只是简单的用法, 复杂的隐匿性高的可...

2018-11-15 19:09:57 374

原创 linux zephir 编写 php 扩展 (docker篇)

不BB, 直接放代码, p神写的 zephir 快速编译生成5.4~7.2版本下所有扩展的 Dockfile 文件以 php5.6 为例, Dockfile 文件FROM php:5.6LABEL maintainer=&amp;quot;phithon &amp;amp;lt;[email protected]&amp;amp;gt;&amp;quot;ARG ZEPHIR_VERSION=0.11.1ARG ZEPHIR_PARSER_VER...

2018-11-15 11:27:59 567

原创 linux zephir 编写 php 扩展 (入门篇)

Zephir是一种语言, 在语法上跟PHP有很多相似之处, 就算不擅长C/C++的PHP开发人员也可快速上手, 编写PHP扩展.安装方法自行谷歌或百度.初始化执行命令 zephir init test, 成功运行后, 会得到如下的目录结构test/ ext/ test/ext 目录里放的是编译需要用到的代码, 可忽略, 接下来要写的Zephir代码文件要放在 test ...

2018-11-14 20:29:31 2065

原创 linux inotifywait 简单监控目录与文件

inotify-tools项目地址: https://github.com/rvoicilas/inotify-toolsinotify-tools下载地址: http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gzinotify-tools 安装方法: https://github.com/r...

2018-11-07 16:59:51 1138

原创 linux 记录用户登录日志与命令执行日志

vi /etc/profile 在末尾增加代码historyUSER=`whoami`USER_IP=`who -u am i 2&gt;/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`if [ "$USER_IP" = "" ]; thenUSER_IP=`hostname`fiif [ ! -d /var/log/history ]...

2018-11-07 16:46:08 5124

原创 python3 argparse模块

argparse模块为python3中处理命令行参数的库命令行参数分为位置参数和可选参数, 例:ls home #位置参数ls -l #可选参数简单示例, 主要有三个步骤创建 ArgumentParser() 对象调用 add_argument() 方法添加参数使用 parse_args() 解析添加的参数位置参数test.py 文件import argparse...

2018-10-30 18:17:47 643

原创 PHP 输入多个经纬度坐标 找出中心点

参考: https://stackoverflow.com/questions/6671183/calculate-the-center-point-of-multiple-latitude-longitude-coordinate-pairsPython Java C# JavaScript Objective-C PHP 版本均有function GetCenterFromDegree...

2018-10-11 10:25:51 1456

原创 RabbitMQ 消息队列 - topic 模式分发消息

推荐阅读 https://blog.csdn.net/column/details/15500.htmltopic 模式根据 Binding 指定的 RoutingKey, Exchange 对 key 进行模式匹配后投递到相应的 Queue, 模式匹配时符号 "#" 匹配一个或多个词, 符号 "*" 匹配正好一个词, 而且单词与单词之间必须要用 "." 符号进行分隔...

2018-08-14 16:22:57 943

原创 RabbitMQ 消息队列 - fanout 模式分发消息

推荐阅读 https://blog.csdn.net/column/details/15500.htmlfanout 模式将同一个 message 发送到所有同该 Exchange 绑定的 queue, 不论 RoutingKey 是什么, 这条消息都会被投递到所有与此 Exchange 绑定的 queue 中p_fanout.php&amp;lt;?php//配...

2018-08-14 16:16:03 764

原创 RabbitMQ 消息队列 - direct 模式分发消息

推荐阅读 https://blog.csdn.net/column/details/15500.htmldirect 模式根据 Binding 指定的 Routing Key, 将符合Key的消息发送到 Binding 的 Queuep_direct.php&amp;amp;lt;?php//配置信息$conn_args = array( 'host' =&amp;amp;gt; '...

2018-08-14 16:07:39 1228

原创 x-pack 安装与使用

本文 x-pack 版本为6.2.4, 适用于6.2或更早版本 6.3版本及更高版本中, x-pack 包含在 Elastic Stack 的默认发行版中elasticsearchelasticsearch 根目录下运行 bin/elasticsearch-plugin install x-pack 安装完成后, 执行命令生成默认密码, 自动生成或自定义设置 自动生成: bin...

2018-08-02 15:38:17 2962

原创 Elasticsearch 与 mysql 同步数据 (logstash-input-jdbc)

ELK部署参考: https://blog.csdn.net/gekkoou/article/details/80979374本文使用 logstash 插件 jdbc 来实现 elasticsearch 同步 mysql 数据 插件 jdbc 官方详解: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc...

2018-07-10 16:21:32 647

原创 logstash filter && output 简介

input 详解参考之前的文章 https://blog.csdn.net/gekkoou/article/details/80986017input 官方详解 https://www.elastic.co/guide/en/logstash/current/input-plugins.htmlfilter 官方详解 https://www.elastic.co/guide/en/l...

2018-07-10 15:56:37 1427

原创 logstash 插件 input 详解

本文只介绍几种常用的, 具体可参考 input 插件官方详解: https://www.elastic.co/guide/en/logstash/current/input-plugins.html标准输入 stdin{}input{ stdin{ add_field =&gt; {"key" =&gt; "value"} #向事件添加一个字段 c...

2018-07-10 15:30:24 7970

空空如也

空空如也

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

TA关注的人

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