JSX 语法了解,我们为什么要学习它

传统的 MVC 是将模板放在其他地方,比如 script 标签或者模板文件,再在 JS 中通过某种手段引用模板。按照这种思路,想想多少次我们面对四处分散的模板片段不知所措?纠结模板引擎,纠结模板存放位置,纠结如何引用模板……下面是一段 React 官方的看法: We strongly believe that components are the right way to separate concerns rather than "templates" and "display logic." We think that markup and

MP4Box 借用HTML5 file api 本地读取 mp4 头信息

上一篇博文介绍了 html5 file api html5 提供了一套可以操作本地文件的 api ,但是有一定的局限性 必须由用户发起一个事件,所以你不要妄想着用户浏览器加载某个站点时,主动去读取他本地硬盘的资料....不可能的. 你的浏览器必须支持 html5 的 file api ,所以你也不要妄想去兼容IE6 用户发起行为比如: file upload 操作, 文件拖拽 等. 最近遇到一个需求 1.本地上传视频要保存到七牛服务器 2.提交切割视频任务 (大文件切割成多份) 3.返回视频截图 (按视频长短截取图片,供管理员审核视频内容) 七牛这边提供的有 j

HTML5读取 本地文件 File Api 使用

javascript 访问本地文件,已经成为可能. HTML5 file api 该规范主要定义了以下数据结构: File FileList Blob HTML5 访问文件和大部分语言是一致的,先获取文件句柄,然后调用文件访问接口,打开文件句柄,读取文件! 选择文件 首先检测一下当前浏览器是否支持File Api: function isSupportFileApi() { if(window.File && window.FileList && window.FileReader && window.Blob

node.js 下 promise 开源包 q 使用

promise 规范 可以让你从繁杂的 callback 中解脱出来. 如果我们在传统的 callback 中执行 5个 步骤,应该是下面这样的: setp1(function(res)){ setp2(function(res)){ setp3(function(res){ setp4(function(res){ setp5(function(res){ //终于执行完了 }); }); }); });

React Native 中文版 安装 入门 环境部署

要求 OS X - 当前仅支持 OS X 推荐使用 Homebrew 的方式来安装 nvm,watchman 和 flow。 安装 Node.js 4.0 或者更新的版本。 使用 Homebrew 来安装 nvm 或者参考 它的安装指南。 接着运行 nvm install node && nvm alias default node, 它可以让您安装最新版本的 Node.js 并设置您的终端,所以你可以通过键入 node 来运行它。使用 Nvm 可以让您安装多个版本的 Node.js 并且在它们之间轻松切换。 npm 的更新之处。 brew 安装 wa

React Native 学习 安装 Android 运行环境

React Native 安卓应用程序所需要的开发环境的基本安装步骤 安装和配置 SDK 安装最新的 JDK. 安卓 SDK brew install android-sdk 将它添加到 ~/.bashrc, ~/.zshrc 或者任何其他您的 shell 所使用的路径: export ANDROID_HOME=/usr/local/opt/android-sdk 启动一个新的 shell 并且运行 android ➜ /Users/zhangzhi >android Android SDK 生成工具版本 23.0.1 Android 6.0 (API 23

安装 nrm 自由切换 npm 源 国内镜像提升下载速度

之前写了一篇博文,关于如何把 npm 换到国内镜像员的博文,如下: 给电脑换 npm 国内镜像员 cnpm 为什么要换,你懂的! 今天给大家推荐一个 npm 开源包 nrm 基于 npm ,全局安装以后,你开源无缝快速切换几个源,提高下载速度,拒绝 loading ! 安装 npm install -g nrm 开源地址 https://github.com/Pana/nrm 使用 查看帮助 ➜ /Users/zhangzhi/code >nrm -h Usage: nrm [options] [command] Commands: l

[投稿] 深圳 南山区 高薪招聘 web 开发 攻城狮

坐标: 深圳 , 南山区 职位: web 开发工程师 岗位职责: 1、负责后台相关业务系统的设计和研发; 2、负责平台开放接口的设计和研发; 3、优化性能、维护现有系统的功能模块、扩展的基础框架; 任职要求: 1、本科学历以上,计算机或相关专业,2年以上工作项目经验;对javascript语言本身有较为深刻的理解。 2、 了解NodeJS及其相关框架 ,要求至少有1年以上的服务器端研发经验; 3、对数据结构和算法设计有一定的理解; 4、熟悉MongoDB或MySQL ,有较强的SQL编程、优化能力; 5、熟悉Linux,熟悉常用的Shell命令; 6、熟练使用Git代码管理工具及

node.js webkit 项目 开启node.js 桌面应用

为什么是 node.js 桌面应用 准确的说,这只是一个浏览器, node-webkit 项目是 chromium 和 node.js 搭建起来的本地运行时环境. 我们知道node.js 是javascript 在服务器端通过强大的 V8 引擎实现的. chromium 内置了 V8 引擎 所以 node-webkit 就这样结合起来了. 回到刚才的问题,为什么说是桌面应用 Node支持的与操作系统交互的功能,文件系统,网络 , 操作系统资源等, 以及Node之上的第三方库都可以在node-webkit中进行使用 所以他很像是一个桌面级应用,但是又有区别 和传统桌面应用不

node-webkit 项目中的 package.json 格式

node.js 既然是依靠google V8引擎驱动的,而chrome浏览器内置了V8,所以就诞生了 node-webkit 这样的项目. 它的执行宿主也是 浏览器,但是由于 node.js 的支持,我们可以轻松访问当前执行环境的OS ,这不就是PC 客户端程序的功能吗. 可见 node-webkit 项目利用了web UI 的优势,node.js 访问本地OS 的优势,从而用 javascript 实现了一个本地 客户端程序. 今天我们首先来看下一个简单的 node-webkit 项目中 package.json 中,各项所代表的意义. 实例: { "name": "Ser

Agreeing to the Xcode/iOS license requires admin privileges

错误描述 Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo. 解决方法 打开终端,输入 sudo xcodebuild -license 终端提示敲回车键(enter)打开许可协议 ,回车继续 终端提示 按下 “space” 键阅读许可协议,按“q” 不阅读 ,直接 q 即可 最终,终端会出现三个选项,agree 、print、cancel,不用想,能不是agree 吗!当然是输入agree,然后enter出自:Agreeing

mac 系统下 如何 彻底 删除 node.js

mac 系统下,如何彻底删除 node.js 网上找到一段脚本,可以彻底从你的mac上卸载掉node.js #!/bin/bash lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \ | while read i; do sudo rm /usr/local/${i} done sudo rm -rf /usr/local/lib/node \ /usr/local/lib/node_modules \ /var/db/receipts/org.nodejs.* 首先创建一个 shell 文件 nano

JSX语法及学习

文章目录 对比 为什么使用 JSX JSX 是 Javascript 代码里直接写XML的语法 JSX (Javascript XML syntax transform) 是使用XML语法编写Javascript的一套解析工具; X代表XML;也可以理解为扩展(eXtension),因为实现JSX功能本身就是使用Javascript; React建议使用JSX(但非必要) 实质上这只是一个语法糖,每一个XML标签都会被JSX转换工具转换成纯Javascript代码 React 官方推荐使用JSX, 当然你想直接使用纯Javascript代码写也是可以的,只是使用JSX

spawn exec方法 在 node.js child_process模块中的应用及区别 解决 Error: maxBuffer exceeded

node.js 的child_process模块中有两个方法spawn和exec,这两个方法都可以被用来开启一个子进程来执行其他的程序 既然两个方法的功能一样,那么究竟应该选择哪个方法。在本文中,我们将一起来探索spawn和我exec方法的不同之处,以便你在将来能够选择正确的方法 spawn child_process.spaen会返回一个带有stdout和stderr流的对象。你可以通过stdout流来读取子进程返回给Node.js的数据。stdout拥有’data’,’end’以及一般流所具有的事件。当你想要子进程返回大量数据给Node时,比如说图像处理,读取二进制数据等等,你

[投稿] 北京 中关村 高薪招聘后端攻城狮

你有招聘/求职机会,请联系 QQ:378989619 免费发布! 地点: 北京 坐标: 中关村 职位: 后端开发工程师 我叫刘大民,是敢玩的一名普通员工,刚刚我的总监找到我。 总监:“大民,我记得你简历里说你参加广告比赛得过重在参与奖?” 我:“是啊总监。” 总监:“那你会写文案喽。” 我:“啊?” 总监:“很好,你给我写个招聘文案,三点要。” 言毕,总监就转身走了,我低头一看手表,时间还富裕刚两点六十,发会呆再写吧…… 今天起晚了,10点才到公司,这月估计又得拿全勤奖了,才1000毛爷爷,穷逼公司真抠门…… 上午头脑风暴后去吃午饭,午休在二楼沙发睡了一个小时

lodash underscore 对象数组排序 sortBy 小记

关于 lodash 和 underscore 的对比看这篇帖子 今天分享一个关于 lodash 的排序小方法 _.sortBy([1, 2, 3], function(n) { return Math.sin(n); }); 上面是官方示例 默认排序方式是正序排列 如果你的数组是一个对象组合 var arr= [ {"key":"key1","value":"value1","createTime":"124573216"}, {"key":"key2","value":"value2","createTime":"124593216"}, {"key":"key3","va

gem install rhc mac环境安装 openshift 连接工具 rhc

什么是 openShift openshift免费空间是Red Hat的平台即服务的云计算平台(PaaS) 支持Java,PHP,Python,Perl,Ruby以及MySQL Database,phpMyAdmin,MongoDB NoSQL Database,Cron 1.4等应用 OpenShift服务器采用的是AmazonEC2数据中心,月流量不限制,且支持绑定顶级域名 目前Red Hat的OpenShift 上可以免费创建三个app,提供512MB内存和1G 存储空间,OpenShift免费空间的稳定性是有目共睹的 该空间在2012年十大优秀免费空间中排名榜首,虽然

SSH 数据转发 参数设置

SSH 是什么 ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器 ssh 既可以登录远程服务器,还能进行数据转发 今天就是要和大家分享关于 SSH 数据转发的功能 SSH 数据转发原理 ssh 可以绑定本地端口,实现一个 socket 监听. 当本地被监听的端口发过来数据时, ssh 会转发到远程目标服务器上,目标服务器将请求的到的数据再回发回来. SSH 参数 -1:强制使用ssh协议版本1; -2:强制使用ssh协议版本2; -4:强制使用IPv4地址; -6:强制使用IPv6地址; -A:开启认证代理连接转发功能; -a:关闭

使用 rhc 工具连接 openshift 服务器

上一篇分享了, 如何使用 gem 在mac 环境下安装 rhc工具 这一篇是关于 如何使用 rhc 工具连接 openshift 服务器 如何使用 rhc 首先运行 rhc setup ➜ /Users/zhangzhi >rhc setup OpenShift Client Tools (RHC) Setup Wizard This wizard will help you upload your SSH keys, set your application namespace, and check that other programs like Git are pr

angular.js 官方应用 angular-phonecat 下载 运行 学习

angular-phonecat 是什么 它是google 官方开发的一个 angular.js入门学习web应用程序. 此web应用程序是介绍 android 手机的一个站点 从哪里下载 angular-phonecat git 直接下载克隆项目 git clone --depth=20 https://github.com/angular/angular-phonecat.git 可以学习什么? angular.js 框架的构建,测试,学习 后端 node.js 的搭配使用 如何让它运行起来 首先安装 node.js 运行的依赖包 npm install 其中有几个

redis 如何处理客户端连接

redis如何处理客户端连接 redis 连接建立 Redis Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作: 首先,客户端 socket 会被设置为非阻塞模式,因为 Redis 在网络事件处理上采用的是非阻塞多路复用模型。 然后为这个socket 设置 TCP_NODELAY 属性,禁用 Nagle 算法 然后创建一个 readable 的文件事件用于监听这个客户端 socket 的数据发送 当客户端连接被初始化后, 会查看目前的连接数,然后对比配置好的 maxclients

http-server Angular.js 后端node服务首选 轻量级替换 Express 解决方案

http-server 是轻量级web服务 你可以轻松使用 http-server 替换 Express http-server 轻量级到什么地步 无需任何设置 也需不要你引用 轻松把当前所在目录架构成一个web服务 应用场景 angular.js 应用. 因为 angular.js本身作为一个单页面应用,首先需要加载这个单页面. 而这页面,一般是我们静态目录下的 index.hlmt 然后这个静态页面加载了 angular.js 前端框架 这时真正的路由控制已经掌握到了 angular.js 的手里 所以,你不需要像 Express 这样大的包来支持后端web服务

mac 下的 tree 命令 终端展示你的目录树结构

在 linux 下你可以很方便的使用 tree 命令来查看当前目录下的目录树机构. 但是在 mac 下,至少你需要安装一个工具. 开始,我从网上找到了一个shell 命令打印 tree 结构的方法. find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' 你可以在你的终端下,直接输入上面的shell 命令来查看当前目录的结构树 如何把它变成一个 命令,直接使用呢 我们想到了 alias 指定别名的方法 alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;___

招聘靠谱的后端工程师 2015年10月14日

你有招聘/求职机会,请联系 QQ:378989619 免费发布! 地点: 北京 年龄: 30以下 坐标: 中关村 职位: 后端开发工程师 我们找这样的你: • 精通PHP(Yii2), Python, Java, NodeJS中的其中一种或者多种 • 精通MySQL,PostgreSQL,Oracle中的其中任意一种 • 熟悉Redis,MongoDB等NoSQL • 熟悉HTTP,TCP/IP • 熟悉Unix环境 加分项目 算法 Docker 流媒体开发 前端技术,Bootstrap,Angular Github,StackOverfl

chrome 浏览器 console 加入 jquery 测试调试

让你的浏览器 console 加入 query 方便测试调试. 这样我们去操作 dom 就像 javascript 文件中书写代码一样方便. 而且查找结果实时输出到 console 中 你可以很轻松的发现 jquery 选择器是不是有误 操作的结果是不是你想要的 如何实现 你需要在你的 console 中引入一段 jquery var jquery = document.createElement(‘script’); jquery.src = “http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js”; docu

angular.js 中的如何实现了双向绑定,$watch $digest $apply 帮我们同步视图和模型数据

Angular.js 中的特性,双向绑定. 多么神奇的功能,让视图的改变直接反应到数据中,数据的改变又实时的通知到视图,如何做到的? 这要归功于 scope 下面3个重要的方法: $watch $digest $apply 他们的区别是什么,我们来介绍下: $watch 这是一个监听 scope 上数据的监听器 方法说明: $scope.$watch('参数',function(newValue,oldValue){ //逻辑处理 }) 上面我们就是创建了一个监听器. '参数' 就是$scope对象下的一个对象(或者一个对象的属性),注意,这里是字符串形式. 假如你

手机上 移动端浏览器如何不显示 pc 端的广告

前一段时间写了一篇博文, 关于微信内置浏览器不显示联盟广告 根据 window.navigator.userAgent 来判断当前浏览器是否是微信内置浏览器 window.navigator.userAgent=='micromessenger' 今天要分享的内容差不多,因为之前只考虑了微信浏览器的适配,回头在移动端浏览器打开站点,发现适配问题. 有的联盟会自动屏蔽移动端,但是有的联盟就不能屏蔽,所以只能手动去判断. 根据浏览器 userAgent 判断来源 安卓设备的的 userAgent 判断 navigator.userAgent.match(/Android/i) ip

git 如何获取指定 tag 代码

查看 关于git tag 操作方法 分享一个小知识点: git 如何获取指定 tag 代码 如果你本地有代码仓库 git tag //查看本地tag git checkout tag_name 如果你本地没有代码仓库 git clone git@xxx.xxx.xxx:/project_name.git git tag //查看本地tag 注意上面的git服务器地址,项目所在目录要替换 然后执行 checkout git checkout tag_name 如图: 你会看到提示: 当前处于一个“detached HEAD" 状态 ,每一个 tag 就是代

nginx 命令行参数 启动 重启 重载 停止

今天和大家分享关于 nginx 的一些参数使用 首先,你应该安装了nginx CentOS 安装 nginx 这是很早之前的一篇博客,可以参考. 之前,我们如何去操作 nginx ##简单粗暴法 pkill -9 nginx kill -TERM 主进程号 kill -QUIT 主进程号 现在我们是不是要从容优雅的去面对这些操作了 nginx -s 参数 -s 参数包括下列功能: nginx -s stop – 快速的停止Nginx nginx -s quit – 优雅的停止Nginx nginx -s reload – 重载配置文件 nginx -s

[投稿] 北京 朝阳门 高薪招聘 javascript 全栈 攻城狮

你有招聘/求职机会,请联系 QQ:378989619 免费发布! 地点: 北京 坐标: 朝阳门 3-5 年web开发经验 本科 职位: javascript全栈攻城狮 我们找这样的你: • 仰望星空,脚踏实地。 • 计算机、通信、数学等相关专业毕业,有激情有梦想有野心,结果导向。 • 扎实的技术功底,优秀的沟通能力,能够身先士卒完成产品迭代。 • 能从技术和工程的角度与产品团队有效沟通合作。 • 对Web frontend, server stack, API design, data visualization有较深研究 • 较好的英文沟通能力。 我

回到顶部