- 博客(273)
- 资源 (10)
- 收藏
- 关注
原创 【Bash黑魔法】使用命令快速生成 Git 仓库中的 Pull Request 链接
你是否也经常为了在 Git 仓库中快速生成 Pull Request 链接而忙碌不已?通过定义 Bash 函数,你可以更轻松地在命令行中打开 pull request 链接,而无需手动复制和粘贴 URL。本文将带你了解这些函数的实现原理,并教你如何在自己的工作中应用它们。
2023-03-09 13:18:37 1348
原创 【ElasticSearch学习笔记】一、ES下载、安装、目录结构、root用户权限问题、kibana下载安装
选择对应的操作系统,我是为了安装在CentOS上面,所以选择的是Linux x86_64版本。或者在ES5以及以前版本,我们可以修改一下ES的配置,使得我们可以使用root用户启动。而且你在Linux上面装个Java都不会,你应该还没有学到ES。而在新的版本,我们就只能创建新的用户来执行ES解决这个问题了。略略略,在ES 7以后得版本,其安装文件自带JDK。可以看一下它所包含的Java版本,为JDK 15。我们找到了started字样,说明启动成功了。得到了ES的状态,说明ES启动成功。
2022-11-20 15:33:36 2746
原创 外网/虚拟机中Elasticsearch无法访问的问题
完美解决,何止在电脑上能访问虚拟机里面的,只要在一个网络里面,连手机上都能访问!我的版本:7.10.0。
2022-11-17 00:39:17 1126
原创 WRK压力测试工具的使用
这进行了一场拥有128个线程,打开1000个连接,持续30秒的测试, 并会输出详细的用时统计信息。简单的在里面定义一下你的请求参数就好,当然也可以使用lua来生成一些随机的内容。make完成之后会有一个wrk的文件,运行此文件即可。目录结构:(2022-09-07)可以参考项目本身的示例文件,例如。参数来指定脚本进行压测。
2022-09-20 16:49:52 463
原创 将数字的数组转换为一个范围?[1,2,3,4,5]->“1~5”
简单的写了个方法,可以将数字的数组转换为一个范围。处理了一些异常的情况,诸如数字重复,异常数字等问题。仅供参考:/** * Converts an array of numbers to a range string. * - If there are non numeric parts in the passed in parameter array, they will be placed at the end of the whole array in the original ord
2022-05-09 15:36:31 762 4
原创 MySQL-查询本周过生日的人-终极答案
MySQL 查询本周过生日的人select *from STUDENTwhere MID(student_age, 6, 5) in (MID(date_sub(curdate(), INTERVAL WEEKDAY(curdate()) + 1 DAY), 6, 5), MID(date_sub(curdate(), INTERVAL WEEKDAY(curdate()) + 0 DAY), 6, 5), MID(date_sub(curdate(), INT
2021-12-31 12:21:22 1337
原创 Linux下搭建Kafka环境 && Java连接测试
一、Kafka的下载安装1.1 Kafka下载前往官网下载Kafka:https://kafka.apache.org/downloads点击链接:进入此页面,复制此链接。我们会得到一个地址:https://dlcdn.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz进入Linux中,使用wget命令下载这个文件,我下载在root的家目录下面:wget https://dlcdn.apache.org/kafka/3.0.0/kafka_2.13
2021-12-09 11:51:46 1181
原创 如何用Docker快速搭建MySQL的测试环境
我们可能经常要用到非线上的MySQL做一些验证或者测试,这个时候可能就需要搭建一个测试环境,这种需求对我来说还是挺频繁的。无疑,用Docker进行快速启动和部署是最快捷方便的途径了。分享一套我平时自己使用的搭建过程:1.1 下载镜像文件docker pull mysql:5.71.2 创建实例并启动注意:这里我将密码也设置成了root# 参数说明:# -p 3306:3306 将容器的3306端口映射到主机的3306端口# -v /mydata/mysql/log:/var/log/my
2021-11-06 13:06:44 346
原创 Linux SSH无密登录配置
现在拥有三台机器,130,131,132。```shellcat /etc/hosts# 对应的IP地址和主机名称如下: 192.168.181.130 hadoop-130 192.168.181.131 hadoop-131 192.168.181.132 hadoop-132
2021-10-12 18:31:49 222
原创 Docker-开机自启&&容器自启动
Linux下为例:在系统中启动docker服务:systemctl start docker设置docker在系统中的开机自启动:systemctl enable docker.service
2021-10-12 11:11:21 3039
原创 MySQL 设定、修改字符集
一、创建表设定字符集和排序集create table HOURLY_ACTIVITIES_COUNT( id int auto_increment comment 'ID' primary key, user_id varchar(36) not null comment 'User ID', ... ...) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2021-09-05 01:41:50 10878
原创 Mac安装MongoDB
Mac 安装 MongoDB环境:MacBook Pro (13-inch, M1, 2020)Mac OS 11.3 (20E232)MongoDB 4.4.61. 下载MongoDB下载地址:https://www.mongodb.com/try/download/community选择好版本和系统信息后,点击Download,得到一个安装包。2. 安装解压文件:sudo tar -zxvf mongodb-macos-x86_64-4.4.6.tgz重命名解压后的文件夹:
2021-06-09 13:02:20 1392 6
原创 MySQL按日期分组统计历史所有数据
问题今天数据给了一个新的需求,统计历史上每一天的总用户数量。统计每一天的用户数量还好说,create_date 分组求和就好了,但是还得每天统计累计的数量,这可就麻烦了。例如:2020年10月07日 注册了 1个人。2020年10月09日 注册了 4个人。2020年10月10日 注册了 1个人。2020年10月12日 注册了 12个人。…那么要的数据应该是:2020-10-07 12020-10-09 52020-10-10 62020-10-12 18...懂否?思路:
2021-05-17 14:56:17 1096 2
原创 Sequelize多表联合查询案例
一、Table:现在有两个表,A和B,关联关系:MATCH表中的job_history_id与JOB_HISTORY表中的id相关联。二、需求:查询Match表中的user_id,report_comment,以及job_history_id所关联的JOB表中的job_link,在前端显示。三、Code:1. 后端首先要建立两个表的关联:MatchScoreReportModel.belongsTo(JobHistoryModel, { foreignKey: 'job_history
2021-05-12 12:01:04 7554 1
原创 TypeScript Compile Options
Compile Options1. -w, --watchWatch input files.Run the compiler in monitor mode. The output files will be monitored, and when source files changes, they will be recompiled automatically.# monitor test.tstsc -w test.ts# monitor every filestsc -w
2021-04-13 14:35:57 390 1
原创 TypeScript Basic Type
1. Anyany type:let number_a: any;number_a = "abc";number_a = 11;number_a = false;
2021-04-13 11:31:25 270
原创 操作系统(一)操作系统的概念、功能和目标
打算认真的把操作系统的内容学习一下,补补基础。操作系统的概念、功能和目标我们常说的操作系统:1. 操作系统的概念操作系统在计算机系统的层次结构中的位置:操作系统(Operating System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统软件。承上启下:向下,操作系统需要管理和分配硬件资源;向上,操作系统要为用户和其他软件提供方便的接口和环境。我们如果打开电脑.
2021-03-24 16:53:49 698
原创 树的应用——并查集
首先,什么是并查集?并查集是一种简单的集合表示。我们可以简单的思考一下这个名字,“集”应该就是集合的意思,而“并”和“查”,估计是两种动作或者形容。这个我们后面慢慢就知道了。一个结合中有若干个元素,我们通常将该集合划分成若干个子集。我们通常用树的双亲表示法,作为并查集的存储结构。我们一般将每个子集,表示成树的形式。这些树组成了该并查集的森林。双亲表示法中,我们用每个孩子结点的指针指向双亲结点,来表示其中的逻辑结构。通常用数组元素的下标代表元素名,用根结点的下标代表子集合名,根结点的双亲结点
2021-03-15 11:22:02 864
原创 树的存储结构&&树和森林的遍历
树的存储结构1. 双亲表示法采用一组连续的存储空间来存储每个结点,同时在每个结点中增设一个伪指针,指示双亲结点在数组中的位置。根节点的下标为0,其伪指针域为-1。# define MAX_TREE_SIZE 100typedef struct{ ElemType data; int parent;}PTNode;typedef struct{ PTNode nodes[MAX_TREE_SIZE]; int n;}PTree;2. 孩子表示法将每个结点的孩子结点都用单链表连接
2021-03-15 09:43:12 439
原创 线索二叉树简述
线索二叉树首先我们回忆一下二叉树的前中后序遍历方式:先序遍历序列:1 2 4 5 3 6中序遍历序列:4 2 5 1 6 3后序遍历序列:4 5 2 6 3 1我们通过这样的遍历,由一个树形结构得到了一个线性的结构(遍历序列)。在这个线性序列中,除了第一个结点和最后一个结点,每个结点都拥有一个前驱和后继。那么在二叉树中,我们能不能不只体现结点的父子关系,也引入结点的前驱后继关系呢?由此,我们引入了线索二叉树。我们之前说过二叉链表,我们知道在一个二叉链表中,n个结点会有n+1个空指针。接
2021-03-12 11:51:10 2759 3
原创 Java 多线程-多线程通信
最近,美美非常的爱吃栗子,剥栗子却有些麻烦,这个任务理所当然的交给了帅帅,每一次,帅帅都会把热气腾腾的栗子剥好,然后放进一个盘子里,而美美每次都会从盘子里拿一个栗子吃:我们来模拟一下这个情况,首先,我们定义一个盘子,用来存放我们的栗子:/** * 定义一个盘子 */class Plate { // 栗子存储的空间 private int[] cells = new int[10]; // inPos表示存入的时候数组的下标,outPos表示取出的时候数组的下标
2021-03-06 17:15:05 573
原创 Java 多线程-死锁的模拟
有这样一个场景:刘帅帅和李美美在一起吃饭,李美美比较爱用筷子吃饭,刘帅帅比较喜欢用勺子吃饭。但是李美美拿了刘帅帅的勺子,刘帅帅拿了李美美的筷子,然后两个人开始争论不休:刘帅帅:“你先给我勺子,我再给你筷子!”李美美:“你先给我筷子,我再给你勺子!”…结果就是两个人都没吃上饭,并且刘帅帅被李美美打了一顿。这个例子中两个人就相当于两个不同的线程,筷子和勺子就相当于锁。两个线程在运行的时候都在等待对方的锁,这样便造成了程序的停滞,这种现象称为死锁。接下来我们模拟一下死锁的问题:package com.
2021-03-05 16:23:02 567
原创 Java 多线程同步-同步代码块&&同步方法
我们回忆一下之前的火车票案例:package com.veeja.thread;/** * @Author veeja * 2021/3/2 11:35 */public class BuyTicketThreadExtendTest { public static void main(String[] args) { BuyTicketThreadExtend t1 = new BuyTicketThreadExtend("one"); BuyTick
2021-03-04 12:31:19 1228 1
原创 Java 线程类中常用的方法
Thread 常用方法先回顾一下我们之前用过的一些方法:start():启动当前线程run():线程类继承Thread类或者实现Runnable接口的时候,都要实现这个run()方法,run()方法里面是线程要执行的内容。currentThread():Thread类中的一个静态方法:获取当前正在执行的线程。setName():设置线程名字。getName():获取线程名字。1. 设置优先级 setPriority()同优先级别的线程,采取的策略就是先到先服务,使用时间片策略。如果优
2021-03-03 14:45:32 429
原创 Java 线程的生命周期及状态转换
在Java中,任何对象都有其生命周期,线程也是一样。当Thread对象创建完成,线程的生命周期就开始了。当run()方法中的代码正常执行完毕或者线程抛出一个未捕获的异常(Exception)或者错误(Error)时,线程的生命周期便会结束。线程的生命周期主要可以分为五个阶段:New:新建状态Runnable:就绪状态Running:运行状态Blocked:阻塞状态Terminated:死亡状态线程的不同状态表明了线程当前正在进行的活动。线程之间的转换:1. 新建状态(New)创建
2021-03-03 11:08:24 608
原创 Java 创建多线程的三种方式
创建多线程的三种方式1. 继承Thread类继承Thread类,覆写run方法。使用setName()和getName()来设置和获取线程的名字。/** * 以火车票为例 */public class BuyTicketThreadExtend extends Thread { // 总票数,为了使多个实例抢的都是这10张票,所以用static修饰 static int ticketNumber = 10; // 设置线程名字的方法 public Buy
2021-03-02 15:50:19 261
原创 “树”和“二叉树”的基本定义和性质
一、树1.1 树的概念1.2 基本术语1.3 树的性质二、二叉树2.1 二叉树的定义2.2 满二叉树2.3 完全二叉树2.4 二叉排序树2.5 平衡二叉树2.6 二叉树的性质
2021-02-27 17:27:30 485 1
原创 手写一个简单的RPC框架
目录零、基础知识准备一、创建项目1. 创建一个项目,RPCDemo2. 建立子项目Module——`pojo`:3. 创建子项目Module——`service`:4. 创建子项目Module——`provider`5. 创建子项目Module——`consumer`二、接口代码——Service使用Zookeeper作为注册中心,RMI作为连接技术,手写一个简单的RPC框架。零、基础知识准备HttpClient实现RPCRMI实现RPCZookeeper(一)Zookeeper的安装Z
2021-02-05 14:36:14 374 2
原创 Zookeeper(三)注册内容,发现内容
目录一、向Zookeeper中注册内容1. 新建项目ZookeeperClient2. 导入依赖3. 在Zookeeper中创建目录4. 编写代码5. 运行二、获取内容1. 新建类2. 运行结果:我们在之前的RMI实现RPC中,RMI实现RPC: https://blog.csdn.net/u014565127/article/details/113583536是由一个应用直接访问另一个应用中的方法,其中的请求路径也都是写死的:其实我们应该使用Zookeeper来作为我们的注册中心,服务的提
2021-02-04 11:25:20 174
原创 Zookeeper异常org.apache.zookeeper.KeeperException$ConnectionLossException
环境:VMware + CentOS 7Zookeeper3.5.5本地IDEA代码:package com.veeja;import org.apache.zookeeper.*;import java.io.IOException;/** * @Author veeja * 2021/2/4 9:49 */public class SendContent { public static void main(String[] args) { try {
2021-02-04 11:00:21 1813
原创 Zookeeper(二)客户端常用的命令
目录1. `ls`命令2. `create`命令3. `get`命令4. `set`命令我们通过bin目录下的./zkCli.sh,就可以进入到Zookeeper的命令行界面,在里面就可以使用一些Zookeeper的命令了:[root@localhost bin]# lsREADME.txt zkCli.cmd zkEnv.cmd zkServer.cmd zkServer.sh zkTxnLogToolkit.shzkCleanup.sh zkC
2021-02-04 09:09:19 150
原创 Zookeeper(一)Zookeeper的安装
目录1. 简介2. 安装1. 简介zookeeper分布式管理软件。常用它做注册中心(依赖zookeeper的发布/订阅功能)、配置文件中心、分布式锁配置、集群管理等。zookeeper一共就有两个版本。主要使用的是java语言写的。2. 安装在此之前,我们需要一台Linux的主机或虚拟机。Linux上需要安装Java并配置好环境。这两个步骤,大家可以参考本人或其他人的其他博客,在此我就不再赘述。参考:[VirtualBox安装CentOS] https://blog.csdn.ne
2021-02-03 11:51:41 195
原创 RMI实现RPC
目录一、RMI简介二、执行流程三、API介绍四、代码实现1. 服务端(提供服务)2. 客户端(使用服务)一、RMI简介RMI(Remote Method Invocation) 远程方法调用。RMI是从JDK1.2推出的功能,它可以实现在一个Java应用中可以像调用本地方法一样调用另一个服务器中Java应用(JVM)中的内容。RMI 是Java语言的远程调用,无法实现跨语言。二、执行流程Registry(注册表)是放置所有服务器对象的命名空间。 每次服务端创建一个对象时,它都会使用bi
2021-02-03 10:52:45 268 1
原创 HttpClient实现RPC
HTTPClient实现RPC一、HttpClient简介在JDK中,java.net包下面提供了用户HTTP访问的基本功能,但是它缺少灵活性或许多应用需要的功能。HttpClient起初是Apache Jakarta Common的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持Http协议的最新版本。2007年成为顶级项目。通俗点来说,HTTPClient可以实现使用java代码完成标准的HTTP请求和响应。二、代码实现1. 服务端新建项目HttpC
2021-02-03 08:44:18 466
原创 LeetCode 004——4. 寻找两个正序数组的中位数
题目:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/4. 寻找两个正序数组的中位数 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。 请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log(m+n)) 的算法解决此问题吗?示例 1: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1,2,3] ,
2021-02-02 15:27:09 125
原创 Git入门总结(三)远程仓库——以GitHub为例
目录1. 初始化本地仓库2. 在GitHub上创建仓库3. 推送操作4. 克隆操作5. 抓取操作6. 冲突的解决1. 初始化本地仓库参考之前的博客,不再赘述。2. 在GitHub上创建仓库右上角点击加号,new repository:输入一些信息:点击创建,就进入了这个页面:我们找到远程库的地址,我们可以看到,有两种方式 一种是HTTPS的地址,还有一种SSH的地址,我们先用HTTPS的地址:将地址复制下来。以后我们每次提交的时候,都需要用到这个地址,可是每次我们都打这么长一串有
2021-02-02 12:02:42 223 1
原创 LeetCode 003——3. 无重复字符的最长子串
题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: s = "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3: 输入: s = "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是
2021-02-02 09:29:34 138
省市联动中国xml.zip
2020-02-20
day21_6添加页面静态化.zip
2020-02-03
图书分类查询Demo.zip
2020-02-02
day19_3.zip
2019-11-08
commons-pool-1.3.jar
2019-10-24
commons-dbcp-1.4.jar
2019-10-24
common-io.zip
2019-10-22
博文示例Demo-资料源码.zip
2019-10-18
day13_2.zip
2019-10-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人