• Promise A+规范简单实践

    技术 2018-08-21

    前言JS是单线程的。有异步编程需求时,我们通常使用:回调函数事件监听订阅/发布Promise本文介绍Promise。Promise是一个规范,最早在社区中被提出和实现,使得链式回调的代码更加优雅。后来ES6提供了Promise对象,把其写进语言规范之中。不同的平台也有自己的实现,如Node的q模块和...

  • 垫刀与玄学:游戏中伪随机算法的原理

    技术 2018-07-31

    简介随机性的奖励是所有赌博和游戏的核心,随机算法非常影响玩家的游戏体验。举个经典的例子,暴击。假设现在拥有15%的暴击率,我们定义连续2次出现暴击为“欧洲暴击”,连续10次不暴击的概率为“非洲暴击”。如果使用真随机算法,欧洲暴击率2.25%,非洲暴击率接近20%。然而在游戏体验中,玩家觉得这样的欧洲...

  • react-trading-datepicker(React 日期选择组件)

    技术 2018-07-25

    github:https://github.com/oonne/react-trading-datepickerauthor:JAY先看东西Demo使用说明引入datepicker组件,在页面中使用:<Datepicker value={date} tradingList=...

  • 位图字体的原理及应用

    技术 2018-07-17

    前言常用的字体分为两种:矢量字体和位图字体。网页中大部分用的都是矢量字体,使用矢量图形来渲染字符,便于无损缩放、修改颜色、样式与内容分离。我之前写过几篇矢量字体相关的博客,这里不再展开。而位图字体则使用图片来渲染字体,字体的颜色、形状、图案,都可以使用图片来绘制,可以实现复杂的字体样式,常用于游戏开...

  • React实现自适应高度的<textarea>

    技术 2018-06-26

    先看东西Demo思路<textarea>,文本区域,在表单中经常要用到。使用rows属性可以定义文本域的行数,但是有时候我们需要让他自定义高度,输入多少行就显示多少行,不要出现滚动条。常见的三种思路如下:思路一:用JS实时修改textarea的高度这个是最直观的办法,用jQuery的话来...

  • 自动化持续集成:Gitlab-CI实践

    技术 2018-06-15

    持续集成持续集成(Continuous Integration)是一种软件开发实践。团队在开发过程中,提倡每个成员写完一个小功能就集成到主干中,尽快暴露开发过程出现的问题,早发现早解决。这也是我们常说的“小步快跑”,防止到项目后期合代码的时候才发现严重问题,到时改动的成本和风险都会很大。虽然持续集成...

  • 使用Gitlab搭建私有Git仓库

    技术 2018-06-14

    前言首先恭喜微商大佬(说错,是微软大佬)75亿喜提Github。Gitlab第一时间发来贺电,顺便给出了从Github迁移到Gitlab的操作指南。八卦聊完讲正事。搭建私有的Git仓库是每个团队的基本技能。虽然有许多免费的私有Git仓库,比如开源中国的Gitee(没错,也是用Gitlab搭建的)。但...

  • Base64编码原理及应用

    技术 2018-06-12

    前言Base64是一种用可见字符传输二进制数据的编码方式。本文介绍Base64编码的原理,以及在web中的应用。简介有些场合,我们需要储存和发送文件,又不方便直接使用二进制流。这时候,我们需要把二进制数据翻译成成字符串,写进代码或XML里。ASCII编码虽然也能做到,但因为含有无法显示和打印字符,不...

  • 全面了解 Http Cookie

    技术 2018-06-07

    前言Cookie是web开发中常用协议之一,用于储存数据到用户终端。作为一个二十多年的老朋友,大家想必都不陌生。本文全面介绍cookie的原理、属性、使用方法、安全性,深入了解cookie的每个细节。请注意,Cookie和Set-Cookie只是http header的一个属性而已。除了浏览器,其他...

  • HTML5 <datalist> 简介及兼容方案

    技术 2018-05-18

    <datalist>是HTML5引入的新元素,用于输入提示。本文介绍<datalist>的语法、交互逻辑,并分别给出基于Vue和React的兼容方案。语法详情参考:https://developer.mozilla.org/en-US/docs/Web/HTML/Elemen...

TOP