jQuery|"lt"年级前3名
jQuery:lt()选择器可以帮助你实现所有的制定下标前的所有的元素。实例选择前4个之后的所有
技术梦想
Vue单元测试实战教程(Mocha/Karma + Vue-Test-Utils + Chai)
在《前端进阶之路:前端架构设计(3)-测试核心》这边文章中,通过分析了"传统手工测试的局限性"去引出了测试驱动开发的理念,并介绍了一些测试工具.这篇文章我将通过一个Vue的项目,去讲解如何使用mocha&karma,且结合vue官方推荐的vue-test-utils去进行单元测试的实战.一.安装我为本教程写一个示例库,您可以直接跳过所有安装过程,安装依赖后运行该示例项目:如果想一步步进行安装,也可以跟着下面的步骤进行操作:(一)使用脚手架初始化vue项目(使用webpack模板)//命令行中输入(默认阅读该文章的读者已经安装vue-cli和node环境)vueinitwebpackvueunittest注意,当询问到这一步Pickatestrunner(Usearrowkeys)时,请选择使用KarmaandMocha接下来的操作进入项目npminstall安装相关依赖后(该步骤可能更会出现PhantomJS这个浏览器安装失败的报错,不用理会,因为之后我
jQuery常见的选择器操作运算符
>表示直接子元素表示("parent>child")选择器选取指定元素的直接子元素的所有元素。$("div>p")
元素+表示相邻的元素$("div+p")每个
元素~表示同级的元素$("div~p")
元素:表示集合过滤的元素$("ulli:lt(3)")列举index小于3的元素$("ulli:gt(3)")列举index大于3的元素$("ulli:eq(3)")列表中的第四个元素(index值从0开始)$(":input")所有input元素$(":text")所有带有type="text"的input元素=表示属性值等于的元素$("[href='default.htm']")所有带有href属性且值等于"default.htm"的元素^=表示属性且值以指定单词的元素开头的元素$("[title
程序员的江湖,黑话一定要牢记
一,老板的黑话你来我办公室一下==老子又想到了绝妙的idea得专注用户体验==界面画的好看点产品气质不够年轻==饱和度通通调最高产品气质不够成熟==界面通通做成黑的产品不够大气==我也不知道哪不好反正就是不好要精致的感觉==抄苹果要利用用户的固有习惯==抄同行要追求流行设计趋势==抄微信/淘宝/滴滴…你说的这是另一个问题==我说的才是对的你说的跟我是一个意思==我说的才是对的我们讨论的是两件事情==我说的才是对的我们是弹性工作制==加班不给钱我们是扁平化管理==公司没几个人我们会给你很多期权==不会给你很多工资我们每天都有果盘!==可能是公司唯一的福利了当务之急是抢占市场==快狂发补贴快速建立用户群体的壁垒==快拉他们进微信群要让用户产生自发传播==快让他们转发朋友圈为了健康发展我们要启动下轮融资==公司没钱了我们辞退了一些跟不上公司发展的同事==公司没钱了打补贴战其实不符合我们公司的理念==公司没钱了我们在寻找合伙人=就差一个程序员了我们有绝妙的idea=
从求职角度看程序员的发展方向和薪资待遇
点击上方“程序人生”,选择“置顶公众号”第一时间关注程序猿(媛)身边的故事编者按:作者从程序员的发展方向和待遇这两个方面,浅谈如何从一个初学者成长为一名合格的程序员。相信看完本文,会对大家未来的职业规划和发展有所帮助。如果你是一名初学者,对编程非常感兴趣,想成为一名合格的程序员,不妨花几分钟时间来看一下。从初学者成长为一名合格的程序员需要一段时间的磨练,每个人付出的时间和做事的效率不同,我不好评判你需要多长时间才能学有所成。站在求职的角度,能开发出实用的软件、网站、APP等才叫学有所成。一、程序员的发展方向计算机涉及的知识非常广泛,不可能在短时间内全部学完,即使公司的CTO也不可能样样精通,初学者要选定一个方向,不要想着把客户端软件、网站、APP都开发出来,这在短时间内是不现实的。相信我,你不是神!1)Windows开发:主要是开发客户端(PC机上的软件),如QQ、迅雷、360等,需要学习C/C++、WindowsAPI、操作系统原理、数据结构、算法等。2)游戏
北京高逼格程序员指南
公众账号原文https://mp.weixin.qq.com/s?__biz=MzIyNjM3MzI4MQ==&mid=2247484248&idx=1&sn=aecdee43c427170df476141ca3dc54e4&chksm=e8703896df07b180a470cd5d09da3fa8df6241f6924b5cd4419e49aeb33a045719d8d4b6cb5f#rd
ROS初探:(一)ROS架构
一.ROS架构ROS架构上分为三个层级:计算图级(ComputationGraphlevel):体现进程与系统的关系,描述系统怎么运行。文件系统级(Filesystemlevel):组织构建程序文件。社区级(Communitylevel):开源社区,共享知识、算法和代码等。1.1计算图级计算图级包含:节点、节点管理器、参数服务器、消息、服务、主题和消息记录包。节点(node):主要的计算执行进程,可自行创建节点,加入网络。节点管理器(master):是节点通信的基础,用于节点的注册、查找。参数服务器(parameterserver):属于节点管理器的一部分,将数据存放在系统关键位置,节点可以获取这些数据来配置、改变自己的状态。消息(message):具有各种类型,节点间沟通传输的信息数据。主题(topic):一类消息的集合,节点可以发布、订阅主题。发布者和订阅者之间相互解耦,不知对方的存在。服务(service):区别于主题,服务用于节点直接向节点交互,获得请求或应答。消息记录包(bag):保存回放消息数据的文件格式。ROS创建一
MySQL查询某个列中相同值的数量统计
mysql前言今天突然想到自己写的课表查询Api没有加统计功能,因此今天加上了统计,记录了请求的类型、事件和时间,等新学期到来的时候就能用上了,毕竟刚开学同学们还是比较在意这学期都有什么课的哈哈哈,而且也能够丰富一下文经课表产品页的内容。不过光统计到数据库也没用啊对不对,起码要加个获取每个请求类型的总次数,方便显示出同学们更注重查询哪一方面,能为后面的优化指出方向。正文既然有了需求,那就分析一下,假设站在了客户和程序员的角度上来看:客户的语言:获取每个请求类型的总次数程序员的语言:查询某个列中相同值的数量统计ok,写了这么多的铺垫终于点题了,那么就请出mysql的统计大佬:count,让它写用代码的语言展示一下代码的语言:select`type`,count(1)ascountsfrom`api_count`groupby`type`解析select`type`,//查询某个列count(1)ascounts//相同值的数量统计到(as)某列中from`api_count`//来自
Npm vs Yarn 之备忘详单
有则笑话,如此讲到:“老丈人爱吃核桃,昨天买了二斤陪妻子送去,老丈人年轻时练过武,用手一拍核桃就碎了,笑着对我说:你还用锤子,你看我用手就成。我嘴一抽,来了句:人和动物最大的区别就是人会使用工具。……”。撇开这样特例场景,这句话还是非常用有道理的;毕竟从远古石器时期或更早,到如今,所言之语,所穿之衣,代步之车,所学的知识,所晓的常识…..皆是工具;可以说绝大部分人之间的差异(天才级除外),仅在于工具使用之优劣罢了。在工具的使用中,很多人极大程度上停留于会用层面,如若不遇到问题,几乎就处于停滞;这本身倒也没有问题,但可能因为没有透彻的了解,而错失了对该物可以拥有的想象力,从而错过了许多本该有的美好,如此的可惜。坦白说,在从事前端方面工作,蛮长一段时间内,就因缺乏对Npm有足够的认知,使得后来对其诸多讯息,颇感「相见恨晚」;在本篇中,将客观陈述Npm与Yarn的各自功用,以此显出两者间的差异;同时,以比较的形式,列出「常用命令清单」,以方便使用之时,作为参考(将陆续更新以完善);同时也欲借此,再次倡导那经典名言:「工欲善其事,必先利
JavaScript 中的继承:ES3、ES5 和 ES6
首发于天方夜谈写文章登录JavaScript中的继承:ES3、ES5和ES6天方夜5hoursago选择一种继承方式JavaScript是一门动态语言,动态意味着高灵活性,而这尤其可以体现在继承上面。JavaScript中的继承有很多种实现方式,可以分成下面四类:Mixin模式,即属性混入,从一个或多个对象中复制属性到新的对象中方法借用模式,即通过call或apply实现方法的重用原型模式,使用Object.create方法直接以一个对象为原型创造新的对象类模式,实际上是使用构造函数或ES6class前三种有一个共同点,就是没有“类”的概念,它们在适当的场景下非常有用,不过也因为没有类,缺失了很多经典面向对象继承的要素。例如父子对象之间没有严格的传承关系,即不一定是is-a的关系,这决定了无法将它们直接应用在面向对象分析与设计方面,可以说它们并不是真正的继承,而是介于继承和组合之间的代码复用方案。而第四种,类式继承,无论是使用构造函数还是ES6加入的class,都能表达明确的继承关系,在需要对继承
云集优站,尽在「倾城之链」
“1975年二、三月间,一个平平常常的日子,细蒙蒙的雨丝夹着一星半点的雪花,正纷纷淋淋地向大地飘洒着。时令已快到惊蛰,雪当然再不会存留,往往还没等落地,就已经消失得无踪无影了。黄土高原严寒而漫长的冬天看来就要过去,但那真正温暖的春天还远远地没有到来”,路遥先生,在伟大的著作《平凡的世界》的开篇中,如此写道。又一天结束了。除过又增加了一堆揉皱的为纸处,眼前仍然没有一个字。第三天重蹈覆辙。三天以后,竟然仍是一片空白。叫天天不应,叫地地不灵。开始在记谙不停地转圈圈走,走,走,像磨道的一头驴。从高烧似的激烈一直走到满头热汗变为冰凉。冰凉的汗水使燃烧的思索冷静了下来。冷静在这种时候可以使人起死回生。——路遥《早晨从中午开始》故事的起源那些年,在搭建这个人博客平台——晚晴幽草轩之时,就有深刻的认识到:当今时代,即便是再小的个体,也当有自己的品牌;这一观点在过去很多文章中,都有极力的去呈现、宣扬。然而,这种影响力毕竟有限,况且对于那些优质品牌,也无法起到实质性作用。要知道,当今时代,最重要莫过于「信息」;对信息的承载,可以说绝大部分是来源于
overhang.js,一款顶部通知栏
图片.png可以说,上述的demo展示,已经充分体现了overhang.js的强大之处了,它的使用如下所示,可以看到它是基于Jquery的:1、引入文件
web前端vue:vue父组件向子组件(props)传递数据
vue页面结构在做项目的时候常常有这样的一个情况,这个页面的数据(比如:id号)要带到另一个页面去查询某个数据的详情等,传统的作法不是在url上加参数,cookie或者是现在H5的“sessionStorage”和“localStorage”上赋值,这是页面之间传递的方法。随着Angularjs,React,Vue的流行组件式的开发方式成为另一种不错的解决方案。最近就有一些小伙伴问我,vue组件之间是如何传递参数的?其实vue是有三种方式可以组件之间传递数据(props,组件通信,slot),这次就说第一种方式如下:a父组件内容:引入b子组件importbform'b.vue'components:{'b-div':b}//注册,只能在当前a组件里使用
vue vue-router vuex element-ui axios的学习笔记(十六)写express Server
选区_003.png2、先说一下大概用到的包package.json{"name":"nodeserver","version":"1.0.0","description":"expressmongoosenode-server","main":"app.js","scripts":{"test":"echo\"Error:notestspecified\"&&exit1","start":"nodemonapp.js"},"author":"lytton","license":"ISC","dependencies":{"body-parser":"^1.18.2","express":"^4.16.2","express-promise-router":"^2.0.0","formidable":"^1.1.1","mongoose":"^4.13.7","morgan":"^1.9.0","nodemon":"^1.14.1","shortid":"^2.2.8"}}因为我写的时候
【博客美化】新年啦,给自己博客加个雪花效果吧~
前言今天是2017的最后一天,首先祝福大家新年快乐,能在自己新的一年里开心快乐,幸福~。转眼间,又到了白雪飘飞的冬季,相信好多地方都下雪了吧~,突发奇想,给自己博客加上了雪花飘落效果。当然了,有写的不好的地方,大家打我就好~~效果预览http://www.cnblogs.com/yjlblog/(本来想着上传一个gif..好像是太大了...就上传失败了)食用方法添加js文件(1)前提是开通了权限哦,然后把xue.js文件上传到自己博客中;(2)创建画布(放在页尾);
写在2018前
最后一批90后也要成年了,00后马上就要粉墨登场了。今天是17年的最后一天,17年过的真快啊,园子里好多牛人的帖子还没看完,不知不觉就18年了,新年之际,在此分享这一些今年的一些收获和新一年的规划,希望对观看的人有些借鉴。回顾2017今年刚注册的博客园,之前都是在园子里看别人写的一些博客,后来想想咱们不能光索取,也得贡献一部分热量啊,所以就干脆注册了个账号,准备大干一场,不过发现不是那么容易的,想写的一些东西,发现园子里已经有很多了,而且写的还很漂亮;另一方面,主要自己肚子里货太少,这可能是主要原因哈哈哈~。言归正传,写了一两篇工作中实际用到demo,其中关于web调用client程序的,在网上和园子里确实也搜到不少文章,好多都是千篇一律,甚至有些干脆就是copy别人的文章(强烈鄙视!),关键我都怀疑他试没试过,有些人写的很赞值得推荐,但是都和我自己想要的有些差别。这些文章基本上都是介绍如何添加一个协议,然后如何调用,很多人觉得这就足够了,但是我传多个参数呢!?参数传入后是什么样子的呢?好多相关文章都没有进行这方便的说明,也可能是我水平
视频演讲: 自然语言理解技术与智能问答实践
43:55概要智能问答系统是自然语言处理技术的典型应用场景。智能问答系统与专家系统的天然结合,让人工智能在生产生活的各个领域渗透到无所不在成为可能。在各种智能客服、智能助理、聊天机器人出现的今天,智能问答系统的架构、语义理解设计与算法、知识引擎的构建是这一领域的热点问题,也是决定商业成功的核心技术。本次演讲侧重于讲述智能问答中的自然语言的提问理解技术,从传统的搜索引擎的关键词查询与文本匹配,如何过渡进化到真正的语义理解,从而实现更具通用价值的智能问答产品,支持可扩展的商业应用。个人简介刘琳,Yahoo!Inc.Sr.EngineeringManager,毕业于清华大学计算机系,搜狗早期员工,前雅虎北京研发中心第一个工程师,在中美大型互联网公司11年的文本信息与自然语言理解研发管理经验。在跨国跨职能团队管理与从零组建,内部技术产品营销,多语言多客户的平台级产品架构等方面有非常丰富的经验。对互联网用户和产品有深厚的积累和了解,长期负责的查询理解自然语言处理平台,从原型系统做成今天唯一同时支撑雅虎搜索、搜索广告、
视频演讲: 如何在 2016 年高效的打造一个 aPaaS 平台?
概要什么是aPaaS?aPaaS能有效解决什么问题?美洽为什么要做aPaaS?美洽aPaaS——Triones的前世今生;产品层面的挑战;技术层面的挑战;运维层面的挑战;成果show;在线展示。个人简介李令辉,美洽CTO,资深互联网从业者,架构师和技术管理者。相信技术终将改变世界,小团队会创造奇迹,多年里从事与大流量,高并发的互联网架构设计和优化,以及大规模技术团队的组建和管理工作。现就任美洽CTO,正在带领技术团队打造世界上最先进的企业级aPaaS系统,之前于滴滴出行就任首席架构师,技术委员会主席,从无到有打造了滴滴基础架构部,百人团队,维护滴滴的核心服务,包括存储,检索,队列,支付系统,开发框架,运维系统,资源调度系统等。就任滴滴之前,于豆瓣网(世界最大的陌生人兴趣社交网站)担任架构师,负责豆瓣的核心系统:队列,分布式存储,支付,广告投放,分布式计算等。QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、上海、旧金山召开。自2007年3月份首次举办以来,
[新年第一弹]前端性能优化之缓存技术
缓存一直以来都是用来提高性能的一项必不可少的技术,利用这项技术可以很好地提高web的性能。缓存可以很有效地降低网络的时延,同时也会减少大量请求对于服务器的压力。接下来这篇文章将会详细地介绍在web领域中缓存的一些知识点和应用。从HTTP协议开始说起由于整个网络服务都是基于http协议的,因此先来介绍一下HTTP协议当中定义的缓存机制。HTTP协议主要是通过请求头当中的一些字段来和服务器进行通信,从而采用不同的缓存策略。一般来说,对于一个完整的HTTPGET请求缓存过程会包含七个主要的步骤:①从接收网络请求开始,②客户端会读取请求报文并且对报文进行解析,进而提取URL和各种首部,③然后将会查询是否在本地有副本,如果本地没有副本就会从服务器上获取一份副本并且保存在本地。④接着会进行查看副本是否足够新鲜(新鲜度检测),如果缓存已经失效就会询问服务器是否有任何更新,⑤服务器就会用新的首部和已缓存的主体来构建一条响应报文,⑥最后发送给客户端。⑦根据服务器的不同,会可选地选择创建日志记录该过程。具体的流程可以看下面这张图(该图来自
Ajax极简教程
推荐阅读微服务:springboot系列教程学习源码:Javaweb练手项目源码下载调优:十五篇好文回顾面试笔试:面试笔试整理系列一、什么是ajaxajax即异步JavaScript和XML,它是一种用于创建快速动态网页的技术。作用是通过在后台与服务器进行少量数据交换,使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。二、实现ajax基本步骤创建XMLHttpRequest对象,也就是创建一个异步调用对象.创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.设置响应HTTP请求状态变化的函数.发送HTTP请求.获取异步调用返回的数据.使用JavaScript和DOM实现局部刷新.三、ajax实现方式这里我们不做原生ajax的介绍,因为JQuery对ajax进行了封装。可以用少量的代码实现原生ajax的功能,同时又帮助我们解决了浏览器的兼容问题,没有道理不选它。$.ajax是对ajax最基础的封装,来看