![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构
文章平均质量分 69
描述工作中的架构,使用架构去解决业务问题,支撑企业发展
夜郎king
信息系统项目管理师,系统架构设计师,2022博客之星IT其它领域TOP12,CSDN 博客专家,JAVA领域优质创作者,阿里云专家博主,热爱JAVA、大数据、地理信息、项目管理,地理信息行业从业者 一起遨游在GIS大海,徜徉在数字孪生的世界中,关注我发现更多精彩~
展开
-
物联网协议Coap之C#基于Mozi的CoapClient调用解析
本文是上篇博客的继续介绍篇,依然使用ASP .NET Core,采用C#编程语言进行开发,重点介绍CoapClient的C#代码实现以及使用Get方法实际发送请求,详细阐述与CoapServer端的交互调用。便于各位读者在使用过程中对Coap的调用机制有更深的了解和掌握。原创 2024-01-28 08:15:00 · 6867 阅读 · 62 评论 -
物联网协议Coap之C#基于Mozi的CoapServer实现解析
本文以CoapServer为主线,介绍CoapServer使用C#语言的定义以及后台资源管理类的定义和实现。原创 2024-01-19 07:30:00 · 7202 阅读 · 50 评论 -
物联网协议Coap中Californium CoapClient解析
本文将继续采用面向对象分析的方法,结合类图、实际代码、时序图来讲讲解CoapClient类,方便了解和掌握其相关的配置,同时掌握其运行原理。原创 2024-01-06 10:33:05 · 6438 阅读 · 51 评论 -
物联网协议Coap之Californium CoapServer解析
本文将采用OOP的设计方法对Californium中Server的实现和启动进行源码级的分析,让读者对Coap的实现有进一步的了解,帮助掌握其设计和实现细节。原创 2023-12-26 23:40:38 · 7718 阅读 · 72 评论 -
基于FFmpeg的Java视频Mp4转GIF初探
本文主要讲解如何在Java中,使用FFmpeg进行视频的帧读取,并最终合并成Gif动态图。原创 2022-11-20 21:57:40 · 12378 阅读 · 120 评论 -
基于Ruoyi和WebUploader的统一附件管理扩展(上)
本文将重点说明ruoyi使用的基础文件处理技术,简单介绍了webuploader,webuploader如何在Ruoyi中进行集成,最后给出了集成的页面效果,可以作为技术参考。原创 2022-09-27 13:05:52 · 10023 阅读 · 147 评论 -
Ruoyi从mysql切换到postgresql的几个坑
本文详细介绍基于ruoyi的数据库从mysql切换到postgresql详细步骤。原创 2022-08-03 13:17:19 · 11828 阅读 · 101 评论 -
不想太重?让springboot应用瘦下来的秘籍
本文介绍如何对springboot项目进行瘦身的思路,同时给出了具体操作的步骤例子连接,对你在项目生产过程中的巨无霸jar应该有很好的作用。原创 2022-04-17 16:02:06 · 10783 阅读 · 0 评论 -
网站页面静态化(一)初识
本文分析了网站静态化处理的优缺点,帮助你在做系统架构时做一个参考原创 2022-01-27 10:53:38 · 18802 阅读 · 2 评论 -
解锁springboot admin监控新技巧
最近这一个月由于项目进度紧张,将近一个月没有动静。分享一下最近体会的springboot监控的一些心得体会,供一些规模不是很大的团队做一些监控。适用场景:1、项目规模不大2、用户量不是很大、并发要求不强3、无专门运维力量4、精致的团队规模对于一些常规的项目,或者企业职责分工不是非常明确的单位来说。往往一个系统从需求到设计,开发,测试到最终上线,运维。往往80%的任务由开发团队来完成。由此,开发人员除了要实现系统的功能,还要为客户进行问题咨询答疑以及生产问题解决。试想,一个应用上线原创 2021-06-12 10:38:41 · 51556 阅读 · 14 评论 -
干掉配置文件中的明文,提升应用安全
几乎所有应用都会配置一些敏感信息,比如生产环境mysql数据库的用户名和密码,生产redis的密码,生产机器es的密码,甚至于服务器的root密码等等。试想如果是一个发布在互联网的应用,假如这些配置信息被恶意劫持,用户信息被随意泄露,企业有可能因此被摁在地上摩擦,除了跑路还有其它的选择吗?通常情况下,除了防止直接在生产上暴露真实密码,还有内部用户误操作,研发的同学会将关键信息进行加密,防止恶意偷窥。本文将以springoot为例,讲解如何在springboot中将配置文件的敏感信息进行加密。加解密技原创 2021-05-03 10:21:32 · 47253 阅读 · 0 评论 -
使用Mybatis-Plus实现对象属性自动填充功能
案例场景:在设计一张数据库表的时候,通常会包含下列信息:createBy(创建人)、createTime(创建时间)、updateBy(修改人)、updateTime(修改时间)、otherinfo(其它属性信息)。在一般的业务逻辑编写过程中,绝大多数的开发工程师都选择根据操作类型(insert/update)来依次调用对应的setXXX方法来设置值。使用setXXX并不是不能达到预期,只是代码实现起来不叫臃肿,而这些字段几乎是通用的字段,是否有统一的方式进行设置呢?下面以实例的方式告诉大家,如何基原创 2021-04-11 20:52:00 · 56232 阅读 · 0 评论 -
Spring里面@Transactional失效场景
【场景】明明使用Spring的AOP托管所有事务,在每个Service的函数中也加上了@Transactional注解,可依然还是出现数据不一致,事务不符合预期的情况呢?代码没报错,运行日志也无异常,怎么办呢?【答案】也许不是你的语法没掌握好,不是注解没选对,而只是你使用的姿势不太对!没错,就是使用姿势不对。毕竟Aop这玩意都是动态代理干的活,动态代理不懂的,欢迎咨询度娘或者谷歌。动态代理带来的坏处就是,IDE(不论eclipse或idea)对动态运行的程序无法进行静态差错,因此只会进行常规的语原创 2021-03-20 09:58:51 · 42387 阅读 · 2 评论 -
浅谈关系型数据库主键设置策略
几乎大多数的应用都会使用关系型数据库进行数据存储,而主键一定是标配。那么,在您的应用中,通常使用什么方案来满足业务扩张呢?下面简单介绍普遍做法以及改进之道。第一层:业务布局之初。众所周知,企业业务刚开始,需要进行快速试错,而彼时的数据量不会太多,而且暂时不会存在瓶颈,主要是快速打开市场,提供可运行的软件系统,此时不会太多的去关注存储。(言外之意:创业之初会有技术欠债,随着企业发展壮大,会比较痛)。这时,数据一般采用自增型主键,比如mysql或者sqlserver、postgresql的自增型主键,o原创 2021-03-14 21:21:18 · 22636 阅读 · 2 评论 -
新春送大礼-奉送软考系统架构设计师复习资料
今天大年初二,首先给各位朋友,圈内同仁拜个年,祝大家新春大吉,牛年大发,身体健康,万事如意,系统稳定,永不宕机。本文分享个人的软考经历。文章观点如有偏颇,欢迎交流拍砖,平和心态交流,勿喷。第一次接触国家软考是2016年,彼时因为岗位是项目经理,要求持证上岗,当时的leader说去看下软考,可以考一个信息系统项目管理师。于是开始查找相关资料,进行复习(自己复习)没有报培训班。培训班宣传的通过率很高,但自己还是想先自己复习试试。(自己复习的过程真的比较酸爽)。记得当初准备不足,时间仓促,前后差不多3个月的时原创 2021-02-13 12:59:18 · 4413 阅读 · 16 评论 -
SpringBoot多环境适配之道
本文是应用配置中心的第三篇,第一篇介绍了配置演化之路,第二篇介绍了在传统项目中以Maven作为多环境支持的方式。这篇将以SpringBoot为例,重点阐述在SpringBoot中如何适配多环境。一、目录如下按照环境将配置文件分开,比如,dev包含所有开发环境的配置信息。二、SpringBoot申明配置# Spring配置spring: # 模板引擎 thymeleaf: mode: HTML encoding: utf-8 # 禁用缓存 cach原创 2021-01-29 16:50:57 · 41332 阅读 · 0 评论 -
应用配置信息的演化之路
不论单体架构还是服务化架构甚至是微服务架构,系统中肯定保存必要的配置信息,比如连接的数据库地址、缓存地址、第三方服务地址、日志中间件配置、消息中间件配置等等。本文重点阐述了这些配置信息在开发演化过程中是如何动态变化的,不同时期的存储及应对方案。一、初期应用系统初期,往往采用单体架构,基本上该阶段,技术是服务于业务的。毕竟公司要生存,平台要快速试错,允许快速发展。改阶段往往在系统中直接采用xml、json、properties、yml等格式的文件直接存储配置信息。如下:spring: # 模板原创 2021-01-17 11:20:00 · 33700 阅读 · 0 评论 -
传统关系型数据库查询性能提高思路
相信现阶段依然有许多的企业信息化项目依然采用单体架构,其数据存储主要方式依然以关系型数据库为主,比如oracle、mysql、postgresql等。企业初期,各种原因导致研发人员身兼数职,都是全栈的角色。当然从业务上来说,用户量不大,并发数小,只要实现需求功能就可以了。当系统运行到一定数量级,一定会面临数据库的查询问题。下文从数据库设计和查询简单说说怎么提高查询性能。一、数据库设计1、使用范式设计合理设计数据库,为了考虑性能,可不用实现全部范式。在实践中使用第一和第二范式即可(具体范式规则可问度娘原创 2021-01-09 10:11:32 · 35593 阅读 · 1 评论 -
以评审制度促进团队研发效率提升
不论团队大小,接到项目需求后,一定会对需求进行分解,进行相应设计,系统编码,上线运行等几个环节。在各环节中,需要进行相应的评审,在实际研发过程中,以笔者自己亲身经历,由于缺乏评审,导致项目上线后吃相很难看,客户满意度也不高。以下分享一下各环境的评审内容。一、系统需求评审。从客户或者产品经理那拿到需求后,组织项目组人员,架构师,质控工程师等进行需求评审。这个环境可能需要反复进行,因为有的需求需要细化,有需求需要技术细节讨论,是否存在技术障碍等。最重要的是要让系统开发人员真正的理解需求,在这一环节中,宁原创 2020-12-27 10:11:00 · 16025 阅读 · 0 评论 -
前后端分离架构的一些思考
这里说的前后端分离指的是,终端(前端)和后端系统彻底分离,团队各司其职,各自迭代。现如今,随着前后端分离架构的流程,Vue、React等前端框架飞入寻常百姓家,彻底的前端开发方式已逐步成熟。本文欲简单分析前后端分离架构适用场景,不足之处欢迎交流讨论。软件最开始,重后端,轻前端。系统的早期由一个单体系统组成,以javaee为例,后台使用springMvc,前台使用jsp或者Thymeleaf。这样研发人员基于mvc组装相关model,所有的值由controller传递给前端,从而完成相关业务。此时如果需要原创 2020-12-20 21:32:07 · 46575 阅读 · 0 评论