待兔 待兔
3年前
敏捷软件开发背景下的软件设计
在目前大部分的软件开发组织中,敏捷开发已经成为毋庸置疑的标配。随着数位技术大神和布道师的宣扬和数量庞大的敏捷教练的身体力行式推广,商业环境和客户需求变更速度的日益加快,采用端到端交付周期更短的敏捷开发过程基本已经成为项目成功的必要条件。软件设计的刚需被敏捷了吗?工作流程的变更以及开发节奏的加快并不能绕开一个很核心的问题
Stella981 Stella981
3年前
Android low memory killer 机制
Android中,进程的生命周期都是由系统控制的。即使用户在界面上关掉一个应用,切换到了别的应用,那个应用的进程依然是存在于内存之中的。这样设计的目的是为了下次启动应用能更加快速。当然,随着系统运行时间的增长,内存中的进程可能会越来越多,而可用的内存则将会越来越少。AndroidKernel会定时执行一次检查,杀死一些进程,释放掉内存。那么,如何来判断
Wesley13 Wesley13
3年前
NO.100 【CSDN开源专访】禅道创始人王春生:覆盖项目全周期,回归管理的本质
摘要:禅道是一款优秀的国产开源项目管理软件,集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体。CSDN记者采访了禅道项目创始人王春生,请他来介绍禅道项目的方方面面,以及开源项目商业化的经验。禅道(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.ze
Wesley13 Wesley13
3年前
MySQL备份原理详解
备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低。衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间。这篇文章主要讨论MySQL的备份方案,重点介绍几种备份方式的原理,包括文件系统快照(LV
Wesley13 Wesley13
3年前
2019第1周日
用消息中间件犹如小马过河,选择合适的才最重要,这需要贴合自身的业务需求,技术服务于业务。具体在选择上可从下面功能、性能、可靠性和可用性、运维管理、社区和生态、团队技术栈等维度来进行筛选。具体技术选型指标1:功能首要的就是功能维度,这个直接决定了你能否最大程度上的实现开箱即用,进而缩短项目周期、降低成本等。如果一款消息中间件的功能达不到想要的功能,那么
Stella981 Stella981
3年前
GitOps—用于基础设施自动化的DevOps
GitOps提供了一种自动化和管理基础设施的方法。它通过许多团队已经应用的DevOps最佳实践来做到这一点,例如版本控制、代码评审和CI/CD管道。由于DevOps在提高生产率和软件质量方面的巨大潜力,许多公司一直采用DevOps。在这个过程中,我们已经找到了自动化软件开发生命周期的方法。然而,在基础设施设置和部署方面,它仍然主要是一个手动过程。
Stella981 Stella981
3年前
Android 客户端性能优化
众所周知,一个好的产品,除了功能强大,好的性能也必不可少。有调查显示,近90%的受访者会因为APP性能差而卸载,性能也是造成APP用户沮丧的头号原因。那Android客户端性能的指标都有哪些?如何发现和定位客户端的性能问题?本文结合多个项目的开发实践,给出了要关注的重要指标项目,以及定位和解决性能问题的一般步骤。性能优化应该贯穿于功能开发的全部周期,
Wesley13 Wesley13
3年前
3 种发布策略,解决 K8s 中快速交付应用的难题
作者|郝树伟(流生)阿里云高级研发工程师前言软件技术更新换代很快,但我们追求的目标是一直不变的,那就是在安全稳定的前提下,增加应用的部署频率,缩短产品功能的迭代周期,这样的好处就是企业可以在更短的时间内获得产品的价值、更快地获得客户反馈和响应客户需求,从而进一步提升产品的竞争力;除此之外,企业还可以释放更多的资源投入到创新业务的研发上,创造
Stella981 Stella981
3年前
K8s基本概念入门
k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈,例如一个服务器挂了,可以自动将这个服务器上的服务调度到另外一个主机上进行运行,无需进行人工干涉。那么,问题来了,要运维何用?   k8s可以更快的更新新版本,打包应用,更新的
京东云开发者 京东云开发者
11个月前
DDD学习与感悟——总是觉得自己在CRUD怎么办? | 京东云技术团队
我们有时候也会看到一些博客看到或者听到一些同事在说:这个业务有什么难的,不就是CRUD么?在软件生命周期初期,我们通过CRUD这种方式我们可以快速的实现业务规则,交付项目,但随着业务逐渐复杂,通过CRUD这种粗暴方式不可避免地会淹没业务核心规则,产生很多祖传(屎山)代码,系统交接的时候我们经常会听到,上一个开发是SB,或者自嘲自己是在屎山上面继续堆屎。