不用去硅谷,来打一场码农的翻身仗吧~

1340_200

投递简历,加入极客圈

都说程序员是这个时代的抢手货,

相亲市场的winner、招聘市场的offer王,

可往往极客被簇拥,码农被冷落,

就像妹纸都宣称喜欢成熟的男人,

可人家喜欢的是大叔,而不是师傅。

 

继续阅读

用 visibilitychange 事件判断页面可见性 – 使用 PageVisibility API

这里了将介绍一下 页面可见性(PageVisibility)API的简单应用。

visibilitychange事件介绍

简单的说,浏览器标签页被隐藏或显示的时候会触发visibilitychange事件。

这个事件可以满足一些用户需求,比如标签页隐藏的时候停止播放音乐视频、停止一些不必要的轮询,还有停止一些诸如轮播等循环动画效果等等。这些可以节省服务器和本地的开销。

这个事件已经得到现代浏览器广泛的支持,不过一些老版本的浏览器需要加相应的前缀。

Chrome (Webkit) Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
13前缀webkit
33无需前缀
10前缀moz
18无需前缀
10前缀ms 12.10 最新的测试已经支持

注:Opera 12.10浏览器在最小化时不触发visibilitychange事件,也不将hidden属性设置为true.

document的可见性属性

Page Visibility (Second Edition)中定义了2个只读的document属性:hiddenvisibilityState。

其中document.hidden是一个布尔值,简单的表示标签页显示或者隐藏。而document.visibilityState属性更为详细,目前有四个可能的值: 继续阅读

[前端日报]推荐一个GitHub/GitLab 代码结构浏览插件-Octotree

Octotree 是一个浏览器扩展(Chrome,Firefox,Opera和Safari),用以显示GitHub/GitLab 代码结构(代码树)。可以非常方便的浏览项目源代码,这样不必把每个项目拉取到你的机器。浏览器浏览时就像使用IDE目录结构,也不必来回的前进后退。

项目地址:https://github.com/buunguyen/octotree
chrome-github 继续阅读

[前端招聘]蚂蚁金服招聘高级H5前端/容器开发工程师/专家

蚂蚁金服招聘高级H5前端/容器开发工程师/专家

薪资范围:15k-30k

工作地点:杭州,上海,北京

岗位要求:经验1-3年  全职

技术要求:javascript / css / html / html5 / node.js

岗位描述:

1、负责支付宝客户端内H5业务开发,包括但不限于支付基础业务、垂直行业应用、社交扩展产品等;

2、建设工具、提炼组件、抽象框架,促进前端工程化、服务化,持续提升研发效率,保障线上产品质量; 继续阅读

[前端日报]阿里的 echarts 来了 – G2 一套图形语法

G2(The Grammar Of Graphics) 是蚂蚁金服-体验技术部-数据图形组的开源项目,是一个由纯 javascript 编写、强大的语义化图表生成工具,它提供了一整套图形语法,可以让用户通过简单的语法搭建出无数种图表,并且集成了大量的统计工具,支持多种坐标系绘制,可以让用户自由得定制图表,是为大数据时代而准备的强大的可视化工具。

74AE98CB-4BED-46AA-B9B0-79A9BEE6950B

类似于百度的echarts ,提供了比echarts更多的扩展。

简单、易用便于扩展

G2 的图形语法为我们提供了一套非常自由简洁的创建图表过程,可以说是一句话画图;并且 G2 提供了更简单的可视化改变形式,对于使用者来说,用户仅仅改变非常少的配置就可以实现不同图表之间的切换。可视化形式的轻松改变可以帮助数据分析人员更佳容易的找到适用于他的数据的形式,进而发现数据中的规律。 继续阅读

用javascript比较语义化版本号

移动端APP第三方开发中经常会碰到一些因为版本不同而造成JS SDK或JS API差异或支持的问题。对于移动前端来说,在实际第三方开发中可能会需要根据APP的版本号做一些特殊的业务逻辑处理。

语义化版本号

一般语义化版本号通常定义是这样的:

Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]

主版本号            .子版本号              [.修正版本号       [.编译版本号  ]]

定界符一般使用.

语义化版本号比较方法

这样我们可以做版本号比较,这里提供一个粗陋的方法: 继续阅读

2016年度 JavaScript 展望(下)

本地移动 apps

在2015年,出现了一种新的基于 JavaScript 的移动应用开发类别:JavaScript Native。与基于 Cordova 或 PhoneGap 的应用不同,JavaScript 本地应用使用平台的本地控制与范型建立用户界面,无需涉及浏览器或 web 视图。

JavaScript Native 框架试图提供一种两全其美的方式建立 iOS 与 Android 应用:使用 JavaScript 编写程序逻辑(而不是 Java,Swift等),使用平台的本地用户界面 API 建立适应原生 OS 的应用,从而实现可能的最佳性能。

使用 JavaScript 打造的移动 apps 举例,点此获得源代码

React NativeNativeScript是2015年最早公开发布的两个 JavaScript Native 框架,后来者还包括 Fusetabris.js。自然,不同的框架提供了不同的功能。比如说,React Native 允许重用 React JavaScript 框架,而 NativeScript 允许直接调用 iOS 与 Android APIs。但是,他们都具备使用 JavaScript 搭建真正本地 apps 的高级方法。
继续阅读

2016年度 JavaScript 展望(上) 

在过去的几年间,JavaScript 这种原本用于 Web 浏览器端的脚本语言,越来越多地出现在更广泛的软件应用中。现在,JavaScript 可用作服务器端代码,运行 iOS 与 Android 应用,甚至控制机器人。很难想象还有什么软件生态系统是 JavaScript 没有影响到的。

JavaScript 之所以能在这些新领域长驱直入,很重要的一个原因就是性能。然而,几年以前,在服务器端运行 JavaScript 还是完全不可想像的。在2008年,谷歌开始开发浏览器,并进军 JavaScript 引擎世界,继而触发了一场性能大战,最终极大地提升了该语言的速度。最近的一些努力,诸如 asm.js 只是锦上添花罢了。

本文将会介绍,除了用 JavaScript 框架运行服务器端 JavaScript、创建移动 apps 以及桌面应用之外,未来将何去何从?文中将直接引述许多 JavaScript 解决方案的开发者之观点。让我们首先了解 Node.js 的发展,这或许是 JavaScript 的首个新领域。

Node.js

Node.js 是一款基于谷歌 V8 JavaScript 引擎的开源式运行时环境。尽管许多公司与框架都试图在服务器端运行 JavaScript,Node.js 却是首个大规模成功做到这一点的运行时环境。

从2009年首次推出开始,Node.js 的流行度可谓突飞猛进。使用 Ndoe.js 的公司数不胜数,而此前新近建立的 Node.js 基金会则包括 IBM,Intel,PayPal 以及 Microsoft 等巨头。Node.js 包管理器——npm,更是成为2014年软件世界中规模最大的包管理器,现在其包含的模块数是 Java 与 Ruby 等相似包管理器的两倍左右。

npm 包管理器的增长情况。图片来源:modulecounts.com 继续阅读

用 Chrome 调试 Android 下的页面

用 Chrome 调试 Android 下的页面虽然有点不符合国情,但是还是能解决一些问题的,所以记录一下。

首页在Android(4.0以上)设备上安装Chrome浏览器(版本>=32);

开启当前Android设备的USB调试;

在PC或MAC上安装chrome浏览器(版本>=32)和对应的Android设备驱动(如果找不到,可以在这个 列表 内尝试)

用USB线连接Android设备,在PC或MAC上的chrome地址栏输入 chrome://inspect 然后回车,或通过菜单图标→工具→检查设备,进入调试界面;如图:

DD8E06F3-D4A2-4FAD-A756-8D1652A8611C

勾选界面中的 Discover USB devices ,直到搜索到你的Android设备。

在移动设备上弹出的是否允许远程调试上,选择“允许”

在下面的页面列表(将展示已在Android上的chrome中打开的页面),点击对应的 inspect 开始调试

此时将在桌面版Chrome上弹出一个新的标签页,即为调试界面;如果很久都没用响应,请翻墙后再试