🌜
上一页 1 2 3 4 5 6 7 8 9 ··· 13 下一页
摘要: file 类型的 <input> 除了调起系统的文件选择框外,还可通过指定 capture 属性来现场拍照或录制。配合 accept 属性,可实现更加便捷的文件获取。 比如想要录制一段视频,可以这么写: <input type="file" accept="video/ " cap 阅读全文
posted @ 2019-06-13 23:38 刘哇勇 阅读(4632) 评论(0) 推荐(0) 编辑
摘要: JavaScrpit,亦即 ECMAScript,新功能的演进是由一个叫 TC39 这么个组织在统筹协调和推进的。 一般新特性会由社区先提案,被采纳后开始进入下一流程。一个提案到最终落地到成为标准,需要经过几个阶段(stage)。 目前采纳进入正式流程中的提案可在 tc39/proposals 查看 阅读全文
posted @ 2019-06-13 00:07 刘哇勇 阅读(1878) 评论(0) 推荐(1) 编辑
摘要: 装饰器本质上提供了对被装饰对象 Property​ Descriptor 的操作,在运行时被调用。 因为对于同一对象来说,可同时运用多个装饰器,然后装饰器中又可对被装饰对象进行任意的修改甚至是替换掉实现,直观感觉会有一些主观认知上的错觉,需要通过代码来验证一下。 比如,假若每个装饰器都对被装饰对象的 阅读全文
posted @ 2019-06-11 23:52 刘哇勇 阅读(1781) 评论(0) 推荐(1) 编辑
摘要: 两者皆是用于在网络上发送报文数据(packet)的传输协议,都基于 Internet protocol (IP)。所以 TCP/IP 其实表示的是 TCP over IP (基于 IP 的 TCP 协议)。 基于 IP 有很多协议,但 TCP 和 UDP 是应用最为广泛的两种。 TCP TCP(Tr 阅读全文
posted @ 2019-06-10 23:10 刘哇勇 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 通过 props 来设置其 value 值的组件便是一种 controlled 组件。典型的 form 表单中,像 输入框 <input> 下拉框 <select> 多选框 <input type="checkbox"> 单选框 <input type="r 阅读全文
posted @ 2019-06-09 12:37 刘哇勇 阅读(757) 评论(0) 推荐(0) 编辑
摘要: ES6 规范中添加了对尾调用优化的支持,虽然目前来看支持情况还不是很好,但了解其原理还是很有必要的,有助于我们编写高效的代码,一旦哪天引擎支持该优化了,将会收获性能上的提升。 讨论尾调用前,先看函数正常调用时其形成的堆栈(stack frame)情况。 函数的调用及调用堆栈 先看一个概念:调用堆栈( 阅读全文
posted @ 2019-06-07 09:24 刘哇勇 阅读(635) 评论(0) 推荐(0) 编辑
摘要: 考察下面的 SQL 脚本: CREATE TABLE test1( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, data VARCHAR(20), ts1 TIMESTAMP NOT NULL, createdAt TIMESTAMP NOT NULL D 阅读全文
posted @ 2019-06-06 20:23 刘哇勇 阅读(919) 评论(0) 推荐(0) 编辑
摘要: 查看当前的 SQL_MODE SELECT @@sql_mode SELECT @@sql_mode 的执行结果 mysql> SELECT @@sql_mode; + + | @@sql_mode | + + | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES, 阅读全文
posted @ 2019-06-05 23:46 刘哇勇 阅读(2002) 评论(0) 推荐(0) 编辑
摘要: unknown 字面理解和 any 其实没差,任何类型都可赋值给它,但有一点, Anything is assignable to unknown, but unknown isn’t assignable to anything but itself and any without a type 阅读全文
posted @ 2019-06-04 02:43 刘哇勇 阅读(8529) 评论(0) 推荐(1) 编辑
摘要: Node.js 中请求的处理 讨论 Koa 中间件前,先看原生 Node.js 中是如何创建 server 和处理请求的。 node_server.js const http = require("http"); const PORT = 3000; const server = http.crea 阅读全文
posted @ 2019-06-03 23:41 刘哇勇 阅读(2127) 评论(0) 推荐(2) 编辑
摘要: 页面中实现录音需要使用浏览器提供的 Media​Recorder API,所以前提是需要浏览器支持 MediaStream Recording 相关的功能。 以下代码默认工作在 Chrome 环境中。 准备页面 首先准备一个页面,其中内容很简单,一个录音按钮,一个用于播放的 <audio> 阅读全文
posted @ 2019-06-01 23:58 刘哇勇 阅读(10635) 评论(2) 推荐(2) 编辑
摘要: 有关于 Transfer Encoding:chunked 类型的响应,参见之前的文章HTTP 响应的分块传输。这里看 Koa 中如何实现。 Koa 中请求返回的处理 虽然官方文档有描述说明不建议直接调用 response.write: Bypassing Koa's response handli 阅读全文
posted @ 2019-05-31 23:40 刘哇勇 阅读(1854) 评论(0) 推荐(0) 编辑
摘要: 安装 Mac 上最便捷的安装方式当然是通过 Homebrew: $ brew install emscripten 安装好之后讲道理就已经自动配置好一切,然后 emcc 命令便可用了。 下面看非 Homebrew 安装的方式。 通过官方 WebAssembly Developer’s Guide 提 阅读全文
posted @ 2019-05-30 23:49 刘哇勇 阅读(4043) 评论(0) 推荐(0) 编辑
摘要: 装饰器(Decorators)可用来装饰类,属性,及方法,甚至是函数的参数,以改变和控制这些对象的表现,获得一些功能。 装饰器以 @expression 形式呈现在被装饰对象的前面或者上方,其中 expression 为一个函数,根据其所装饰的对象的不同,得到的入参也不同。 以下两种风格均是合法的: 阅读全文
posted @ 2019-05-30 01:06 刘哇勇 阅读(1302) 评论(0) 推荐(1) 编辑
摘要: 考察如下类型: type PromiseType<T> = (args: any[]) => Promise<T>; 那么对于符合上面类型的一个方法,如何得知其 Promise 返回的类型? 譬如对于这么一个返回 string 类型的 Promise: async fu 阅读全文
posted @ 2019-05-28 23:39 刘哇勇 阅读(3753) 评论(1) 推荐(1) 编辑
摘要: Vim 自带了文本格式化,通过 gg=G 触发。但大数情况下不满足需求,对于特定语言,比如 JavaScript,需要安装相应的插件来实现。 插件的存在形式 Vim 插件以三种形式存在, 单个的 .vim 文件,可在 官网 scripts 页面 搜索下载。 Vimball 文件 以约定格式放置的文件 阅读全文
posted @ 2019-05-27 00:42 刘哇勇 阅读(1270) 评论(0) 推荐(0) 编辑
摘要: 对于 MySQL 在执行时来说,EXPLAIN 功能上与 DESCRIBE 一样。实际运用中,后者多用来获取表的信息,而前者多用于展示 MySQL 会如何执行 SQL 语句(Obtaining Execution Plan Information)。 DESCRIBE 实质上是 SHOW COLUM 阅读全文
posted @ 2019-05-26 17:16 刘哇勇 阅读(607) 评论(0) 推荐(0) 编辑
摘要: 面向切面编程(Aspect Oriented Programming/AOP) 解决的是 cross cutting concerns 问题。比如同一段代码在不同模块中重复,又不能简单地通过抽取公共方法的方式来达到重构,比如日志与参数校验。 以下是展示这一编程思想的一段伪代码: function m 阅读全文
posted @ 2019-05-25 22:59 刘哇勇 阅读(1029) 评论(0) 推荐(0) 编辑
摘要: 以下以数字开头的 CSS 类名不会生效: .1st{ color: red; } 一个合法的 CSS 类名必需以下面其中之一作为开头: 下划线 _ 短横线 字母 a z 然后紧跟其他 _, 数字或字母。 用正则表示,一个合法的 CSS 类名为: ?[_a zA Z]+[_a zA Z0 9 ] 另, 阅读全文
posted @ 2019-05-24 23:53 刘哇勇 阅读(1269) 评论(0) 推荐(0) 编辑
摘要: 多表关联的情况下,一条新记录的生成往往涉及多张表的操作。 一个典型的场景,银行转帐。要完成 A 转帐到 B, 从 A 帐户减去相应金额 给 B 帐户加上相应金额。 这两步要么一起成功,要么都失败,否则就会造成数据不一致。比如 A 的钱少了,但 B 的钱没增加,或者 A 的扣款失败,B 的钱也增加了。 阅读全文
posted @ 2019-05-23 23:06 刘哇勇 阅读(1013) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 13 下一页

Bingo!!

少年,我看你骨骼清奇,怕是一名前端吧‽

腾讯内推长期有效,简历这边来 liuwayong@gmail.com