Published on2017年9月19日简单拼音搜索引擎Search-EngineJavascript本文主要是通过分析[pinyin-engine](https://github.com/aui/pinyin-engine)源码,一步步基于Javascript实现一个拼音搜索引擎,并修复了大写英文字母搜索BUG和缓存上一次搜索结果BUG。全部源码(包括注释)都发布在Github上:[demo-pinyin-engine](https://github.com/jiandansousuo/demo-pinyin-engine)
Published on2017年8月26日Web聊天机器人Web-Audio-APIBaidu-AIWebSocket有朋友曾经问我,`在AI的热潮中,我们前端能做点什么`,想了想,其实AI是没法离开我们前端的,因为无论AI有多牛,它提供的也是一种智能服务,最终它还是需要以产品的形态提供给用户的面前,只要是用户继续使用WEB,那么肯定是离不开我们前端工程师的。在很久之前,自己就想做一款基于语音识别的聊天AI产品了,但是这需要涉及很多自己不擅长的领域,自己还在摸索学习中,所以本文尝试借助第三方服务来实现。
Published on2017年8月19日本博客 Nginx 配置完整篇NginxHTTPSHTTP2最近在进行博客升级HTTPS和HTTP2的时候遇到了各种问题,于是卸载了nginx,重新进行了安装,并参考 [@Jerry Qu](https://imququ.com) 博客完整配置的文章 [本博客 Nginx 配置之完整篇](https://imququ.com/post/my-nginx-conf.html),由于屈大大的博客服务器是Ubuntu的,本人使用的是一台VPS,系统是Centos6.5,所以很多配置参数需要做相应的修改,其中也遇到了不同的问题,并一一解决了,因此本篇在屈大大原文的基础上进行了相关修改。最终博客实现了全站HTTPS,并升级HTTP1.1到HTTP2。
Published on2017年8月7日深入理解和使用 Javascript 中的 setTimeout(fn,0)Javascript首先浏览器是多线程的,各个线程在内核控制下同步执行,一个浏览器至少实现三个常驻线程:Javascript引擎线程、界面渲染线程、浏览器事件触发线程。
Published on2017年8月2日基于Web Audio API的音乐可视化JavascriptHTML5Web Audio API可以在一个音频上下文中对音频进行相关处理,它允许音频基于模块化的流程处理。基本音频操作都是基于音频节点来进行的,这些节点被连接在一起,组成一个音频的路由图。它支持带有不同类型的频道层的多个音源,甚至只需要一个音频上下文。它基于模块化的设计,使得你可以动态的创建复杂的音频功能。