自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

外星喵的博客

喵了个咪的~~

  • 博客(146)
  • 资源 (5)
  • 收藏
  • 关注

原创 如果是你,该如何做好一个项目设计?

总之,设计一个项目需要全面考虑项目的目标、需求、技术选型、开发周期、预算等因素,并采用合适的工具和技术来进行项目分析和规划、设计项目架构、数据库和数据模型、编写代码和进行测试、部署和上线项目以及维护和优化项目。在项目设计过程中,应对可能出现的风险进行预估,并制定相应的防范方案,以确保项目的顺利进行。

2024-04-10 19:57:04 537

原创 AI入门:了解人工智能的基础知识

人工智能(Artificial Intelligence,简称AI)是一门研究如何使机器能够智能地模拟人类思维和行为的科学与技术领域。在过去几十年里,AI取得了显著的发展,并且在各个领域都产生了深远的影响。本文将引导您进入AI的世界,帮助您了解一些入门级的概念和技术。AI是一种复杂的技术领域,它涉及多个子领域,如机器学习、自然语言处理、计算机视觉等。AI系统旨在模拟人类的认知能力,通过收集和分析大量数据来做出决策或执行任务。

2023-07-30 23:01:45 797

原创 Python 入门指南

Python是一种高级编程语言,具有简单易学、优雅灵活等特点。它被广泛应用于数据科学、机器学习、Web开发、自动化测试等领域。在本文中,我们将介绍Python的基础知识以及如何开始编写Python程序。

2023-06-13 21:45:27 754

原创 k8s实践

在Kubernetes集群中监测和管理Pod和其他资源也很容易。可以使用Kubernetes Dashboard来查看集群状态和统计信息。一旦初始化了Master节点,可以将Worker节点添加到Kubernetes集群中。通过使用"kubeadm join"命令,可以将每个Worker节点添加到集群。在一个Pod中运行的容器可以通过使用Kubernetes API进行控制。在Master节点上初始化Kubernetes集群。kubeadm:用于初始化、安装和升级Kubernetes集群。

2023-05-31 23:17:06 511

原创 什么是低代码平台

按维基百科的说法,低代码这个称呼是 Forrester 在 2014 年提出的,指那些用可视化方式创建应用的平台,特点是代码量比传统开发少得多,甚至无代码,所以能显著提升开发效率。所以,低代码通常是指 APaaS 产品,通过为开发者提供可视化的应用开发环境,降低或去除应用开发对原生代码编写的需求量,进而实现便捷构建应用程序的一种解决方案。因此,低代码平台也常被称为 APaaS 平台。

2023-05-29 21:45:23 227

原创 JVM OOM问题排查与解决思路

显示指定系统内所有的java虚拟机系统-l:输出进程ID和应用主类的完整路径;-v:输出向jvm传递的参数,此处展示为idea中显式配置的VM-options参数,其他内容自行查看即可;-m:输出向main方法传递的参数,服务启动前可以在idea的配置;

2023-04-13 18:54:56 3485 1

原创 一文带你了解的ChatGPT

ChatGPT 是一种由OpenAI推出的专注于对话生成的人工智能语言模型,通过人类反馈的强化学习微调而来。其中 GPT 是 Generative Pre-trained Transformer(生成型预训练变换模型)的缩写。ChatGPT 以对话方式进行交互,以更贴近人的对话方式与使用者互动,可以回答问题、承认错误、挑战不正确的前提、拒绝不适当的请求,能舞文弄墨、吟诗作对、编写代码等等。它能够根据用户的文本输入,产生相应的智能回答,可用于生成文章、代码、机器翻译、问答等各类内容。可以主动承认自身错误。

2023-02-28 21:10:49 8942 1

原创 多线程事务如何保证效率和原子性

这里细心些就会发现,即便是主线程通知子线程可以提交了,子线程依然有可能出现提交失败的可能,那其他线程提交事务是无法得知这边的失败的消息的。需要注意如果只是传递普通的 boolean 对象,可能会发生不一致的情况,我测试时没法通过。在 Spring 开发时,遇到一个从 Excel 表导入数据到数据库的需求,当然最简单的方法就是先使用 EasyExcel 把数据读出到集合中,然后依次插入到数据库中。每个线程开启事务,插入数据,但不提交,向主线程通知说,我这里已经好了。Volatile保证线程间数据的可见性。

2023-02-07 19:47:22 1079

原创 Jenkins操作文档

持续集成是一种实践,而jenkins可以帮助团队去尽量好的去完成这种实践jenkins是⼀个开源软件项⽬,是基于Java开发的⼀种持续集成⼯具,⽤于监控持续重复的⼯作,旨在提供⼀个开放易⽤的软件平台,使软件项⽬可以进⾏持续集成

2023-01-11 11:27:08 1920

原创 API管理神器:Apifox

其实大家都知道 API 文档先行的重要性,但是在实践过程中往往会遇到很多困难。程序员最讨厌的两件事:1. 写文档,2. 别人不写文档。大多数开发人员不愿意写 API 文档的原因是写文档短期收益远低于付出的成本,然而并不是所有人都能够坚持做有长期收益的事情的。作为一个前后端分离模式开发的团队,我们经常会看到这样的场景:前端开发和后端开发在一起热烈的讨论“你这接口参数怎么又变了?”,“接口怎么又不通了?”,“稍等,我调试下”,“你再试试…"。那能不能写好 API 文档,大家都按文档来开发?

2023-01-01 00:02:54 4800

原创 一文带你玩转 Java8 Stream 流

collect 是一个非常有用的终端操作,它可以将流中的元素转变成另外一个不同的对象,例如一个List,Set或Map。当我第一次阅读 Java8 中的 Stream API 时,说实话,我非常困惑,因为它的名字听起来与 Java I0 框架中的 InputStream 和 OutputStream 非常类似。但是你也需要记住并行流的一些操作,例如reduce和collect操作,需要额外的计算(如组合操作),这在串行执行时是并不需要。因此,每个对象可以被转换为零个,一个或多个其他对象,并以流的方式返回。

2022-12-18 22:22:52 1251

原创 Nebula图数据库

本文介绍的图和日常生活中常见的图片有所不同。通常,在英文中,为了区分这两种不同的图,前者会称为 Image,后者称为 Graph。在中文中,前者会强调为“图片”,后者会强调为“拓扑图”、“网络图”等。一张图(Graph)由一些小圆点(称为顶点或节点,即 Vertex)和连接这些圆点的直线或曲线(称为边,即 Edge)组成。“图(Graph)“这一名词最早由西尔维斯特在 1878 年提出。图还可以分为无向图和有向图。图数据库是专门存储庞大的图形网络并从中检索信息的数据库。

2022-11-20 23:37:18 2828

原创 使用 Docker 安装 Nebula Graph

来到 nebula-docker-compose 所在文件夹,按 shift 同时右键,选择打开 powershell。这时可以在命令行中来到 nebula-docker-compose 所在文件夹, 输入。nebula数据库默认登录用户名和密码为:root/nebula。这样我们就可以直接使用命令行的形式去使用nebula数据库了。通过nebula-console客户端连接数据库:输入。端口为客户端提供服务,如果需要修改端口,请修改目录。是我的nebula网络的名字,可以在命令行使用。

2022-10-20 18:12:05 2175 2

原创 接口请求返回状态码

307 (临时重定向 / Temporary Redirect ) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。413 (请求实体过大 / Request Entity Too Large) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。414 (请求的 URI 过长 / Request URI Too Long) 请求的 URI(通常为网址)过长,服务器无法处理。304 (未修改 / Not Modified) 自从上次请求后,请求的网页未修改过。

2022-09-30 22:55:23 3393

原创 设计模式之迭代器模式

2.由于迭代器模式将存储数据和遍历数据的职责分离,增加新的聚合类需要对应增加新的迭代器类,类的个数成对增加,这在一定程度上增加了系统的复杂性。迭代器通常会提供一个获取集合元素的基本方法。2.简化集合对象接口:迭代器模式将集合对象本身应该提供的元素迭代接口抽取到了迭代器中,使集合对象无须关心具体迭代行为;3.元素迭代功能多样化:每个集合对象都可以提供一个或多个不同的迭代器,使的同种元素聚合结构可以有不同的迭代行为;4.解耦迭代与集合:迭代器模式封装了具体的迭代算法,迭代算法的变化,不会影响到集合对象的架构。

2022-09-25 22:50:52 648

原创 Elasticsearch java操作实例

英文为Aggregation,是es除搜索功能外提供的针对es数据做统计分析的功能。聚合有助于根据搜索查询提供聚合数据。聚合查询是数据库中重要的功能特性,ES作为搜索引擎兼数据库,同样提供了强大的聚合分析能力。它基于查询条件来对数据进行分桶、计算的方法。有点类似于 SQL 中的 group by 再加一些函数方法的操作。注意事项:text类型是不支持聚合的。...

2022-08-30 19:06:02 1254 1

原创 解决docker启动mysql容器失败问题

当我通过docker使用以下命令启动mysql。声明:我使用的mysql版本为:8.0.21。最后使用exit命令可以退出mysq及容器。这样,我们就可以开始使用mysql了。

2022-08-17 16:18:49 9286 3

原创 Elasticsearch查询

Elasticsearch查询使用案例

2022-07-31 21:56:23 4939 1

原创 ElasticSearch常用操作

ElasticSearch

2022-07-24 21:02:59 456 1

原创 Fork/Join 框架基本使用和原理

ForkJoin 框架其实就是一个线程池 ExecutorService 的实现,通过工作窃取算法,获取其他线程中未完成的任务来执行。充分利用机器的多处理器优势,利用空闲的线程去并行快速完成一个可拆分为小任务的大任务,类似于分治算法。ForkJoin 的目标,就是利用所有可用的处理能力来提高程序的响应和性能。...

2022-06-26 20:58:04 318

原创 解决Elasticsearch集群 master_not_discovered_exception 异常

解决elasticsearch集群启动完成后报master_not_discovered_exception异常

2022-06-23 11:51:02 13826

原创 分布式数据库 TiDB

分布式数据库TiDB

2022-06-15 22:54:33 1208

原创 Elasticsearch使用教程

注由于es和jdk是一个强依赖的关系,所以当我们在新版本的ElasticSearch压缩包中包含有自带的jdk,但是当我们的Linux中已经安装了jdk之后,就会发现启动es的时候优先去找的是Linux中已经装好的jdk,此时如果jdk的版本不一致,就会造成jdk不能正常运行。访问http//ip5601可以正常进入Kibana,说明kibana容器启动成功。“my_token_filter”{//自定义的分词器名称。//启用English停用词tokenfilter。...

2022-05-26 22:58:03 1087

原创 Java 18 正式发布

Java 18 正式发布:默认字符集 UTF-8,附带简易 HTTP 服务器,弃用 Finalization甲骨文(Oracle)发布了 Java 编程语言和虚拟机的第 18 版。该版本的最终特性主要集中在以下 9 个 JEP 上:JEP 400:默认字符集为UTF-8JEP 408:简易Web服务器JEP 413:支持在Java API文档中加入代码片段JEP 416:用方法句柄重新实现核心反射JEP 417:Vector API(第三个孵化阶段)JEP 418:网络地址解析SPIJEP

2022-04-25 22:47:49 4608

原创 解决IDEA编译项目报错 “xxx包不存在“

使用Maven命令:mvn idea:idea出现jar包找不到的问题,首先有可能是项目依赖中有些jar没有下载完整,而mvn idea:idea这个命令可以检查并继续下载未下载完整的依赖jar。在命令行输入mvn idea:idea ,然后 file–invalidate caches 重启就可以了。也有可能是JDK版本的影响,编译的时候有些无法识别,所以建议重新检查一下IDEA的JDK路径。...

2022-03-29 19:19:33 5191 10

原创 微服务架构实践原则

在微服务体系架构中,多个松散耦合的服务一起工作,每个服务专注于一个目标,并与相关行为和数据保持高度内聚。其定义包括 3 条设计原则:单一职责——每项服务都应该专注于一个目的并把它做好松耦合服务——服务之间没有太多的联系,对一个服务的变更不应该要求更改其他服务,服务之间的通信只能通过公开的服务接口进行。高内聚性——每个服务都将所有相关的行为和数据封装在一起,如果需要构建新功能,所有的更改都应该局限于一个服务中。这些原则是充分利用微服务体系架构潜力的唯一途径,任意两者的缺乏都将使之成为一种反模式。如果没

2022-03-19 19:50:26 561

原创 Activiti工作流入门

工作流介绍工作流(Workflow): 工作流就是通过计算机技术对业务流程进行自动化管理。实现多个参与者按照预定的流程去自动执行业务流程。定义: 通过计算机对业务流程自动化执行管理主要解决的是: 使在多个参与者之间按照某种预定义的规则自动进行传递文档,信息或任务的过程.从而实现某个预期的业务目标,或者促使此目标的实现工作流管理系统的目标:管理工作的流程以确保工作在正确的时间被期望的人员所执行在自动化进行的业务过程中插入人工的执行和干预工作流框架:Activiti,JBPM

2022-02-27 15:36:11 1213

原创 Feign入门

Feign介绍Feign是一个声明式的http客户端官方地址:https://github.com/OpenFeign/feignFeign是Netflix开发的声明式、模板化的HTTP客户端, Feign可以帮助我们更快捷、优雅地调用HTTP API。在Spring Cloud中,使用Feign非常简单——创建一个接口,并在接口上添加一些注解,代码就完成了。Feign支持多种注解,例如Feign自带的注解或者JAX-RS注解等。Spring Cloud对Feign进行了增强,使Feign支持了S

2022-01-31 18:43:58 408

原创 常用校验类正则表达式大全

一、校验数字的表达式1. 数字:1*$2. n位的数字:^\d{n}$3. 至少n位的数字:^\d{n,}$4. m-n位的数字:^\d{m,n}$5. 零和非零开头的数字:^(0|[1-9][0-9]*)$6. 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7. 带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?$8. 正数、负数、和小数:^(-|+)?\d+(.\d+)?$9. 有两位小数的正实数:2+(.[0-9]{2})

2022-01-09 23:49:21 1999

原创 sql语句中的case语句

sql语句中的case语句与高级语言中的switch语句,是标准sql的语法,适用于一个条件判断有多种值的情况下分别执行不同的操作。首先,让我们看一下CASE的语法。在一般的SELECT中,其语法格式如下:CASE <单值表达式>WHEN <表达式值> THEN创建一个用户表CREATE TABLE user (id int(10) unsigned NOT NULL auto_increment,sex tinyint(1) default 1 COMMENT ‘性别

2021-12-26 22:42:33 5474

原创 安装并运行 Elasticsearch

安装并运行 Elasticsearch你可以从 elastic 的官网 elastic.co/downloads/elasticsearch 获取最新版本的 Elasticsearch./bin/elasticsearch如果你想把 Elasticsearch 作为一个守护进程在后台运行,那么可以在后面添加参数 -d 。如果你是在 Windows 上面运行 Elasticseach,你应该运行 bin\elasticsearch.bat 而不是 bin\elasticsearch (运行前需要先安

2021-12-17 19:19:54 2086

原创 Jrebel

生成 GUID 的网址https://www.guidgen.com/用这个网址 + 生成的 GUID 激活https://jrebel.qekang.com/例如:https://jrebel.qekang.com/738b776f-6cc9-4ac5-9574-960a057392db设置离线模式 来防止失效File -> Settings -> JRebel -> [Work offline]按钮...

2021-12-10 17:54:13 256

原创 常见面试题

一 为什么 Java 中只有值传递?首先回顾一下在程序设计语言中有关将参数传递给方法(或函数)的一些专业术语。按值调用(call by value)表示方法接收的是调用者提供的值,而按引用调用(call by reference)表示方法接收的是调用者提供的变量地址。一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值。 它用来描述各种程序设计语言(不只是Java)中方法参数传递方式。Java程序设计语言总是采用按值调用。也就是说,方法得到的是所有参数值的一个拷贝,也就是说,方法

2021-09-26 20:35:46 216

原创 Spring Boot入门

1. Spring Boot概述目标:了解Spring Boot是什么,有什么作用小结:Spring Boot是一个便捷搭建 基于spring工程的脚手架;作用是帮助开发人员快速搭建大型的spring 项目。简化工程的配置,依赖管理;实现开发人员把时间都集中在业务开发上。2. Spring Boot入门目标:能够使用Spring Boot搭建项目分析:需求:可以在浏览器中访问http://localhost:8080/hello输出一串字符实现步骤:创建工程;添加依赖(启动器依赖,sp

2021-08-21 22:16:16 195 3

原创 分布式系统限流、降级、熔断框架Hystrix

为什么需要容错限流复杂分布式系统通常有很多依赖,如果一个应用不能对来自依赖 故障进行隔离,那么应用本身就处在被拖垮的风险中。在一个高流量的网站中,某个单一后端一旦发生延迟,将会在数秒内导致 所有应用资源被耗尽(一个臭鸡蛋影响一篮筐)。如秒杀、抢购、双十一等场景,在某一时间点会有爆发式的网络流量涌入,如果没有好的网络流量限制,任由流量压到后台服务实例,很有可能造成资源耗尽,服务无法响应,甚至严重的导致应用崩溃。Hystrix是什么Hystrix 能使你的系统在出现依赖服务失效的时候,通过隔离系统所

2021-08-15 23:40:41 524

原创 分布式幂等

幂等的概念幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。 复制代码在编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“getUsername()和setTrue()”函数就是一个幂等函数。用通俗的话讲:就是针对一个操作,不管做多少次,产生效果或返回的结果都是一样的举几个例子:

2021-08-13 21:02:53 536 1

原创 分布式文件系统之FastDFS

前言什么是分布式文件系统随着文件数据的越来越多,通过tomcat或nginx虚拟化的静态资源文件在单一的一个服务器节点内是存不下的,如果用多个节点来存储也是不利于管理和维护,所以我们需要一个系统来管理多台计算机节点上的文件数据,这就是分布式文件系统。分布式文件系统是一个允许文件通过网络在多台节点上分享的文件系统,多台计算机节点共同组成一个整体,为更多的用户提供分享文间。比如常见的网盘,本质就是一个分布式的文件存储系统。虽然我们是一个分布式的文件系统,但是对用户来说是透明的,用户使用像是访问本地磁

2021-08-08 23:32:39 379 11

原创 Docker安装与入门

一、欢迎来到 Docker 世界1. Docker 与虚拟化在没有 Docker 的时代,我们会使用硬件虚拟化(虚拟机)以提供隔离。这里,虚拟机通过在操作系统上建立了一个中间虚拟软件层 Hypervisor,并利用物理机器的资源虚拟出多个虚拟硬件环境来共享宿主机的资源,其中的应用运行在虚拟机内核上。但是,虚拟机对硬件的利用率存在瓶颈,因为.

2021-08-06 18:00:42 313 3

原创 基于Zookeeper与Netty实现的分布式RPC服务

文章目录前言架构前置知识服务接口API用户服务接口用户对象RPC请求对象RPC响应对象服务提供者RPC服务端RPC业务处理暴露接口服务注册服务消费者RPC客户端RPC客户端处理类RPC客户端代理类服务发现web接口前言大部分的互联网公司在应用的迭代演进过程中,随着系统访问量提高,业务复杂度提高,代码复杂度提高,应用逐渐从单体式架构向面向服务的分布式架构转变,但具体实现微服务架构的方式有所不同,主流上分为两种,一种是基于Http协议的远程调用,另外一种是基于RPC方式的调用。两种方式都有自己的代表框架,前

2021-08-01 23:53:50 1264 17

原创 基于Curator的Zookeeper操作实战

前言Zookeeper操作方式这篇文章主要说的是利用java来操作zookeeper,就如操作mysql数据库一样,主要是实现增删改查功能,而实现这些功能的方式主要有以下三种:zookeeper官方提供的原生的apizkclientApache Curator简单说下三种方式的区别与各自的优劣:zookeeper自带的客户端是官方提供的,比较底层、使用起来写代码麻烦,很多功能需要自己来实现、不够直接。zkclient是另一个开源的ZooKeeper客户端。Apache Curator

2021-07-30 23:26:26 859 15

C++ 6.0安装包(含安装教程).zip

C++ 6.0安装包(含安装教程)

2021-06-16

hutool开源的jjava工具类项目

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当; Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。

2021-06-16

仿天猫商城开发的web项目源码

一个开源的仿天猫商城开发的web项目源码

2021-06-16

3DMGAME-GPU.Z.v2.5.zip

GPU-Z是一款显卡识别工具,绿色免安装(可选安装),界面直观,运行后即可显示GPU核心,以及运行频率、带宽、传感器信息等。

2021-04-21

非常实用的mysql优化规则

非常实用的mysql优化规则,问题:,若是能够恰当的使用sql规则,便能极大提高系统的效率。那么如何实现sql语句和表的优化呢?

2018-03-20

空空如也

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

TA关注的人

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