以下为译文: pico.js 是一个只有 200 行纯 JavaScript 代码的人脸检测库,具备实时检测功能(在实际环境中可达到200+ FPS),压缩后仅 2kB 。...开源代码地址:https://github.com/tehnokv/picojs; 1. 简介 本文将介绍pico.js,这一由JavaScript编写的用于人脸检测的代码库,并展示其工作原理。...Pico对象监测框架 2013年,Markus团队在一个技术报告中介绍了这一由JavaScript实现的pico.js代码库。...这背后的原因是,我们最好学习带有官方代码的检测器,将其加载到JavaScript中并执行进程,如此就带有独特的优势(比如跨操作系统与设备的强大的可移植性)。...pixels阵列包含图像的灰度强度值。参数ldim规定从图像的一行移动到下一行的方式(在诸如OpenCV的库中称为stride)。
幸运的是,下面的单行代码正是我们想要的。 在这一行中,我们检查对象的键长度是否等于 0,以及传递的参数是否为实际对象。...,我们将通过一些异步编程来弄脏我们的代码。...随机排列数组 const shuffle = arr => arr.sort(() => 0.5 - Math.random()) 在开发中打乱一组数据是一个常见的情况,你可以随时遇到,不幸的是,JavaScript...在这些情况下,下面的单行代码非常方便。 上面的单行代码有 50/50 的机会返回真或假。因为生成的随机数大于0.5的概率等于变小的概率。...然而,例如,如果你想得到一个概率为 70% 的随机布尔值,那么你可以简单地将 0.5 更改为 0.7 等等。
2048 原作者就是用Js写的,一直想尝试,但久久未动手。 昨天教学生学习JS代码。不妨就做个有趣的游戏好了。2048这么火,是一个不错的选择。 思路: 1. 数组 ,2维数组4x4 2....移动算法,移动后有数字的对齐,无数字(我用的0,但不显示)补齐。 移动前 ? 移动后(注意程序合并了第一行2个2,并产生了新的2) ?...移动算法分2步: 第一步骤:移动 第二步骤:合并 移动代码参考: [html] view plaincopy function left(t,i) { var j; var len...显示代码: [html] view plaincopy function display_div () { var i,j; var n = "#d"; for (i =...源代码及在线演示:http://jsbin.com/biximuho/6/edit
达到可以预览的目的?...// file 转 blob对象 let bold = window.URL.createObjectURL(file.files[0]); console.log('bold==>'+bold);...这样看blob对象和base64都可以预览图片,但是blob对象仅仅是当次缓存,如果刷新,你重新把之前转的字符串放到src是不可以预览的,当时base64是可以的。...up-file" onchange="fChange()"> css样式 #add-pic{ width: 100px; height: 100px; background: url...clear: both; } #img-pre img{ float: left; width: 100px; height: 100px; margin-right: 10px; } javascript
一行神奇的js代码,当时我就震惊了,这不就是传说中的ZB神奇么… … 哈哈。写本篇文章的缘由是之前看到了一段js代码,如下: (!...其实靠的是js的类型转化的一些基本原理,本篇就来揭密”sb”是如何炼成的。相信你如果能把这个理清楚了,以后遇到类型转化之类的题目,就可以瞬间秒杀了。...而且中括号的优先级还是最高的哦。 二、js的类型转化 预处理结束,接下来需要运用的就是JavaScript的类型转化知识了。我们先说说什么情况下需要进行类型转化。...规则就这么多,接下来实践一下,根据我们上面划分出的子表达式,一步一步将这个神奇的代码给执行出来。...如果有人瞧不起js,请把这段代码发给他,如果他想知道答案,请把本文发给他~
JavaScript 代码 n=setInterval("for(n+=7,i=k,P='p....(i%2*j-j+n/k^j)&1:2])j=k/i;p.innerHTML=P",k=64) 这一行代码会被渲染成下图的效果。你可以在这里用浏览器打开来观看。...我决定接受挑战 第一步:让代码变得可读 第一件事,让 HTML 文件里只有 HTML 代码,然后把 JavaScript 代码放到 code.js 文件里。...如何能得到上面漂亮的图片。...让我们专注在图形的前面 16 行,i 的值在 64 到 32 之间。 异或运算在 JavaScript 里会把小数点右边的值忽略掉,所以它看起来和执行 Math.floor 的效果一样。
作者:吴锴 http://www.wukai.me/2017/12/31/rich-text-editor-in-less-than-200-lines-javascript/ 前段时间在寻找一些关于富文本编辑器的资料...而项目最核心的文件 pell.js 只有130行,即使加上其它部分,总的 js 数量也不到200行。这引起了我的兴趣,决定看看它的源码是如何做到这一点的。...actions 对象 文件中定义了一个名为 actions 的对象,对应的是下图工具栏上的这一行按钮, actions 中的每个子对象都保存了一个按钮的属性。...url)exec('createLink',url) } } 因为传入的参数中有 result 这一项,所以用传入的 result 来代替 link 对象中的默认值,然后将修改过的 link 对象放入...四、点击“插入链接”的按钮后,会让你输入一个 url,然后调用 exec('createLink', url) 在编辑区域插入该链接。 编辑器其它按钮的功能流程也类似。
作者 | Tuan Nhu Dinh 译者 | Sambodhi 策划 | 蔡芳芳 本文演示了如何使用 Web Speech API 构建一个简单的人工智能聊天机器人。...在本教程中,我们将使用 80 行 JavaScript 代码在浏览器中构建一个虚拟助理(如 Siri 或 Google 助理)。...用户界面 第一步就是创建一个简单的用户界面,它包含一个按钮用来触发助理,一个用于显示用户命令和助理响应的 div、一个用于显示处理信息的 p 组件。...我们只用了 80 行代码就有了一个很酷的助理。程序的演示可以在下方链接中找到。...参考阅读: https://medium.com/swlh/build-your-own-hi-siri-with-80-lines-of-javascript-code-653540c77502
严格遵守这条规则会让你的代码可读性更好,也更容易重构。如果违反这个原则,那么代码会很难被测试或者重用。...那么代码可能是这样的: const checkCarModel = (model) => { if(model === 'renault' || model === 'peugeot') {...or 语句,那么代码将变得难以维护,且不够整洁。...ford;车的年份是:1999 本身例子的问题很简单,但是上面的代码太长了。...要是有更复杂的逻辑就会出现更多的 if..else 语句。 所以现在要重构函数,使用 ES6 的新特性和多个返回语句,展示一份简洁优雅的代码。
上千行的 SQL 代码常见,且永不过时!...我们几个 SQL 老玩家经常自吹, SQL 是半衰期最长的编程语言。玩会它不用担心失业。 如何去阅读和拆解一个上千行的 SQL 存储过程,有四大步骤 :理解代码,分拆代码,改写代码和保存代码。...拆过无数的代码,从上千行缩减到 2 成,也组装过无数的代码,从上百行塞成了上千行,业务所需。见过最长的 SQL 代码超 5000 行,已简无所简,那就实事求是了。人有分分合合,有生命力的代码也一样。...第一个好处不言而喻,写代码写出颈椎病的程序员,肯定意识到代码的扩展性,可以节省去医院的时间,可以霸屏更多次王者。 举例说说什么是代码的扩展性? 比如产品的价格。电商时代,产品的价格拥有明显的扩展属性。...所以,等你费尽心思写完很长的代码,一定要通过复盘记录下来,放到你的 blog, github, 等你以后碰到类似情况,却想不出来如何解,你可以随时拿出来用上。 写好SQL代码,素质当然远不止这些!
先看效果图: 游戏结束图: javascript实现源码: 俄罗斯方块 ... <div id...",400); 在线演示 原文: http://blog.ithomer.net/2014/05/60-lines-of-code-the-small-javascript-written-in-russia-block-game
上千行的 SQL 代码常见,且永不过时!...我之前写过如何去阅读和拆解一个上千行的 SQL 存储过程,详情可见以下两篇文章: 如何提高阅读 SQL 源代码的快感 如何写好上千行的 SQL 存储过程(附代码规范) 这两文中提到了四大步骤:理解代码,...拆过无数的代码,从上千行缩减到 2 成,也组装过无数的代码,从上百行塞成了上千行,业务所需。见过最长的 SQL 代码超 5000 行,已简无所简,那就实事求是了。人有分分合合,有生命力的代码也一样。...如要参考这5000行的实战SQL代码,可以关注我的微信公众号【有关SQL】,回复【5000】便可下载。 但装和拆并不是一个逆反的过程!...所以,等你费尽心思写完很长的代码,一定要通过复盘记录下来,放到你的 blog, github, 等你以后碰到类似情况,却想不出来如何解,你可以随时拿出来用上。
提高自身的编码能力和编写易于阅读和维护的代码,是广大码农们提高开发效率和职业身涯中必做的事情。 那么究竟如何编写出可维护的、优雅的代码呢?...编写简洁的 JavaScript 代码 以下这些准则来自 Robert C. Martin 的书 “Clean Code”,适用于 JavaScript。...Babel 最简单的使用方式如下: 在当前目录下建立文件.babelrc,写入: ESLint 一个高质量的项目必须包含完善的 lint,如果一个项目中还是 tab、两个空格、四个空格各种混搭风,一个函数动不动上百行...加上前面提到的各种 JavaScript 糟粕和鸡肋,一股浓厚的城乡结合部风扑面而来,这还怎么写代码,每天调调代码格式好了。...通过将 JavaScript 解析为 AST 并且基于 AST 美化和打印,Prettier 会丢掉几乎全部的原始的代码风格,从而保证 JavaScript 代码风格的一致性,你可以先感受一下。
一段干净的代码,你在阅读、重用和重构的时候都能非常轻松。编写干净的代码非常重要,因为在我们日常的工作中,你不是仅仅是在为自己写代码。实际上,你还需要考虑一群需要理解、编辑和构建你的代码的同事。...变量 使用有意义的名称 变量的名称应该是可描述,有意义的, JavaScript 变量都应该采用驼峰式大小写 ( camelCase) 命名。.../public/${name}`); } 避免写重复的代码 如果你写了重复的代码,每次有逻辑改变,你都需要改动多个位置。...data.seatHeight = vehicle.getSeatHeight(); break; } render(data); }); } 避免副作用 在 JavaScript...副作用可能会修改共享状态和资源,从而导致一些奇怪的问题。所有的副作用都应该集中管理,例如你需要更改全局变量或修改文件,可以专门写一个 util 来做这件事。
一段干净的代码,你在阅读、重用和重构的时候都能非常轻松。编写干净的代码非常重要,因为在我们日常的工作中,你不是仅仅是在为自己写代码。实际上,你还需要考虑一群需要理解、编辑和构建你的代码的同事。...变量 使用有意义的名称 变量的名称应该是可描述,有意义的, JavaScript 变量都应该采用驼峰式大小写 ( camelCase) 命名。.../public/${name}`); } 避免写重复的代码 如果你写了重复的代码,每次有逻辑改变,你都需要改动多个位置。...副作用可能会修改共享状态和资源,从而导致一些奇怪的问题。所有的副作用都应该集中管理,例如你需要更改全局变量或修改文件,可以专门写一个 util 来做这件事。...✅ function generateCanonicalLink(user) { const session = user.getSession(); // ... } 好了,去写出你漂亮的代码吧
JavaScript代码执行过程 生成AST(抽象语法树) 生成字节码 执行代码 生成AST 生成AST的步骤可以拆分成以下两个小步骤: 词法分析:将JavaScript代码解析成一个个词法单元(token...) 语法分析:将词法单元根据一定规则组装成抽象语法树 通过 javascript-ast[1] 网站,可以大概了解 代码生成的 Tokens 以及 AST大致的样子。...来检查代码规范的问题 生成字节码 JavaScript引擎通过解释器来将 AST 转换成字节码,字节码是无法直接执行的,需要将其转为机器码才能直接执行。...反优化生成的二进制机器码 JavaScript是一种非常灵活的动态语言,对象的结构和属性在运行时任意被改变,而经过优化后的代码只能针对某种固定结构。...JavaScript代码执行过程 参考 JavaScript到底是解释型语言还是编译型语言?[3] javascript-ast[4] 极客时间-浏览器工作原理与实践。
原文:github.com/ryanmcdermott/clean-code-javascript 说明:本文翻译自 github 上的一个项目,只取部分精华。 ?...如何提高代码的可读性、复用性、扩展性。...严格遵守这条规则会让你的代码可读性更好,也更容易重构。如果违反这个规则,那么代码会很难被测试或者重用。...这里没有实例代码,删除就对了 三、类 使用 ES6 的 class 在 ES6 之前,没有类的语法,只能用构造函数的方式模拟类,可读性非常差。...它让你的代码简洁优雅。
但在更改帐户密码之前,应记住两件非常重要的事情: -要更改密码的用户帐户详细信息。...-要更改密码的用户正在使用该应用程序,因为如果在不更改应用程序的连接字符串的情况下更改了密码,则该应用程序将无法连接到数据库服务器。...现在让我们学习如何使用上面提到的三个SQL语句在SQL中更改用户密码: 1.使用SET PASSWORD语句更改MySQL用户密码 要使用SET PASSWORD语句更改用户密码,第一个要求是该帐户至少需要具有...你要使用SET PASSWORD语句将用户帐户“gfguser1”的密码更改为“newpass”,应执行以下代码语句: 语法: 2.使用ALTER USER语句更改MySQL用户密码 更改用户帐户密码的第二种方法是使用...要将用户帐户“gfguser1”的密码更改为从localhost服务器连接的“newpass”,语法如下所示: 语法: 本篇文章就是关于MySQL更改用户密码的方法介绍,相关mysql视频教程推荐:《
由 Google Dream 神经网络创建的一副奇怪的图像 在这篇文章,我将会展示给你如何使用 Synaptic.js 创建并训练一个神经网络,它允许你在 Node.js 和浏览器中进行深度学习。...我们将会创建可能是最简单的神经网络:解出一个 XOR (异或)方程 。 但是在开始我们看代码之前,我们先学习一些神经网络非常基础的知识。 神经元和突触 一个神经网络的第一块砖是好的神经元。...,我们来看代码。...后向传播由这行代码完成:myNetwork.propagate(learningRate, [0]), learningRate 是一个常数,告诉网络每次应该调整它的权重。...---- 往期精选文章 使用虚拟dom和JavaScript构建完全响应式的UI框架 扩展 Vue 组件 使用Three.js制作酷炫无比的无穷隧道特效 一个治愈JavaScript疲劳的学习计划 全栈工程师技能大全
领取专属 10元无门槛券
手把手带您无忧上云