深圳幻海软件技术有限公司 欢迎您!

软件设计

  • 通过自动化单元测试的形式守护系统架构

    1背景随着需求开发迭代,代码库规模逐渐变大,新的团队成员引入等诸多因素,系统起初制定的架构规则不可避免遭到破坏。不仅仅是破坏团队的统一开发规范,更为重要的是随着代码库规模逐渐增长,大大降低系统的可维护性、扩展性,增加评审复杂度和重构成本,也最终导致团队生产力下降以及研发成本增长。在敏捷开发环境下,系

  • 聊聊秒杀系统的设计(三)

    前言秒杀请求在高度集中在某一个时间点。这样一来,就会导致一个特别高的流量峰值,它对资源的消耗是瞬时的。能够抢到商品的人数是有限的,也就是说10人和1000人发起请求的结果都是一样的。也就是说真正开始下单时,秒杀请求并不是越多越好。一、秒杀中的削峰由于服务器的处理资源是恒定的,用或者不用它的处理能力都

  • 基于HBuilderX+UniApp+ThorUI的手机端前端开发处理

    现在的很多程序应用,基本上都是需要多端覆盖,因此基于一个WebAPI的后端接口,来构建多端应用,如微信、H5、APP、WInForm、BS的Web管理端等都是常见的应用。本篇随笔概括性的介绍基于HBuilderX+UniApp+ThorUI的手机端前端开发处理,总结一下开发工具的设置,以及常见的H5

  • 聊聊秒杀系统的设计(四)

    前言如果你第一次接触秒杀,可能还不太理解,库存100件就卖100件,在数据库里减到0就好了,这有什么麻烦的?理论上是这样,但是具体到业务场景中就没那么简单了。今天就聊聊减库存的设计,之后以高可用方案来结束秒杀设计的全部内容。一、秒杀中的减库存减库存操作一般有如下几个方式:1.下单减库存:下单后,在商

  • 六,手写SpringMVC框架--什么是ThreadLocal?

    10.什么是ThreadLocalThreadLocal翻译成中文比较准确的叫法应该是:线程局部变量。或称为 线程本地变量这个玩意有什么用处?先解释一下,在并发编程的时候,一个单例模式的类的属性,如果不做任何处理(是否加锁,或者用原子类)其实是线程不安全的,各个线程都在操作同一个属性,比如

  • HSF转dubbo

    背景说明HSF是闭源的,考虑用开源产品(dubbo)进行替代。如果是考虑要从一个rpc框架转成另一个,或许也可以参考本文。主要思想:进行rpc的发布、订阅操作,其实是集中在2个类里面(provider/consumer),而不是散落在每个实现类里面。而替换成其它rpc时候,就是针对父类(provid

  • 部署前后端为独立的 Docker 节点

    在『服务器部署Vue和Django项目的全记录』一文中,介绍了在服务器中使用Nginx部署前后端项目的过程。然而,当Web应用流量增多时,需要考虑负载均衡、流量分发、容灾等情况,原生的部署方式通常难以满足需求。此时,引入Docker部署多节点,能够在单台高性能服务器或服务器集群中搭建更完善的部署架构

  • MyBatis数据输入,总体机制的概括

    1. MyBatis数据输入1.1Mybatis总体机制概括   1.2概念说明   注意:这里的简单类型不是指的基本数据类型。1.3单个简单类型参数 1.3.1Mapper接口中的抽象方法public int

  • MyBatis保姆级理解与使用学习关联关系

    1. 关联关系1.1 关联关系概念说明表与表之间的关系 : 1对1 1对多 多对多关系 ,通过主外键来实现。外键在多的一方。比如员工和部门:1个员工对应一个部门,一个部门可以有多个员工要将表与表之间的关系:映射称为 类与

  • 微服务实践-快速搭建微服务架构

    微服务说起来高大尚,实际撸一遍来试试看,用现在比较常用的微服务框架,Consul和Ocelote做一个Demo,一起来试试吧!说在前面的话准备好环境,拉取源代码,按照每个章节中的【实践操作】进行操作,即可搭建起来,已经测试通过。不想把篇幅拉太长,且此文实践为主,如果对微服务没有理论基础,建议先阅读其

  • DTSE Tech Talk | 云原生架构下的数字身份治理实践

    摘要:由华为技术大咖VS派拉软件CTO为大家详解云原生架构下的身份管理平台,构建云安全数字身份入口。本文分享自华为云社区《DTSETechTalk|第4期:云原生架构下的数字身份治理实践》,作者:华为云社区精选。DTSETechTalk是华为云开发者联盟推出的技术公开课,解读云上前沿技术,畅聊开发应

  • MyBatis保姆级理解与使用,动态SQL(核心)

    1. 动态SQL(核心)1.1 简介Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是为了解决拼接SQL语句字符串时的难点问题。比如:我们在多条件查询的时候会写这样的语句:select*fromsys_userwhere1=1and&nb

  • 如何结合整洁架构和MVP模式提升前端开发体验(一) - 整体架构篇

    本文不详细介绍什么是整洁架构以及MVP模式,自行查看文章结尾相关链接文章。整洁架构粗略介绍下图为整洁架构最原始的结构图:Entities/Models:实体层,官方说法就是封装了企业里最通用的一部分逻辑,也可以叫Models,可能是只包含数据字段的对象,也可能包含方法,具有一部分业务逻辑。更加深入就

  • 启动器日志 | YSLaunchar-a1.0 模型(第一版)

    YSLaunchar-a1.0模型基本介绍本文不考虑所有具体的实现方法,之后会有更完整第二版发出该程序计划使用julia语言编写,目前版本(1.7)并不包含类(class),取而代之,我会使用julia提供的两种结构体完成。考虑了很久,我将会把所有版本,玩家列表使用字典的形式。主要结构体(mutab

  • Java 并发编程解析 | 如何正确理解Java对象创建过程,我们主要需要注意些什么问题?

    苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头从接触Java开发到现在,大家对Java最直观的印象是什么呢?是它宣传的“Writeonce,runanywhere”,还是目前看已经有些过于形式主义的语法呢?有没有静下心来仔细想过,对于Java到底了解到什么

  • Java 并发编程解析 | 如何正确理解Java领域中的锁机制,我们一般需要掌握哪些理论知识?

    苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》写在开头提起Java领域中的锁,是否有种“道不尽红尘奢恋,诉不完人间恩怨“的”感同身受“之感?细数那些个“玩意儿”,你对Java的热情是否还如初恋般“人生若只如初见”?Java中对于锁的实现真可谓是“百花齐放”,按照编

  • 网页伪静态、视图层、模板层、form表单如何携带数据文件

    目录网页伪静态1.什么是伪静态网页?2.伪静态的好处3.实现伪静态网页视图层1.三板斧2.三板斧的本质Django视图层函数必须要返回一个HttpResponse对象研究底层源码3.视图函数返回json格式数据JsonResponseJsonResponse序列化(列表注意事项)json与pickl

  • 新零售SaaS架构:商品系统架构设计

    SaaS产品就像一座冰山,冰山以上的部分是功能、数据(可见部分)、用户界面,冰山以下是系统架构、完整的数据模型、开放体系、非功能性需求(扩展性、可维护性、性能、安全等)。短期内想要快速上线产品,可能只需关注冰山以上的部分就够了,但是SaaS公司想要在市场上建立长期的竞争优势,比拼的一定是冰山以下的部

推荐阅读