赞了文章2022-05-17
乐观锁顾名思义就是在操作时很乐观,认为操作不会产生并发问题(不会有其他线程对数据进行修改),因此不会上锁。但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS(compare and swap)算法实现。简单理解:这里的数据,别想太多,你...
赞了文章2019-11-21
背景最近看了 Chrome Dev Summit 2019 大会视频, 了解到了很多之前不知道的 CSS 新特性,挺有意思的。下面我就介绍几个激动人心的特性。正文特性总览:StickyStickey StackSticy SlideSticky DesperadoFocus-withinprefers-reduced-motionScroll SnapScroll Snap Hor...
发布了文章2019-07-19
在写大型项目的时候, 一不小心就会踩到直接循环依赖的坑里面, 所谓直接循环依赖, 是指在模块工厂函数中, 对其它依赖于自己的模块的成员有直接调用的情况. 比如:
发布了文章2019-04-19
Ink 是 React 在命令行中渲染系统的一个实现, 在 GitHub 上已经有 1w+ Star. 看着蛮好玩, 因此尝试着写了一个五子棋游戏, 经过若干天的划水, 终于初见成效了!
发布了文章2019-03-22
这一系列文章, 旨在描述面对一个从零开始的 B(C)/S 应用的时候, 如何去搭建一个业务无关的平台, 承载上层应用流量. 这里要强调这个平台的几个特点:
发布了文章2018-11-02
简介 此文描述使用cocos2d-x(js-binding)进行三端同步的游戏开发方案设计, 主要包含: 两种场景: native(Android/iOS) html5(canvas/WebGL) 三个问题: 开发: 开发时能够动态更新脚本文件, 类似于RN中的Live Reload 打包: 热更新支持(native), 条件编译, 代码混淆 热更...
发布了文章2018-11-02
最近开发遇到一个需求, 要把一串文字复制到剪贴板, 然后就看了下 github, 发现了一个 star 2W 多的库 clipboard, 想都没想就拉来用了, 结果发现这货真特么不是一般的难用, 特别是和 react 或者 vue 绑定的时候, 简直不想吐槽.
发布了文章2018-11-02
先上图为敬! 说明: 图中包括了大部分 DOM 接口及对象, 其中: 青色背景为接口, 蓝色背景为类, 灰色背景表示为 ECMAScript 中的对象 忽略了一部分对象, 包括: HTML/SVG 的具体元素对象 Canvas/WebGL/Video/Audio 相关 Event 相关 红虚线框内为 DOM 中关系比较复杂的部...
发布了文章2018-08-22
PHP 当中有许多很有用的魔术变量, 比如__CLASS__, __METHOD__之类. 但是typescript中并没有. 因此我写了一个插件typescript-magic-variable-plugin来使用它们, 源代码已经放到了GitHub上: [链接].
发布了文章2018-08-17
首先声明, 这篇文章是想说明一下最新版本的 TypeScript(3.0) 的新特性带来的极大的 React 开发体验提升. 而不是如何利用 TypeScript 开发 React 应用.
发布了文章2018-08-11
主要特性 前一阵重新组织了一下代码, 加了命令行help信息, 用起来更方便了一些 初步实现了豆瓣小组及用户相关的API爬虫和请求 基于requests和lxml, 没有用高阶的诸如scrapy之类的爬虫工具 所有的命令行输出都是标准的json格式, 可以使用jq操作 安装 仅支持python3 {...
发布了文章2018-05-25
在写游戏服务器中, 特别是卡牌一类的游戏, 经常需要让用户手动输入房间号加入一个房间, 为了用户友好, 这个房间号通常需要限定长度, 比如4位或者6位数字. 因此用数据库的auto_increment对用户不太友好, 其一是长度不固定, 其二是后期房间号会很长, 所以专门写了一个...
回答了问题2018-04-30
为啥不是直接增加两个表记录sum(num)? 一个是根据uid一个根据atime, 按道理这种日志式的数据写(只有create没有update)的次数会远远小于查的次数, 更何况是每个查询都sum, 相当于是每个查询都要迭代完整个result.
回答了问题2018-04-24
node-static {代码...} 使用: {代码...}
回答了问题2018-04-20
直接丢库里, 给聊天室打一个tag(与成员绑定), 标识其最后一次读取的时间戳, 或者消息id(如果消息id可以排序的话)
回答了问题2018-04-18
似乎很简单, 可以在 这里体验, 代码如下: HTML: {代码...} CSS: {代码...}
回答了问题2018-02-21
估计是无穷递归了, 查查调用栈
发布了文章2018-01-26
在写一个APP的过程中, 难免会遇到要做国际化的时候. 也就是需要根据不同的地区, 展示不同的文案. 对于简单的文本, 直接用一个xml或者json或者一个变量就能搞定, 但是有时候需要在一句话中加入变量, 就比较麻烦或者说比较恶心了. 比如这样的情况:
回答了问题2017-12-06
不果不跨域, cookie是同步写的, 无论是iframe, 还是不同的window或者tab, 任何一个页面修改了cookie, 其它页面就可以通过document.cookie拿到, 但是没法监听cookie的改变. 需要注意两点: 一是如果指定了path, 则不同path的页面拿不到, 二是如果设置了httpOnly, 则js...
回答了问题2017-11-04
如果变量foo($foo)不存在, PHP的empty($foo)不会报错, 返回FALSE, 而JS中!foo则会报ReferenceError`