来自《JavaScript 标准参考教程(alpha)》,by 阮一峰 # 概述 Promise 对象是 JavaScript 的异步操作解决方案,为异步操作提供统一接口。它起到代理作用(proxy),充当异步操作与回调函数之间的中介,使得异步操作具备同步操作的接口。Promise 可以让异步操作写起来,就像在写同步操作的流程,而不必一层层地嵌套回调函数。 注意,本章只是 Promise 对象的简单介绍。为了避免与后续教程的重复,更完整的介绍请看《ES6 标准入门》的《Promise 对象》一章。 首先,Promise 是一个对象,也是一个构造函数。 12345function...

转载: Kotlin 代理 | Sunmoon 的博客 # Kotlin 代理 Java 中的代理很烦很繁,而 Kotlin 中的代理却看起来很简单。我们来学学 Kotlin 中代理的用法吧。 本文整理自 Delegated Properties。 有些通用类型的属性,尽管我们可以在需要每次都自己实现对于某些常用类型的属性,尽管我们可以在需要用于这些属性时每次都自行实现,但如果能一次性实现所有这些属性,并将其封装到库中可能是更好的方式。比如: 懒加载属性: 这些属性的值在首次使用时才生成 observable 属性:每当属性值发生变化时监听器会收到通知 将属性值保存到...

使用 Python3 解压 gz、tar、tgz、zip、rar 五种格式的压缩文件例子 - lykops - 博客园 gz: 即 gzip,通常只能压缩一个文件;与 tar 结合起来就可以实现先打包,再压缩。 tar: linux 系统下的打包工具,只打包,不压缩。 tgz:即 tar.gz,先用 tar 打包,然后再用 gz 压缩得到的文件。 zip: 不同于 gzip,虽然使用相似的算法,可以打包压缩多个文件,不过分别压缩文件,压缩率低于 tar。 rar:打包压缩文件,最初用于 DOS,基于 window 操作系统。压缩率比 zip 高,但速度慢,随机访问的速度也慢。 #...

转载: Visual Studio Code 常用快捷键 # 主命令框 F1 或 Ctrl+Shift+P : 打开命令面板。在打开的输入框内,可以输入任何命令,例如: 按一下 Backspace 会进入到 Ctrl+P 模式 在 Ctrl+P 下输入 > 可以进入 Ctrl+Shift+P 模式 在 Ctrl+P 窗口下还可以: 直接输入文件名,跳转到文件 ? 列出当前可执行的动作 ! 显示 Errors 或 Warnings ,也可以 Ctrl+Shift+M : 跳转到行数,也可以 Ctrl+G 直接进入 @ 跳转到 symbol (搜索变量或者函数),也可以...

# 数据类型 boolean 只有 true, false; null, 0 不能表示 false # 基本数据类型转换 byte, short, char 之间不会相互转换,它们在计算时会首先转换为 int 类型. 1234567short s = 2;// 变量参与运算时,java 程序不知道具体设个变量在做完运算后会不会超出当前变量范围// 所以先把变量转化为一个更大的长度,short 短整型数据会默认转换为 int 整型数据// s = s + 3; // errorshort s = (short)(s + 3) s1 += 3 // 在使用扩展运算符时,...

Gooey—— 把 CLI 程序变成 GUI | Python One to Million Gooey 是一个 Python GUI 程序开发框架,基于 wxPython GUI 库,其使用方法类似于 Python 内置 CLI 开发库 argparse,因此很容易把一个基于 argparse 的 CLI 应用转换成 GUI 程序。 # 简单的示例 我们首先从一个简单的基于 argparse 库的 CLI 应用开始: 12345678910from argparse import ArgumentParserdef main(): parser =...

# NORMAL 普通模式 进入 vim 默认是 normal 模式(因为大部分情况是浏览而不是编辑)。 normal 模式下可以进行各种命令操作和移动。使用 Esc 可以从 insert 模式回到 normal 模式。 # 光标移动 h 向左移动光标。 j 向下移动光标。 k 向上移动光标。 l 向右移动光标。 # 单词移动 w/W 移动到下一个 word/WORD 开头, e/E 移动到下一个 word/WORD 结尾。 b/B (back word) 回到上一个 word/WORD 开头。 word 指以非空白字符分割的单词,WORD 以空白字符分割的单词。 #...

数据库方言(dialect)是什么? - FooFish-Python 之禅 抛开数据库,生活中的方言是什么?方言就是某个地方的特色语言,是一种区别于其它地方的语言,只有你们这一小块地方能听懂,出了这个地方又是另一种方言。 数据库方言也是如此,MySQL 是一种方言,Oracle 也是一种方言,MSSQL 也是一种方言,他们之间在遵循 SQL 规范的前提下,都有各自的扩展特性。 拿分页来说,MySQL 的分页是用关键字 limit , 而 Oracle 用的是 rownum ,MSSQL 又是另一种分页方式。 123456# MySQLselect * from t_user limit...

在一个应用服务中,对于时效性要求没那么高的业务场景,我们没必要等到所有任务执行完才返回结果,例如用户注册场景中,保存了用户账号密码之后,就可以立即返回,后续的账号激活邮件,可以用一种异步的形式去处理,这种异步操作可以用队列服务来实现。否则,如果等到邮件发送成功可能几秒过去了。 # Celery 是什么? Celery 是 Python 语言实现的分布式队列服务,除了支持即时任务,还支持定时任务,Celery 有 5 个核心角色。 # 1、Task 任务 (Task) 就是你要做的事情,例如一个注册流程里面有很多任务,给用户发验证邮件就是一个任务,这种耗时任务可以交给 Celery...

转载: Jafrog’s dev blog # Colors In Terminal If you use terminal on a daily basis I bet you played with some color settings at least once. Colorizing ls output, shell prompt, git logs - those are very common tasks. And it’s not surprising as color helps us parse information faster, pay attention to...