ARTS|Week 2 PlantUML 的学习和分享
ARTS是极客时间推出的一个打卡活动,通过100天的关于Algorithm、Review、Tip和Share的刻意训练,来实现进阶。
1. Algorithm
每周至少做一个LeetCode算法题,为了编程训练和学习。
实际时间:90分钟
算法题目
算法题链接:7. Reverse Integer
给定一个32位的整数,反转其数字。
题目分析
该题有两种解决思路:转换为字符串 + 借用堆栈的 Pop/Push
转换为字符串:这个思路是我一开始看到该问题,就自然想到的一个方法。将整数转化为字符串,再通过字符串的反转来求解。
借用堆栈的 Pop/Push:该方法是看到官方提供的 Solution 才知道的,即类似于采用堆栈的先进先出的概念,对整数本身进行处理,对原始数值依次进行弹出(Pop)操作,在反转的数值中将之前弹出的数值进行推入(Push)操作。
我觉得 Pop/Push 的方法2应该是要第一时间就想到的,因为是个算法题嘛,可见我自己在算法这方面的「无知」。
代码
整型转字符串的实现:
Pop/Push 方法实现:
完整的分享记录在了 LeetCode | 2. Reverse Integer 整数反转
2. Review
阅读并点评至少一篇技术文章,通过英文技术文章来学习英文。
实际时间:40分钟
在 Buggy 的 iOS 13后,苹果的开发和策略变化
原文现已不能访问,这是Google Web Cache:Apple iOS 14: Features, Changes, Testing After iOS 13 Bugs - Bloomberg
我的点评
上一篇文章的 Review 是关于为何 iOS 13 如此Buggy的几个原因,这篇文章主要是来讲讲 Apple 在 iOS 13 后的一些在开发和测试上的策略变化。
本文把 iOS 13 的一些问题做了一个汇总,以头两个月的系统更新次数,与以前的版本做了个对比。
Apple在开发和测试方面采用的新方法要求苹果的开发团队确保未来软件更新的测试版本,「默认禁用」未完成或有bug的功能。然后,测试人员可以选择通过Flags的设置菜单,选择性地启用这些功能,以使他们能够隔离每个单独的新增功能。
本文也把Apple内部使用的一些代号及分类方法做了个总结:
iOS 13的内部代号为"Yukon"
iOS 14的内部代号为"Azul"
iOS 15的内部代号为"Azul + 1",因为 iOS 14 的一些新功能要延期到 iOS 15
Apple 内部的测试被称为 "white glove",是将软件的质量划分为1 至 100 进行评估
在开发阶段,通过绿、黄、红三色来指代正在开发的功能的质量
在 issue 的优先级中,使用0 至 5的优先级分类
在 iOS 12时,内部组建了 "Tiger Teams" 来统一解决一些性能问题
3. Tip
学习至少一个技术技巧,为了总结和归纳日常工作中遇到的知识点。
实际时间:90分钟
PlantUML
在工作中,要经常绘制类图、流程图等,由于需要团队协作,最终选定了 PlantUML。这一周,我也花了些时间来学习和使用 PlantUML。通过 PlantUML,我能更好的去梳理思路,并且对 UML 的理解会更加的好。
4. Share
分享一篇有观点和思考的技术文章,为了建立影响力、输出价值观。
实际时间:90分钟
这周的分享主要是关于 PlantUML 的使用,以及《大话设计模式》的学习。
PlantUML
PlantUML是开源的以纯文本的方式来编写和绘制UML图的工具,能很好的进行版本管理,适用于团队合作;支持自动排版,能让你更好的聚焦在部件及其之间的关系上;有丰富的语法且与各编辑器有较好的集成;通过PlantUML Server,能很好的进行分享。
具体内容分享在了 PlantUML 的介绍和使用。
简单工厂模式
简单工厂模式可以理解为负责生产对象的一个类,称为「工厂」类。主要是为解决将「类实例化的操作」与「使用对象的操作」分开,让使用者不需要知道具体参数就可以实例化出所需要的「产品」类。
大话设计模式 | 1 简单工厂模式 主要是从简单工厂模式的定义、组成和使用步骤等方面进行了学习。
版权声明: 本文为 InfoQ 作者【Puran】的原创文章。
原文链接:【http://xie.infoq.cn/article/f8cc9fd82d33d359acb68589a】。文章转载请联系作者。
评论