javascript

JavaScript 异步编程一二三

1. JavaScript 天生异步 你说我一个浏览器写写表单验证的,怎么就突然成为如今最流行的编程语言了呢? JavaScript 设计之初是用于浏览器端 GUI 编程,这就决定了这门语言是单线程、非阻塞的。而 JavaScript 正是通过异步执行任务来实现非阻塞。 关于 JavaScript 异步机制和 Event loop 详细可见:Help, I'm stuck in an event-loop 2. 异步函数的类型 JavaScript 环境本身提供的异步函数通常可以分为两大类: I/O 函数

Introducing Casablanca——β-house 成员管理

《Casablanca》是一部1942年的美国爱情电影。在上个世纪80年代,美国音乐人 Bertie Higgins 和他女友共同观看了《Casablanca》这部电影,两人都喜欢非常这部爱情片。结合这部电影带给他的感觉,Bertie Higgins 为他的女朋友写了与《Casablanca》同名的一首歌。 介绍 Casablanca 是 β-house 成员管理应用。使用 Vue.js + Koa 构建。支持新增成员、查询/编辑/删除成员信息。另外,Casablanca 还开放了

电影

《云图》——今夜我们聊聊人类

说来惭愧,《云图》这本书是我高二买的,然而我在大二结束时才刚刚读完。 读完书的当天,我立刻把电影《云图》给看完了。很早就想看《云图》这部电影,但是一直憋着打算等到看完原著再去看电影,觉得这样无论是阅读体验还是观影体验都会好点。电影的完整版片长有172分钟,然后当时在中国上映的时候被剪成了134分钟。同样,今年的《迷失Z城》国内版也被剪了将近40分钟。这里只是举两个引进版本删减相对严重的例子。对电影的删减是严重影响观影体验的,关于这个话题不多谈,只希望国内能早日建立起电影分级制度。 《云图》这本书的叙事很特别。从19世纪到后末日未来,六个故事,六个主人公……《云图》是史诗没错,但从整体上来看,它的宏大叙事很与众不同。这六个故事不是按照时间顺序一一排列,

The First Encounter With Socket

网络基础 TCP/IP 在讨论 Socket 之前,我们得先追本溯源,看看 TCP/IP 是什么。 计算机与网络设备之间的通信,就如大国之间的外交一样,需要一种规则。这种规则就成称为协议(protocol)。计算机网络协议中存在各种各样的内容:从电缆规格到 IP 地址的选定方法、双方建立通信的顺序,以及 Web 页面显示需要处理的步骤,等等。 而与互联网相关联的协议集合总称为 TCP/IP。 TCP/IP 的分层 TCP/IP

windows

Beautify your PowerShell

PowerShell Windows 一直以来都被很多非微软系程序员诟病,莫名奇妙的 bug 太多啊,经常蓝屏啊(这个是所有人都吐槽的),terminal 太弱太丑啊……的确,Windows 不是完美的系统,但也不至于说它彻底不适合开发。环境条件不行(待议),但人行啊,事在人为对不对。 对于程序员来说,terminal 是一个很重要的工具,其颜值和易用性很大一部分决定了开发效率的高低,在 Windows 上有两个 terminal ,很多人只知道黑不溜秋的cmd,却不知道高大上的 Powershell 。 Windows PowerShell是微软公司为Windows环境所开发的壳程序(shell)及脚本语言技术,

javascript

Chrome扩展开发实践——外部数据的获取和存储

前言 最近尝试着写一个Chrome的天气扩展。几番折腾下来,遇到了不少问题。 正文 关于Chrome扩展的开发,当然是要看Google的Chrome开发者文档了:Chrome文档; 这个是全英文的,然而360很良心地把开发者文档翻译了一遍(⊙o⊙):360文档; 关于API和JSON处理 我的想法是这样的,这个浏览器扩展能够得到设备的地理位置并返回当前位置的天气状况,而JavaScript没有API来得到地理位置信息,必须得先获取ip并通过第三方ip地址查询接口来得到所在城市的信息。(我用的是新浪的接口) http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json 其内容如下: {"ret"