ARTS打卡 - 10
1. Algorithm
17. Letter Combinations of a Phone Number
题目大意是根据给定的数字字符串,计算出数字在手机键盘上对应的字母可能的组合。
题目其实可以转换为一个排列组合的问题,就是不同的字符串之间的不同组合有多少种,解法如下:
- 截取数字字符串,例如:“1” 对应 “abc”
- 遍历当前数字对应的字符串,递归下一位数字,直到数字字符串的最后一位。下面是代码:
1 | public void combinationNumber(String str, String subStr, int index){ |
2. Review
- Node.js and Websockets best practices checklist
- Node.js 中使用websocket的最佳实践,不仅仅适用于webSocket,也同样适用于所有的三方库。
- 安全性
- 使用token验证安全性
- 使用wss代替ws,类似https/http
- 使用token验证安全性
- 安全性
- 可扩展性
- 断开连接
- 刷新连接
- 自动重连
- 监控
3. Tip
在使用Xcode的LLDB调试的时候,输入print xxx都会提示一个错误,
error: Couldn't IRGen expression, no additional error, 查了一下原因是:使用carthage管理的项目,在下载有些包时会直接从官网下载二进制的Framework,就是这个原因导致的上述错误(具体是为什么我还没查到 😅)。解决方法是重新下载包且加上不使用二进制包:1
carthage update --platform iOS --no-use-binaries
4. Share
剖析Promise内部结构,一步一步实现一个完整的、能通过所有Test case的Promise类
在js中,promise使用是很普遍的,这篇文章从很详细的角度,例如如何处理异常,如何在不同的Promise对象之间使用通用的then,在pending,resolve,reject三种不同的状态下如何处理事件,一步一步通过一个最简单的promise实现演变到实际使用中的promise实现。