自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xchenhao 的博客

青山本不老,为雪白头;绿水本无忧,因风皱面

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

原创 Windows 通过命令设置环境变量

OpenResty核心组成Nginxlua-nginx-module 模块将 LuaJIT 虚拟机嵌入其中LuaJIT(Lua Just-In-Time)与标准 Lua 的关系标准 Lua: 由编译器编译为字节码,再由 Lua 虚拟机执行LuaJIT: 在执行字节码的同时记录运行时的统计信息(如某个函数/循环的实际运行次数),当这些次数超过某个阈值时,会触发 JIT 编译器编译(把字节码转为中间码,再生成目标体系结构的机器码)LuaJIT NYI(Not Yet Implem

2021-10-06 11:42:04 1093

原创 protobuf protoc-gen-go 安装

protobufhttps://github.com/protocolbuffers/protobuf/releases/protoc-gen-gogo get -u github.com/golang/protobuf/protoc-gen-go生成 go 文件protoc --go_out=plugins=grpc:. demo.proto参考https://blog.csdn.net/weixin_41156953/article/details/117081083https://b

2021-10-05 22:25:44 1553

原创 HTTP 状态码说明

public enum HttpStatus { CONTINUE(100, HttpStatus.Series.INFORMATIONAL, "Continue"), SWITCHING_PROTOCOLS(101, HttpStatus.Series.INFORMATIONAL, "Switching Protocols"), PROCESSING(102, HttpStatus.Series.INFORMATIONAL, "Processing"), CHECKPOIN

2021-10-05 12:50:20 184

原创 KingShard 中间件分表

Dockerfile$ vim DockfileFROM golang:1.15-alpine3.12 as builderARG goproxyCOPY . /go/src/github.com/flike/kingshardRUN cd /go/src/github.com/flike/kingshard \ && GO111MODULE=off GOPROXY=$goproxy GOOS=linux CGO_ENABLED=0 go install -v ./ven

2021-08-01 13:37:55 322

原创 OpenResty 介绍

OpenResty核心组成Nginxlua-nginx-module 模块将 LuaJIT 虚拟机嵌入其中LuaJIT(Lua Just-In-Time)与标准 Lua 的关系标准 Lua: 由编译器编译为字节码,再由 Lua 虚拟机执行LuaJIT: 在执行字节码的同时记录运行时的统计信息(如某个函数/循环的实际运行次数),当这些次数超过某个阈值时,会触发 JIT 编译器编译(把字节码转为中间码,再生成目标体系结构的机器码)LuaJIT NYI(Not Yet Implem

2021-07-27 00:28:23 304

原创 rclone 实现 GoogleDrive 同步至 OneDrive

安装 rclone 工具➜ mkdir /root/rclone➜ cd /root/rclone # 安装 rclone➜ curl https://rclone.org/install.sh | sudo bash# fuse 用于挂载➜ yum install -y fuse配置 rclone 连接 GoogleDrive配置 GoogleDrive➜ rclone config2021/07/23 09:00:03 NOTICE: Config file "/root/.

2021-07-24 10:40:25 3406 1

原创 MySQL 随机排序的一种优化实现(基于随机抽样的方法)

MySQL 随机排序的一种优化实现(基于随机抽样的方法)一般SELECT * FROM <table_name> ORDER BY RAND() LIMIT 50;优化借用随机抽样的方法实现:<expected_count> 为期望取出的数量,<row_count> 为数量总体数量,N 为整数(避免抽样的结果数量少于预期)WITH a AS ( SELECT id FROM <table_name> WHERE RAND() < (<

2021-07-19 23:42:58 352

原创 数据库分页的几种实现

数据库分页的几种实现数据库的分页总体上有两种方式:limit/offset 方式游标方式滚动方式SQL-- 通过 LIMIT/OFFSET-- MySQLSELECT * FROM <table_name> LIMIT <offset>,<page_size> ORDER BY <field>;-- PostgreSQLSELECT * FROM <table_name> LIMIT <page_size>,OF

2021-07-19 23:34:37 6913

原创 zookeeper 安装

下载程序$ wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz$ tar xvf ./apache-zookeeper-3.7.0-bin.tar.gz启动 Server$ cd apache-zookeeper-3.7.0-bin$ cp conf/zoo_sample.cfg conf/zoo.cfg$ bin/zkServer.sh start/roo

2021-07-16 00:08:49 141 2

原创 零碎点待整理

# 创建空分支git checkout --orphan test-branch

2021-07-14 12:46:05 115

原创 常用工具网址

HTML代码在线运行和预览 http://tools.bugscaner.com/htmlcodetoview.htmlURL Decode/Encode http://tool.chinaz.com/tools/urlencode.aspxJSON 格式化https://www.json.cnhttps://xchenhao.gitee.io/jsonformatter/时间戳与日期转换 https://xchenhao.gitee.io/time.htmlLua 文档http:/.

2021-07-13 19:47:02 714 1

原创 基于 GTID 配置 MySQL 主从同步

MySQL-Master设置主机名 && 启动主库$ hostnamectl --static set-hostname mysql-mastercat >> /etc/hosts <<EOF192.168.213.25 proxysql192.168.213.26 mysql-master192.168.213.27 mysql-slave-01192.168.213.28 mysql-slave-02EOF$ tree ./.├──

2021-07-13 00:23:19 283

原创 ProxySQL 中间件

ProxySQL设置主机名 && 安装 MySQL Client && 启动 ProxySQL && 添加 MySQL 节点$ hostnamectl --static set-hostname proxysql$ cat >> /etc/hosts <<EOF192.168.213.25 proxysql192.168.213.26 mysql-master192.168.213.27 mysql-slave-01.

2021-07-13 00:17:02 189

原创 Kafka 安装

前置依赖JDK 下载 https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.htmlKafka 下载 http://kafka.apache.org/downloads安装[root@localhost app]# cd /root/app[root@localhost app]# ls -ahldrwxr-xr-x 3 root root 109 Jul 12 22:41 .dr-xr-x--

2021-07-13 00:00:28 112

原创 bluestacks 内部文件与电脑 Windows 互通的方法

步骤电脑端:将文件拷贝至:电脑 ->文档,(或点开始 -> 运行/按 WIN+R,输入 %userprofile%\Documents 回车)bluestacks1). 在 bluestacks 内部装个 re管理器2). re管理器去 /sdcard/windows/documents 文件夹,能看到电脑的“文档”的文件。(注:旧版的 bluestacks 是在 /sdcard/bstfolder/documents 下)参考https://tieba.baidu.com/p

2021-05-20 23:57:49 3663

原创 URL Decode 的实现原理

URL Decode 的实现原理Unicode 与 UTFUnicode 类似于一本字典,襄括世界上的绝大部分语言中的字符,即解决了字符的编码方式但 Unicode 可能用 2 个字节或 4 个字节对字符进行编码,对于一些本可用较少存储空间的字符(如单字节字符),以及历史字符集的兼容(如 ASCII 先于 Unicode 产生),则需要设计单独的实现方式加以处理,由此产生 Unicode 转换格式(Unicode Transformation Format, UTF),如 UTF-8, GBK, G

2021-05-20 23:48:35 1797 1

原创 通过浏览器(Chrome 或 Edge)将百度网盘文件目录列表导出

通过 Chrome 或 Edge,按 F12 打开控制台 console运行var list = document.getElementsByClassName("filename")for (var i = 0; i < list.length; i++){console.log(list[i].innerText)}01-阶段一 C开发实战02-阶段二 C高级编程03-阶段三 C++核心编程和桌面应用开发04-阶段四 Linux高并发服务器开发05-阶段五 Windows、L

2021-04-22 23:41:29 1750 2

原创 设计模式示例(Java 版)

设计模式文章目录设计模式单例模式模板方法模式(抽象类应用)策略模式(接口应用)简单工厂模式静态代理模式适配器模式单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点构造方法私有化声明一个本类对象给外部提供一个静态方法获取对象实例两种实例方式:饿汉式懒汉式在项目中为什么要使用单例,单例有什么好处?在设计一些工具类的时候(通常工具类只有功能方法,没有属性)工具类可能会被频繁调用目的是为了节省重复创建对象所带来的内存消耗,从而来提高效率能不能用构造方法+静态方法来替

2021-03-31 00:31:00 124

原创 Java 语法主要组成

元素组成package 包名;import 包;类 { 成员内部类 静态内部类 方法中的局部内部类 匿名内部类 (静态)初始化块 字段:实例变量,静态变量 方法:构造方法,实例方法,静态方法}修饰符staticfinal:修饰类、类字段、类方法、局部变量、函数形参访问修改符publicprotectedprivatedefaultabstract数据类型基本数据类型整型:byte, shor.

2021-03-28 18:50:09 119

原创 PHP curl 请求中设置 proxy 方法

<?php$ch = curl_init();curl_setopt($ch, CURLOPT_URL, "https://www.google.com");curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书curl_setopt($ch, CURLOPT_PR

2021-03-26 22:53:13 3955

原创 DNSmasq 安装与配置

DNSmasq文章目录DNSmasq简介安装配置注意事项参考简介提供 DNS 缓存和 DHCP 服务、TFTP 服务功能作为 DNS 中继,当接受到一个 DNS 请求时,DNSmasq 首先会解析 /etc/hosts 这个文件,然后解析 /etc/dnsmasq.d/*.conf 的文件,最后才去查找 /etc/resolv.conf 中定义的外部 DNS安装$ yum install dnsmasq -y# 启动$ systemctl start dnsmasq.service#

2021-03-21 00:25:50 1537

原创 Neo4j 示例:三国志人物关系图谱

Neo4j文章目录Neo4j简介启动导入数据准备数据集创建节点创建关系索引创建索引删除索引CQL(Cypher Query Language)客户端驱动参考简介定义:一种基于图论实现 NoSQL 的数据库管理系统,用节点和关系、属性表现实体内容特点:根据其连接的关系可以快速找出其邻近节点支持 ACID社区版只能单机使用,企业版才能使用分布式安装(负载均衡与高可用)应用领域社交网络、推荐引擎、交通物流、欺诈风控不适用场景:记录大量基于事件的数

2021-03-15 22:19:34 7246 6

原创 SQLite UDF/UDAF 的 PHP 实现

SQLite UDF/UDAF<?php// sqlite UDF/UDAF 支持// https://blog.csdn.net/wyqwilliam/article/details/84500578// 参考:// php 版本实现:https://www.php.net/manual/en/ref.pdo-sqlite.connection.php// go 版本实现:https://github.com/mattn/go-sqlite3/pull/229/files$db

2021-03-13 19:57:08 139

转载 Linux 分屏工具 screen

screen 是一款由 GNU 开发的命令行终端工具,它提供了从多个终端窗口连接到同一个 shell 会话(会话共享)。当网络中断,或终端窗口意外关闭是,中 screen 中运行的程序任然可以运行(系统自带的终端窗口,当窗口意外关闭时,在该终端窗口中运行的程序也会终止。)。安装 screen 工具it@serverc:~$sudoaptinstallscreen-y* 在 CentOS 中,你需要先安装 epel-release 才可以安装 screen( 在 CentOS 中...

2021-02-16 11:30:48 600

原创 命令行启动 http server 的几种方法

# PHPphp -S 0.0.0.0:8099# Python2python -m SimpleHTTPServer 8099# Python3python -m http.server 8099# Node.jsnpx http-server --port 8099参考https://blog.csdn.net/qq_37138818/article/details/84069269https://www.cnblogs.com/rookie404/p/6128959.htm

2021-02-12 17:11:44 1605

原创 Neo4j - Cypher 语法示例

Neo4jcreate database moviesCypher Syntaxhttps://neo4j.com/docs/cypher-manual/4.2/CREATE (ee:Person { name: "Emil", from: "Sweden", klout: 99 });MATCH (ee:Person) WHERE ee.name = "Emil" RETURN ee;MATCH (ee:Person) WHERE ee.name = "Emil"CREATE (js:P

2021-02-06 19:23:45 367

原创 代码覆盖率提示 No code coverage driver is available

需要安装 xdebug:pecl install xdebug参考:https://bbs.csdn.net/topics/394338237

2021-02-02 16:29:28 722

原创 YII2 composer 报错解决 requires bower-asset 问题

问题composer install 时遇到如下错误 Problem 1 - Installation request for yiisoft/yii2 2.0.38 -> satisfiable by yiisoft/yii2[2.0.38]. - yiisoft/yii2 2.0.38 requires bower-asset/jquery 3.5.*@stable | 3.4.*@stable | 3.3.*@stable | 3.2.*@stable | 3.1.*@st

2021-01-29 19:01:12 1863

原创 firewall-cmd 常用操作命令

# 永久开放端口 9876firewall-cmd --zone=public --add-port=9876/tcp --permanent# 查看开放的端口firewall-cmd --zone=public --list-ports# 重置规则firewall-cmd --reload参考https://blog.csdn.net/lvqingyao520/article/details/81075094...

2021-01-07 23:25:40 308

原创 MySQL 实现累积求和的几种方法

场景mysql> desc cum_demo;+-------+---------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+---------+------+-----+---------+-------+| id | int(11) | NO | PRI | NULL | || money | int(11) | YES

2021-01-07 23:18:45 8149

原创 Sentry nodestore_node 表中的数据查看

sentry 中的 nodestore_node 表的 data 字段为 base64 后的压缩数据import pickleimport zlibimport base64import jsondef compress(value): return base64.b64encode(zlib.compress(value)).decode('utf-8')def decompress(value): return zlib.decompress(base64.b64deco

2020-12-30 19:35:48 761

原创 MySQL 查看表结构最后变更时间

SELECT create_time 表结构最后更新时间,update_time 数据最后更新时间 FROM information_schema.tables WHERE table_schema = '数据库名称' AND table_name = '表名称';

2020-11-20 20:23:30 4044 1

转载 curl wget 跳过关闭 https 证书验证

命令curlcurl 'https://192.168.0.100:9200' -kwgetwget 'https://192.168.0.100:9200' --no-check-certificate参考https://blog.csdn.net/lilongsy/article/details/97630027

2020-10-12 01:20:18 6652

原创 给非 root 用户添加 docker 使用权限

# 创建 docker 用户组$ sudo groupadd docker# 将当前用户添加到 docker 用户组$ sudo usermod -aG docker $USER# 重启 docker 服务$ sudo systemctl restart docker# 登录出系统,再登录回来# 如果是虚拟机,则需要重启机器参考https://blog.csdn.net/qq_32435729/article/details/86514105https://blog.csdn.

2020-10-06 21:50:44 1556

原创 VirtualBox 安装 Deepin Linux 共享文件夹

菜单栏选择 设备 -> 安装增强功能(会自动挂载到 /media/<用户名>/VBox_GAs_6.0.8,例 /media/xchenhao/VBox_GAs_6.0.8)# 安装 VirtualBox 增强功能$ cd /media/xchenhao/VBox_GAs_6.0.8$ sudo ./VBoxLinuxAdditions.run# 重启 Deepin菜单栏 设备 -> 共享文件夹(填写共享文件夹路径,共享文件夹名称,例 php,勾选自动挂载与固定分配

2020-10-06 21:29:50 1002

转载 VirtualBox 打开虚拟机后,上面的那栏菜单栏不见了的解决办法

按右边 Ctrl+C(右 Ctrl:默认的 host 键)参考https://blog.csdn.net/weixin_34232617/article/details/92494305

2020-10-06 19:00:31 7563

原创 开启和禁用 Hyper-V & Windows 环境下 Docker 与 VirtualBox 共存

在 Windows 下,使用 Vmware/VirtualBox 需要关闭 Hyper-V,使用 Docker 需要开启 Hyper-V开启 Hyper-Vbcdedit /set hypervisorlaunchtype off关闭 Hyper-Vbcdedit /set hypervisorlaunchtype auto参考https://segmentfault.com/a/1190000022020616https://blog.csdn.net/lonelymanonthewa

2020-10-06 17:20:36 2361 1

原创 Docker 镜像导出与导入

# 导出镜像到本地$ docker save php-dev:1.2 > php-dev-1.2.tar# 或 docker save -o php-dev-1.2.tar php-dev:1.2# 导入本地镜像$ docker load -i php-dev-1.2.tarLoaded image ID: sha256:af445296d8add5e1bfef9f2b5be92e7c03f9fd0810ab56651daf80af8377443f# 为刚导入的镜像添加标签$ doc

2020-09-12 21:30:28 277

转载 B 站 N 倍速播放

按 F12,在 Console 控制台执行:// 3 倍速播放document.querySelector('video').playbackRate = 3参考:https://blog.csdn.net/CC__Faker/article/details/106912580

2020-09-12 10:07:43 765

原创 CentOS 8上安装 Xrdp 远程桌面服务

安装教程:sudo dnf groupinstall "Server with GUI"sudo dnf install epel-releasesudo dnf install xrdpsudo systemctl enable xrdp --nowsudo firewall-cmd --add-port=3389/tcp --permanentsudo firewall-cmd --reload打开 Xrdp 客户端连接Windows 用户可以使用默认的 RDP 客户端。在 .

2020-09-05 08:26:30 970

空空如也

空空如也

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

TA关注的人

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