Java / C++ / C# ....
文章平均质量分 72
面向对象语言专栏
OxYGC
这个作者很懒,什么都没留下…
展开
-
[Java框架] Java常用爬虫框架推荐
截止 2023年9月份 Star数量27.7KSelenium是一款基于浏览器自动化的工具,它可以模拟用户在浏览器上的操作行为,并获取网页上的内容。Selenium支持多种浏览器,可以很好地处理JavaScript生成内容。但是Selenium相较于其他框架而言,运行速度较慢。截止 2023年9月份 Star数量10.9KWebMagic是一款基于Java的分布式爬虫框架,它使用了多线程和异步IO等技术,可以高效地爬取网站数据。WebMagic提供了丰富的插件机制,支持自定义解析器、处理器等功能。原创 2023-09-30 23:21:24 · 3532 阅读 · 0 评论 -
[云原生] [kubernetes] 在kubesphere上部署服务
KubeSphere 是在目前主流容器调度平台 Kubernetes 之上构建的企业级分布式多租户容器平台,提供简单易用的操作界面以及向导式操作方式,在降低用户使用容器调度平台学习成本的同时,极大减轻开发、测试、运维的日常工作的复杂度,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛点。原创 2022-11-06 06:30:00 · 508 阅读 · 0 评论 -
[设计模式] 责任链模式校验下单参数
顶层抽象类必要非空参数校验必要非空参数校验测试类。原创 2022-10-24 01:00:00 · 423 阅读 · 1 评论 -
[Redis] 使用Redis限制短信发送次数和发送频率
使用Redis实现比如 一小时内允许用户发送5次短信,一天内允许用户发送10条短信的需求,改需要怎么做呢。原创 2022-10-22 16:39:15 · 2285 阅读 · 0 评论 -
[Java Framework] [Spring] Spring中RestTemplate中几种常见的请求方式
get和post请求适合用在不许要校验直接获取的接口, 如果想获取http协议报文的内容可以使用 xxxForEntity,如果只关注传输数据本身可以使用xxxForObjecDELETE ,HEAD, OPTIONS 可以补充部分信息EXCHANGE 使用频率较高EXECUTE 上面所有方法的最后执行都是调用的该方法执行。原创 2022-10-20 02:44:54 · 815 阅读 · 4 评论 -
2022年后端工程师提升开发效率神器推荐
一些后端工程师除了写代码还要做一些运维部署的工作, 掌握各种生产力工具, 是很有必要的。但笔者发现很多开发中的工具有这样一个特点:百分之80的工具我们只用到它百分之20功能, 我们常常会遇到这种情况, 连接服务器时候一边SSH客户端输入命令,然后开着FTP客户端上传文件,最后在再开个监控软件看服务器cpu 内存的变化状态~ 虽然最后可以解决问题但是在效率上还是有很大的提升空间!很多工具谈不上效率,只是解决了能“做得到”的问题,飞速发展的今天“做的好”才是我们该追求的。什么才是一个好的有效率的工具呢?原创 2022-10-19 18:30:20 · 1439 阅读 · 22 评论 -
[Java Base] 类,接口,枚举,静态常量到底应该放在哪?
静态常量什么时候适合放在类中?什么时候适合放在接口中?什么时候适合放在枚举中呢?放在不同的type中会引发什么不良后果呢?本篇就来解析一下~常量类应该是final,不变的,而接口里的参数是final,也是不变的。那么,看起来接口是放常量没有一定问题,还省去了final的输入,非常的合适。但是,类是只能单继承的,接口是允许多实现的。要是类实现的多个接口出现重名的常量,会报错,必须要在实现类明确常量用的是哪个接口的。原创 2022-10-15 01:53:55 · 1288 阅读 · 0 评论 -
[云原生] [kubernetes] K8S常用命令
添加新节点需要在原master节点获取token和hash值。原创 2022-10-05 23:45:08 · 1422 阅读 · 0 评论 -
[Java Framework] [Spring] 五分钟创建一个Starter
创建SpringBoot项目,并且把jar包放在resources/lib/目录下面在application.yml配置文件中添加我们相应的配置yang:启动项目会发现日志正常打印。原创 2022-10-03 12:50:37 · 624 阅读 · 0 评论 -
[Java Framework] 解决监听ContextRefreshedEvent事件执行多次问题
搜索引擎很多答案都是未加测试,对想当然的“解决方案”以讹传讹,本文将从多个方面找到最低一个解决方案!“容器已经初始化”会出现多次解释:在web开发中会存在这样问题, 项目会存在两个容器,一个是spring的ioc容器(父),一个是springmvc的ioc容器(子),这两个容器是父子关系。这样就会造成onApplicationEvent方法被执行两次。为了解决此问题,我们可以判断当前容器是否父容器,是父容器才执行下边的代码。原创 2022-09-29 17:25:12 · 1659 阅读 · 0 评论 -
证券量化交易平台-接入业务:SpringBoot 集成Apama
什么是APAMA, 中国银河证券与Progress® Apama®公司联手打造的国内顶尖量化交易平台,内置强大的下单工具、和程序化交易功能。满足您多品种、多周期等交易需求。原创 2022-09-29 15:19:45 · 477 阅读 · 0 评论 -
[F2F] 场景设计
设计一个门店排行,俱乐部月度排行,使用redis zset 的score 自排序特性进行存储即可, 然后可以按照频率定时持久化到DB中。原创 2022-09-22 17:40:49 · 256 阅读 · 0 评论 -
[基础服务] [Docker] Jenkins的安装和部署
Jenkins的部署其实很简单,因为Jenkins本身就是一个war包 使用Java -jar jenkins.war就可以很方便启动一个jenkins服务,但是这种部署方式很容易受到运行环境的干扰,jdk版本,服务器环境等,如果后续服务需要迁移、扩容会比较麻烦。其实这种像jenkins这种无状态应用非常适合使用docker来部署,后续扩展迁移可以完全保证环境的一致性。下面我们使用docker快速部署一个jenkins服务🔗。...原创 2022-08-22 18:15:08 · 1100 阅读 · 0 评论 -
[Java SDK] [多线程] Java中线程的定制化通信
通过线程配合sleep不加锁定义状态变量(非线程安全,可能会少打印)启动三个线程,按照如下要求:AA打印5此,BB打印10次,CC打印15次,一共进行10轮while(!原创 2022-08-21 22:53:50 · 283 阅读 · 0 评论 -
[Java Base]Java 8 ~ Java19新特性
📁。原创 2022-08-20 02:43:44 · 638 阅读 · 0 评论 -
[Java Framework] [Spring] Spring Event / 事件的使用 二: Transactional Event
/***/*** 当前订单对象} }定义监听者的方式,Spring提供了两种,一种是接口方式,一种是注解方式。原创 2022-08-06 14:24:51 · 254 阅读 · 0 评论 -
[Java Framework] [Spring] Spring Event / 事件的使用 一: ApplicationEvent
***/*** 当前订单对象} }定义监听者的方式,Spring提供了两种,一种是接口方式,一种是注解方式。原创 2022-08-05 18:08:07 · 332 阅读 · 0 评论 -
[Java Framework] [MQ] SpringBoot 集成RabbitMQ
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。...原创 2022-08-04 17:35:00 · 385 阅读 · 0 评论 -
[零代码工具推荐] 快速建站神器 Jeecg/Boot
JeecgBoot是一款基于代码生成器的低代码开发平台!前后端分离架构SpringBoot2.x,SpringCloud,AntDesign&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发!JeecgBoot引领新的低代码开发模式(OnlineCoding->代码生成器->手工MERGE),帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省研发成本,同时又不失灵活性!低代码模块真正的零代码。...原创 2022-08-01 21:16:06 · 1436 阅读 · 0 评论 -
[Java Framework] [ELK] Spring 整合ES (ElasticSearch7.15.x +)
ElasticSearch7.15.x版本后,废弃了高级Rest客户端的功能,转为JavaAPI客户端,以下来源ElasticSearch官网。原创 2022-07-27 17:17:11 · 1352 阅读 · 12 评论 -
[基础服务] [MQ] RocketMQ的安装和配置
安装 RocketMQ 4.9.X (apache官方镜像)原创 2022-07-24 17:37:45 · 777 阅读 · 6 评论 -
[基础架构] [Flink] Flink/Flink-CDC代码实现业务接入
1.2 业务编码1.2.1 入口类1.2.2 自定义反序列化器1.3 业务打包打包完成:把cdc-connector-1.0-SNAPSHOT-jar-with-dependencies.jar 包上传到 到flink主目录并运行下面命令行和命令行启动相关效果, 正常成功启动进行监控[1] flink-cdc-connectors...原创 2022-07-18 15:01:08 · 1139 阅读 · 0 评论 -
[脚本工具] Python 局域网Hosts实现DDNS / Github网速增强
笔者主要解决的问题是,在家或者出差有多台笔记本电脑,需要频繁修改Ip来连接这台笔记本上面服务。原创 2022-07-16 04:47:06 · 998 阅读 · 3 评论 -
[基础架构] [Flink] Flink/Flink-CDC的部署和配置
Flink 以及 Flink -CDC 部署与配置原创 2022-07-05 11:22:43 · 8460 阅读 · 11 评论 -
[基础服务] Nacos安装和配置
windows环境下的Nacos安装步骤一:下载并安装Nacos下载地址:官网下载二:配置Nacos解压打开后目录如下2.1 执行nacos-mysql.sql文件2.2 修改 application.properties 配置文件配置文件内容如下db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&原创 2022-05-12 16:56:11 · 636 阅读 · 0 评论 -
【Win平台开发-基础服务】RabbitMQ 安装和配置
windows10环境下的RabbitMQ安装步骤记录下本人在win10环境下安装RabbitMQ的步骤,以作备忘。第一步:下载并安装erlang原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。下载地址:http://www.erlang.org/downloads根据本机位数选择erlang下载版本。下载完是这么个东西:双击,点next就可以。选择一个自己想保存的地方,然后next、finish就可以。原创 2022-04-11 16:26:17 · 192 阅读 · 0 评论 -
IDEA中Leetcode插件配置与使用
一:插件中心安装二:配置模板代码文件名(生成随机类名):$!velocityTool.camelCaseName(${question.titleSlug}) 模板代码格式配置:package leetcode.editor.cn;${question.content}public class $!velocityTool.camelCaseName(${question.titleSlug}){ public static void main(String[] arg原创 2021-11-06 17:00:59 · 649 阅读 · 0 评论 -
Java中获取类加载路径和项目根路径的几种方法
路径主要考虑的是是否在运行编译之后还能找到。代码注意的一点是 resource文件夹的一级文件会直接以这样的方式显示: 项目路径+ \ target \classes\目标文件import java.io.File; import java.io.IOException; import java.net.URL; public class MyUrlDemo { public static void main(String[] args) { ..原创 2021-08-28 01:00:07 · 482 阅读 · 0 评论 -
Oauth2.0使用授权码登录
http://127.0.0.1:7000/oauth/authorize?client_id=appc&client_secret=123456&grant_type=authorization_code&user_type=appc&response_type=code&scope=all原创 2021-06-15 20:56:27 · 1803 阅读 · 0 评论 -
Elasticsearch关于Java客户端的基本操作 (RestHighLevelClient)
@SpringBootTestpublic class ESOpsDemoTest { @Autowired RestHighLevelClient restHighLevelClient; @Autowired AppcStatsExerciseHistoryMapper appcStatsExerciseHistoryMapper; @Test public void mainTest() throws IOException {// .原创 2021-05-14 11:21:35 · 257 阅读 · 0 评论 -
使用Redis 的 Geospatial特性 处理低数据量下的 地理空间问题 (RedisTemplate)
代码Demoimport com.baomidou.mybatisplus.extension.toolkit.ChainWrappers;import com.csdata.ldd.saas.entity.pojo.basis.Store;import com.csdata.ldd.saas.mapper.basis.StoreMapper;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.原创 2021-05-12 10:20:23 · 347 阅读 · 3 评论 -
使用redis( RedisTemplate )中的BitMap 记录用户签到情况
Redis的Bitmaps这个“数据结构”可以实现对位的操作。Bitmaps本身不是一种数据结构,实际上就是字符串,但是它可以对字符串的位进行操作可把Bitmaps想象成一个以位为单位数组,数组中的每个单元只能存0或者1,数组的下标在bitmaps中叫做偏移量单个bitmaps的最大长度是512MB,即2^32个比特位bitmaps的最大优势是节省存储空间。比如在一个以自增id代表不同用户的系统中,我们只需要512MB空间就可以记录40亿用户的某个单一信息,相比mysql节省了大量的空间有两种类..原创 2021-05-11 15:09:54 · 2987 阅读 · 3 评论 -
Spring中读取本地json文件,并交给Spring容器管理
我们经常在项目开发中遇到项目数据初始化的问题,例如一些超管,管理员账号;或者地图包,电话号码包,之类的东西。放到到一个json文件里面(大的数据字典包可以放到搜索引擎里面,改情况本文不做讨论),然后项目启动时候就可以读取,便于我们使用initData.json 文件{ "appcInitData":{ "coinTaskInitLogo":{ "newMemberGuide" : "https,://123.cn/123/saas_123.png" } }}.原创 2021-04-04 16:28:11 · 1041 阅读 · 0 评论 -
如何优雅的使用RestTemplate
废话不多说直接干代码使用get请求- 接收侧:- @GetMapping("getInfo") @IgnoreSign public AppcMemberCoinTask getInfo(){ System.out.println("................."); AppcMemberCoinTask appcMemberCoinTask = new AppcMemberCoinTask(); appcMember.原创 2021-03-25 23:30:37 · 266 阅读 · 0 评论 -
[JDK] [Collection] 玩转Java集合之Lambda
List<Integer> sourceList =new ArrayList<>(); sourceList.add(1); sourceList.add(2); sourceList.add(3); List<Integer> targetList=new ArrayList<>(); targetList.add(3); targetList.add(4);原创 2021-01-02 02:59:13 · 1460 阅读 · 0 评论 -
spring 项目常用组件推荐
数据库迁移组件 flywayDB数据库迁移组件在 resources - db - migration 文件夹下新建sql 文件 <dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> <version>6.4.4</versi原创 2020-12-20 17:03:54 · 493 阅读 · 0 评论 -
Mybatis3逆向工程,代码生成器的使用!
简介使用Mybatis 我们都习惯使用逆向工程,下面就简单介绍以下离线版的逆向生成工具的使用。方法 / 步骤笔者使用的的逆向生成工具是MybatisGeneratordCore-1.3.2,已经在生产环境使用几年,简单可靠。首先打开离线资源包Lib文件夹下:generator.xml , generatorConfig.xml , generatorOracle.xml 分别是配置不同数据库的文件,比如是生成Mysql和Oracle 中的表。打开Readme.txt 文件java原创 2020-11-01 22:53:07 · 304 阅读 · 0 评论 -
项目中自定义通用返回值Result
通用的自定义相应类,轻便,兼容好,基本没有冗余字段Result类import java.io.Serializable;/** * Description: * * @Author: Yanggc * DateTime: 10/22 13:52 */public class Result<T> implements Serializable { private static final long serialVersionUID = -39483892680.原创 2020-10-23 15:17:34 · 1658 阅读 · 0 评论 -
Netty网络编程_简易聊天小Demo
文章目录前言一、项目目录二、使用步骤1.服务端代码服务端启动类:WebSocketNettyServerChannel初始化器类:WebsocketChannelInitializer消息处理器类:ChatHandler2.浏览器端代码总结参考资料 & 致谢前言 项目是一个Maven项目,注意添加相关依赖一、项目目录二、使用步骤1.服务端代码相关依赖 <dependencies> <!--整合Netty--> &l原创 2020-09-10 05:23:18 · 294 阅读 · 0 评论 -
【Apache-Mina】一:使用Mina实现“HelloWorld”
文章目录前言一、Apache-Mina是什么?二、使用步骤1.服务端2.业务实现类 Handler3.调试运行总结参考资料 & 致谢前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。一、Apache-Mina是什么?Apache Mina是一个能够帮助用户开发高性能和高伸缩性网络应用程序的框架。它通过Java nio技术基于TCP/IP和UDP/IP协议提供了抽象的、事件原创 2020-08-26 11:27:29 · 331 阅读 · 0 评论