gitbook-kit 0.0.6更新

gitbook-kit README 由于Gitbook Editor的Mac版本存在一些bug,使用起来并不方便。当单个页面长度需要滑动时,每次删除都会异常卡、慢,令人困扰。Gitbook-Kit为VSCode添加了相关功能支持。 Since there're some bugs in Gitbook Editor(Mac version), I made this extension so that I could use VSCode as the gitbook editor. 功能 Features 若存在SUMMARY.md文件,自动激活插件 文档结构树支持编辑功能,可以增加、删除、重命名节点 文档借口树的变动会自动同步到SUMMARY.md文件中 SUMMARY.md文件发上变动时,左侧文档树会同步更新 Extension will be…

[招聘]支付宝-前端开发

支付宝,前端/全栈工程师。 服务万千商家,攀登技术巅峰。 If not you, who? If not now, when? 不要犹豫,发送简历至tianhaohao.th@alipay.com, 让天下没有难做的生意。 尝试写成一篇最真诚的招聘帖,不讲套话,不给兑现不了的承诺。尽量描述清楚我们在做的事情和技术架构,求志同道合者。有意者请将简历发送至: tianhaohao.th@alipay.com 我们是谁 我们是支付宝-商家体验技术与工程效能团队。我们正在进行一场研发模式的自我变革,尝试从“工程师直接支持业务”的传统研发模式,逐步转变为“工程师支撑研发平台,由外包加平台支撑业务”的新模式。我们有大量的自动化场景和新技术要探索和实践,团队极速扩张中,非常期待你的加入。 在做的事情 我们已经建成两大平台来覆盖一部分设计和代码工作,未来将进一步建设覆盖需求的平台,实现从需求到设计、再到编码上线的完整链路。 赤兔负责将一些简单需求自动生成能上线的页面或图片,无需工程师参与。 金蝉专门提供给外包和后端用来开发页面以及接口,…

格斗游戏引擎中的方向处理

格斗游戏引擎需要对两个场景的方向控制做处理,其一是玩家的输入控制,主要是考虑镜像的问题;其二就是键位映射。 为什么要做键位映射呢?因为角色的技能指令一般都是写在配置文件中的,但游戏时,玩家有可能会自定义按键,这样一来,配置文件中写入的可能是wsad代表上下左右,但玩家设置的按键则是edsf对应上下左右,此时只需要把edsf转换成wsad作为输入即可。而且,将来新增输入设备时,也只需要做类似的转义处理即可。 除了按键到引擎输入的映射转换,在游戏运行中,还需要根据角色的所处位置,对左、右做镜像的处理。当P1移动到P2的右侧时,原来的方向键“右”此时变成了“后退”,方向键“左”变成了前进。 综合考虑这两种情况,才能确保玩家输入 ---> 引擎解析的过程正确无误。…

Audio播放时报错

今天遇到一个怪异的问题,有个Audio元素,在执行play函数时,声音并没有正常播放,打开控制台后有报错: Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. 但开启控制台之后,刷新页面,音频播放正常。根据控制台的报错,似乎是浏览器限制了音频的自动播放动作,而音频恰恰就是在页面加载完毕后,由js脚本控制播放的。 试探性的使用timeout尝试了一下,果然,如果延迟500ms执行播放音频的动作,就不会再有报错,但如果延迟时间间隔太短,仍然会报错。 这应该是Chrome限制自动播放的策略导致的。…

node_modules中的js编译问题

昨晚遇到一个很奇怪的问题,在node_modules中引入一个第三方库react-svg-joystick,公司的电脑上编译没有问题,但在家里的电脑上却会编译报错,报错内容如下 Module parse failed: /Users/hoyt/vscode/FEngine/node_modules/_react-svg-joystick@1.0.0@react-svg-joystick/src/index.js Unexpected token (10:19) You may need an appropriate loader to handle this file type. 仔细查看了报错信息,很快就找到了问题,npm对node_modules中的库进行了link处理,编译器解析时访问的路径实际上是node_modules/_react-svg-joystick,库的名字带了一个下划线,正是因为npm的这个link行为,导致编译器实际上在处理_react-svg-joystick@1.…

FEngine: 2D格斗游戏引擎 && 编辑器

最近好久没更新博客了,因为最近在赶进度,初步完成了2D格斗游戏引擎FEngine的体验版,接下来会出一个专题,具体细节参见:https://github.com/hoyt-tian/FEngine/ 2D格斗游戏引擎 / 2D FighT Game Engine 特点 / Feature 基于Canvas绘图 based on Canvas 同时支持桌面和移动端 Support both desktop browser & mobile (any container support canvas) 支持自定义新角色 Support user defined new character 支持发布角色(未来支持功能)Support publish new character to chracter gallery 支持加载第三方角色信息 support load…

有效的括号序列

题目 给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ']', 判定是否是有效的括号序列。 样例 括号必须依照 "()" 顺序表示, "()[]{}" 是有效的括号,但 "([)]"则是无效的括号。 分析 很简单的一道题目,用栈进行匹配即可。 代码 public class Solution { /** * @param s: A string * @return: whether the string is a valid parentheses */ public boolean…

422. 最后一个单词的长度

题目 给定一个字符串, 包含大小写字母、空格' ',请返回其最后一个单词的长度。 如果不存在最后一个单词,请返回 0 。 分析 先不考虑特殊值,从后往前找,首先跳过尾部所有的空格字符,找到字符串中最后一位字母,记下坐标last,接着从last往前找空格,只要找到了空格i,那么last - i就是最后一个单词的长度。 也可能找不到空格,说明这个单词是从头到last都是字母,那么单词的长度就应该是last + 1。 然后再考虑蛋疼的null,以及单词数小于1的情况。 代码 public class Solution { /** * @param s: A string * @return: the length of last word */ public int lengthOfLastWord(String s) { // write your code here if…

415. 有效回文串

题目 给定一个字符串,判断其是否为一个回文串。只考虑字母和数字,忽略大小写。 样例 "A man, a plan, a canal: Panama" 是一个回文。 "race a car" 不是一个回文。 分析 先除去字母和数字以外的字符, 然后将大小写统一, 此时,只需要首尾互相匹配,若均一致,则是回文 代码 public class Solution { /** * @param s: A string * @return: Whether the string is a valid palindrome */ public boolean isPalindrome(String s)…

VSCode中调试Jest

在vscode中进行调试配置时,需要注意一下node版本,虽然在v6.12之后已经可以使用inspect,但如果protocol设置为inspector,会发现断点无法触发。 解决方式很简单,将protocol切换为legacy,同时调整相应的端口设置即可,如下所示。 { "version": "0.2.0", "configurations": [ { "name": "Debug Jest Tests", "protocol": "legacy", "port":5858, "type": "node", "request": "launch&…