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则于全局相关联,当定义为非全局,两者执行结果相同

好与坏的程序员
by ourjs keys 大话编程 分享 1501467906271

有感于知乎上的一篇关于程序员的讨论。让我突然之间心有戚戚然的感觉。最近一段时间有点江郎才尽的感觉,写不了大的主题,就写点小东西吧。

我们从知乎上面引用的这段小故事开始:

魏文王问扁鹊家里三兄弟谁的医术最好。扁鹊回答说大哥最好,二哥次之,他自己最差。魏文王疑惑了,又问道,为什么扁鹊最有名呢?扁鹊回答说因为大哥治病的时候人没病就防止了,所以毫无名气。二哥呢,病刚起来的时候,就给治好了,大家以为只能治小病。而自己呢,能耐不够,非要到了病的很厉害了才能看出来,治起来的动静就大了。好在还不至于庸医能治好,结果大家看到每次治的都是顽疾,反而出名了。

2017 开发者报告:Java最流行的语言,JavaScript最常用的语言,Go最有前途的语言
by ourjs keys 行业动态 分享 1500252175790

JetBrains 在 2016 年底至 2017 年初期间,对 5000 多名开发人员进行了调查,以研究最新的开发生态。

最近,调查结果已公布:Java 被评为最流行的语言,JavaScript 是最常用的语言,而 Go 被认为是最有前途的语言。



node.js使用unzip解压zip包指定文件,提取 word/excel (docx/pptx/xlsx) 文本内容
by kris keys JS学习 Node.JS 1498271495930
这里介绍最新版office文档内容提取的一些简单方法。对于docx/pptx/xlsx文档来说,其本身就是一些zip文件,只需要在node.js先将其解压,再解析其中存放内容的xml即可,如word中的: text.docx\word\document.xml。
我们可以直接使用 unzip 模块,来解压。使用前先安装 unzip。
npm install unzip
Linux下用node.js提取Word(doc/docx)/PDF文本内容
by kris keys JS学习 JavaScript 1497519067670
想要做全文搜索引擎,则需要将word/pdf等文档内容提取出来。对于pdf有xpdf等一些开源方案。但Word文档的情况则会复杂一些。 
我们这里使用了 antiword 开源软件,来提取word2003以前版本的内容,安装同样非常简单:

apt-get install antiword

 近期热门 - 点击最多
  1. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  2. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  3. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法
  4. Springboot+Gradle+Mysql+Jpa最简单实例教程
  5. SpringBoot+Spring6入门指南: 使用命令行快速搭建restful web api模板
  6. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
  7. node.js用activex/com+自动化读写excel时查询接口、参数的调试方法
  8. TypeScript定义数字范围类型即仅包含【小时:分钟】的时间类型,每天指定时间点执行任务
  9. 比较测试:用百度文心一言和阿里通义千问写删除文件目录并且是async/await代码
  10. node.js使用TensorFlow入门教程二:什么是张量神经网络运算与矩阵的关系及基本入门代码

  全端社区 - 最新回复
  1. 使用PubSub-JS时ReactNative在后台运行一段时间唤醒后,组件无法scribe到publish的事件,typescript实现一个事件订阅发布组件
  2. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别
  3. ReactNative获取Android/iOS的MAC/IP地址: react-native-device-info模块的安装与使用
  4. React Native使用fetch发送http登陆验证请求失败:无法读取set-cookie并显示network request failed
  5. 克服Redux的缺点在React/Native中使用消息队列,pubsub-js更加简洁的组件间通信和状态传递方法
  6. Springboot+Gradle+Mysql+Jpa最简单实例教程
  7. SpringBoot+Spring6入门指南: 使用命令行快速搭建restful web api模板
  8. Paddle/abbyy等ocr比较:如何将图片生成可选择文字版PDF
  9. 如何通过 winax 的 ActiveXObject 或 Excel.Application 往 excel 中插入一张图片
  10. 如何用JavaScript获取某个元素copy selector的CSS选择器

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

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

OnceOA