<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[YouYouLongLong的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/YouYouLongLong</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; YouYouLongLong]]></copyright><item><title><![CDATA[框架模块说明 #09 日志模块_02]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/145966925</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/145966925</guid><author>YouYouLongLong</author><pubDate>Sun, 02 Mar 2025 18:42:24 +0800</pubDate><description><![CDATA[这两篇文章基本介绍了框架的日志体系，我们没有对接ELK的类似的日志系统，而是采用了mongodb这种方式，主要考虑到小公司可能对基础设施的投入并不会那么大的问题。未来要引用ELK，我觉得也是非常容易的事情。请大家多指正。GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。t=P1C7。]]></description><category></category></item><item><title><![CDATA[甲辰的总结]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/145374267</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/145374267</guid><author>YouYouLongLong</author><pubDate>Mon, 27 Jan 2025 06:39:50 +0800</pubDate><description><![CDATA[虽然我没有深入参与这一领域的研究，但AI的存在感无处不在，逐渐渗透到我们的日常生活中。在我的开发工作中，也频频用到与AI相关的技术，比如智能驾驶、辅助编程等。回顾这一年，我参与了不少项目，也经历了许多重要的事件。在工作中，我对框架进行了安全层面的优化与升级，有效地完善了系统的防护能力，还成功阻止了几次攻击事件，令人感到颇有成就感。同时，我也写了不少文章，从中总结经验、分享心得，为自己的成长增添了色彩。今天是这一年的最后一个工作日，早晨没有去跑步，反倒坐下来回顾起这一年的点滴。]]></description><category></category></item><item><title><![CDATA[框架模块说明 #09 日志模块_01]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144934938</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144934938</guid><author>YouYouLongLong</author><pubDate>Sat, 04 Jan 2025 21:22:13 +0800</pubDate><description><![CDATA[在第二篇中我将对操作日志和安全日志的实现进行一些处理，本节相关代码链接如下。GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。t=O83AGitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。]]></description><category></category></item><item><title><![CDATA[框架模块说明 #08 API加密]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144492276</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144492276</guid><author>YouYouLongLong</author><pubDate>Sun, 15 Dec 2024 20:56:57 +0800</pubDate><description><![CDATA[这种加密方式在一定程度上模拟了云平台中 AK/SK 机制的加密模式，但与其不同的是，我们的 AK/SK 是动态生成的。这主要是基于外部对接用户的特点，考虑到会话通常持续时间较长，因此动态生成的 AK/SK 不会快速过期，同时也能够有效确保会话终端的唯一性。未来，我们计划进一步扩展功能，允许为外部调用用户配置固定的 AK/SK，以满足特定场景下的需求。以下是相关代码参考：GitCode - 全球开发者的开源社区,开源代码托管平台。]]></description><category></category></item><item><title><![CDATA[框架模块说明 #07 校验框架]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144446489</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144446489</guid><author>YouYouLongLong</author><pubDate>Fri, 13 Dec 2024 12:03:55 +0800</pubDate><description><![CDATA[由于当前框架尚未集成完善的国际化组件，因此我们暂时没有对校验内容进行国际化处理。这也是未来优化的一个重要方向，希望大家能够提出宝贵的意见，共同完善这一功能。完整的代码请参考如下链接GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。t=O83A。]]></description><category></category></item><item><title><![CDATA[框架模块说明 #07 二次验证(MFA)_02]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144288418</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144288418</guid><author>YouYouLongLong</author><pubDate>Fri, 06 Dec 2024 12:18:21 +0800</pubDate><description><![CDATA[在前一篇文章中，我们介绍了用户 MFA（多因素认证）的统一校验过程，即在操作过程中的身份校验。然而，在某些业务场景中可能需要强制校验，以确保操作确实由用户本人执行。为此，我们可以采用切面 + 注解的方式来实现业务操作的强制校验，进一步提升安全性。与此同时，在某些特定场景下（例如 APP 中的一些校验场景），注解方式可能不够灵活或不太适用。为了解决这些问题，我们还可以提供一个工具类（Util），便于开发者在不同的业务场景中灵活调用。操作过程中的强制校验实现（基于切面 + 注解）。工具类的设计与实现。]]></description><category></category></item><item><title><![CDATA[框架模块说明 #06 二次验证(MFA)_01]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144252359</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144252359</guid><author>YouYouLongLong</author><pubDate>Wed, 04 Dec 2024 23:42:47 +0800</pubDate><description><![CDATA[本篇内容介绍了如何绑定及在操作过程中的定时的Google验证器的行为校验及如何检测的处理，下篇将介绍一些工具类和业务强制校验的实现过程t=O83At=O83AGitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。]]></description><category></category></item><item><title><![CDATA[框架模块说明 #05 权限管理_03]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144207968</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144207968</guid><author>YouYouLongLong</author><pubDate>Tue, 03 Dec 2024 12:03:03 +0800</pubDate><description><![CDATA[本文围绕数据权限的设计与实现展开，结合实际开发场景，从全局控制、权限配置、表结构设计、注解类定义、自定义标签、MyBatis标签拦截器以及实用工具类等多个方面进行了全面介绍，旨在为开发者提供完整的数据权限实现方案。灵活性：支持多维度配置（角色、用户）与动态权限规则加载。可扩展性：结合 MyBatis 拦截器与工具类，便于扩展和适配多种业务需求。高效性：利用缓存优化权限查询性能，减少数据库查询压力。t=O83A。]]></description><category></category></item><item><title><![CDATA[框架模块说明 #05 权限管理_02]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144175697</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144175697</guid><author>YouYouLongLong</author><pubDate>Sun, 01 Dec 2024 22:00:36 +0800</pubDate><description><![CDATA[通过这篇文章，其实已经基本讲清楚的操作权限相关的内容，下面会讲操作权限的相关内容，敬请期待。详细代码请参考GitCode - 全球开发者的开源社区,开源代码托管平台。]]></description><category></category></item><item><title><![CDATA[框架模块说明 #04 权限管理_01]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144132750</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144132750</guid><author>YouYouLongLong</author><pubDate>Fri, 29 Nov 2024 12:41:47 +0800</pubDate><description><![CDATA[内容中大要说明了操作权限如何上报的流程，其中详细的代码大家可以查看GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。下一篇我会讲下菜单和权限关联的内容以及如何设计菜单加载及为什么要这样设计的原因。t=O83AGitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。]]></description><category></category></item><item><title><![CDATA[框架模块说明 #03 登录验证]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144055563</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144055563</guid><author>YouYouLongLong</author><pubDate>Tue, 26 Nov 2024 13:10:15 +0800</pubDate><description><![CDATA[以上只是简单的介绍了框架的授权体系其实总体来说就是对spring security的实现，具体实现可以根据上文的代码链接查看，接下来的文章中会对权限管理、用户后台菜单的查询和前台权限标签的使用进行介绍。作用: 登录成功后的一些处理，将登录信息缓存到Redis和一些权限加载的处理。源代码GitCode - 全球开发者的开源社区,开源代码托管平台GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。]]></description><category></category></item><item><title><![CDATA[以太事件解析 #7 事件侦听_02]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144024403</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144024403</guid><author>YouYouLongLong</author><pubDate>Mon, 25 Nov 2024 12:47:55 +0800</pubDate><description><![CDATA[续接上篇内容，在上篇介绍了事件的获取和确认的过程，本篇文章集中讲下，后台管理的一些api和配合业务一些内容的说明。总结来看，这两篇文章基本完整地描述了当前区块侦听相关功能的设计与实现内容。核心模块涵盖了链配置管理、合约配置管理以及日志信息管理，形成了一套较为完整的区块链侦听解决方案。具体细节和实现可以直接参考代码。如有更成熟的思路或建议，欢迎随时留言交流，以便共同优化和完善整体功能。]]></description><category></category></item><item><title><![CDATA[框架模块说明 #02 导入导出]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144010478</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/144010478</guid><author>YouYouLongLong</author><pubDate>Sun, 24 Nov 2024 19:54:18 +0800</pubDate><description><![CDATA[在设计过程中，我们通过一系列设计方法有效地将业务的变化性进行了隔离，并未对导入导出的具体实现方式做出严格定义。这使得框架能够灵活支持导出不同内容和格式的文件。同时，我们选用了 MongoDB 的 GridFS 作为文件存储方案，以便在满足小型业务系统需求的基础上确保高效和稳定。然而，当前方案仍存在一些优化空间。例如，在使用分布式锁的情况下，尽管能够保证任务的执行顺序和数据一致性，但在部署多个微服务实例时，并未显著提升任务的处理效率。因此，在任务并发处理和性能提升方面还有改进的余地。]]></description><category></category></item><item><title><![CDATA[以太事件解析 #6 事件侦听_01]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143997696</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143997696</guid><author>YouYouLongLong</author><pubDate>Sat, 23 Nov 2024 20:24:05 +0800</pubDate><description><![CDATA[在前面的文章中其实简单的介绍过我们的区块链侦听服务的大概框架和模型，本身来说我们是有两个版本事件侦听，正常微服务的情况下我们会用到这个JAVA版本，其实还有一个python版本，那个主要是当时用来测试下大数据的情况下，存储在mongodb里的，整体的配置也是存储在数据库中，因为我们开发过程中大部分情况下是用java版本进行处理的，所以这里介绍的也是java的微服务版本。GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。与开发者社区互动,提升您的研发效率和质量。]]></description><category></category></item><item><title><![CDATA[框架模块说明 #01 邮件发送]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143982910</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143982910</guid><author>YouYouLongLong</author><pubDate>Fri, 22 Nov 2024 21:42:09 +0800</pubDate><description><![CDATA[邮件发送的主要方法都是在Emailutil方法里，也是根据配置生成出不同的邮件发送的服务然后进行发送，后台邮件发送过程其实都是采用异步的方式，不可避免有一些错误，发送失败的会进入redis的失败队列中，目前为止是一条一条的进行处理，因为正常来说失败的不会太多，如果太多了可能就是邮件服务器出问题了，当然可以考虑用多线程或者消息的方式重试，于是我在common-service里有一个job专门重试发送邮件的。GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。]]></description><category></category></item><item><title><![CDATA[以太事件解析 #05 合约提现]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143934122</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143934122</guid><author>YouYouLongLong</author><pubDate>Thu, 21 Nov 2024 11:04:59 +0800</pubDate><description><![CDATA[其实这里还涉及到提现审核、提现状态的回写和资金的处理，这里就没有详细描述，如果有需要，我可以提供一定的帮助，请留言。]]></description><category></category></item><item><title><![CDATA[开源框架重构说明]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143896495</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143896495</guid><author>YouYouLongLong</author><pubDate>Tue, 19 Nov 2024 22:22:57 +0800</pubDate><description><![CDATA[在前期的开发过程中由于对框架设计的能力不足和对一些工具使用的熟悉度不高，导致当时将一些系统功能全部写cloud-core包里，导致这个底包特别的大。在开发过程中我们引用了很多不必要的包，导致打出来的包越来越大，也导致了一些不可预知的错误，core-common-parent实现一些框架的基础功能，如redis、mongodb、加解密、swagger、mfa和操作日志等一些基础功能。GitCode是面向全球开发者的开源社区,包括原创博客,开源代码托管,代码协作,项目管理等。]]></description><category></category></item><item><title><![CDATA[以太事件解析 #04 支付合约说明]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143869658</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143869658</guid><author>YouYouLongLong</author><pubDate>Mon, 18 Nov 2024 23:32:43 +0800</pubDate><description><![CDATA[支付事件功能：记录每次支付的详细信息，包括支付人、代币类型、产品 ID、订单 ID、支付金额等。支付代币时校验金额有效性。根据预设比例自动分发代币。灵活设置接收地址及分配比例。通过模块化设计，该合约易于扩展和维护。]]></description><category></category></item><item><title><![CDATA[以太事件解析 #04 swap数据解析]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143814794</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143814794</guid><author>YouYouLongLong</author><pubDate>Sat, 16 Nov 2024 12:29:06 +0800</pubDate><description><![CDATA[在项目中，解析交易对数据是一个常见且重要的需求。例如，在以太坊（ETH）链上的 Uniswap 和币安智能链（BSC）上的 PancakeSwap 中，交易对的解析逻辑几乎完全一致。此外，模块化设计遵循框架的开发要求，统一了代码结构，同时确保了事件解析逻辑的高复用性。这样的实现方式为多链支持（例如适配其他链上的 DEX 协议）奠定了坚实的基础，也为后续开发工作提供了充分的扩展空间。由于当时没有做pair的配置，所以用了一个扩展字段做为配置，他指定pair的地址和本身标识，详情可以参考如下的DML语句。]]></description><category></category></item><item><title><![CDATA[以太事件解析 #03]]></title><link>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143750815</link><guid>https://blog.youkuaiyun.com/YouYouLongLong/article/details/143750815</guid><author>YouYouLongLong</author><pubDate>Wed, 13 Nov 2024 20:21:08 +0800</pubDate><description><![CDATA[在项目过程中，我们会有大量的项目需要进行支付购买一些产品，在传统的交易所里或者app里我们一般冲值到中心化数据账户体系中，这样不可以避免带一些资金安全的问题，所以基于dapp的开发，我们总结了一套通用的支付流程。代码里重要的实现是解析数据成功后的业务处理类，有了这个类我们才能真正和业务系统结合从而生成对应的业务订单。如下为事件解析，其中如何解析日志数据在上一遍文章里有详细介绍。]]></description><category></category></item></channel></rss>