自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 框架模块说明 #09 日志模块_02

这两篇文章基本介绍了框架的日志体系,我们没有对接ELK的类似的日志系统,而是采用了mongodb这种方式,主要考虑到小公司可能对基础设施的投入并不会那么大的问题。未来要引用ELK,我觉得也是非常容易的事情。请大家多指正。GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。t=P1C7。

2025-03-02 18:42:24 651

原创 甲辰的总结

虽然我没有深入参与这一领域的研究,但AI的存在感无处不在,逐渐渗透到我们的日常生活中。在我的开发工作中,也频频用到与AI相关的技术,比如智能驾驶、辅助编程等。回顾这一年,我参与了不少项目,也经历了许多重要的事件。在工作中,我对框架进行了安全层面的优化与升级,有效地完善了系统的防护能力,还成功阻止了几次攻击事件,令人感到颇有成就感。同时,我也写了不少文章,从中总结经验、分享心得,为自己的成长增添了色彩。今天是这一年的最后一个工作日,早晨没有去跑步,反倒坐下来回顾起这一年的点滴。

2025-01-27 06:39:50 156

原创 框架模块说明 #09 日志模块_01

在第二篇中我将对操作日志和安全日志的实现进行一些处理,本节相关代码链接如下。GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。t=O83AGitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。

2025-01-04 21:22:13 792

原创 框架模块说明 #08 API加密

这种加密方式在一定程度上模拟了云平台中 AK/SK 机制的加密模式,但与其不同的是,我们的 AK/SK 是动态生成的。这主要是基于外部对接用户的特点,考虑到会话通常持续时间较长,因此动态生成的 AK/SK 不会快速过期,同时也能够有效确保会话终端的唯一性。未来,我们计划进一步扩展功能,允许为外部调用用户配置固定的 AK/SK,以满足特定场景下的需求。以下是相关代码参考:GitCode - 全球开发者的开源社区,开源代码托管平台。

2024-12-15 20:56:57 674

原创 框架模块说明 #07 校验框架

由于当前框架尚未集成完善的国际化组件,因此我们暂时没有对校验内容进行国际化处理。这也是未来优化的一个重要方向,希望大家能够提出宝贵的意见,共同完善这一功能。完整的代码请参考如下链接GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。t=O83A。

2024-12-13 12:03:55 733

原创 框架模块说明 #07 二次验证(MFA)_02

在前一篇文章中,我们介绍了用户 MFA(多因素认证)的统一校验过程,即在操作过程中的身份校验。然而,在某些业务场景中可能需要强制校验,以确保操作确实由用户本人执行。为此,我们可以采用切面 + 注解的方式来实现业务操作的强制校验,进一步提升安全性。与此同时,在某些特定场景下(例如 APP 中的一些校验场景),注解方式可能不够灵活或不太适用。为了解决这些问题,我们还可以提供一个工具类(Util),便于开发者在不同的业务场景中灵活调用。操作过程中的强制校验实现(基于切面 + 注解)。工具类的设计与实现。

2024-12-06 12:18:21 793

原创 框架模块说明 #06 二次验证(MFA)_01

本篇内容介绍了如何绑定及在操作过程中的定时的Google验证器的行为校验及如何检测的处理,下篇将介绍一些工具类和业务强制校验的实现过程t=O83At=O83AGitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。

2024-12-04 23:42:47 936

原创 框架模块说明 #05 权限管理_03

本文围绕数据权限的设计与实现展开,结合实际开发场景,从全局控制、权限配置、表结构设计、注解类定义、自定义标签、MyBatis标签拦截器以及实用工具类等多个方面进行了全面介绍,旨在为开发者提供完整的数据权限实现方案。灵活性:支持多维度配置(角色、用户)与动态权限规则加载。可扩展性:结合 MyBatis 拦截器与工具类,便于扩展和适配多种业务需求。高效性:利用缓存优化权限查询性能,减少数据库查询压力。t=O83A。

2024-12-03 12:03:03 782

原创 框架模块说明 #05 权限管理_02

通过这篇文章,其实已经基本讲清楚的操作权限相关的内容,下面会讲操作权限的相关内容,敬请期待。详细代码请参考GitCode - 全球开发者的开源社区,开源代码托管平台。

2024-12-01 22:00:36 286

原创 框架模块说明 #04 权限管理_01

内容中大要说明了操作权限如何上报的流程,其中详细的代码大家可以查看GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。下一篇我会讲下菜单和权限关联的内容以及如何设计菜单加载及为什么要这样设计的原因。t=O83AGitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。

2024-11-29 12:41:47 818

原创 框架模块说明 #03 登录验证

以上只是简单的介绍了框架的授权体系其实总体来说就是对spring security的实现,具体实现可以根据上文的代码链接查看,接下来的文章中会对权限管理、用户后台菜单的查询和前台权限标签的使用进行介绍。作用: 登录成功后的一些处理,将登录信息缓存到Redis和一些权限加载的处理。源代码GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。

2024-11-26 13:10:15 872

原创 以太事件解析 #7 事件侦听_02

续接上篇内容,在上篇介绍了事件的获取和确认的过程,本篇文章集中讲下,后台管理的一些api和配合业务一些内容的说明。总结来看,这两篇文章基本完整地描述了当前区块侦听相关功能的设计与实现内容。核心模块涵盖了链配置管理、合约配置管理以及日志信息管理,形成了一套较为完整的区块链侦听解决方案。具体细节和实现可以直接参考代码。如有更成熟的思路或建议,欢迎随时留言交流,以便共同优化和完善整体功能。

2024-11-25 12:47:55 367

原创 框架模块说明 #02 导入导出

在设计过程中,我们通过一系列设计方法有效地将业务的变化性进行了隔离,并未对导入导出的具体实现方式做出严格定义。这使得框架能够灵活支持导出不同内容和格式的文件。同时,我们选用了 MongoDB 的 GridFS 作为文件存储方案,以便在满足小型业务系统需求的基础上确保高效和稳定。然而,当前方案仍存在一些优化空间。例如,在使用分布式锁的情况下,尽管能够保证任务的执行顺序和数据一致性,但在部署多个微服务实例时,并未显著提升任务的处理效率。因此,在任务并发处理和性能提升方面还有改进的余地。

2024-11-24 19:54:18 954

原创 以太事件解析 #6 事件侦听_01

在前面的文章中其实简单的介绍过我们的区块链侦听服务的大概框架和模型,本身来说我们是有两个版本事件侦听,正常微服务的情况下我们会用到这个JAVA版本,其实还有一个python版本,那个主要是当时用来测试下大数据的情况下,存储在mongodb里的,整体的配置也是存储在数据库中,因为我们开发过程中大部分情况下是用java版本进行处理的,所以这里介绍的也是java的微服务版本。GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。

2024-11-23 20:24:05 1338

原创 框架模块说明 #01 邮件发送

邮件发送的主要方法都是在Emailutil方法里,也是根据配置生成出不同的邮件发送的服务然后进行发送,后台邮件发送过程其实都是采用异步的方式,不可避免有一些错误,发送失败的会进入redis的失败队列中,目前为止是一条一条的进行处理,因为正常来说失败的不会太多,如果太多了可能就是邮件服务器出问题了,当然可以考虑用多线程或者消息的方式重试,于是我在common-service里有一个job专门重试发送邮件的。GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。

2024-11-22 21:42:09 653

原创 以太事件解析 #05 合约提现

其实这里还涉及到提现审核、提现状态的回写和资金的处理,这里就没有详细描述,如果有需要,我可以提供一定的帮助,请留言。

2024-11-21 11:04:59 539

原创 开源框架重构说明

在前期的开发过程中由于对框架设计的能力不足和对一些工具使用的熟悉度不高,导致当时将一些系统功能全部写cloud-core包里,导致这个底包特别的大。在开发过程中我们引用了很多不必要的包,导致打出来的包越来越大,也导致了一些不可预知的错误,core-common-parent实现一些框架的基础功能,如redis、mongodb、加解密、swagger、mfa和操作日志等一些基础功能。GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。

2024-11-19 22:22:57 686

原创 以太事件解析 #04 支付合约说明

支付事件功能:记录每次支付的详细信息,包括支付人、代币类型、产品 ID、订单 ID、支付金额等。支付代币时校验金额有效性。根据预设比例自动分发代币。灵活设置接收地址及分配比例。通过模块化设计,该合约易于扩展和维护。

2024-11-18 23:32:43 316

原创 以太事件解析 #04 swap数据解析

在项目中,解析交易对数据是一个常见且重要的需求。例如,在以太坊(ETH)链上的 Uniswap 和币安智能链(BSC)上的 PancakeSwap 中,交易对的解析逻辑几乎完全一致。此外,模块化设计遵循框架的开发要求,统一了代码结构,同时确保了事件解析逻辑的高复用性。这样的实现方式为多链支持(例如适配其他链上的 DEX 协议)奠定了坚实的基础,也为后续开发工作提供了充分的扩展空间。由于当时没有做pair的配置,所以用了一个扩展字段做为配置,他指定pair的地址和本身标识,详情可以参考如下的DML语句。

2024-11-16 12:29:06 905

原创 以太事件解析 #03

在项目过程中,我们会有大量的项目需要进行支付购买一些产品,在传统的交易所里或者app里我们一般冲值到中心化数据账户体系中,这样不可以避免带一些资金安全的问题,所以基于dapp的开发,我们总结了一套通用的支付流程。代码里重要的实现是解析数据成功后的业务处理类,有了这个类我们才能真正和业务系统结合从而生成对应的业务订单。如下为事件解析,其中如何解析日志数据在上一遍文章里有详细介绍。

2024-11-13 20:21:08 278

原创 以太事件解析 #02

实际业务的开发过程中,其实我们只关注我们的业务合约,那么一些业务处理中的过程性内容都会通过事件方式存储下来,所以我们首先应该定义好这些合约然后让合约的事件信息落地。在后续过程中,在不涉及到信息安全和知识产权的前提下,我会整理出一份简单的合约解析的微服务版本,敬请期待,下面贴出部分用侦听和解析的代码。创建一个合约过滤器,并侦听对应的事件,前提示rpc节点需要支持事件侦听,具体参数大家可以看下geth的启动参数,我忘记了。事件允许四个topic,其中第一个为事件的sha3的编码,可以用。

2024-11-12 22:41:24 855

原创 以太事件解析 #01

event是定义事件的关键字。Transfer是事件的名称。是事件的参数列表,indexed表示可以将这些参数作为索引来查询,最多可以有三个索引参数。indexed参数能够让你通过过滤日志高效查找特定的交易。

2024-11-11 20:37:18 322

原创 python网络编程相关

Django框架:Django是一个高级的Python Web框架,它提供了一系列易用的工具和功能,用于开发复杂的Web应用。Asyncio模块:Python的Asyncio模块是Python3.4引入的一种基于协程的异步IO编程模型。Requests库:Requests库是一个基于HTTP协议的网络请求库,它提供了简洁易用的API,可以发送HTTP请求并处理服务器响应。图有点长,分成两段。这些是一些常用的Python网络编程模块和技术,你可以根据具体的需求选择适合的模块和技术进行网络编程。

2023-12-16 08:52:49 78 1

原创 AI辅助学习PYTHON-迭代器

在做网页爬虫的过程中不可避免要会遇到要处理一些数据过滤的事情,做为一名资深的JAVA程序员,我第一时间想到的是java的stream的map和filter的处理功能。所以我第一时间就想问AI在python中有这两个处理功能是怎么实现的,在提问中我接触到了python的迭代器的概念,其实java也有迭代器的,所以我就顺着这条线问下去,结合我看的菜鸟教程的一些知识点,总结了如下的一些关于python迭代器的一些函数、基相关知识及提示词。如有一当之处还请大家指正。

2023-11-18 11:42:36 112 1

原创 AI辅助学习PYTHON-基础篇(1)

让AI推动你去思考和甄别,你觉得有疑问的呢,又让AI帮你思考,AI目前一定是基于他已经学习的数据的。不要指望它有创造性,同时也把AI当成一个人在沟通,还断的获取、反馈和沟通。这是我在利用AI学习的一个指导思想。那些代码的排版,有现在有ide工具这些都不是问题,大家都说前期学习最好用最原始的工具,但是我觉得还是有ide工具,因为他有一些更改提示或者代码的优化提示,可能你看不懂为什么这样写,这时候也可以让AI帮你解释,这样也可以学习很多东西。

2023-10-30 11:06:52 289 1

原创 为什么要开始学习PYTHON

刚开始感觉python是一个相比java而言是一种比较松散的语言,因为没有强大的类型定义,更多的时候大家更喜欢用的dict,没有明确的一些类型定义,也让我这个写习惯了java的人有点觉得不太适应。后来想想应该也是觉得现在程序员的成熟后,应该更加在开发过程中注意语言的可读性,在方法的注释方面应该更加具体。也让python更加灵活,加上强大的类库,可以解决很多问题,当然我还有很多没有学习到的地方,比如说文档生成,numpy,网格计算等。

2023-10-21 12:30:23 92 1

原创 Springboot sse分布式部署

侦听到对应的消息后根据在应用内存中保存的sse信息发送消息到对应的客户端,代码如下。消息侦听的方式有很多种,由于我们采用的是redisson的能力。以获取chatgpt的对应响应后,发送消息为例,代码如下。我采用的方式是存到rediss的缓存里,代码如下。

2023-07-12 10:58:38 3156 4

原创 MYSQL 进制转换溢出的解决办法

最近做一区块链的项目,需从链上扫块回来区块事件数据进行解析,需要将16进制的字符转换成bigdecmail,对于我这个面向baidu的程序员来说,赶紧上网找找,不出意外我找到了一个救命的函数conv,可以进行进制的数值的转换,我高兴的用上了这个函数,成功的将数字转换成功,于是成功的打卡下班。可惜我刚到没多久线上问题就反馈过来了,怎么数字全是一样的。我百思不得其解,但是毛爷爷说过,实践是验证真理的唯一标准,于是就来测试了一下,结果如我所愿,有些数字都是一样的,

2022-09-20 08:26:53 366

原创 计算列+全文检索优化LIKE查询性能

计算列+全文检索优化LIKE查询性能

2022-09-07 15:26:04 334

原创 从reactor,noi,netty得到的一些想法

看了一些reactor、nio、netty的相关的理论知识,结合最近看到的些文章和理论,写一遍小小的文章。最近看到了一遍爱因斯坦写的《中国没有科学》的文章(注:小编是这么写的),有一定的道理的,中国在部分是在科学理论下的应用,从而提高自己的科技水平,这可能跟近代科学的发源地是在欧洲有关系的,中国并没有提出推动世界发展的一些科学理论,特别是物理方面,大家都想提供一个大一统的理论,解释物质和时空的...

2020-04-09 08:00:38 172

原创 界定类和模块边界及通信的原则_单一职责原则和迪米特法则

界定类和模块边界及通信的原则前言前面分两个文章四个面向对你的原则,其中有一个是设计的基本原则,还有两个是在基本原则下我们应该如何去考虑扩展和拥抱变化的原则,那么前面四个原则还缺少点啥,就是这次我想写的,前面都讲了面向对象要开闭,类要符合里氏代换,要接口隔离,要依赖倒置,但是如何让每个类和模块的边界的确认方式,在抽象过程中应该基于的原则,好像没有方法论的指导,个人认为单一职责原则和迪米特法则...

2018-10-05 07:32:14 1183

原创 拥抱变化时应该遵守的设计原则——接口隔离和依赖倒置原则

 让我们拥抱变化的原则前言         前一章中我们进了里氏代换原则和开闭原则,让我们知道如何对类的结构进行组织的原则及设计的时候应该要符合扩展优先修改关闭,前面两个原则是定了面向对象设计的基调,但是如何进行扩展,如何在产生变化的时候通过进行行为的改变呢,其实并没有给出什么方法论和指导,那么这次所讲的接口隔离原则和依赖倒置原则,就指出了如何进行扩展如何通过扩展行为,如果整个设计结构不变...

2018-10-01 07:35:20 507

原创 面向对象设计原则的两大基准原则

前言         任何原则和理论的提出都是前人处理原来的一些问题的总结下提出来的,原则和理论就是一条正确的道路,是前人为了让我们不犯以前出过的错而写下的指导思想。         为什么把里氏代换原则和开闭原则放在一起说呢,个人认为他是面向对象的基本原则,是我们,这两个原则定义了类的创建的原则和对面向对象软件设计中对整个结构的更改的基本原则,也就是说它们限定了类的设计过程中的分类原则和...

2018-09-15 07:06:17 541

原创 SPRING AOP的作用的深层次理解

Spring上一个很好的框架,包含现在的扩展出来的很多项目,让我着实的忘记了其实j2ee框架的存在,spring的ioc成功的实现了设计模式中的工厂模式,让我们不要像以前一样设计类的创建和管理,只需一些注解和配置就行了,就能成功的实现类的管理。IOC的工厂让我们很好的实现了对接口编程,也很好的让我们在设计过程中去实现面向对象的七大设计则,先重温下里氏代换原则(子类是否是父类的子类判定规则)...

2018-09-05 06:46:49 1290

原创 查询列表需查询其它系统的数据拼装的重构案例

需求描述目前在项目中有两个版本并行,一个A版本,一个B版本,由于A版本并未完全下线,而且A版本是基于业务状态流的,B版本是基于activiti的,并且数据结构是经过重新设计的,也有一个申请的入口,那么我们需要在B版本的每一个环节的待办列表尾部查询到A版本的申请单数据并进行处理。当前的实现方式程序员拿到这个需求后理所当然的认为,我在每个节点的查询的时候进行处理,并且成功的实现了功能。...

2018-09-03 06:59:01 266

原创 一个有流程真正能使用文档全面的构架

做为一个IT从业11年之久的人员,我发现我很初级,老是要去找别人的代码来搭一个框架,来做开发,我觉得十分的失败。我们的技术总监提醒了我,做任何事情都要明确的知道你要做什么 ...

2018-09-03 06:20:19 181

原创 组件化系统框架-组件JAR包化

实现组件功能(含页面)的JAR包化是一直是我的一个想法,在我原先做的一些系统中我们做到的API组别的组件化,但是当我们要将一个新的组件功能加入到系统中我们会发现很大问题,那就是对页面的COPY,特别是当程序员对页面的划分不太规范的时候我们实在是无法找到对应的页面文件,或者在COPY的时候很容易搞错。针对上面的问题,我认为组件应该是包含两个部分的,一个是API部分的JAR包,一个是页面文件的JAR包

2016-03-09 11:00:40 1377

原创 组件化系统框架-分层

在确认了设计目标后,我对框架进行了系统的分层,分层中明确了我要使用什么样的开源框架,什么数据库,要实现对那些开源框架的扩展,要实现那些的基础模块,针对上述问题,我对系统进行了层次上的划分、开源框架的选型及基础模块服务模块的划分。 图-系统分层

2016-03-09 10:42:55 1009

原创 组件化系统框架-序言

一个有流程真正能使用文档全面的构架做为一个IT从业11年之久的人员,我发现我很初级,老是要去找别人的代码来搭一个框架,来做开发,我觉得十分的失败。我们的技术总监提醒了我,做任何事情都要明确的知道你要做什么。我需要的是什么呢,我需要的一个含权限管理的,单点登录集成的,含流程的完全开源的框架,由于好久没有钻研技术问题,开始

2015-09-27 06:29:13 501

全国海拔高度文件,精度1公里

附python查询脚本,需要请联系我

2024-05-06

超强的内容管理系统

超强的内容管理系统

2015-02-05

空空如也

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

TA关注的人

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