OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

ourjs

GitHub2017年度开发者报告 JavaScript依然遥遥领先Python突飞猛进

分享 by ourjs 1508254683149

GitHub Universe 是 GitHub 的年度盛会,今年10月10-12日,GitHub Universe 大会在旧金山召开。同时,GitHub 也在其官网发布了 2017 年年度数据报告 —— GitHub Octoverse 报告。

可以看到,Python 已代替 Java 从去年的第三突进了第二,相比去年它新增了 40% 的 Pull Request。越来越多开发者在感慨“人生苦短” 了?

Java 则被挤下到第三位,不过 Java 9 刚发布不久,而且它的模块化特性深受开发者喜爱,霸主地位还是很难撼动的。

排名第一的依然是 JavaScript,而且远甩其他语言好几条街。联想到近几年前端技术的火热发展,所以并没有太大意外。

给checkbox选择框设置不选中时的值

JavaScript by ourjs 1507103636284
最简单的做法是为每一个checkbox设置一个隐藏的默认值即可,当同名的checkbox有值时,相应的值将会被覆盖,否则将会发送hidden的值

<form action="" method="post">
	<input type="hidden" name="cb1" value="0" />
	<input type="checkbox" name="cb1" value="1" />

	<input type="hidden" name="cb2" value="0" />
	<input type="checkbox" name="cb2" value="1" />

	<input type="hidden" name="cb3" value="0" />
	<input type="checkbox" name="cb3" value="1" />
</form>

从 Node 到 Go:一个粗略的比较—GO平均性能比JavaScript快十几倍

分享 by ourjs 1507098801274

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

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

阿里涉嫌抄袭创业公司产品:在今天这个故事里,阿里巴巴就是四十大盗

分享 by ourjs 1506648868818
昨天吴亮在知乎上爆料,阿里涉嫌以合作的名义套取『你今天真好看』的设计和技术方案,并全盘抄袭。

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

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

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

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

迫于社区压力:React(Native)16将更换成MIT开源协议

开源 by ourjs 1506341205476
近日,Facebook宣布 React,Jest,Flow 和 Immutable.js开源项目将更换成MIT协议,MIT是非常宽松的许可协议,开发者使用这些开源项目将不再面临法律风险。使用新协议的 React 16 将于下周发布。

Node也许不是构建大型服务的最佳选择—Node之父Ryan Dahl访谈录

分享 by ourjs 1505962347697
我认为 Node 的非阻塞范式非常适用于没有线程的 JavaScript。而且我认为,回调有很多问题,您必须跳入许多匿名函数才能完成工作。对使用 async 关键字,异步功能的现阶段 JavaScript 来说,这个问题已经缓解很多了。因此一些较新版本的 JavaScript 使得完成工作更容易。我认为 Node 不是构建庞大服务器网络的最佳系统,我一定会用 Go 去做,这基本上是我离开 Node 的原因。实际上, Node 不是最好的服务器端系统。

WordPress、百度宣布停止使用React(Native)开源项目,Facebook开源专利许可潜在的法律风险

分享 by ourjs 1505708775037
7月16日Apache 基金会在 把 Facebook BSD+Patents 开源许可加入了禁止名单中。因为著名的开源项目 React 是基于这个协议的,那就意味着 Apache 基金会下所有开源项目都需要在 8 月 31 号前移除 React 相关代码。

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

简单来说就是使用React及其衍生项目的开发者,一旦对 Facebook 发起专利诉讼,则将失去使用 Ract 开源项目的的权利。Facebook将能够向你发起侵权诉讼。

比特币江湖:交易被禁,中国势力控制51%矿池份额

分享 by ourjs 1505392258171

  GBG,一位美国计算机极客在推特上的昵称。

  最近四年,GBG 业余时间专注一件事:将任天堂 1985 年生产的游戏主机,改装成挖矿机,开挖比特币。

  根据规则,每 10 分钟,互联网上就会多出一个比特币加密数据块,全球所有的挖矿设备同时运算生成它,成功者,得比特币。

  每 10 分钟一次机会,可是,整整四年,GBG 一无所获,因为他的挖矿机太慢太慢!

  数千公里外的中国鄂尔多斯,无论寒暑,8 座长达 150 米的单层仓库,其中,7 个仓库摆放了 21000 台比特币挖矿机,另外一个仓库则放置了 4000 台莱特币挖矿机。每 10 分钟,疯狂运算一次,在这里,矿能约 25 万美元/天。

Node.JS中如何快速扫描端口并发现局域网内的Web服务器地址(80)

Node.JS by ourjs 1505210771582
在 Node.JS 中进行端口扫描还是比较方便的,一般会有广播和轮询两种方式。即使用广播和扫描,使用广播发出的消息有时会被路由器屏蔽,所以并不可靠。
使用node.js中的net模块,可以直接尝试向目录主机的某个端口进行连接,如果能建立连接,则说明该地址存在服务器。

var socket = new Socket()
socket.connect(port, host)
socket.on('connect', function() {
  //找到port 和 host 地址
})

Node.JS循环递归复制文件夹目录及其子文件夹下的所有文件

Node.JS by ourjs 1504004376526
在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)
}



分享到