Node.JS用RSA签名算法公钥加密私钥解密,实现License软件授权验证
by ourjs keys JS学习 Node.JS 1558965941529
在Node.JS经常用加密算法对一些敏感用户数据进行加密,比如说用户密码。而且用户密码不需要考虑解密,如果用户遗失密度,重置成新的已经新密码即可。此时用不可逆加密算法即可,对比加密后的字符串即可。

还有一些应用需要解密出原内容的,比如说HTTPS的传输。使用公钥对HTTP请求进行加密,在服务器用私钥解密。此时需要用到不对称加密算法,在Node.JS中这种机制很容易实现:

Node.JS借助OS模块获取当前Windows系统用户登录名
by ourjs keys JS学习 Node.JS 1558340432960

Node.js os 模块提供了一些基本的系统操作函数。可以借助os对象获取系统基本信息:


$ node user.js
{ uid: -1,
  gid: -1,
  username: 'Administrator',
  homedir: 'C:\\Users\\Administrator',
  shell: null }
Node.JS在命令行中检查Chrome浏览器是否安装,并打开指定网址
by ourjs keys 编程技巧 Node.JS 1558333606904
使用Windows命令行cmd可以指定浏览器打开网址。在node.js中使用start即可,但是当用户没有安装Chrome时使用start则会报错,并会弹出错误对话框,Chrome默认安装位置为:

C:\Documents and Settings\{USERNAME}\Local Settings\Application Data\Google\Chrome\Application

我们还需要借助os获取Windows当前登录的用户名,如果没有安装Chrome的话,则用IE打开,最终代码如下:
Facebook发布全新JavaScript引擎Hermes:越来越像Java字节码,JS要统一全端?
by newghost keys JS学习 JavaScript 1563509511352
Facebook在Chain React 2019 大会上发布的一个崭新JavaScript引擎: Hermes,比传统JavaScriptJIT,即时运行的方式不同,Hermes需要先将JavaScript编绎成字节码,这一点很像是Java的方式。比测试可观察,Hermes引擎提升性能较为明显,使用预编绎,很容易得知这些提升所产生的原因。

  • 在应用程序可用的时间上,Hermes能提升一倍的时间效率(减少即时执行的语言解释过程)
  • 在安装包下载大小下,Hermes能减少50%的大小(JS被压缩成了字节码)
  • 在内存利用率上,Hermes能节省30%的内存使用(不需要在解释执行时额外产生的临时内存使用)
  • 用网页table thead tfoot元素完美控制页眉页脚显示内容打印的简单方式
    by newghost keys 编程技巧 前端 1557673865722
    目前对于网页的页眉页脚打印方面,浏览器还有很大的不足。之前可能有一些 借助css固定fixed位置的解决方案,但是效果都不太理想。

    但在最近chrome对table打印的更新中,增加了对 <thead> <tfoot> <th> 等元素的优化支持,把以前后面几页表格标题会被截断的问题解决了。 其实我们可以用这个特性来简单地实现页眉页脚的打印。
    微服务运维难维护?数据基础架构公司Segment宣布放弃微服务构架
    by ourjs keys 大话编程 分享 1557459142150
    很多人可能已经知道微服务已成为明日黄花,它曾经作为最佳实践为Segment公司起到很大作用,但是并不适合所有场所。
    简单说,微服务是将后台业务拆分成很多各自功能独立的面向服务软件架构,其模块化、减少测试压力、功能组合、开发团队自治等优点广为人知。与之对应的是单体式架构,即用单个服务为测试部署扩展提供所有功能模块。
    2017年早些时候,Segment产品开发遇到了问题。如果在每个部门继续采用微服务,不但不会加速开发过程,反而会落入复杂的泥潭。这种架构的优势反而变成了负担。最终,团队发现需要三个全职工程师才能确保这套系统运转,这种无法承受的负担必须改变。这篇博文就是回顾如何将产品和团队需求更好嵌入开发过程的回顾。
    jQuery用outterHtml获取相对innerHTML父一级包含其自身的html代码内容
    by ourjs keys JS开源 前端 1557188932567
    jQuery可以用html()来获取对应的innerHTML内容,但有时我们要获取其自身html代码,则可用原生的outterText, outterHtml属性。可以jquery对象可写成:

    $('.grid').prop('outerHTML')
    $('.grid').prop('outerText')
    JavaScript中将字符串true或false转换成Boolean类型
    by ourjs keys JS学习 JavaScript 1556256679552
    JavaScript中可以使用parseInt方法将字符串转换成整型。但布尔型没有相关方法。可使用JSON解析:

    JSON.parse("true");
    树莓派4对比测试:性能提升3倍启动时间反而变慢?TF卡成最大瓶颈
    by ourjs keys 技术前沿 分享 1561438036895
    全新的第四代树莓派(Raspberry Pi 4)发布了,是有史以来最强的树莓派,性能可比主流电脑。但国外某位小哥在做完性能测试对比发现,相比3B,提升最大的是外接USB3.0的读写速度,提升了6倍。但其它性能提升并不是特别明显,启动时间反而变慢了。

    道理很简单,目前RaspberryPi 只能从TF卡启动,TF卡的读写速度目前只有10~30M/s。因而完全无法发挥出树莓派4千兆网卡,USB3.0的速度优势。反而要加载更多的系统驱动,启动时间变慢也不足为奇。
     
    树莓派3B+将原来100M网卡提升到了300M,而不是千兆也是出于这个原因,因为最大只能利用到30M/s的传输速度。未来树莓派要有质的提升,可能还需要更小,更便宜的固态硬盘出现了。不过目前接外一个USB3.0的移动硬盘也是个不错的选择。
    jQuery用$.prop,$.attr方法来获取或设置checkbox当前选中状态
    by ourjs keys JS学习 JavaScript 1555422521248
    使用$.fn.attr来获取或设置html的checkbox元素的状态。但是界面上此复选框并没有反映到界面上,因为这个只是改变html的DOM结构,并不改变当前选中状态。这时使用 prop 即可

    $('#chb_data_binding').prop('checked', true)
    $('#chb_data_binding').prop('checked')
    > true


     近期热门 - 点击最多
    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