2022 08-14

麻了,代码改成多线程,竟有9大问题

前言 很多时候,我们为了提升接口的性能,会把之前单线程同步执行的代码,改成多线程异步执行。 比如:查询用户信息接口,需要返回用户基本信息、积分信息、成长值信息,而用户、积分和成长值,需要调用不同的接口获取数据。 如果查询用户信息接口,同步调用三个接口获取数据,会非常耗时。 这就非常有必要把三个接口调用,改成异步调用,最后汇总结果。 再比如:注册用户接口,该接口主要包含:写用户表,分配权限,配置用户导航页,发通知消息等功能。 该用户注册接口包含的业务逻辑比较多,如果在接口中同步执行这些代码,该接口

2022 08-14

现代企业架构框架-应用架构

现代企业架构框架:https://mp.weixin.qq.com/s/SlrEu0_t0slijrNZ6DP4Ng 业务架构:https://mp.weixin.qq.com/s/zQCjiHuxFvAg5QiOAuLAcQ 4.应用架构 应用架构的核心关注点是业务需求是由哪些应用承载的,它们与用户是如何交互的,它们之间的关系以及是如何交互的,它们访问或变更了什么数据。 应用架构的设计主要以应用(Application)的设计为核心,向外围可以延伸到平台型企业架构对于应用分层,分组的设计

2022 08-14

基于EasyExcel实现的分页数据下载封装

功能概述 主要实现的功能:1.分页查询,避免一次性查询全部数据加载到内存引起频繁FULLGC甚至OOM2.当数据量超过单个工作簿最大行数(1048575)时,自动将数据写入新的工作簿3.支持百万级数据量导出 具体实现 第一,定义数据实体父类和分页对象。 //数据实体父类 publicabstractclassDataEntity{} //分页对象 @Data publicclassPage<T>{ /**分页参数,第几页*/ protectedintpageNo; /**分页参数

2022 08-14

luoguP3224 [HNOI2012]永无乡【线段树,并查集】

洞庭青草,近中秋,更无一点风色。玉鉴琼田三万顷,着我扁舟一叶。素月分辉,明河共影,表里俱澄澈。悠然心会,妙处难与君说。应念岭表经年,孤光自照,肝胆皆冰雪。短发萧骚襟袖冷,稳泛沧溟空阔。尽挹西江,细斟北斗,万象为宾客。扣舷独啸,不知今夕何夕。 权值线段树精巧飘飘有凌云之气,觉动态开点犹有尘心,巨大的空间负荷自轩辕而下,并查集依然不过辅助,岛屿连结之时,是树吗?不如说链的妥契。在遥远的远方,格陵兰岛传说有一片永恒洁白之地,有人探寻过吗?也许有,却因感叹至白之美而潸然以致不堪踏足半分。说来,古来成

2022 08-14

Linux—磁盘管理

Linux磁盘管理 1、磁盘简介 1.1认识磁盘 磁盘是一种计算机的外部存储器设备,由一个或多个覆盖有磁性材料的铝制或玻璃制的碟片组成,用来存储用户的信息,这种信息可以反复地被读取和改写;绝大多数磁盘被永久封存在一个密封的盒子里。 1.2磁盘运行机理 简单来说就是多个盘片之间靠主轴连接,电机带动主轴做旋转运动,通过多个磁头臂的摇摆和磁盘的旋转,磁头就可以在磁盘旋转的过程中就读取到磁盘中存储的各种数据。 1.3磁盘的扇区、磁道、柱面 磁道:磁盘的每个盘面被划分为许多同心圆,这些同心圆的轨道叫

2022 08-14

软件测试流程是什么?这题我不会啊

转载请注明出处❤️ 作者:测试蔡坨坨 原文链接:caituotuo.top/ae4fff18.html 你好,我是测试蔡坨坨。 最近收到不少准备转行软件测试的小伙伴私信问真实企业里面软件测试流程是什么样子的? 对于这个问题,在面试的时候也是经常会被问到。 关于测试流程,100家公司可能有100套测试流程,但是基本上都是大同小异,完全可以将测试流程形成一套可复用的SOP。 所以,今天我们就来聊聊软件测试的流程。 测试流程 需求分析 产品经理根据用户需求,梳理出需求文档,文档内容包括用户背景

2022 08-14

Hive存储格式之RCFile详解,RCFile的过去现在和未来

我在整理Hive的存储格式和压缩格式,本来打算一篇发出来,结果其中一小节就有很多内容,于是打算写成Hive存储格式和压缩格式系列。 本节主要讲一下Hive存储格式最早的典型的列式存储格式RCFile。 综述 RCFile(RecordColumnarFile)文件格式是FaceBook开源的一种Hive的文件存储格式,遵循“首先水平分区,然后垂直分区”的设计理念。首先将数据水平分为几个行组,这样每一行数据就可以保证存储在同一个集群节点,然后对每个行组内数据进行垂直划分,按列存储。 下面通过文件存

2022 08-14

类暗黑破坏神属性系统思路

声明 此思路是个人的思路,不代表暗黑破坏神等游戏的实际实现思路。核心代码示例使用C++语言,注意代码示例可能是代码片段,需要读者有游戏业务基础概念和C++语言基础。 游戏业务思路往往是比较开放的,其实不仅是游戏业务思路,个人接触到的游戏引擎Unity,Unreal,Cocos,还有以前公司的自研引擎对游戏世界的对象理解,gamePlay框架等很多方面的解决方案都存在差异。所以游戏行业不相信通用的解决方案,简单来说,以最小的维护成本满足需求才是王道。 概述 暗黑破坏神,流放之路,火炬之光等经典RP

2022 08-14

10大python加速技巧

简介 目前非常多的数据竞赛都是提交代码的竞赛,而且加入了时间的限制,这就对于我们python代码的加速非常重要。本篇文章我们介绍在Python中加速代码的一些技巧。可能不是很多,但在一些大的循环或者函数调用时则能带来巨大的帮助。 十大Python加速技巧,首先导入numpy importnumpyasnp 1ListComprehension 将for的append操作替换为列表中直接产出。这其中加速的主要原因是: 在循环的每次迭代中我们都需要调用append,然后在循环的每次迭代中将其作为

2022 08-14

pytest-fixture执行顺序

作用域-scope 作用域越大,越先执行,session>package>module>class>function。 是否自动调用fixture 自动调用(autouse=True)优先,手动调用(autouse=False)后执行。fix_b、fix_c自动调用先执行,fix_a手动调用后执行。 同是自动调用,存在于相同文件 根据fixture函数名称排序。 同是自动调用,存在于不同文件 相同作用域下,外层conftest.py里的fixture优先执行,内层con