ourjs

从 Node 到 Go:一个粗略的比较—GO平均性能比JavaScript快十几倍
by ourjs keys JS学习 分享 1507095957960

虽然我在大学时期和刚刚工作的一些时间在使用更严谨的编译语言,比如 C++ 和 C#,而后来我开始使用 JavaScript。我很喜欢它的自由和灵活,但是我最近开始怀念静态和结构化的语言,因为当时有一个同事让我对 Go 语言产生了兴趣。

我从写 JavaScript 到写 Go,我发现两种语言有很多相似之处。两者学习起来都很快并且易于上手,都具有充满表现力的语法,并且在开发者社区中都有很多工作机会。没有完美的编程语言,所以你应该总是选择一个适合手头项目的语言。在这篇文章中,我将要说明这两种语言深层次上的关键区别,希望能鼓励没有用过 Go 语言的用户有机会使用 Go 。

阿里涉嫌抄袭创业公司产品:在今天这个故事里,阿里巴巴就是四十大盗
by ourjs keys 大话编程 分享 1506646344090
昨天吴亮在知乎上爆料,阿里涉嫌以合作的名义套取『你今天真好看』的设计和技术方案,并全盘抄袭。

不好意思打扰大家的时间线了,因为工作太忙,我已经很久没有在知乎活跃,没想到今天因为这么一件事重回到大家的视野中。

在过去三年里,我和我们小团队,一直在埋头做一款叫『你今天真好看』的APP。关于我们创作它的故事,我之前的专栏里也有介绍,这里就不赘述了。

写这篇文章,是因为我们遇上了一件很糟糕的事。太令人难以置信了,我自己连说出来都觉得心很累:

阿里巴巴竟然以合作的名义,拿走了我们的技术方案,全盘抄袭了我们的APP。

迫于社区压力:React(Native)16将更换成MIT开源协议
by ourjs keys 大话编程 开源 1506339226575
近日,Facebook宣布 React,Jest,Flow 和 Immutable.js开源项目将更换成MIT协议,MIT是非常宽松的许可协议,开发者使用这些开源项目将不再面临法律风险。使用新协议的 React 16 将于下周发布。
Node也许不是构建大型服务的最佳选择—Node之父Ryan Dahl访谈录
by ourjs keys 大话编程 分享 1505962344473
我认为 Node 的非阻塞范式非常适用于没有线程的 JavaScript。而且我认为,回调有很多问题,您必须跳入许多匿名函数才能完成工作。对使用 async 关键字,异步功能的现阶段 JavaScript 来说,这个问题已经缓解很多了。因此一些较新版本的 JavaScript 使得完成工作更容易。我认为 Node 不是构建庞大服务器网络的最佳系统,我一定会用 Go 去做,这基本上是我离开 Node 的原因。实际上, Node 不是最好的服务器端系统。
WordPress、百度宣布停止使用React(Native)开源项目,Facebook开源专利许可潜在的法律风险
by ourjs keys 技术前沿 分享 1505704124235
7月16日Apache 基金会在 把 Facebook BSD+Patents 开源许可加入了禁止名单中。因为著名的开源项目 React 是基于这个协议的,那就意味着 Apache 基金会下所有开源项目都需要在 8 月 31 号前移除 React 相关代码。

BSD 的授权本身是简单,开放,没有限制的,但 Facebook BSD+Patents 在此基础增加了一个 专利协议。

简单来说就是使用React及其衍生项目的开发者,一旦对 Facebook 发起专利诉讼,则将失去使用 Ract 开源项目的的权利。Facebook将能够向你发起侵权诉讼。
Node.JS中如何快速扫描端口并发现局域网内的Web服务器地址(80)
by ourjs keys JS学习 Node.JS 1505207561228
在 Node.JS 中进行端口扫描还是比较方便的,一般会有广播和轮询两种方式。即使用广播和扫描,使用广播发出的消息有时会被路由器屏蔽,所以并不可靠。
使用node.js中的net模块,可以直接尝试向目录主机的某个端口进行连接,如果能建立连接,则说明该地址存在服务器。

var socket = new Socket()
socket.connect(port, host)
socket.on('connect', function() {
  //找到port 和 host 地址
})
Node.JS循环递归复制文件夹目录及其子文件夹下的所有文件
by ourjs keys JS学习 Node.JS 1504000543256
在Node.js中,要实现目录文件夹的循环递归复制也非常简单,使用fs模块即可,仅需几行,而且性能也不错,我们先来实现文件的复制:

var copyFile = function(srcPath, tarPath, cb) {
  var rs = fs.createReadStream(srcPath)
  rs.on('error', function(err) {
    if (err) {
      console.log('read error', srcPath)
    }
    cb && cb(err)
  })

  var ws = fs.createWriteStream(tarPath)
  ws.on('error', function(err) {
    if (err) {
      console.log('write error', tarPath)
    }
    cb && cb(err)
  })
  ws.on('close', function(ex) {
    cb && cb(ex)
  })

  rs.pipe(ws)
}

让Select选择框可编辑可输入可自动补全可下拉选择
by ourjs keys 编程技巧 Html5 1503025849015
Datalist是HTML5的原生标签,用于向input提供下拉和自动提示选项,支持输入和下拉选择两种方式。但是目前IE10及其以下浏览器并不支持, 并且IE11无法触发input和change事件。如果仅支持Chrome或Eletron桌面的应用则可以放心使用。
好处不需要引用额外的JS/CSS文件支持,示例:

<input list="cookies" placeholder="Type of Cookie"/>

<datalist id="cookies">
    <option value="Chocolate Chip"/>
    <option value="Peanut Butter"/>
    <option value="Raisin Oatmeal"/>
</datalist>
Bootstrap 4.0 Beta发布,不支持IE8/IE9,更新特性一览
by ourjs keys 大话编程 分享 1502979819134
Bootstrap 4.0新特性一览:
  • 从 Less 迁移到 Sass。因为 Libsass Bootstrap编绎得更快。
  • Flexbox和一个改进的Grid网格系统。几乎完全迁移到了flexbox。
  • 添加 cards 并移除 wells, thumbnails, panels。Card是一个全新的 Boostrap 组件。
  • Reboot: 一个normalize.css新的分支。
  • 全新的定制选项。如果要禁用圆角?只需更改一个变量并重新编译即可。
  • 放弃IE8和IE9的支持。
  • 用ES6重写所有的JavaScript插件。
  • 参考 Popper.js 改进自动提示插件,如tooltips, popovers, and dropdowns。
  • 使用Markdown重写使用帮助文档。
  • 新的build工具:使用 npm 脚本代替 Grunt。
  • 还有更多!自定义表单控件,新的 carousel,导航栏,HTML5的表单验证方式等等。
正则中test、exec、match的简单区别,以及括号的用法
by ourjs keys JS学习 JavaScript 1502527964778

1、当正则表达式无子表达式,并且定义为非全局匹配时,exec和match执行的结果是一样,均返回第一个匹配的字符串内容;

2、当正则表达式无子表达式,并且定义为全局匹配时,exec和match执行,做存在多处匹配内容,则match返回的是多个元素数组;

3、当正则表达式有子表示时,并且定义为非全局匹配,exec和match执行的结果是一样如上边的第5种情况;

4、当正则表达式有子表示时,并且定义为全局匹配,exec和match执行的结果不一样,此时match将忽略子表达式,只查找全匹配正则表达式并返回所有内容,如上第6种情况;

也就说,exec与全局是否定义无关系,而match则于全局相关联,当定义为非全局,两者执行结果相同


 近期热门 - 点击最多
  1. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
  2. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法
  3. TypeScript定义数字范围类型即仅包含【小时:分钟】的时间类型,每天指定时间点执行任务
  4. 比较测试:用百度文心一言和阿里通义千问写删除文件目录并且是async/await代码
  5. node.js使用TensorFlow入门教程二:什么是张量神经网络运算与矩阵的关系及基本入门代码
  6. node.js使用TensorFlow入门教程一:简介及工作原理环境安装及初始化
  7. node.js用saml2连接Identity Provider服务器完成Azure AD/Active Directory域帐号身份认证
  8. node.js中用typescript连接mongodb数据并设置断开后自动重启连接
  9. git 将本地仓库关连并push远程
  10. 在Windows10上创建node.js开机启动脚本服务Task Scheduler failed to start: Error Value: 2147943711.

  全端社区 - 最新回复
  1. Paddle/abbyy等ocr比较:如何将图片生成可选择文字版PDF
  2. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
  3. 如何用JavaScript获取某个元素copy selector的CSS选择器
  4. 青否数字人5.0上线,支持真人接管实时驱动!
  5. 遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!
  6. 比fs.watch更加优秀的Chokidar文件变化检测库
  7. HTML页面嵌入部分使用Vue3,在jQuery应用中用类似Vue2使用Vue3
  8. 克隆自己的数字人形象需要几步?
  9. Node.JS中Fetch/Axios连接Strapi服务器端localhost,Next.JS后端SSR请求返回connect ECONNREFUSED,但客户端CSR正常
  10. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法

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

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

OnceOA