在Windows平台上用命令行创建tar.gz压缩包和解压
by ourjs keys 大话编程 分享 1566375854395
如果在Windows上安装了Linux子系统,可以用Linux命令。 
创建.tar.gz
tar -czvf dwt.tar.gz dwt/
解压.tar.gz
tar -xzvf dwt.tar.gz -C tmp/
node.js函数如何获取调用者的文件目录路径: 用callsite获取错误堆栈的每一层文件名及路径
by ourjs keys 大话编程 分享 1565664498309
在node.js中有时侯会想从被调用函数中获取调用者的文件位置和路径。可以用以下方法。使用这个模块可以获取调用堆栈的文件目录

var path = require('path'),
    callsite = require('callsite');

module.exports = {
  someFn: function () {
    var stack = callsite(),
        requester = stack[1].getFileName();

    console.log(path.dirname(requester));
  }
};

华为鸿蒙操作系统想要取代Android几乎不太可能
by newghost keys 大话编程 分享 1565584063264

鸿蒙前两天吵的很热,媒体一片赞扬,不过个人认为,从鸿蒙的技术架构看,应该还是以面向嵌入式、工业、IoT场景的。鸿蒙想成为手机除Android/iOS之外的第三极操作系统,很难很难,几乎不可能。目前媒体对鸿蒙有些过誉,要小心被捧杀的风险。

    CentOS注册系统服务,添加自动启动脚本
    by ourjs keys 心得体会 分享 1570711771883
    CentOS7.x添加自动脚本比之前的脚本要显示。比如miner,首先以管理员用户创建一个新的服务文件
    nano /usr/lib/systemd/system/miner.service
    粘贴以下内容:
    [Unit]
    Description=miner

    [Service]
    ExecStart=/path/to/miner

    [Install]
    WantedBy=multi-user.target
    让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
    by ourjs keys JS学习 JavaScript 1564563777511
    pre显示文本内容时是不会自动换行的,此时可以添加一些CSS来解决:HTML中pre和textarea可以显示预格式化的文本。即保留空格和换行符。而不必添加<br>和&nbsp;等HTML元素来添加换行和打印空格。

    pre {
        word-wrap: break-word;
        white-space: pre-wrap;
        padding: 9.5px;
        background-color: #f5f5f5;
        border: 1px solid #ccc;
    }
    Node.JS的竞争对手?QuickJS入门教程,使用os模块读写文件,并将JavaScript编绎成可执行文件
    by ourjs keys JS学习 Node.JS 1563241334223
    QuickJS 是一个完全由C语言编写的极小型JavaScript引擎,支持跨平台运行,并且有一些Java的特质,可将JS直接编绎成二进制文件。内置的系统模块还可以直接读写文件,动态加载脚本。目前还不支持net模块,不过已经有人在pull request中提交了merge请求。不久将可以直接使用系统Socket或发送http请求,构建web服务器。

    由于非常精简,而且拥有JavaScript的全部功能,可以预见,QuickJS将是Node.JS在嵌入设备,尤其是低端设备上较强的竞争对手。
    在嵌入式设备树莓派上编译QuickJS教程:一个C语言编写的极简JavaScript引擎
    by ourjs keys JS学习 JavaScript 1563211266482
    QuickJS 是一个完全由C语言编写的极小型JavaScript引擎,作者是大名鼎鼎的FFmpeg和QEMU的创建者Fabrice Bellard以及C专家Charlie Gordon。QuickJS采用开源MIT协议,不限制商业用途。它是一个“小而完整的JavaScript引擎”,支持最新的ES2019语言规范。
    因为其复杂度要远远低于用C++编写的Google的V8和Mozilla的SpiderMonkey,因此非常适合在嵌入式设备上使用。
    因为完全由C语言编写,可以很方便地集成到一些著名的C语言程序比如,替换掉Redis和Nginx中的Lua脚本。
    由于可以单独将JS编绎成可执行文件,应用场景更加广泛。
    GO有语法缺陷,缺少泛型、public/private、三元运算符?我不喜欢 Go 语言的十个理由
    by ourjs keys 大话编程 分享 1561089850695

    Go 语言有多火爆?国外如 Google、AWS、Cloudflare、CoreOS 等,国内如七牛、阿里、知乎等都已经开始大规模使用 Go 语言开发相关产品,可以说它是近来风头最盛的编程语言之一。但再好的编程语言也不会是完美的编程语言,本文作者 Lawrence 使用了三年 Go 语言,并在这三年间参与了几个大型 Go 语言项目,但三年后他彻底放弃 Go 语言,而且不打算在新项目中使用它。

    Go 语言带给他的总体印象是:“好的方面非常好,不好的方面实在令人无法忍受”。Lawrence 在一篇博客文章中列出了他不再喜欢 Go 语言的十大理由,这篇文章很快在 HackerNews 上引发热议,下面就让我们一起来看看这十个理由到底有哪些。

    使用JavaScript的Proxy监听对象属性变化并进行类public/private的访问控制
    by ourjs keys JS学习 JavaScript 1559991024343
    Proxy是ES6的引入的一个对象监听机制。可视为JavaScript对象的一个代理中间件。用户在访问对象时,会触发自定义行为。
    Proxy最简单的用法是可以监听对象属性的变化,比如下面的,当 obj 的 visit 属性改变时,自动更新页面上相应的 input元素值。

    var obj = {}

    var handler = {
      set: function(target, name, value) {    
        //改变被代理对象的值,使之保持一致
        target[name] = value

        var input = document.querySelector('[name=' + name + ']')
        if (input) {
          input.value = value
        }
      }
    }

    var proxy = new Proxy(obj, handler);
    proxy.visit = 100
    JavaScript求一个字符串的字节长度
    by ourjs keys JS学习 JavaScript 1559174024852
    某些场景可能会对输入内容的字节长度有限制,比如说RSA加密算法。但 String.prototype.length 只会统计字符串的字符个数,并不是字节长度。

    同样的字符数,中文要比英文多占用1倍的空间。此时可以通过chartCodeAt来统计字符长度。

     近期热门 - 点击最多
    1. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
    2. Node.js 打印vite react+go项目目录树
    3. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
    4. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
    5. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
    6. React结合vite使用vue3,在纯typescript的react hooks中使用vue
    7. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
    8. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
    9. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
    10. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法

      全端社区 - 最新回复
    1. 在无管理员权限的情况下,使用安装Python补全pip临时配置环境变量;即零权限使用node.js/npm
    2. Python鉴权方法:Depends 依赖注入;装饰器;与基于Proxy模式的Session状态管理自动计算脏属性;将用户数据存储在Redis中
    3. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
    4. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
    5. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
    6. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
    7. Node.js 打印vite react+go项目目录树
    8. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
    9. Windows与Mac通过git ssh和rsync实现文件共享互传
    10. Windows与Mac通过git ssh和scp实现文件共享互传

      开源的 OurJS
    OurJS开源博客已经迁移到 OnceOA 平台。

      关注我们
    扫一扫即可关注我们:
    OnceJS

    OnceOA