引言
- 书本创作=母题+大纲+文章
“写作是把网状的知识,用大纲二维展开,线性表达。”------来自心理学家史蒂夫平克的《写作风格的意识》
知识是网状存储的,但大脑的输入端口宽度有限,所以只能线性的往里装。
- 文章=话题+叙述逻辑+卡片
挑战->核心概念->该怎么做->总结->升华
- 卡片=核心概念+个人体验+行动建议
写卡即思考,写卡即输出。不行再联机学习,很多事你自己就明白了。这个时候你的提问也会成为你的名片。
什么是好文章?我认为一篇好的文章是分享保鲜期很长的内容,并会被大范围的传递,根据问题模型讲解最佳方案(问题 –> 方案 –> 总结):把复杂的问题讲解的很简单很清楚,有各种各样的推导和方案的比较( 原理、思路、方法论)。
I卡片式写文章
卡片好比知识界的集装箱,是知识记忆和理解的最小单元,具有存入越难,提取越容易的特点。
卡片可细分为三部分:a. 核心概念的转述:不是xxx而是xxx b. 个人体验:感悟、发现 c. 以后的行动指引(方案):当遇到相关问题时,要怎么做?
知识体系=卡片+标签
1.1 如何写一篇好的技术文章?
挑战->核心概念->该怎么做->总结->升华
- 找到1张卡做大的核心概念
- 找到3-5张卡做子概念的内容
- 把这些卡片的“行动指引”总结下,列在最后做个行动指引大全。
- 然后改打磨、改表达、改标题、增加热点..…
用3-5张卡片写文是个很好的体验:1.主题是自下而上生成,而不是逼你针对命题写一个。2. 内容是过去知识卡片的积累,而不是临时写一句,出去找一段儿。3. 你已经有了知识网络、有了框架,你现在只需要考虑表达,码放整齐。
我本人写技术文章的小卡片:a. 根据问题模型讲解最佳方案(问题 –> 方案 –> 总结) b. 积累日常开发工作中遇到的问题以及解决方案 c.把复杂的问题讲解的很简单很清楚,有各种各样的推导和方案的比较( 原理、思路、方法论)
1.2 用卡片模板写文章的具体例子
iOS App处于后台/被杀死的状态仍可进行语言播报的实现 (需要适配iOS12.1 以及iOS15的本地通知功能)
a. 核心概念:
背景:iOS12.1 之后 AVAudioPlayer 无法在后台播放语音。
历史方案1:Voip 推送
不使用Voip 推送的原因:iOS13中(XCode11编译)苹果不再允许PushKit应用在非voip电话的场景上,如果需要使用PushKit的话则需要接入CallKit的接口,导致收到客户端收到Voip Push时会拉起一个接打电话的全屏界面。
历史方案2:iOS 10新增的Service Extension
b. 个人体验:在iOS15之前,我使用Service Extension方案实现App处于后台仍可进行收款到账的语言播报。但是iOS15之后就只有横幅通知,却没有语言播报。经过研究发现是因为iOS15新增了中断级别属性 interruptionLevel,对通知进行了分级,所以才导致利用本地通知的sounds属性进行声音播放时,如果本地通知的消息内容为空content.body
,将无法播放声音。但是加上消息内容的话,iOS15会多次展示横幅。
c. 以后的行动导向(最佳实现方案):通过Notification Service Extension修改推送sounds字段来播报自定义的语音。
apns的payload中携带了需要合成的文本内容,通过离线语音合成库生成wav音频文件后,将文件写到AppGroups的Library/Sounds文件夹下,最后更改UNNotificationSound属性即可使通知播报一段自定义的收款到账语音。具体方案请看这篇文章:https://mp.weixin.qq.com/s/tC_Stp8xH17V5jEpOm5BqA