随笔
文章平均质量分 55
创意程序员
分享一些实用的技能和技巧
展开
-
将TiDB换成MySQL之后,我踩了一个坑
而MySQL高可用集群则是一个主从复制的三个节点结构,使用组复制技术将数据从主节点复制到从节点,采用的是异步复制方式。由于TiDB与MySQL的高度兼容性,我们在开发环境中使用MySQL,而在测试环境中使用TiDB。结合MySQL集群的特点,我终于明白了问题所在:登记订单时访问的是主库,而查询订单以检查是否重复下单时访问的是从库。不过,为了避免给主库增加查询压力,并结合业务特性,最终的解决方案是:交易结束后不主动释放用户分布式锁,而是让锁超时自动释放。正是因为这个优势,我们的一个项目踩到了一个坑。原创 2023-11-20 21:10:40 · 331 阅读 · 0 评论 -
天气这么好,都外出了。顺便了解一下漏桶算法
漏桶算法(Leaky Bucket)是网络世界中流量整形(Traffic Shaping)或速率限制(Rate Limiting)时经常使用的一种算法,它的主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。又是一个阳光明媚的周末,大家都外出了,路上到处堵车,尤其是各桥梁、隧道入口处,很多车排队等着进入,而出口处就像一个漏桶一样,一辆车接着一辆车有序且匀速开出。总之,漏桶算法就像一个默默无闻的守护者,默默地保护着我们的生活和工作,让我们周末可以愉快地外出。看到标题,你想到了些什么呢?原创 2023-11-19 21:07:13 · 122 阅读 · 0 评论 -
程序员如何提高自己的竞争力?
时间管理对于程序员来说同样重要,因此需要合理安排自己的时间,以便在保证工作质量的同时,还能够有足够的时间学习新技术、提高自己的能力。可以通过制定工作计划、使用时间管理工具、培养良好的生活习惯等方式来提高自己的时间管理能力。作为程序员,我们要关注行业动态,不断学习新的技术和编程语言,以适应行业的发展。编程能力是程序员的核心能力,提高编程能力可以帮助我们在项目中更好地解决问题,提高工作效率。拓展人际关系可以帮助我们了解更多的行业信息,为自己的职业发展提供更多的机会。7. 保持积极的心态和健康的身体。原创 2023-11-11 12:32:28 · 127 阅读 · 2 评论 -
对称密钥加密与非对称密钥加密:原理与应用
在对称加密和非对称加密的选用上,我们需要根据具体的应用场景和需求进行选择。在数据传输和存储方面,对称加密具有较高的效率和安全性;而在数字签名和身份认证等安全性要求极高的场景中,非对称加密则更具优势。理解这两种加密方法的原理和应用,对于保障信息安全具有重要意义。原创 2023-11-11 16:04:18 · 603 阅读 · 0 评论 -
你的代码有bug
通过接受批评和建议,我们可以发现自己的不足并加以改进,这不仅有助于提高我们的技术水平,还能增强我们的团队合作能力。总之,作为程序员,我们应该以开放的心态接受别人的批评和建议。通过不断学习和改进,我们可以提高自己的技术水平,并成为更好的程序员。所以,当别人对你说“你的代码有bug”时,不要气馁或愤怒,而是将其视为一个成长的机会。通过良好的沟通技巧,可以减少冲突和误解,并建立更好的合作关系。不要将别人的批评视为质疑,而是将其视为一个成长的机会。通过理解别人的反馈,我们可以更好地认识自己的不足并寻找改进的方向。原创 2023-11-11 12:23:17 · 477 阅读 · 2 评论 -
为何开发需要更多地考虑运维便利性
如果开发人员只关注开发过程的便捷性,而忽视了运维部署的复杂性,那么他们可能会开发出一些难以部署的软件。如果软件的部署过程复杂,那么运维人员在部署时就需要花费大量的时间和精力,这无疑会增加运维的难度和压力,也增加产生问题的可能性。如果开发人员没有考虑到这一点,在部署过程中,可能会导致其他相关的功能和模块出现问题,或者各相关模块的更新相互依赖太严重,增加部署的复杂度,甚至因为某个模块的原因影响整个部署。当然,还必需考虑到运维人员的需求,提供详细的部署文档和指南,帮助运维人员更好地理解和部署软件。原创 2023-10-27 18:08:39 · 175 阅读 · 0 评论 -
钥匙被反锁车内,与程序员有什么关系
因此,支付系统需要捕获通知失败的异常,并且安抚用户稍后关注结果,然后以一定的时间间隔不断尝试重新通知商户,直到通知成功,或者超过设定的重试次数。当开发一个新的业务流程时,如果还没有成熟的方案可供参考,我们可以假设各种可能的异常情况来模拟业务处理过程,思考各种异常情况对用户的影响,分析哪些情况只需要告知用户即可,哪些可以由系统自动补偿,哪些需要手动补偿。汽车的普及为我们的出行提供了巨大的便利,然而,一些设计上的不足也给人们的生活带来了不必要的麻烦,钥匙被反锁在车内就是一个典型的问题。一个常见的异常处理——原创 2023-10-13 18:17:08 · 408 阅读 · 4 评论 -
逐步升级Dubbo:注意事项与实施建议
通过详细的测试计划、兼容性测试、性能测试、异常情况处理、监控和日志分析,以及逐步升级策略,可以降低升级过程中的风险,并逐步改进系统的安全性、性能和功能。通过升级到新版本的Dubbo,可以解决这些问题,实现更可靠和方便的优雅停机机制,从而减少系统维护和升级所带来的影响。确保已升级的Dubbo服务与其他相关组件和系统之间的集成是正常的,避免出现因升级而引入的新问题。Dubbo的新版本通常会引入新的功能和改进,通过升级可以获得更多强大和灵活的功能。通过合适的监控工具和日志分析工具,及时发现潜在的问题和异常。原创 2023-05-22 14:01:12 · 949 阅读 · 13 评论 -
使用单元测试提高代码质量与可维护性
测试类放在 src/test 目录下,该目录与 main 目录同级。默认情况下,测试类所在的包,与它所对应的被测试类的包名称相同,类名称为被它所测试的类名称+Text。//测试代码单元测试是开发高质量、可维护和可靠代码的重要手段。开发人员应该了解测试框架的基本概念和用法,并编写可重复、覆盖所有代码路径和测试边界条件的测试。通过这些方法,可以确保代码在开发和维护过程中的质量和可靠性。原创 2023-04-28 19:25:12 · 1528 阅读 · 13 评论 -
桌面添加视疲劳缓解图
程序员的眼睛长时间盯着计算机屏幕,很容易导致眼睛疲劳,且在办公室看不了远处,于是想起了视疲劳缓解图,又叫远眺图。但是不能一直显示在桌面上,那样就看不到自己喜欢的壁纸了,将桌面壁纸设置为幻灯片放映,让远眺图每隔一段时间显示几分钟。因为工作时主要使用外接显示器,笔记本的显示屏经常是空闲的,当发现笔记本桌面出现了远眺图时,就可以抽空看一会儿。至于每隔多久显示多久,我的做法是将没有远眺图的壁纸复制几份,文件名使用数字顺序编号,至于复制几份,就结合幻灯片切换时间来定吧。原创 2023-04-21 19:35:19 · 255 阅读 · 1 评论 -
保持代码健康,经常进行重构
通过定期进行代码审查、制定重构计划、使用合适的工具和技术、遵循编程原则和设计模式,以及学习借鉴他人的经验,程序员可以不断改进自己的代码,提高软件开发的质量和效率,为项目的成功做出贡献。在项目的初期,为了满足快速开发和交付的需求,代码可能会出现一些性能上的问题,例如低效的算法、不合理的数据结构等。通过重构,可以对这些性能问题进行优化,提高代码的运行效率,减少资源消耗,从而提升系统的性能和响应速度。重构的过程中,程序员可以通过优化代码结构、简化复杂的逻辑、去除冗余代码、修复潜在的bug等方式,改善代码的质量。原创 2023-04-16 20:19:05 · 346 阅读 · 1 评论 -
提升编程艺术——学习并使用设计模式
虽然学习和掌握设计模式需要一定的时间和精力,但一旦掌握了设计模式的核心概念和使用方法,实际应用时可以提高代码的开发效率。通过重用已有的设计模式,程序员可以减少重复劳动,避免反复编写相似的代码,从而提高开发效率。程序员应该在实际项目中灵活选择和应用设计模式,并不断学习和更新自己的设计模式知识,从而提升软件开发能力,为编写高质量的代码打下坚实基础。在学习和使用设计模式时,可以通过以下几种途径来提高其效果:阅读相关的书籍和文档、在实际项目中应用设计模式、参与代码审查从中学习他人使用设计模式的方式、参与开源项目。原创 2023-04-15 19:13:11 · 81 阅读 · 0 评论 -
Nginx在机房搬迁中的应用:解耦外部切换依赖
然而,在网络权限开通之前,我们可以通过原机房的nginx来代理请求,从而实现接出请求的正常进行。例如,我们可以通过nginx的反向代理功能来实现业务系统的灰度发布,从而逐步将流量从原机房迁移到新机房。为了减少对外部系统地址切换的时间要求,我们可以使用nginx做反向代理,从而实现机房搬迁的顺利进行。首先,对于外部接入请求代理,我们需要将原地址通过nginx代理到新机房的地址,原地址和新地址同时对外提供服务。通过合理的规划和部署,我们可以最大限度地降低机房搬迁对业务的影响,保证业务的连续性和稳定性。原创 2023-04-14 13:13:15 · 84 阅读 · 0 评论 -
程序员须注重信息安全与代码安全
数据加密保护数据的机密性,如操作员登录密码,前端使用公钥加密后传输到后台,确保用户密码安全。尤其是对于程序员来说,他们的工作涉及到大量的数据和代码,因此必须注重信息安全和代码安全。在本文中,我们将探讨程序员应该如何保护信息安全和代码安全,并列出一些常见的安全措施。国密算法主要有SM1,SM2,SM3,SM4。而加密算法应首选国密SM算法,这是国家密码局认定的国产密码算法,安全性比国外同类算法高,计算性能也更优秀。SM3是摘要算法,属于不可逆加密算法,类似于md5、sha,常用于签名。原创 2023-04-12 13:18:08 · 731 阅读 · 1 评论