前言:什么是ARTS?
ARTS 源于耗子叔在极客时间的专栏《左耳听风》打卡活动。
Algorithm:每周至少做一个 Leetcode 的算法题。主要是为了编程训练和学习。
Review:阅读并点评至少一篇英文技术文章。主要是为了学习英文,如果你的英文不行,你基本上无缘技术高手。
Tip:学习至少一个技术技巧。主要是为了总结和归纳你在日常工作中所遇到的知识点。
Share:分享一篇有观点和思考的技术文章。主要是为了建立你的影响力,能够输出价值观。
Algorithm
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
您可以假设除了数字 0 之外,这两个数都不会以 0 开头。
示例:
|
Python3 代码:
|
Review
本文主要从 Crash 日志渠道、Crash 捕获的原理、看懂 Crash 日志、Crash分析方法 等角度向大家普及下 Crash 原理及分析的思路。
其中讲到的知识点有:Mach异常、UNIX信号、常见 Crash 错误码、Mach-O、汇编等。
Crash 定位的过程是不断追溯 Crash 现场发生了什么的过程,通过对 Crash 日志的原理和内容的深入了解,可以帮助我们更快更好的定位应用崩溃问题。
然而现实中可能还是会有些疑难的 Crash 不易定位,是因为 Crash 日志其实也并未保存了 Crash 现场最全的信息,更进一步的优化就是丰富 Crash 日志的信息,让我们获取更多的 Crash 现场信息, 比如 KSCrash 这个框架在这块做了一些努力。这些开源项目的代码是值得学习的。
参考&引用&拓展阅读
总线错误: https://zh.wikipedia.org/wiki/%E6%80%BB%E7%BA%BF%E9%94%99%E8%AF%AF
书籍:《深入解析 Mach OS X & iOS 操作系统》
崩溃捕获系统的原理: https://junyixie.github.io/2019/09/28/CrashMonitorSystem/
分析iOS Crash文件: https://developer.aliyun.com/article/8854
iOS开发同学的arm64入门: https://blog.cnbluebox.com/blog/2017/07/24/arm64-start/
SIGSEGV 和 SIGBUS: https://www.cnblogs.com/charlesblc/p/6262783.html?spm=ata.13261165.0.0.26cd7529Cecpmj
iOS 调试进阶:https://zhuanlan.zhihu.com/c_142064221
KSCrash:https://github.com/kstenerud/KSCrash
PLCrashReporter: https://github.com/microsoft/plcrashreporter
Tip
简洁的方式查看
|
此命令可帮助您以更简洁的方式查看提交。它会将每次提交压缩到一行,并且只有很少的信息,例如较短的提交哈希,提交消息。
按日期查看
|
这些命令将按给定的时间间隔过滤提交。例如,– after将仅在给定时间段之后进行提交,而– before将仅在给定时间段之前进行提交。
git日志与差异更改
|
此命令将显示具有差异更改的日志。这样您就可以知道每次提交中所做的更改。
按作者过滤提交
|
上面的命令将过滤出特定作者所做的提交。请注意,Git按正则表达式模式过滤掉。因此,不必担心确切的名称匹配或区分大小写。
Git日志可以采用多个选项,因此你可以根据需要组合选项。例如,
|
通过日志消息过滤提交
|
上面的命令将按各自的模式过滤提交。并且请记住,默认情况下它区分大小写。要使搜索不区分大小写,可以传递-i参数
|
下面的命令正在使用正则表达式模式搜索,并将搜索两个问题ID。
|
Share
著名程序员 Dan Abramov 正在撰写的 JavaScript 教程,他还没有写完。只要在上面网址报名,每写好一部分就会通过邮件发给你。
对于软件系统的错误提醒,作者在文章中给出了 4 点建议。
- 不要提示用户不关心的信息
- 清楚表达问题原因
- 给出引导建议
- 提示内容尽可能简短
iPadOS 是 Apple 最近两年重点发力的系统,也是苹果希望打造强于 PC 的系统。而相比较于传统的 PC,iPad 本身是触摸设备,而如何使鼠标的接入更加的好用和自然,这是 Apple 花了很大心思做的事情。
作者王禹效在这篇文章里详细分析了 Apple 是如何为 iPadOS 设计鼠标功能的,包括与传统桌面操作系统鼠标在逻辑、显示和设计上的区别,以及 Apple 做出这些改变的原因。
作者认为其实 Apple 不是什么魔法师,只是在设计时认真的去为用户做考量,愿意在这些别人不在意的细节上投资。一点点积累之后,就有了自己独特的用户体验。