【译】Swift async/await 并发之自动刷新token
原文:Building a token refresh flow with async/await and Swift Concurrency
Swift 5.5 引入了 async/await,更进一步简化异步代码的语法。
本文作者使用网络请求中自动刷新 token 的功能来说明用法,这是 OAuth 2 里 面必备的一个功能了。
原文:Building a token refresh flow with async/await and Swift Concurrency
Swift 5.5 引入了 async/await,更进一步简化异步代码的语法。
本文作者使用网络请求中自动刷新 token 的功能来说明用法,这是 OAuth 2 里 面必备的一个功能了。
导航栏返回按钮的标题是前一个 View Controller 的 title,但是设计 App 时基本上只保留箭头,所以这个标题很鸡肋。
无数次的市场轮回都在说明一个问题,树不可能涨到天上去。然而,为什么那些最聪明的人,也会认为这次不一样呢?
这背后是那个古老的话题,人性的贪婪与恐惧。
时代变迁,但人性像山岳一样古老。人性的贪婪和恐惧,在投资中反复地上演。
对待风险的态度是所有钟摆式摆动中最强劲的一个。霍华德·马克斯将投资的主要风险归结为两个:亏损的风险和错失机会的风险。大幅消除其中任何一个都是有可能的,但二者是不可能被同时消除的。
当股价涨到最高点时,人性因为贪婪而面临亏损的风险;当股价跌到最低点时,人性又因为恐惧而面临错失机会的风险。只有克制自己的人性,才能尽可能地消除风险。
然而,克制人性并不容易,即便对于大师也是如此。
本文探讨一种 iOS App 通用项目的架构设计方案,旨在针对中小型的 App 的需求。
官方的camera包 在录制视频时,第一次初始化后,前 100ms 左右的视频都是黑屏,第二次使用时没有这样的情况。
Google 一轮后,大部分回答是因为音频录制需要花时间准备,需要在startVideoRecording
前调用prepareForVideoRecording
操作来初始化 Audio Session,但是尝试过了,没有效果。
在 stackoverflow 找到一个暴力的解决方案,直接丢弃这 100ms 的内容。在ios/Classes/CameraPlugin.m
文件里修改如下代码即可:
- _videoTimeOffset = CMTimeMake(0, 1);
- _audioTimeOffset = CMTimeMake(0, 1);
+ _videoTimeOffset = CMTimeMakeWithSeconds(1, 10);
+ _audioTimeOffset = CMTimeMakeWithSeconds(1, 10);
fork 了一份官方的代码,然后创建一个新的flutter-camera
「买基金」这三个字,就充满了误导性。
事实上,我们不是在买一瓶水、一个手机,完全不一样。
FTP 上传文件还是替代不了的,服务器操作需要这个
OpenJDK 目前不支持 arm64,只有 Zulu 的版本可用,下载链接如下:
https://www.azul.com/downloads/?os=macos&architecture=arm-64-bit&package=jdk
这个会自动配置好环境变量,不需要自己配置
2022 年 05 月 04 日 更新:OpenJDK 17 后支持 M1 了,下载地址:https://jdk.java.net/archive/
最新宏观数据都出来了。社零、投资、出口、工业增加值,全低于预期。
未来整个大的时代形势是什么?
就是降 低房地产、金融、教育、互联网等的利润和垄断,以及由此引发的过去长期对我们民生和实体经济的挤压和成本,这些是风险。