待兔 待兔
4年前
理解软件设计的基本原则
任何软件唯一不变的真理是变化,毕竟软件是"软"的。软件研发需要快速响应市场、需求的变化。为了快速响应,我们可以通过增加人手来达到部分目的,但软件开发属于知识密集型工作,当人数增加到一定数量后,不仅不能够提升研发效能。反而增加管理成本,沟通成本及由于人与人沟通、理解上产生的歧义而最终造成软件实现的混乱和复杂度。所以软件本身需要能够轻易的扩展,适应各种需
凯特林 凯特林
4年前
7 个实战技巧帮你提升前端技术水平
项目架构1.封装项目的基础库优秀的基础库可以保证项目的最低质量下限和更好的可扩展性。通常我们说的基础库包括组件库、基础css库、基础工具库。2.层级管理管理你的请求,建议把你项目的api层独立出来为一个层级管理,这样有利于在复杂接口下,更好的管理,降低复杂度。性能优化1.缓存缓存可以减少请求,加快速度。比如从商品列表跳往详情页,可以用coo
Easter79 Easter79
3年前
TiDB DM 2.0 GA,数据迁移不用愁
社会数字化、智能化的发展进程中,海量的数据带来巨大挑战,各行各业都在加速数字化转型,越来越多的企业意识到数据基础设施是成功的关键。然而,作为数据基础设施的核心,传统数据库例如MySQL面临性能和容量瓶颈,通过中间件实现的分库分表方案复杂度高,同时带来高昂的运维成本。作为一款企业级NewSQL数据库,TiDB采用计算、存储分离的架构,可以根据业务
Wesley13 Wesley13
3年前
BERT
!(https://oscimg.oschina.net/oscnet/2b4081795228200941c8e0d28cc01316f90.gif)向AI转型的程序员都关注了这个号👇👇👇机器学习AI算法工程  公众号:datayxTensorflowsolutionofNERtaskUsingBi
Stella981 Stella981
3年前
LeetCode 226场周赛题解
❝【GiantPandaCV导语】这是LeetCode第226场周赛题解,本周考察的知识点有枚举,贪心,前缀和,Manacher回文算法,动态规划,图论等。❞比赛链接https://leetcodecn.com/contest/weeklycontest226/最终Rank:23
Wesley13 Wesley13
3年前
2020面试题(答案中)
平衡二叉搜索树必须是“平衡”的情况下,其大部分操作的复杂度才能达到O(logn)。你可以按任意顺序位置插入/删除数据,或者使用AVL树或者红黑树,但是在堆中实际上不需要整棵树都是有序的。我们只需要满足对属性即可,所以在堆中平衡不是问题。因为堆中数据的组织方式可以保证O(logn)的性能。搜索在二叉树中搜索会很快,但是在堆中搜索会
Stella981 Stella981
3年前
Spring Boot 项目实战(五)集成 Dubbo
一、前言上篇介绍了Redis的集成过程,可用于解决热点数据访问的性能问题。随着业务复杂度的提高,单体应用越来越庞大,就好比一个类的代码行数越来越多,分而治之,切成多个类应该是更好的解决方法,所以一个庞大的单体应用分出多个小应用也更符合这种分治的思想。于是乎微服务化的概念油然而生,微服务化的第一步就是选择适用的分布式服务框架,基于团队成员有使用
Wesley13 Wesley13
3年前
COLA 4.0:应用架构的最佳实践
前几天和几个饿了么的同学聊天,一听说他们还在用COLA1.0,我二话没说,90度鞠躬,赔礼道歉,虚心聆听他们的吐槽。COLA的初衷旨在控制复杂度,救码农于水火,惭愧的是,早期的思想不成熟,设计也多有缺陷,不仅没帮到他们,反而坑了他们,实在抱歉。实际上,我在COLA3.0迭代的时候,已经举起奥卡姆剃刀,砍掉了很多东西。然而还不够,主要体现在对架构的
菜园前端 菜园前端
2年前
为什么要学习数据结构和算法?
原文链接:为什么要学习数据结构和算法?它对我们开发和程序有什么帮助?像我们平常都是使用框架和库进行开发的项目的,我们也不太可能去修改库和框架的内部代码,那我们应该如何优化我们的程序,要从哪方面入手呢?可以通过数据处理的操作进行优化,数据处理就会涉及到数据结
京东云开发者 京东云开发者
7个月前
从MySQL JOIN 算法角度看如何优化SQL
作者:京东物流京东物流一、前言在做MySQL的SQL优化时,如果只涉及到单表查询,那么大部分慢SQL都只需从索引上入手优化即可,通过添加合适的索引来消除全表扫描或者排序操作,执行效果,大概率能实现质的飞跃。然而,在实际生产中,除了单表查询,更多的是多个表的