摘要: 虚拟机类型 栈式虚拟机 虚拟机会在其内部维护一个全局指令指针来指向下一条将要执行的指令所在位置。 堆栈机使用栈结构来作为暂存数据的容器,这使得我们无法对栈容器中的数据进行任意读取,我们需要遵循LIFO的数据操作原则来对数据进行处理。这导致无法从源代码直接生成最高效的虚拟机代码,因为对于某些较为复杂的 阅读全文
posted @ 2022-05-12 23:24 buzzjan 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 什么是 WebAssembly WebAssembly 是 W3C 规范定义的一个编码方式规范,2017年由 Firefox 和 Chrome 等实现了其MVP(最小可用)版本,WebAssembly 容器本质上是一个堆栈式虚拟机。 常见的虚拟机分为:堆栈式、寄存式、累加器式,主要区分在如何处理数据 阅读全文
posted @ 2022-02-12 23:05 buzzjan 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 前言 我们知道 WASM 和 HOST 环境(Browser)是通过线型内存共享空间的,所以本质上交换数据就是在这段共享内存中存和取数据,以及对数据如何编码。 这里又涉及到对应的 WASM 产物是如何在内存中存放数据的,例如下面的案例是在内存空间直接寻址提取和存放数据的 不同的数据结构(Array, 阅读全文
posted @ 2022-02-12 22:58 buzzjan 阅读(644) 评论(0) 推荐(0) 编辑
摘要: 当Promise 被 reject 且没有 reject 处理器的时候,会触发 unhandledrejection 事件; // 未处理 rejection new Promise((resolve, reject) => { setTimeout(() => reject('woops'), 5 阅读全文
posted @ 2021-03-18 10:17 buzzjan 阅读(8508) 评论(0) 推荐(0) 编辑
摘要: 简介 概述 场景背景:现在但凡有一点深度讲解的文章动辄上万字,当我们沉浸式阅读时,为了保证阅读质量会避免不必要的应用切换,但是又要做文章的摘要,uAid Clipboard 提供了这个功能,而你要做的只是选中句子右键复制,Clipboard 会帮你记录好,等你完成连续性阅读后再回过头来复习下看看你做 阅读全文
posted @ 2020-03-30 10:44 buzzjan 阅读(731) 评论(0) 推荐(0) 编辑
摘要: electron builder 在打包时会检测cache中是否有electron 包,如果没有的话会从github上拉去,在国内网络环境中拉取的过程大概率会失败,所以你可以自己去下载一个包放到cache目录里 各个平台的目录地址 Linux: $XDG_CACHE_HOME or ~/.cache 阅读全文
posted @ 2020-02-24 11:38 buzzjan 阅读(8511) 评论(1) 推荐(0) 编辑
摘要: 心得感悟 起初看到 WWDC 上的演示 SwiftUI 时,我就觉得 SwiftUI 有种陌生的熟悉感(声明式语法),所以体验下,看看有没有什么启发。 先说下整体项目完成下来的感受: 用 Swift + SwiftUI 开发 iOS 项目效率很高,本人之前没有接触过 Swift 语言,这次是从 0 阅读全文
posted @ 2019-08-27 11:17 buzzjan 阅读(6495) 评论(0) 推荐(0) 编辑
摘要: 出站台后前往火车到达层 西广场 的 旅游集散中心 走到西广场,右手边上扶梯 上扶梯后左斜边远处有一个黄底白字的牌子写着杭州东站旅游集散中心(全家右边) 进门后右边有一个安检入口,进去后那里是候车厅,走到底有座位可以坐着候车 微巴士在候车厅外面,按照自己买票的车牌号找到对应的巴士,按时出发即可 阅读全文
posted @ 2019-08-27 11:13 buzzjan 阅读(2693) 评论(0) 推荐(0) 编辑
摘要: 执行环境 macOS Mojave: 10.14.5 xcode: Version 11.0 beta 6 (11M392q) 预览效果 完整代码 代码剖析 利用闭包创建一个自增长的 ID 生成器 定义数据结构 Item 实现了 Identifiable 协议,用来在 List 中可循环遍历功能 每 阅读全文
posted @ 2019-08-27 11:10 buzzjan 阅读(774) 评论(0) 推荐(0) 编辑
摘要: 原文地址:https://mecid.github.io/2019/06/12/understanding property wrappers in swiftui/ @States 通过使用 @State 修饰器我们可以关联出 View 的状态. SwiftUI 将会把使用过 @State 修饰器 阅读全文
posted @ 2019-08-27 11:10 buzzjan 阅读(11640) 评论(0) 推荐(1) 编辑
摘要: 创建 UI 时的闭包使用 在 SwiftUI 里闭包出现的频率特别高,这里我重新梳理了下闭包的定义。 关于闭包 闭包表达式语法的一般形式如下: 闭包表达式写在花括号({})里,关键字in用来分隔闭包的参数、返回值与闭包体内的语句 闭包赋值变量 SwiftUI 里的闭包 在声明式的 UI 创建里大量使 阅读全文
posted @ 2019-08-27 11:08 buzzjan 阅读(1567) 评论(0) 推荐(0) 编辑
摘要: 在跑步机上跑步,身体是在不停的运动,但是脑子还处于空闲状态,总觉得可以做点什么,才不会浪费这 40~50 分钟的宝贵时间,因为每天的空闲时间不多,难得有大段的连续时间。 一开始我选择听歌,听网易云音乐里针对跑步的歌单,结果没几次下来就受不了,太枯燥了。 后来我就跟 Bilibili UP主,有平均 阅读全文
posted @ 2019-07-28 23:18 buzzjan 阅读(719) 评论(0) 推荐(0) 编辑
摘要: 刚刚买回来的 2018 款带有 touchbar 的 MacBook Pro 15 inc 在用 App Store 安装 app 时一直无法登录成功(网络链接都是好的),导致软件都无法更新,折腾了挺一会的。 后来发现是要退出设置里的 iCloud 登录,然后重新登录,重启电脑就可以解决问题了。 可 阅读全文
posted @ 2019-04-23 07:26 buzzjan 阅读(11224) 评论(0) 推荐(0) 编辑
摘要: 总结了下,发现这段时间看的书都是关于方法论类别的,需要好好的应用下了。从现在开始停止看关于方法论相关的书籍了。好好应用下学到的方法。历史书籍可以继续看下去。 阅读全文
posted @ 2018-02-25 17:40 buzzjan 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 前期准备 没有人知道自己的极限,不给自己设限。 你要坚信,只要人生不设限,成就和富足终会到来。 每个人都拥有相同的时间,而且,你在工作时间中所做的事情决定了你能收获什么。你做的事情取决于你的思考,这样你的梦想就会成为一个发射台,它将决定了你能取得多高的成就。 你不要畏惧志存高远,而是要恐惧平庸、恐惧 阅读全文
posted @ 2018-02-25 17:37 buzzjan 阅读(791) 评论(0) 推荐(0) 编辑
摘要: 总结 世界发展太快,越来越忙是必然的 减轻忙碌使用GTD方法(一条总原则,横纵两方法) 放空大脑,高效执行 横向管理所有要做的事,步骤:收集、行动、回归 纵向急迫单个项目:确定目标,收集完成目标的方法,时刻确定下一步是什么 为什么会越来越忙碌 一切都在快速的改变,现在的工作是知识工作性质,没有工作界 阅读全文
posted @ 2018-01-28 22:28 buzzjan 阅读(703) 评论(0) 推荐(0) 编辑
摘要: 买书如山倒,看书如抽丝???融会贯通 概要 什么是临界知识 如何掌握临界知识 学习知识心态 什么是知识 改变人的行为,认知的信息都是知识,玩游戏,看电视 临界知识 用有限的时间,去掌握那些被广泛应用的、重要的基本规律 低水平勤奋的怪圈,孤立,不系统,不利于记忆,效率低 进入新领域,先去了解临界知识, 阅读全文
posted @ 2018-01-28 22:27 buzzjan 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 习惯的主要性 我们大部分的决定不是深思熟虑做的,而是习惯性去做的,人生是无数的习惯的总和。 日常动作40%以上是习惯去做的,不费脑子,每天累计起来会改变自己的人生。 个人的习惯 了解习惯的形成,培养好的习惯,改掉坏习惯 习惯回路 信号 》 行动 》奖励 :暗示我们自己做出行为会有好出,结束后再次执行 阅读全文
posted @ 2018-01-28 22:25 buzzjan 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 书摘 成功=个人(智商、勤奋)+家庭(社会资源、情商)+社会(机遇) 尽量成为马太效应好的那一部分 先有10000小时的积累,才能抓住时机 成功是一个综合结果 成功离我很远,也许我连10000小时都做不到 那些IQ都很高的人为什么只有一部分人能走向成功?综合因素决定的 时代很重要。 上学的孩子的出生 阅读全文
posted @ 2018-01-28 22:03 buzzjan 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 我想我的2018年的关键词是:习惯、断舍离、新技能。 阅读全文
posted @ 2018-01-28 21:45 buzzjan 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 使用 apngasm 工具 下载地址 https://sourceforge.net/projects/apngasm/files/2.91/ 本地源码编译 make 或者 下载对应环境的可执行程序 命令行提示 示例 阅读全文
posted @ 2017-12-27 18:12 buzzjan 阅读(1714) 评论(0) 推荐(0) 编辑
摘要: 总而言之呢,docker 就是一个镜像的方案,你有了一些系统镜像后,然后用镜像启动一个容器,您可以做任何事,你有了镜像,然后你还可以反过来用容器生成一个镜像,或者使用 dockerfile 生成一个镜像,与大家分享。 常用命令 阅读全文
posted @ 2017-12-16 17:47 buzzjan 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 主要使用2个技术点:WebRtc 的 getUserMedia 和 MediaRecorder 注意点 开始录制调用 start 方法要传入一个采样间隔,这样录制的媒体会按照你设置的值进行分割成一个个单独的区块, 而不是以默认的方式录制一个非常大的整块内容. demo地址:https://young 阅读全文
posted @ 2017-12-13 11:31 buzzjan 阅读(1382) 评论(1) 推荐(1) 编辑
摘要: 参考资料: 《javascript权威指南 第六版》 《javascript高级程序设计 第二版》 写在前面的话 所谓的原型链就是一个一个的对象通过其\_\_proto\_\_属性连接起来的数据结构 (链)。这个数据结构对JS的继承很重要。 object a object b object c | 阅读全文
posted @ 2017-10-11 15:00 buzzjan 阅读(361) 评论(0) 推荐(0) 编辑
摘要: 一个简单的demo 我们知道websocket一种服务端推送技术,首先Websocket是基于HTTP协议的,或者说借用了HTTP的协议来完成一部分握手。后续数据传递是基于TCP的。 客户端代码 服务端代码 输出结果 细节 求头信息 从浏览器中可以看到ws握手的请求头信息 解释: 表示发起的是Web 阅读全文
posted @ 2017-09-24 21:25 buzzjan 阅读(8691) 评论(0) 推荐(0) 编辑
摘要: 使用Buffer对象,在创建Buffer,指定源的编码方式 当然如果是解析图片或者二进制数据的话,就不需要toString了,直接用创建好的 Buffer 就可以了。 Node.js 目前支持的字符编码包括: 'ascii' 仅支持 7 位 ASCII 数据。如果设置去掉高位的话,这种编码是非常快的 阅读全文
posted @ 2017-08-27 13:14 buzzjan 阅读(1403) 评论(0) 推荐(0) 编辑
摘要: curl 有时HTTP服务接口写完,需要验证下接口功能,这个使用用curl最合适了 curl 全称 command line url viewer curl www.taobao.com curl www.baidu.com 站点内容 curl o baidu.html www.baidu.com 阅读全文
posted @ 2017-07-26 15:40 buzzjan 阅读(1728) 评论(0) 推荐(0) 编辑
摘要: 分类 nodejs 的 stream 有四种: Readable:可读流 Writable: 可写流 Duplex:双工流 Transform:转换流 Readable 在 _read 方法里,可以调用 push 方法往缓冲池里放入数据,这里写的 方法是一个同步方法,获取完数据后立马再次执行 _re 阅读全文
posted @ 2017-07-26 15:39 buzzjan 阅读(569) 评论(0) 推荐(0) 编辑
摘要: TypedArrays 不是一个典型的 数组类型,所以不存在 splice 方法。但是可以模拟实现 阅读全文
posted @ 2017-07-24 19:49 buzzjan 阅读(199) 评论(0) 推荐(0) 编辑
摘要: stream 转 buffer buffer 转 stream 参考 stream to buffer: "https://stackoverflow.com/questions/14269233/node js how to read a stream into a buffer" buffer 阅读全文
posted @ 2017-07-22 22:48 buzzjan 阅读(9089) 评论(0) 推荐(0) 编辑