自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ric的博客

https://lichong.work

  • 博客(40)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 【前端-开发环境】使用NVM实现不同nodejs版本的自由切换(NVM安装教程使用手册)

NVM多nodejs版本切换工具(NVM安装教程使用手册)一、NVM介绍二、NVM的下载安装1. NVM下载2. NVM安装三、NVM使用1. 设置nvm环境2.安装nodejs3.使用或切换nodejs版本4.建议:5.nvm命令总结

2021-07-15 13:16:50 19090 34

原创 【前端-NPM私服】内网使用verdaccio搭建私有npm服务器

【NPM私服】内网使用verdaccio搭建私有npm服务器一、 verdaccio 搭建 npm 服务器(一) 为什么要搭建npm 服务器(二) 搭建方法:使用verdaccio(三) 内网导入依赖(四) 内网环境使用NPM私服二、 如何发布至私服当前npm 服务指向verdaccio注册用户查看当前用户,是否是注册用户.发布包

2021-01-12 09:45:48 5459

原创 【BAAS】基于supabase的知识库详细设计

为满足快速开发需要和减少开发及维护成本,使用BAAS(Backend-as-a-Service)模式可以很好的降低我们的后端维护成本,并提高前端对接效率。一般来说,BAAS是一种云服务模式,BaaS供应商会为提供一些通用的能力,例如用户身份验证、数据库管理、远程更新和推送通知(针对移动应用程序),以及云存储和自托管。BaaS最主流的是Google的firebase,具有相当完善的功能和集成方案,但他是收费的,而且在我们实际项目中,可能需要私有化部署,这时就需要一些开源的替代方案,例如主流的。

2024-01-25 23:19:37 549

原创 【大数据-Flink】从入门到企业级应用-基础篇

Flink核心目标是“数据流上的有状态计算”,具体来说,Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。本文还介绍了和SparkStreaming的对比,同时还介绍了Flink分层API的概念

2023-12-10 14:18:18 866

原创 【大数据-Hadoop】从入门到源码编译-概念篇

2011年成立,吸纳Hadoop的雅虎程序员贡献了80%的Hadoop代码,文档较好,Hortonworks Data Platform(HDP)还包括了Ambari(开源的安装和管理系统)。存储文件的元数据,如文件名、文件目录结构、文件属性(生成时间、副本数、文件权限)、以及每个文件的块列表和块所在的DataNode等。是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。

2023-12-09 23:36:07 1078

原创 【Linux-编译器gcc/glibc升级】CentOS7.9使用NodeJS18时报错/lib64/libm.so.6: version `GLIBC_2.27‘ not found

文章已收录至,转载请注明原文链接。ps:欢迎关注公众号“Fun肆编程”或添加我的私人微信交流经验🤝。

2023-03-15 15:05:22 9627 1

原创 【前端-NPM私服】内网使用verdaccio搭建私有npm服务器-docker搭建verdaccio流程

在私有化的服务器上部署的一个支持发布、下载、版本管理等服务的npm仓库。

2023-01-03 14:42:17 4779 1

原创 【前端-React Native】移动端原生开发整合React Native Elements教程-安卓示例

React Native (RN)是一个用于构建跨平台应用程序的 JavaScript 框架。2015年由facebook开源,社区驱动。RN使用 React 为 Android、iOS 等创建原生应用,现在甚至已经探索出了包括React Native Windows、React Native macOS和React Native Web等新的项目,支持更多的平台。

2022-12-23 17:45:02 3307

原创 【前端-TypeScript】TypeScript学习思维导图-一图看完《TypeScript编程》

现在,TypeScript正在逐渐成为与前端框架以及ES6语法同一地位的基础工具,更多的开发者或团队已经将它作为首选语言之一。TypeScript带来的收益十分明显,在代码健壮性、可读性、开发效率与开发体验等多个方面,都能带来显著提升。因此,越来越多的前端开发者开始尝试使用以及学习TypeScript。但如果想要学好TypeScript并不是一件容易的事情。对JavaScript开发者来说,TypeScript是一项全新的探索,限制着原有的固定思维逻辑,有着一定的理解与上手成本。拿TypeScript。

2022-11-21 10:38:12 923

原创 【后端-接口设计】java应用接口授权鉴权与URL防篡改详细设计

1. 颁发授权码 系统内部维护一系列授权码,授权码绑定接口白名单,第三方系统调用时需要`header`携带拥有权限的授权码才能访问指定某些接口。2. 使用`MD5`签名防止`URL`被篡改 第三方客户端发起请求时对`URL`进行`MD5`加密,把签名放到请求头。系统做拦截,再次对`URL`进行MD5加密,做签名对比,签名一致即可放行。

2022-10-13 18:58:37 2930

原创 【Java-webflux】Spring5新特性之webflux反应式编程-Project Reactor

反应式编程(又称为响应式编程),意在解决传统编程方式中响应时间长导致卡顿的问题,通过这种流式的反应式的消息驱动式的编程方式可以让用户有更丝滑的体验,一起感受一下吧!

2022-09-07 13:33:15 817

原创 【面试题-Java】2022面试题干货汇总(持续更新)

一、Java基础1.1 Hashcode的作用java的集合有两类,一类是List,还有一类是Set。前者有序可重复,后者无序不重复。当我们在set中插入的时候怎么判断是否已经存在该元素呢,可以通过使用equals()方法。但是如果元素太多,用这样的方法就会比较慢。于是有人发明了哈希算法来提高集合中查找元素的效率。 这种方式将集合分成若干个存储区域,每个对象可以计算出一个哈希码,可以将哈希码分组,每组分别对应某个存储区域,根据一个对象的哈希码就可以确定该对象应该存储的那个区域。hashCode方法

2022-08-22 16:57:58 169

原创 【后端-Java】泛型进阶 - 如何取出泛型类型参数

在JDK5引入了泛型特性之后,她迅速地成为Java编程中不可或缺的元素。然而,就跟泛型乍一看似乎非常容易一样,许多开发者也非常容易就迷失在这项特性里。多数Java开发者都会注意到Java编译器的类型擦除实现方式,Type Erasure会导致关于某个Class的所有泛型信息都会在源代码编译时消失掉。在一个Java应用中,可以认为所有的泛型实现类,都共享同一个基础类(注意与继承区分开来)。这是为了兼容JDK5之前的所有JDK版本,就是人们经常说的向后兼容性。向后兼容性译者注:原文较为琐碎,大致意思是。在

2022-08-22 16:55:12 1337

原创 【Java-集合】面试题总结收录

Collection接口下面的集合:List类型数据结构ArrayListObject[] 数组VectorObject[] 数组LinkedList双向链表(JDK1.6 之前为循环链表,JDK1.7 取消了循环)Set类型数据结构HashSet(无序,唯一)基于 HashMap 实现的,底层采用 HashMap 来保存元素是 HashSet 的子类,并且其内部是通过 LinkedHashMap 来实现的。......

2022-08-16 16:55:01 258

原创 【前端-调优】vue-cli前端工程webpack启动构建打包优化记录-6分钟至29秒

vue-cli启动打包项目慢,jenkins上构建频繁,无法忍受这么慢的速度,所以利用webpack来优化vue-cli的默认配置,开启多线程,利用缓存,充分榨干服务器性能!

2022-08-05 15:18:42 1407

原创 【前端-工程化】React项目工程化记录-内置项目活文档(老项目升级优化-集成Hosky/ESLint/Prettier-升级Webpack/Babel/NodeSass/React)

最近接到一个项目,说是一个老的React项目,希望做个优化升级,我刚clone下来代码人就傻了(钱要少了),先看一眼原始项目吧:尝试升级相关项目组件到最新版解决依赖冲突其中最明显的就是node-sass,相信接触过老项目的应该都被这个坑过,这个组件Sass官方现在也已经不维护了,直接重构了叫sass,但是可以兼容之前的语法,果断弃旧纳新引入webpack-merge用于区分开发环境和生产环境配置升级webpack至最新版,开发环境下改用webpack-dev-server,引入cop

2022-06-21 16:44:52 363

原创 【Docker-入门】基本概念解读

Docker 是一个用于开发、发布和运行应用程序的开放平台。Docker 提供了在称为容器的松散隔离环境中打包和运行应用程序的能力。隔离和安全性允许您在给定主机上同时运行多个容器。容器是轻量级的,包含运行应用程序所需的一切,因此您无需依赖主机上当前安装的内容。您可以在工作时轻松共享容器,并确保与您共享的每个人都获得以相同方式工作的同一个容器。Docker 还提供工具和平台来管理容器的生命周期。准备就绪后,将应用程序部署到生产环境中,作为容器或编排的服务。这样无论您的生产环境是本地数据中心、云提供商还是两者

2022-06-17 17:23:45 342

原创 【工具-TWRP-frp-Termux】旧手机暴改成免费云服务器-MIUI刷TWRP安装magisk获取root

现在因为疫情居家,利用frp内网穿透到公司电脑的windows远程桌面端口远程办公,然后发现以前用的小米9在抽屉里落灰很久了想着二手卖了,但是因为换过电池和屏幕也不值几个钱了,突发奇想如果可以内网穿透到旧手机上不就可以把这手机当个云服务器用了吗?抱着尝试着心态又重拾起了几年前玩过的搞机路。首先,我们要知道,一般来说我们买到的手机系统都是一些第三方厂商基于安卓封装的个性化UI,但同时这些厂商把手机的root权限控制了起来,我们只能使用普通用户权限,为了获取root权限或者使用一些谷歌套件,我们会重新刷入第三方

2022-06-08 12:43:27 3560 1

原创 【架构-DDD】使用领域驱动设计-互联网未来架构设计之道(一)

简介互联网后微服务时代,软件质量是一个非常让人头疼的问题,而DDD(Domain-Driven Design)被认为是系统老化问题的新希望。众多互联网大厂都在积极推行DDD的落地实践。而对IT程序员,尤其对于高级职位,DDD成了一个越来越重要的技能加分项。 但是DDD只是一套庞大的理论体系,非常多复杂的基础概念成了学习DDD不小的门槛。并且DDD如何落地,目前整个业界都还在一个摸索的阶段。 本文以通俗易懂的风格给大家介绍DDD,降低DDD的学习门槛,尽量在实战中尝试将DDD进行落地。思考如何提高软件质

2022-05-09 15:17:44 557

原创 【后端-Quartz】Springboot整合Quartz支持集群环境-设计业务与框架分离及实现定时任务调度

目录背景使用quartz总结背景我们的各个服务需要改造支持集群,现在的授权、日程使用的是基于内存的spring scheduler定时任务,如果部署多个节点,那么到了时间点,多个节点都会开始执行定时任务从而可能引起业务和性能上的问题。服务中的定时任务比较轻量,为了避免引入redis、zookeeper、单独的定时任务程序,所以建议选用quartz这种基于数据库的分布式定时任务调度框架,无需引用多余中间件。使用quartz在官网下载quartz下载之后解压,进入src\org\quart

2022-03-22 15:11:47 2858

原创 【工具-Nginx】从入门安装到高可用集群搭建

Nginx从入门安装到高可用集群搭建一.Nginx安装配置及常用命令1.环境搭建(1)联网下载压缩包安装依赖(1.1)在linux文件夹下下载压缩包,这里已/usr/src文件夹为例(1.2) 解压压缩文件后进入到该压缩文件(1.3)对当前安装包进行配置检查(1.4)进行编译安装(1.5)安装完成,可通过命令查看是否安装成功及当前安装版本(2)安装nginx的依赖2.Nginx安装(1)到[nginx官网](https://nginx.org/en/download.html)下载安装nginx,推荐下载S

2022-03-09 15:06:01 1201 5

原创 【docker-FAQ】docker启动WARNING:IPv4 forwarding is disabled. Networking will not work. 报错解决办法

✍背景centos 7 docker 上启动了一个web服务 但是启动时报:WARNING: IPv4 forwarding is disabled. Networking will not work.导致容器内网络与服务器网络不通✍解决方式修改系统配置,命令行执行:vim /etc/sysctl.conf在该文件中新增一行:net.ipv4.ip_forward=1然后重启network服务,命令行执行:systemctl restart network && s

2022-02-15 18:04:46 1088

原创 【工具-maven】spring-boot-maven-plugin:repackage打包失败问题排查

问题现象:年前打包正常的项目,年后回来突然发现打包失败了,因报错spring-boot-maven-plugin:3.0.0-M1:repackage不能正常打包原因:经过查证发现大概意思就是在spring-boot-maven-plugin:3.0.0-M1这个版本中没有goal这个api了,出现问题的原因是我们没有置顶version,每次maven都会获取spring-boot-maven-plugin插件最新的版本,结果最新的版本已经不支持goal这个API了解决方法:指定spring-b

2022-02-11 13:09:57 5090

原创 【物联网】什么是物联网平台?

目录✍定义✍物联网平台的主要能力一、设备接入二、设备管理三、安全能力(一)身份认证(二)通信安全四、规则引擎五、数据分析六、边缘计算✍定义物联网平台为设备提供安全可靠的连接通信能力,向下连接海量设备,支撑设备数据采集上云;向上提供云端API,指令数据通过API调用下发至设备端,实现远程控制。物联网平台也提供了其他增值能力,如设备管理、规则引擎、数据分析、边缘计算等,为各类IoT场景和行业开发者赋能。✍物联网平台的主要能力一、设备接入物联网平台支持海量设备连接上云,设备与云端通过IoT Hub进行

2022-02-07 13:43:58 799

原创 【小记】远程办公经验

疫情期间总结了一些远程办公经验,把自己认为好的地方分享出来供大家参考。✍建议一:仪式感当你在家里穿上睡衣的时候,你身体的第一反应就是葛优躺,那多舒服啊。这样一开始节奏就被带歪了。在家办公时,对自己的第一要求就是与上班时着装一致。大家可能都有这样的类似历史,曾经并没有留意这事,导致的后果就是一会儿就躺床上了,睡一个午觉可能两个小时就过去了。穿戴整齐是一种仪式感,让你处于工作的状态之中。✍建议二:工作分区为了保证工作效率,特意为自己留了一间书房,专门用来办公使用,就是为了把生活和工作分开。如果.

2022-02-07 11:55:46 6423

原创 【前端-es6】for循环中let与var的区别,块级作用域如何产生、迭代中变量i如何记忆上一步的值

一、for循环中使用var常会遇到的问题直接上代码:// 使用var声明,得到3个3var a = [];for (var i = 0; i < 3; i++) { a[i] = function () { console.log(i); };}a[0](); //3a[1](); //3a[2](); //3//使用let声明,得到0,1,2var a = [];for (let i = 0; i < 3; i++) { a[i] = function

2022-01-21 18:47:19 2025

原创 【工具-Flyway】优雅的数据库版本控制方式,无需每个版本发布数据库变动脚本

一、背景如果你还在每个版本发布时单独分发数据库变动脚本,甚至简单粗暴的将开发库直接导出并导入生产环境,建议一起来读一下这篇文章。二、主流方案这个一般来说就两个: Flyway 和 Liquibase ,如有更优秀的开源技术请大家留言补充。✌Flyway VS Liquibase感兴趣的可以看一下这篇文章,我的总结如下:Flyway 和 Liquibase 都支持数据库重构和版本控制所需的所有功能,并且这两个工具都可以完美集成在 Maven 或 Gradle 构建脚本以及 Spring Boot

2022-01-11 23:11:52 2602

原创 【后端-SpringCache】基于Spring Cache 封装支持Redis缓存批量操作的方式_记录下踩坑历程(pipeline或mget封装)

Spring Cache是一个非常优秀的缓存组件,我们的应用系统正是使用的Spring Cache。但最近在优化应用系统缓存的过程中意外发现了Spring Cache的很多坑点,特意记录一下。背景应用系统中存在部分接口循环调用redis获取缓存的场景(例如:通过多个 userId 来批量获取用户信息),此时我们的代码是类似于这样的(仅示例):List<User> users = ids.stream().map(id -> getUserById(id)).collect(Colle

2022-01-04 10:59:43 1829 1

原创 【前端-IE兼容】Win10和Win11使用Edge调试前端兼容IE6、IE7、IE8、IE9、IE10、IE11问题

打开设置->默认浏览器让 Internet Explorer 在 Microsoft Edge 中打开网站修改为从不允许在 Internet Explorer 模式下重新加载网站修改为允许Internet Explorer 模式页面中添加需要调试的页面如需使用F12:开发者工具,需要按下Win+R打开%systemroot%\system32\f12\IEChooser.exe手动选择需要调试的窗口(不能直接按F12)

2021-12-22 11:14:22 10439 4

原创 【工具-Shell脚本】java程序产品包模板-linux和windows通用shell启动停止脚本(无需系统安装Java运行环境)

Java的Linux脚本Windows脚本启停文件windows使用说明:控制台启动:双击bat文件后台启动:执行run.bat start关闭程序:执行run.bat stoplinux使用说明:替换jar包修改脚本中jar文件名赋予权限解压jdk执行脚本启动停止

2021-12-19 10:08:08 1061 3

原创 【工具-Nginx】Nginx高性能通用配置文件-注释版-支持防刷限流、可控高并发、HTTP2、防XSS、Gzip、OCSP Stapling、负载、SSL

依赖模块通用配置#启动用户user root;#设置所有worker进程数,建议等于CPU核心数worker_processes 2;#手动指定内核(2核cpu,开启4个进程:01 10 01 10;4个cpu,开启4个进程:0001 0010 0100 1000;其余同理)worker_cpu_affinity 01 10;#设置所有worker进程最大可以打开的文件数,默认为1024(可设置10240/655350)worker_rlimit_nofile 10240;#减少工作

2021-11-21 15:30:09 5389

原创 【数据库-优化】MySQL简单的SQL语句优化

1> 为查询缓存优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例:SELECT username FROM user WHERE signup_date >= CURDA

2021-11-17 13:41:23 95

原创 【工具-WireShark】网络HTTP抓包使用教程

本文章将围绕WireShark抓包工具展开详细介绍,一篇文章就可以让你会用WireShark。WireShark简介:Wireshark是一款最流行和强大的开源数据包抓包与分析工具,可以截取各种网络数据包,并可以查看网络数据包详细信息。WireShark的用途​:该软件在网络安全与取证分析中起到了很大作用。

2021-10-18 09:58:22 25718

原创 【工具-Git】记录clone springboot源码时的Filename too long报错

背景问题:从 GitHub 克隆Springboot项目下发出现了错误(所有项目都是同理):error: unable to create file spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/tasks/buildinfo/BuildInfoIntegrationTests-notUpToDateWhenExecute

2021-10-15 10:15:06 772

原创 【后端-Spring】二、Spring之底层架构核心概念解析

本文章的内容,是后续看Spring源码所必备的,防止后续看源码的过程中,遇到不会的概念得单独跳出来学习。​

2021-10-13 18:12:22 215

原创 【后端-Spring】一、初识Spring中核心知识点

本文章会对Spring中核心知识点进行串讲,达到对Spring的底层有一个整体的大致了解的目的,比如:Bean的生命周期底层原理;依赖注入底层原理;初始化底层原理;推断构造方法底层原理;AOP底层原理;Spring事务底层原理。

2021-10-12 16:14:38 218

原创 【电脑优化及环境搭建】给电脑打新

电脑优化及环境搭建一、背景换电脑了二、需求电脑第一次开机优化和开发环境搭建三、实现1. 下载必须的资源360(一会解释)、Chrome浏览器(也可以不下,现在Edge也挺好用)

2021-09-09 09:30:55 258

原创 【后端-maven打包】通过profile标签解决同时打jar包 war包需求

通过maven profile标签解决同时打jar包 war包需求需求解决思路解决步骤优点缺点需求使用maven打包时同时产出jar和war解决思路通过maven profiles的特性 + Jenkins 解决一键打两包问题解决步骤修改pom.xml packaging标签,使用占位符<packaging>${project.packaging}</packaging>pom.xml添加多profiles<profiles>

2021-07-27 13:42:15 1162

原创 【后端-SkyWalking】SkyWalking6.x工程项目源码目录结构分析(二)

上一节SkyWalking前后端开发环境搭建见:https://blog.csdn.net/lc1025082182/article/details/106214680

2020-05-21 13:18:05 1399

原创 【后端-SkyWalking】SkyWalking前后端开发环境搭建详细教程步骤-6.x/7.x/8.x版本通用-插件二次开发利器(一)

SkyWalking前后端开发环境搭建详细步骤,方便进行二次开发,适用于6.x/7.x/8.x的通用搭建工程方案,介绍skywalking原理设计,使用码云Gitee解决国内访问慢问题,做到最快搭建,最快上手!

2020-05-19 14:58:25 4897

windows10/11-snmp离线安装包文件-离线安装snmp方案

windows10-SNMP离线安装包文件 请先阅读readme.txt文件,按指示安装即可

2022-02-07

Nginx企业级高性能通用配置文件-注释版-支持防刷限流、控并发、HTTP2、防XSS、OCSP Stapling、负载、SSL

依赖模块: configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-ipv6 --with-http_v2_module --with-poll_module --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_dav_module --with-http_flv_module

2021-11-21

java程序产品包模板-内置linux和Windows通用shell启动停止脚本(无需系统安装Java运行环境).zip

java程序通用的产品包模板,启停脚本可以同时兼容普通java工程和springboot工程,如有定制化需求可以自行扩展。

2021-11-03

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

TA关注的人

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