Web Observer Api

最近Web API 又增加了一个 ReportingObserver ,我是没看懂这个Observer怎么用,但正好总结下目前已有的 Web Observer API

Read More

WSL2里设置代理

在电脑里安装了WSL2和Ubuntu,但是apt update 一直超时,网上找了更换阿里云镜像/更换dns都不好使。 搜索了一下Ubuntu可以代理。

Read More

Eslint忽略npm link 文件夹

今天在一个由vue-cli 生成的项目中,通过npm link 引用了另一个文件夹,项目执行起来后就开始报错,记录下处理过程

Read More

温故知新: Array

又重新翻看了一下MDN上数组的介绍,《JavaScript权威指南》第七章,《ES6标准入门》第七章。 总结一下JavaScript中数组的一些细节,主要是在工作长时间不使用而遗漏的细节。

Read More

Promise组合器

ES2015引入了promises,并且支持两种组合器,静态方法Promise.allPromise.race。 目前草案中还有另外两个组合器Promise.allSettledPromise.any

Read More

使用verdaccio部署私有npm服务器

入职公司14个月了,带领兄弟们做了有甜橙借钱、分期商城、甜橙借钱H5、CEO贷、分期商城H5、信用卡代偿、甜橙借钱2.0等等多个项目。 虽然项目众多,但都属于信贷类产品,流程整体上还是授信-借钱-还钱三个步骤。其中有多代码、组件、插件可以共用。 如何避免重复工作,实现项目间共享就成了问题。

Read More

TypeScript Basic

最近的一个公司项目中,我给项目加上了TypeScript。 目前项目有三名前端,2019年将会增加更多的前端,更多的项目。 一方面我们使用ESLint控制代码风格,但是我觉得ESLint越来越不够了。所以明年所有前端项目,我都将要求使用TypeScript。

Read More

babel 7.2

今天看邮件看到 Babel 7.2 发布了,主要新增了两个功能。

Read More

使用 ffmpeg 转换 mp4 为 gif 文件

在 Web 中尽量使用 mp4 而不是 gif ,因为 gif 文件要比 mp4 大很多。 但还是会有一些需求 或者是 变态产品经理 要求把 mp4 转为 gif 使用。 mmfpeg 是一个优秀的格式转化工具

Read More

现在更不需要jQuery了

自从2006年jQuery发布以来,DOM和原生浏览器API都有了飞跃性的提高。 自2013年以来,人们一直在撰写“You Might Not Need jQuery”的文章(请参阅此网站和此项目)。 本文并不想重复以前的内容,但自从上一版“You Might Not Need jQuery”文章,您可能已经偶然发现了浏览器上的一点点改变。 浏览器继续实现新的API,从无框架开发中解脱出来,其中许多API直接从jQuery中复制。

Read More

Vue.js中的 Transition 和 Animation

Animations & transitions. 将您的网站或网络应用程序带入生活,吸引用户探索。 动画和过渡是UX和UI设计的组成部分。 但是,他们很容易出错。 在复杂情况下,如处理处理列表。依赖原生JavaScript和CSS的时候,几乎不可能实现出来。 每当我问后台开发人员为什么他们不喜欢这个前台时,他们的反应通常都是“…动画”的一部分。

Read More

Vuejs 中的 Mixins 和 Plugins

Vue Logo

使用 Vuejs 这类库进行开发时,有一种趋势是组件优先的方案。这个库可以将功能和视图行为拆分为组件。 但有时可能需要在多个组件/ Vue 实例之间共享功能。 这就是 mixins 和 plugins 可以提供很多帮助的地方。

Read More

你不知道的 (S)CSS 最佳实践

即使您现在使用流行的框架(如React,Angular或Vue.js)构建应用程序,您仍然需要为其添加一些样式。 根据您使用的技术,您需要以特定的方式编写您的样式。 例如对于React,由于它是组件性质,最好使用 CSS modules 编写样式。 如果你想使用最新的 CSS 功能,使用 CSSNext 是明智之举。 不要忘记很好的预处理器,比如 Sass 或者 LESS。你可能会想-这么多工具,我打赌每一个的写作风格是不同的。你是对的,但基础是一样的。

Read More

网页检查离线状态

并不是网站的每个部分都可以离线工作, 有些内容不可以被缓存,有的部分需要与服务器交互。 离线优化网站应当适应连接的变化。

Read More

Animating your hero header

如果你曾经访问过一些网站,迎接你的是一张大图或者视频,并且有大标题在上边。 你遇到的正是”Hero Header”,这是一种常见的介绍网站的形式。 它可以是一个向用户展示你的网站是做什么的的好机会。

Read More

被动事件监听

读了微软Edge团队的一篇文章 讲了现代浏览器对滚动的优化,即把滚动从主线程移动到了后台线程。文中有一个展示,主线程被js弄卡顿时,页面一样可以滚动。不过我在mac上尝试的 时候,只有safari可以,chrome和firefox都卡住了,囧。估计在windows上firefox和chrome实现了吧。

Read More

编写一个迷你 Redux

原文

现在有很多 Redux 学习资源。包括官方文档,示例,教程,博客,脚手架, Youtube视频,播客 …等等。 尽管我们有如此多的资源可以学习,开发者在刚上手的时候一样会有些困惑。这些压倒性的内容,让人很难过滤掉相关的东西。

Read More

向一个只读文件写入内容

今天在 AWS 上安装 MongoDB, 按照官网的指南 在用 vi 编辑 mongodb-org-3.4.repo 这个文件时遇到了一点问题。这是一个敏感位置的文件,我没用 sudo打开。 保存的时候 用 wq! 强制保存报错。

Read More

WindowBase64 接口

WindowBase64 接口定义了两个分别用来进行编码和解码 base64 的工具函数。 base64 经常用在 data URI 中。

WindowBase64 并不是一个全局对象,没有直接访问 WindowBase64 接口的方式。 不过 Window 对象上有该接口的实现.

Read More

Linux screen & two remote git

一直在命令行中跑 node ,当关闭bash之后,任务就会停止。今天在发布项目到 aws时我就考虑,一旦我关闭了ssh ,不就停止了吗。 找了一下,linux 有个 screen 命令,只要在 npm前加个 screen ,就会新开一个screen,并且只要任务没结束,它就不会被关闭。 当再次登录到aws后,执行 screen -ls 就可以显示所有正在运行的screen, 执行 screen -r 加上要切换到的screen 端口,就可以切换过去。

Read More

在git中设置代理

最近在git中提交代码的时候总是遇到 443 Timeout 的问题。谷歌了一下找到了设置代理的方法

Read More

Node.js 6.0 安装 gulp-sass 中的错误

五一假期刚结束,就看到了Node.js 迎来了6.0版本,确实够快速。

不过升级到6.0之后,在使用中遇到了一点问题。安装gulp-sass报错了。就是说有一个二进制文件没有下载到,404了。gyp编译失败,爆了一堆错误。

Read More

介绍 Google Resizer

google design 近日推出了一款resizer,可以在线辅助查看站点的响应式设计,可以认为是chrome开发者工具的一个专版吧。 看一下我们网站首页的效果,看起来还不错。

Read More

HTML 中的电话链接

<a href="tel:1-562-867-5309">1-562-867-5309</a>

事实上,即使没有tel ,浏览器也会自行判断是否为电话的,所以有时候我们需要禁用浏览器的判断

Read More

stylesheets has a disabled attribute

stylesheets 和 script 元素上的disabled 标签

stylesheets 和 script 元素上有一个可以查询和定义的布尔型属性:disabled 。通过它可以十分简便的禁用指定的stylesheet或script。

Read More

windows-multiple-node-versions-management

最近跟随nodejs的步伐,将本机上的nodejs更新到了v5.1.0,前几天开始使用IBM 的额bluemix,它目前支持的nodejs版本为0.12.x。所以不得不使用多版本管理了。

Read More

addEventListener third argument

addEventListener() 方法有第三个参数,它是一个布尔型参数,通常设置为false.我通常不考虑这个参数,使用默认的false设置,那这个参数是什么呢?

Read More

Manual instalation Brackets Extensions

Brackets这款编辑器小巧好用,扩展多,最重要的是它免费开源,对于替代sublime Text ,notepad++ 等工具来说,是个不错的选择。 但是由于国内的网络环境,我在家尝试了很多次,都无法打开他的扩展管理器,没办法只能手动添加扩展了。

Read More

Ruby数值类基础题

这是一道简单的入门级题目,计算给出半径的圆面积,我基础不好,所以在类型判断上遇到了一点问题。

Read More

关于阶加阶乘的算法

继续在codewars上找虐,这是一道递归的问题,给出一个数字N,求出n+(n-1)+(n-2)+…+1的结果 我一看,很简单嘛,递归

Read More

今天的一道算法题

今天做了一道算法题,要求是从数组中找到最先能够相加等于结果的两个值,如果有多个,则选择最先的两个。例子

Read More

理解Function.prototype.bind

理解Function.prototype.bind

最近在看一本新书《Programming javascript Applications》,讲到调用其它对象的方法,以前我们使用call和apply,

Read More

写一个ReplaceTextNode函数

今天遇到一个问题,替换节点中的文字,由于这不是一个简单的节点,它内部实际上包括两个节点,一个是图片节点一个是文字节点。使用innerHTML不行,因为会不小心把img删掉了,所以我写了一个函数,保存下来以后还会用到。

Read More

Extend function

从《 EssentialJavaScript Design Patterns 》中学习到一个,就是如果某个属性是对象,则继续深复制。

Read More

particular self-enclosed module

particular self-enclosed module

这种设计模式的中文名称我忘了叫什么,不过挺常见,对于不大的项目来说很实用,是以前我使用的最多的模式。拥有内部方法和参数,已经公共方法公共参数,既有对外的接口也有私有成员。并且简单改造就是一个单例。

Read More

关于回调函数的进一步理解

在以前的学习中,我知道了回调是一种更合理的异步执行方式,是作为中级程序员必须掌握的技能。 今天我在读《javascript patterns》时获取到了更进一步的知识

Read More

学习git shell 简单语法

学习github shell用法 github有客户端,我就是用的github for window,这个客户端具备基本的功能,同步,克隆这些。不过我却发现缺少了一个基本的功能。比如我添加了一个新的文件到目录下,客户端里没有加入并上传的操作按钮。还好安装客户端时附带安装了shell。我参考文章csdn ,学习了一些基本的方法。

Read More