轶哥

📚 Having fun with AI Agent. Always learning.

    Node.js在VM环境使用ECMAScript modules
    •   更新:2021-03-04 15:28:35
    •   首发:2021-03-04 13:25:32
    •   JavaScript
    •   4071

    vm模块允许在V8虚拟机上下文中编译和运行代码。但是不是安全机制,如果有沙箱(sandbox)需求,可以考虑https://github.com/patriksimek/vm2

    在VM环境中使用ECMAScript modules,即在VM环境中可以用import代替require引入某个模块,避免Cannot use import statement outside a module错误,也可以用export代替module.exports

    我的使用场景:

    通过Node.js在VM环境使用ECMAScript modules之目的,是为了构建一个虚拟环境(可控的上下文内容)动态执行一些代码,方便在复杂系统中构建小型脚本动态的快速验证一些想法。

    https://github.com/yi-ge/api-proxy这个小项目中也有用到vm模块。

    Json Schema定义“既可以是对象,又可以是数组”
    •   更新:2021-02-06 23:46:41
    •   首发:2021-02-06 23:45:04
    •   JavaScript
    •   3652

    如果我想定义json的内容(root)既可以是一个对象,又可以是一个数组,应该如何书写json schema?

    这个问题换一种描述方式,“json schema定义了一个对象,但是希望内容也可以是这个对象的数组,如何书写json schema?”。

    例如,Typescript中:root: object | [object]

    例如,我希望数据可以是下面这样的一个对象:

    {
      "method": "GET"
    }
    

    也可以是这样的数组:

    [
      {
        "method": "GET"
      }
    ]
    
    JavaScript练习题
    •   更新:2021-02-02 22:03:23
    •   首发:2021-02-02 21:58:27
    •   JavaScript
    •   4375

    学习JavaScript绝佳的方法是阅读代码。阅读代码需要熟悉JavaScript的基本语法,包括作用域、类型及类型转换、原型链、函数、异步、闭包等内容。In-JavaScript-we-trust给我们提供了非常好的练习素材。

    赶紧自测一下JavaScript掌握得怎么样!

    H5在线练习地址https://js.wyr.me

    仅支持手机访问(毕竟做完68道题是需要耐心的,这是为了避免打开调试界面偷懒而设计)。

    NuxtJS中Axios的配置说明
    •   更新:2020-12-19 23:48:03
    •   首发:2020-12-19 23:48:03
    •   JavaScript
    •   5736

    nuxt.js中使用axios,推荐使用nuxt定制款nuxt/axios(https://axios.nuxtjs.org/)。相比原生axios有如下优势:

    • 自动为客户端和服务器端设置baseURL
    • setToken函数暴露给$axios,可以非常容易的进行全局Authentication tokens设置
    • 基于baseURL发起请求时,自动启用withCredentials
    • 添加用于服务器端渲染的Proxy请求Header
    • 支持使用axios加载CSS
    • Nuxt进度条集成
    • Proxi模块集成
    • 使用axios-retry自动重试请求
    适用于嵌入式设备的高性能PDF在线预览方案
    •   更新:2020-11-16 20:05:14
    •   首发:2020-11-12 23:49:23
    •   JavaScript
    •   5092

    desktop.jpeg

    对于内存较小的嵌入式设备或者移动设备(例如带屏智能音响,安卓、IOS平台的设备),在线预览PDF功能经常会导致内存溢出、应用程序闪退。

    对于非常大的PDF文档,一次性下载整个文档将消耗大量的时间,即使开启分段下载,PDF文档正常下载完成并加载,超大的内存占用也会导致设备运行卡顿。

    CryptoJS PBKDF2 AES对称加密
    •   更新:2020-10-18 23:58:23
    •   首发:2020-10-18 23:50:55
    •   JavaScript
    •   6870

    CryptoJS提供了和OpenSSL加密命令一致的AES对称加密方法,此方法基于EvpKDFSecret Passphrase 进行计算(This key derivation function is meant to conform with EVP_BytesToKey.),确保进行AES加密计算的key符合长度标准并提升AES加密的安全性。CryptoJS没有直接提供基于PBKDF2的AES加密方法,但在OpenSSL中提供了-pbkdf2参数并将该参数作为AES加密的推荐选项。

    JavaScript 安全计算
    •   更新:2020-09-17 18:02:17
    •   首发:2020-08-07 19:26:16
    •   JavaScript
    •   4447

    C/C++、Java、JavaScript等语言,都有计算不精准的问题。原因是这些语言在计算的时候遵循IEEE 二进制浮点数算术标准(IEEE 754),跟CPU浮点运算器有关系。

    WebRTC 安卓有视频无声音问题解决
    •   更新:2020-09-01 13:13:51
    •   首发:2020-09-01 13:13:51
    •   JavaScript
    •   6044

    昨日遇到客户反馈WebRTC在安卓平台出现有视频无声音的故障。

    1061598934819.pichd.jpg

    系统运行在Android 7.1平台,是小型公证一体机。采用自编译Chromium内核封装Web页面混合开发实现。

      上一页 下一页