主流JavaScript框架
在Web开发中,JavaScript框架是开发人员和企业最受欢迎的平台。上图是 GitHub 根据过去 12 月提交的 PR 数量来排名的,虽然不完全准确,但是 PR 起码代表了项目的热度与欢迎度。JavaScript高居榜首。
这有多方面的原因。一是本来 GitHub 上早期的一些开源项目都是 web 前端相关的。二是随着移动端各种跨平台框架的需求,js 被予以重任,如 React Native、weex 等。三是 js 领域各种框架层出不穷
2016年,JavaScript正在以惊人的速度前进,知道和了解更多的顶级JavaScript框架是十分必要的。
1.AngularJS在最受期待的AngularJS 2.0正式发布之后,框架的普及达到了一个新的水平。有多个版本的选择,跳到新版本仍然是一个冒险的决定。让我们通过这个流程图来帮助你做出决定:
由Google维护AngularJS具有构建web应用程序与众不同的能力。具备快速的开发步伐,容易的代码集成,完善的单元测试准备。
2.ReactJSReactJS,且由知名的Facebook团队维护。由于它能够在SEO、更简单的JSX、 ...
网络文凭,你想要吗?
古语:活到老,学到老。现代社会,学习的途径,方式发生了很大变化。自己也用过在线教育,收益不少。
互联网教育是未来的方向原文作者: 阮一峰 (说明:本文原载2016年第35期《财新周刊》。)
我一直相信,互联网教育是未来的方向。美国三个主要的在线教育网站—-Udacity ,Coursera,可汗学院—-我都经常访问。
今年四月,Udacity 进入中国,推出了中文版“优达学城”,一下子引起了我的兴趣。因为它干了一件没有先例的事情:颁发网络文凭。它办了一个网上的”硅谷大学”,自己发文凭,名称是“纳米学位”。
“纳米学位(Nanodegree)是优达学城此前与 Google、Facebook、亚马逊等互联网公司联合推出的学历认证项目。学员在线学习,所有项目考核合格之后即可获得纳米学位。”
现在总共有12种纳米学位,包括机器学习、无人驾驶车开发、VR 开发这样非常前沿的领域。
官网这样介绍:
“我们没有严格意义上的录取流程,对报名者唯一的要求是学习该纳米学位项目所必须的先修知识和技能。纳米学位项目采取自主学习模式,你可以按照你喜欢的速度完成项目。12个月内完成纳米学习,可以得到50 ...
opencart的coupon功能分析
opencart的优惠券,能够方便市场进行推广,具有灵活的使用限制,可以限制使用时间,订单最新金额,使用商品等。因而是一个是否实用的功能。
1. 开启coupon功能1UPDATE `setting` SET `value`='1' WHERE `key` ='coupon_status';
2. 购物车页面展示控制器catalog/controller/checkout/cart.php
1$data['coupon'] = $this->load->controller('checkout/coupon');//加载coupon使用的view
catalog/checkout/cart.tpl
123<?php if ($coupon) { ?> <div class="panel-group" id="accordion"><?php echo $coupon; ?></div>&l ...
opencart的ISO标准国家代码转换
国际标准化组织的ISO 3166-1国际标准是ISO 3166的第一部分,有ISO标准国家代码。1974年首次出版。每个国际普遍公认的国家或地区有三种代码,就是二位字母代码、三位字母代码、以及联合国统计局所建立的三位数字代码。
需求历史项目中使用了opencart的country表。但只有三位数字的代码,没有二位数代码。现在需要用到二位数代码。需要找到对应的二位数代码,进行一行数据修改。有245个国家,手动一个个国家修改费事,而且容易出错。
方法找到一个既有二位代码又有三位代码对应的国家表,获取到国家对应的二位代码,生成update语句。然后在自己项目中执行sql语句。这里需要用到mysql的concat函数
123//country表为ISO标准表,country_new为项目用的表select CONCAT( 'update country_new SET `iso_code_2`= "', iso_code_2, '" where iso_code_3="', iso_code_3,'"; ...
批量修改MySQL表前缀
原理利用MySQL中information_schema来批量修改表名
修改方法通过SELECT查询,拼接出AlTER语句,然后通过ALTER语句,RENAME表名
123456789101112//先检查是否可以查询到select table_name FROM information_schema.tables where table_name like 'oc_%'; //CONCAT 字符串链接select CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO pxk_', substring(table_name,3),';' )FROM information_schema.tablesWhere table_name LIKE 'oc_%';//得到ALTER语句,如下ALTER TABLE oc_address RENAME TO pxk_address; ...
做每周只工作4小时的程序员
时间对我们大家都是宝贵的,怎样在有限的时间提供效率,是我们每个人都值得思考的事情。
最近开发一个简单的功能,半天就能完成的工作,用了3天才完成。工作中被打断,验证影响效率。隔一天做开发同样的功能,又需要从头回忆昨天的思路。
每周工作4小时每个人都熟悉这种作息规律:早上9点去上班,坐在电脑前面,编一天的程序,下午5点下班回家。
如今,非常感谢蒂莫西·费里斯 (Timothy Ferriss)的《每周工作4小时》,我开始重新思考应该如何工作,如何让自己变成更有效率的程序员。
最近,我把我的从周一到周五的作息规律做了一次较大的调整。很长时间以来,我一直像所有其他程序员那样工作、休息。但就在2011年的下半年,我开始了一项试验,想看看究竟什么样的作息时间能让我更有效率。这项实验目前仍在进行中,我并不是像军人那样严格遵守实验规定——例如,我也想会早20分钟、或晚20分钟起床——但当前制定的作息规律是这样的:
早上4:30 到 7 点:冥想,写作,目标复查,和家人吃早餐早上4:30起床其实并不是你想象的那么难。每个人的个人情况都多少有些不同,但人的身体基本上需要每天7到9小时的睡眠时间。保证你睡眠 ...
慕课——互联网+教育时代的学习革命
MOOC慕课,英文为Massive Open Online Course,意为大规模开放在线课程。大规模指参与学习者众多 2007年是慕课孕育最重要的一年。美国David Wiley基于iki开发了“开放教育导论”,wiki技术奠定了良好的基础。 2002年,联合国教科文组织,首次提出“开放教育资源”OER概念。让教育资源可以自由查阅,改遍,通过互联网免费获得。
公开课视频公开课是重要的形式。主要的公开课资源有
可汗学院
TED
iTunes U
网易公开课
精品视频公开课,教育部国家精品公开课全球部分慕课平台
www.coursera.org
www.edx.org 哈佛
mooc.org edX google
mooc.et.nthu.ed.tw 台湾四所大学
www.ewant.org 五所交通大学
xuetangx.com 清华 学堂在线中国企业
网易
优酷
果壳
译言网
xMooc的教学原理检索性学习与测试 检索性练习是一种从短期记忆中回溯信息,以增强记忆力。频繁互动可以避免注意力分散精熟学习 Master Learning 美国心理学家Bloo ...
程序员如何应对工作时被打断
在工作中,我们经常被各种干扰打断,打断当前的思维后,很难很快再恢复到想要的状态。
打断的代价我每隔几个月就能看到另一位程序员被要求在工作时间不准使用耳机,或是总被会议打断以至根本无法工作,他对这些要求颇有些抵抗情绪。我担心随着年龄的增加,我们处理这些脑力工作和干扰的能力会有所衰退。
研究过办公环境下打断成本的调查员推测,被打断的工作相比没有干扰的工作要花费两倍的时间完成,并且出错量也是两倍。他们还发现,人们不得不在碎片化的状态下工作,因为57% 的工作都会受到干扰(详见 参考文献)。
对于程序员来说,干扰的影响和现状更不明显;通常被打断后重回工作状态至少要15分钟。采访程序员得出的数字大致相同。然而很多软件开发业界的知名人士已经在权衡:Y Combinator 创始人 Paul Graham 强调了员工日程和管理者日程的不同,37signals 创始人 Jason Fried 说,办公室就是要被打扰的地方。
研究程序员的干扰基于86位程序员使用 Eclipse 和 Visual Studio 记录的 10,000 个程序会话,并且调查了 414 名程序员后我们发现:
工作被打断的程序 ...
live800客服系统信任Url接口
应用场景现在网站都有客服系统,客服与user沟通时,掌握user的信息越多越方便沟通。这样就需要客服系统能够与网站的user系统对接,这样能够不用user告诉客服,就能够知道用户的order,account等相关信息。此时系统需要api接口与web端后台对接。
测试了live800客服系统,由于没有官方Api接口,自己手写一个,特记录一下,方便后人。
基本逻辑
在调用live800的js后面加入info信息,将userid和username等信息传递live800
在live800客服端设置信任url和key值
live800客户端请求信任url(/live-user),在客户端中加载此页面显示。
live-user页面对应控制器api/live/getUserInfo,在控制器中,需要验证用户key,防止信息泄露
代码如下12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626 ...
《程序员度量》
今天,在图书馆看了《程序员度量》,记录了其中一章的主要知识点,记录如下
一、合适的数据1. 程序员在核心职责方面做的如何
代码如何
设计如何
测试如何
2. 核心职责之外的贡献
能覆盖多少领域
是否足够主动
创新
压力应对
应对逆境的能力
3. 与他人的互动如何
是否展示领导力
是否激励队友
指导他人
理解和遵循方向的情况如何
能协助他人多少
4. 软件团队成功失败
成功度量的最佳策略是三要素,客户响应,质量指标和效率
5.度量数据
生产力 指完成工作的总量,多种方式测量。如测量函数LOC和不含注释的语句数NCSS,可以测量对象或者发布版本的提交数 应当将测试和测试开发的工作量纳入编码任务的复杂度评分
速度
准确性
二、技能度量1.输入数据
任务数
复杂度
未完成
产品bug
产品bug严重程度
工作领域,每个程序员工作过的产品领域
修复的问题,每个程序员修复的产品问题
中断,每个程序员在自己任务上呗明显打断从而响应请求的次数
帮助,程序员主动帮助他人的次数
加分,创造性和主动性的次数
2.进攻度量进攻度量用来衡量程序员帮助推进软件开发,团队和组织的靠近程度 建议每个开发迭 ...