This_Wei

Come on!

概述

这篇文章介绍了在 JavaScript 中通过 WebAssembly 调用 C 语言编写的函数,以及在 C 代码中调用 JavaScript 函数。

web 使用 wasm 流程

在 web 项目中使用 WebAssembly 时,需要先编写 C 语言代码,然后使用 emscripten 编译成 .wasm.js 文件,最后在 html 文件中引入 js 文件,就可以调用在 C 中定义的函数。在 wasm 中是无法操作 dom 的,需要结合 js 使用。

graph LR;
C(C代码) ---> WASM ---> HTML
JS ---> HTML
C -.-> JS

注意:使用 emscripten 自动生成的胶水 js 文件是对 wasm 的实例化和调用函数的封装,方便使用,这个 js 文件中对各种运行环境(node、shell、web、worker)做了支持,实际使用时可以根据自己的业务需求,排除不需要的代码以缩小 js 文件代码量,或自己编写封装成 js 文件。

阅读全文 »

概述

WebAssembly 已经极 html、css、js 之后,成为 Web 平台的第四种语言,这篇文章介绍了 WebAssembly 的概念,特点以及使用场景,提供了一个将 C 代码编译成 wasm 并在浏览器访问的简单示例。

认识 WebAssembly

官网: WebAssembly https://webassembly.org/

中文网:WebAssembly 中文网 https://www.wasm.com.cn/

W3C 标准:

WebAssembly Core Specification: https://www.w3.org/TR/wasm-core-1/

WebAssembly JavaScript Interface: https://www.w3.org/TR/wasm-js-api-1/

WebAssembly Web API: https://www.w3.org/TR/wasm-web-api-1/

WebAssembly (简称 wasm),中文含义为网页汇编,是一种基于栈的二进制指令格式的虚拟机标准,它的设计目标包括:高可移植性、高安全性、高效率(包括载入效率和运行效率)、尽可能小的程序体积。WebAssembly 能够在主流的浏览器中运行,它的出现是为了解决前端项目 JavaScript 运行低效的问题。浏览器支持情况参考:Roadmap - WebAssembly

阅读全文 »

概述

这篇文章简要的介绍了一款开源的前端 js 框架——PreactJs,其特点是小巧且易用,仅 3kB 即可实现类似 React 的现代化前端 api,特别适用于存储空间有限的环境,比如嵌入式的 web 项目。

认识 PreactJs

官网: https://preactjs.com/

Github(star 34.6k): https://github.com/preactjs/preact

PreactJs 是 React 的轻量化、快速的替代方案,拥有与其相同的现代化 API,其优势在于:

  • 贴近实质:Preact 在 DOM 上提供了最薄的虚拟 DOM 抽象,在提供稳定的平台特性和注册事件处理程序的同时还确保其余其他库无缝兼容。Preact 无需转译即可在浏览器中直接使用。
  • 微小体积:Preact 体积小,意味着下载、解析、执行更少的 JavaScript,让开发人员专心构建用户体验,无需花更多时间在框架本身上。
  • 性能卓越:Preact 体积小,加载速度快,而且其基于树差异的简单、可预测而极快的虚拟 DOM 实现也提升了响应速度。
  • 即刻生产:Preact 轻量但不牺牲生产性,可以即刻部署到生产环境,甚至提供一些附加功能:
    • propsstatecontext 传递进 render()
    • 使用 classfor 一类的标准 HTML 属性
  • 生态兼容:Preact 的设计能够让您轻松、无缝的借用来自 React 生态中的许多组件。
阅读全文 »

概述

这篇文章是读完了石伟华的书《快速阅读:刷屏时代如何做到一年读300本书》后,做的笔记和写的一些感想。

关于本书

书名:《快速阅读:刷屏时代如何做到一年读300本书》

作者:石伟华

阅读全文 »

概述

这篇文章介绍了一个前端绘制矢量化图形的 js 库——RaphaelJs,文章阐述了 Raphael 中的基础概念,展示了一些基础的用法示例。

关于 Raphael

Created with Raphaël 2.3.0CircleRectEllipsePathImage

Raphael (读音:['ræfeɪəl], 猜测原意为拉斐尔,意大利文艺复兴时期著名画家),Raphael 是一个开源的、轻量易用的、跨浏览器的前端矢量绘图工具库。Raphael 基于 SVG 与 VML 实现图形绘制,所有使用 Raphael 绘制的图形对象同时也是 DOM 对象,可以修改它们或给它们添加 JavaScript 事件处理函数。Raphael 设计目标是跨浏览器和易用,现已支持的浏览器包括 Firefox 3.0+、Safari 3.0+、Chrome 5.0+、Opera 9.5+、Internet Explorer 6.0+。

官网: https://dmitrybaranovskiy.github.io/raphael/

Github: https://github.com/DmitryBaranovskiy/raphael

下载: https://github.com/DmitryBaranovskiy/raphael/releases

阅读全文 »

我的半马

2022年11月20日,我完成了人生中第一个半程马拉松,成绩2小时6分,这个成绩对于第一次参加马拉松比赛,而且只训练了一个月的我来说,已经算是突破自我了。在这里记录一下马拉松报名到训练到最终完成比赛的过程。

阅读全文 »

概述

这篇文章是阅读了布衣老师所著的《写字基本功》后的笔记,这本书不同于一般的书法书讲解字形字体,而是着重于讲解握笔的姿态,写字发力的方法,书中列举了很多常见的错误握笔与发力方式,详细的描述和丰富的示例,以及练习方法让读者能够快速掌握正确的写字姿势,从根本上提升写字能力,以求达到快速、轻松、美观的写字效果。

关于本书

作者

布衣老师,本名郑文彬,台湾桃园市人,研究硬笔写字教学二十余年,台湾各县市教师写字研习讲师。曾任台湾元智大学终身教育部“课后安亲教师培训班”讲师,美国旧金山“Wisdom 教育文化基金会”中文师资精进班讲师,新加坡教育部教研中心写字培训讲师等。所著《写字基本功》(繁体版)在台湾出版后,获台北市教育局 2009 年票选“教师年度十大好书”,连续两年在台湾网上书店获“艺术类”畅销书排行榜冠军。——豆瓣。

阅读全文 »

概述

工作效率是指在单位时间内完成的工作的数量,我们都想在有限的工作时间做出更多的工作业绩。提升工作效率对个人的好处是能够高效快速优质的完成比别人更多的工作,出色的工作业绩能增加升职加薪的机会。对于企业来说,提升工作效率能够提高生产力,提高企业生产效率,更少的员工完成更多的工作,使员工个人成功。这篇文件介绍了如何系统的提升工作效率。

低效的原因

  • 目标不清:茫然、盲目,不知道努力的方向
  • 行动不力:知道要做,但做不到
  • 习惯不好:上班看新闻,工作一会接电话,同时找你帮忙,有效工作时间很少。。。
阅读全文 »
0%