聚合文章列表
17 浏览

使用ui-route实现多层嵌套路由

一、预期实现效果:https://liyuan-meng.github.io/uiRouter-app/index.html(项目地址:https://github.com/liyuan-meng/uiRouter-app)二、分析题目要求,给出依赖关系,构建项目1.service:(1)根据条件查询people数据checkPeople.service,不给出条件则查询所有。(2)得到路由信息getStateParams.service。2.components:(1)hello模块:点击button按钮更改内容。(2)peolpleList模块:显示people列表,点击people显示people详情。依赖于checkPeople.service模块。(3)peopleDetail模块:显示people详情,依赖于checkPeople.service模块和getStateParams.service模块。3.构建项目:如图所示:component目录用来保存所有服务模块和业务

JavaScript 2018-01-09 发布
16 浏览

漫话JavaScript与异步·第三话——Generator:化异步为同步

一、Promise并非完美我在上一话中介绍了Promise,这种模式增强了事件订阅机制,很好地解决了控制反转带来的信任问题、硬编码回调执行顺序造成的“回调金字塔”问题,无疑大大提高了前端开发体验。但有了Promise就能完美地解决异步问题了吗?并没有。首先,Promise仍然需要通过then方法注册回调,虽然只有一层,但沿着Promise链一长串写下来,还是有些让人头晕。更大的问题在于Promise的错误处理比较麻烦,因为Promise链中抛出的错误会一直传到链尾,但在链尾捕获的错误却不一定清楚来源。而且,链中抛出的错误会fail掉后面的整个Promise链,如果要在链中及时捕获并处理错误,就需要给每个Promise注册一个错误处理回调。噢,又是一堆回调!那么最理想的异步写法是怎样的呢?像同步语句那样直观地按顺序执行,却又不会阻塞主线程,最好还能用try-catch直接捕捉抛出的错误。也就是说,“化异步为同步”!痴心妄想?我在第一话里提到,异步和同步之间的鸿沟在于:同步语句的执行时机是“现在”,而异步语句的执行时机在“未来”。

JavaScript 2018-01-10 发布
22 浏览

CSS Grid和Flexbox解决实际的布局问题

就目前为止,CSS的Grid和Flexbox结合将是解决布局的最佳方案。虽然浏览器对CSSGrid和Flexbox的属性未完全支持,但对于实现布局而言,这已是一种非常完美的结合。如果CSSBoxAlignmentModuleLevel3能得到更好的支持的话,那么对于Web的布局将是一种福音。就前面学习的CSSGrid和CSSFlexbox,我们对CSS的Flexbox和Grid有了很深入的了解。特别是在《使用CSSGrid和Flexbox制作Card》一文中,已经见识到了CSSGrid和Flexbox结合对布局的巨大优势。那么这篇文章,将再一次向大家展现CSSGrid和Flexbox的强大之处。那是因为他们的结合将解决布局的实际问题。开始之前在深入介绍Flexbox和Grid结合优势之前,先来看看这样的一个需求。需要做一个响应式设计,这个设计效果看起来复杂,在不同的视窗中,改变顺序和布局的效果。这个设计效果看起来复杂,但用CSS的Grid和Flexbox来实现这样的布局,就会显得容易多了。先来看我们需要的设

CSS 2018-01-09 发布
AD 友情赞助
20 浏览

canvas进阶——贝塞尔公式推导与物体跟随复杂曲线的轨迹运动

写在最前在之前的这篇文章中我们提到了对于贝塞尔公式的运用。本次分享一下如何推导贝塞尔公式以及附一个简单的:chestnut:即小球跟随曲线轨迹运动。欢迎关注我的博客,不定期更新中——效果预览demo地址对于如何绘制连续的贝塞尔曲线可以参照这篇文章:基于canvas使用贝塞尔曲线平滑拟合折线段在本例中生成的曲线由以上文章中的源码提供。贝塞尔曲线公式推导上面这张图是贝塞尔曲线的完整公式,看起来一脸懵逼=。=,因为这是N阶的推导公式,本次我们以一二阶贝塞尔公式的推导来理解一下这个推导公式的由来。先来看下网上流传已久的几张贝塞尔动图:在这三张图中最重要的部分是我们需要理解变量t。t的取值范围是0-1。从上面的gif中也可以看出来似乎曲线的绘制过程就是t从0到1的过程。嗯其实就是这样的。t的真实含义是什么呢?在p0p1、p1p2、p2p3等等的起点到控制点再到终点的连线中,每段连线都被分割成了两部分(仔细看动图中的黑色、绿色、蓝色圆点),各段连线中两部分的比值都是相同的,比值范围是0到1,而这个

HTML5 2018-01-09 发布
19 浏览

每个前端工程师都应该了解的HTML5.2

一般在W3C当中.对版本的发布会经过四个阶段分别是:工作草案(WD)、备选推荐标准(CR)、提案推荐标准(PR)和最终的W3C正式推荐标准(REC).而当一个规范到达REC阶段时,就意味着它已经得到了W3C成员的正式认可,并推荐它由用户代理部署,前端工程师进行使用。现在,就在2017年12月14日W3C发布了HTML规范5.2更新版本,这个版本相对之前的版本来说有了一些增加和删除.对于这些变更,都可以在HTML5.2Changes这个页面上看到.而下面我会对这些变更中某些内容进行介绍.新增的dialog元素在HTML5.2中新增了dialog这个标签.来帮助我们快速实现一个对话框.在HTML5.2之前我们想实现一个对话框功能,大概的实现方式的是:一个div,先将它display:none隐藏掉.然后在需要的地方再讲其display置为black.这样就能控制一个对话框的显示和隐藏.而在HTML5.2中,你只需要这写:

我是对话框标题

我是对话框内容<

HTML5 2018-01-09 发布
29 浏览

优秀的程序员都是不用持续集成的

前几天我面试了一个码农,连续几个专业问题他都没答上来。尴尬之余,我问它:「你没有什么理想吗?你现在最渴望的事情是什么?」码农转悠着大眼睛,不假思索道:「做一个持续集成的自动部署!」真没想到在面试中居然还有这种操作。我问为什么这能成为现阶段最渴望的事情。他反问「你就没有改动代码频繁,deploy无数次到崩溃的夜晚吗?寂寞长夜,总想好好专心写写博客,宽慰下自己啊。」今天我就要做为一个不优秀的程序员使用持续集成。跟着本教程同步配置的前置条件:已经配置好了hexo博客。拥有一个仓库如:mtianyan.github.io\已经将博客的源码也push到了一个仓库如:hexoBlog-Github已经配置了使用gulp进行博文压缩。参考:推荐观看我的博文《Hexo+Next主题搭建博客安装美化及SEO优化指南》中将博客源码备份到github或码云与使用gulp进行博文压缩完成上述前置条件,虽然不是必须的,但是可以与我保持一致。减少错误。部分内容转载来源参考博客:https://www.karlzhou.com/2016/05/28/tr

程序员 2016-05-28 发布
AD 友情赞助
19 浏览

程序员的幽默

1.一程序员去面试,面试官问:“你毕业才两年,这三年工作经验是怎么来的?!”程序员答:“加班。”2.某程序员对书法十分感兴趣,退休后决定在这方面有所建树。于是花重金购买了上等的文房四宝。一日,饭后突生雅兴,一番磨墨拟纸,并点上了上好的檀香,颇有王羲之风范,又具颜真卿气势,定神片刻,泼墨挥毫,郑重地写下一行字:helloworld。3.问:程序员最讨厌康熙的哪个儿子。答:胤禩。因为他是八阿哥(bug)4.程序猿要了3个孩子,分别取名叫Ctrl、Alt和Delete,如果他们不听话,程序猿就只要同时敲他们一下就会好的。5.今天在公司听到一句惨绝人寰骂人的话:“你TM就是一个没有对象的野指针!”6.世界上最远的距离,是我在if里你在else里,虽然经常一起出现,但却永不结伴执行。7.正在码代码ing,医院回来的同事一脸的苦逼样子,问他怎么了?他回答:得了类风湿性关节炎了,我怕会遗传给下一代啊。我一脸的问号:谁说类风湿性关节炎能遗传的?丫一脸诧异:类不是继承的吗?8.我很奇怪客栈这个词,难道后入住的必须先退

程序员 1900-01-01 发布
26 浏览

数据库读写分离架构,为什么我不喜欢

RD:单库数据量太大,数据库扛不住了,我要申请一个数据库从库,读写分离。DBA:数据量多少?RD:5000w左右。DBA:读写吞吐量呢?RD:读QPS约200,写QPS约30左右。上周在公司听到两个技术同学讨论,感觉对读写分离解决什么问题没有弄清楚,有些奔溃。另,对于互联网某些业务场景,并不是很喜欢数据库读写分离架构,一些浅见见文末。一、读写分离什么是数据库读写分离?答:一主多从,读写分离,主动同步,是一种常见的数据库架构,一般来说:主库,提供数据库写服务从库,提供数据库读服务主从之间,通过某种机制同步数据,例如mysql的binlog一个组从同步集群通常称为一个“分组”。分组架构究竟解决什么问题?答:大部分互联网业务读多写少,数据库的读往往最先成为性能瓶颈,如果希望:线性提升数据库读性能通过消除读写锁冲突提升数据库写性能此时可以使用分组架构。一句话,分组主要解决“数据库读性能瓶颈”问题,在数据库扛不住读的时候,通常读写分离,通过增加从库线

软件架构 2018-01-09 发布
25 浏览

谈售前方案PPT编写(1.9)

今天谈下售前方案PPT材料的编写,对于软件类项目售前方案交流和讲解相对重要,一个是宣讲的材料,一个是宣讲过程两者都不能少。针对售前交流我原来一直的观点就是对于初次交流不要讲解PPT材料,先做非正式的沟通,沟通的目的是了解对方业务需求,存在的问题,项目建设的背景等信息,只有了解了这些才能够有针对性的准备售前方案材料。特别是对于ESB集成和实施类项目,一个售前材料能够满足所有客户讲解需求的情况会越来越少,一定要意识到这点。对于售前方案的准备,主要应该包括如下关键步骤:1.标准售前材料PPT材料准备首先还是要先准备标准版本的PPT宣讲材料,首先是统一标准的模板和呈现风格,其次是按照不同的产品,平台或系统分别准备不同的PPT宣讲材料。对于这类标准材料里面主要包括了公司简介,项目概述,业务解决方案,系统解决方案,实施方案,项目案例几个章节。每个PPT宣讲材料应该做到可以拿出去独立讲解用,比如对方只关心MDM主数据产品,那么MDM的宣讲材料就能够独立讲解。即使前期没有了解客户的详细情况,也可以对标准版本的PPT材料进行讲解而不需要做任何额外的补

软件架构 2018-01-09 发布
AD 友情赞助
18 浏览

CentOS 7 下 MySQL 5.7 的安装与配置

rpm安装包安装mysql源#下载shell>wgethttps://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm#安装mysql源shell>yumlocalinstallmysql57-community-release-el7-11.noarch.rpm用下面的命令检查mysql源是否安装成功shell>yumrepolistenabled|grep"mysql.*-community.*"

MySQL 1999-09-16 发布
22 浏览

MySQL 行锁 表锁机制

MySQL表锁和行锁机制行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整的很惨!不知坑在何方?没事,我来给你们标记几个坑。遇到了可别乱踩。通过本章内容,带你学习MySQL的行锁,表锁,两种锁的优缺点,行锁变表锁的原因,以及开发中需要注意的事项。还在等啥?经验等你来拿!MySQL的存储引擎是从MyISAM到InnoDB,锁从表锁到行锁。后者的出现从某种程度上是弥补前者的不足。比如:MyISAM不支持事务,InnoDB支持事务。表锁虽然开销小,锁表快,但高并发下性能低。行锁虽然开销大,锁表慢,但高并发下相比之下性能更高。事务和行锁都是在确保数据准确的基础上提高并发的处理能力。本章重点介绍InnoDB的行锁。案例分析目前,MySQL常用的存储引擎是InnoDB,相对于MyISAM而言。InnoDB更适合高并发场景,同时也支持事务处理。我们通过下面这个案例(坑),来了解行锁和表锁。业务:因为订单重复导入,需要用脚本将订单状态为"待客服确认"且平台是"xxx"的数据批量修改为"已关闭"。说明:避免直接修改订单表造成数据

MySQL 2018-01-09 发布
9 浏览

sql server 索引碎片整理

1.首先需要用sql查询出数据库索引碎片情况:SELECTOBJECT_NAME(ind.OBJECT_ID)ASTableName,ind.nameASIndexName,indexstats.index_type_descASIndexType,indexstats.avg_fragmentation_in_percentFROMsys.dm_db_index_physical_stats(DB_ID(),NULL,NULL,NULL,NULL)indexstatsINNERJOINsys.indexesindONind.object_id=indexstats.object_idANDind.index_id=indexstats.index_idWHEREindexstats.avg_fragmentation_in_percent>50ORDERBYindexstats.avg_fragmentation_in_percent

SQL Server 2018-01-09 发布
AD 友情赞助
10 浏览

Nginx 解决WebApi跨域二次请求以及Vue单页面问题

一、前言由于项目是前后端分离,API接口与Web前端部署在不同站点当中,因此在前文当中WebApiAjax跨域请求解决方法(CORS实现)使用跨域处理方式处理而不用Jsonp的方式。但是在一段时间后,发现一个很奇怪的问题,每次前端发起请求的时候,通过浏览器的开发者工具都能看到在Network下同一个url有两条请求,第一条请求的Method为OPTIONS,第二条请求的Method才是真正的Get或者Post,并且,第一条请求无数据返回,第二条请求才返回正常的数据。二、原因第一个OPTIONS的请求是由WEB服务器处理跨域访问引发的。OPTIONS是一种预检请求,浏览器在处理跨域访问的请求时,如果判断请求为复杂请求,则会先向服务器发送一条预检请求,根据服务器返回的内容,浏览器判断服务器是否允许访问该请求。如果WEB服务器采用CORS的方式支持跨域访问,在处理复杂请求时这个预检请求是不可避免的。由于我们的WEB服务器采用CORS来解决跨域访问的问题,同时在header中添加了自定义参数以及使用json格式来进行数据交互,导致我们的

Vue.js 2018-01-09 发布
16 浏览

jQuery基础

jQuery基础一、jQuery简介是一款JavaScript库方便地处理HTML、事件、动画等html:处理HTML文档中的DOM节点,如添加、删除等事件:通过jQuery对页面上的事件进行处理(绑定或解绑事件)动画:通过jQuery实现淡入、淡出、滑动等动画可以兼容多浏览器80%以上网站使用1.jQuery下载与使用①下载地址:http://jquery.com/②压缩和非压缩版本•Downloadthecompressed,productionjQuery下载压缩版本,用于生产•Downloadtheuncompressed,developmentjQuery下载非压缩版本,用于开发③使用:放在body的最后,防止影响性能④版本的选择:•V1.x•V2.x:不兼容IE6-8•V3.x:分为精简版和普通版⑤使用CDN•ContentDeliveryNetwork内容分发网络•https://code.jqu

jQuery 2017-04-03 发布
13 浏览

基于一个好玩儿的聊天室理解小程序 session 管理

panda-chat-room小程序版websocket聊天室。从服务器到小程序客户端配置基础教程。在本教程内我们将在小程序内实现一个基本的websocket聊天室,计划实现以下功能:微信用户登录「小程序session管理」:ballot_box_with_check:用户间文本交流「websocket实现」:ballot_box_with_check:用户间发送图片等富媒体信息「文件的储存及相关逻辑」:ballot_box_with_check:小程序已挂,原因是个人开发者无法提交信息交流类小程序,不过在本地运行demo还是没问题的。写的有纰漏的地方还请大家指出,在SF下留言或在本项目git内提issue,我们一起进步^o^聊天室基础配置小程序端的聊天室信息流其实非常简单,而本教程就借助一个好玩儿的小程序聊天室来进一步理解小程序中的session实现。我在服务器端环境搭建及配置主要参考腾讯云实验基于CentOS搭建微信小程序服务我们在此先要理解小

HTML5 2018-01-09 发布
17 浏览

前端完整教程,0 基础到中级水平,包括面试指导

应读者要求,需要前端学习资料,今天给大家准备了一套完整的学习教程,内容只包括基础和中级,高级的不在本次分享。本公众号所分享的学习资料均来自网络和某宝购买,如有其他问题,请留言与我,以便做相应处理。前端待遇怎么样?上图来自拉勾网在北京的前端工程师招聘信息,从图中可以分析出这两点信息:待遇方面还有什么担心的呢?技术点:js,HTML,node.js,web前端所以只要你技术过硬,有经验,找一份好工作不是问题。初级学习教程初级教程总览CSS3学习内容,17节HTML5学习内容,包括实战教程内容简介前端入门,没别的,就需要学习CSS3、HTML5、JavaScript这些标签语言,虽然写起来麻烦,但是这是必须的,习惯了也就没有这个感觉了。CSS3:基本标签、盒子模型等、基本效果实现。HTML5:基本标签和控件、常用API,实战一些常用功能。中级内容地址呢?本次的资料比较系统,内容从0基础到初级和中级分别面试指导,中间包括项目实战,这也是小编经过3天元旦假整

HTML5 2018-01-09 发布
16 浏览

6.前端基于react,后端基于.net core2.0的开发之路(6) 服务端渲染(SSR)

0.源码地址https://gitee.com/teambp/ScaffoldClient这个地址下载对应源码。1.服务端渲染是啥?就是在服务器进行页面渲染(废话),当页面展示后,显示的就是最终的页面。最简单的识别方式,你页面上的所有东西,在右键->查看源码后都可以看到(如果实现SEO的话)。2.服务端渲染的好处1.SEO2.首屏体验更好3.整体APP的体验,因为是先缓存所有,再进行加载,没有额外的资源需要加载3.文章做到了那一步首先,因为后台应用,所以并没有解决SEO的问题。。如果要解决SEO的问题,我的思路是,把需要SEO的页面跳转都用window.location.href跳转,然后把需要渲染的东西放到initState里,然后页面上读取initState进行页面组装,渲染,如果有兴趣,大家可以自己实现以下,这样基本可以实现SEO。然后,后台感觉非常的顺滑,因为所有页面控件都已经到js里面了,所以,跳转的时候,没有任何白屏,卡屏等等情况。这也是服务端渲染的优势。其次,因为服务端渲染要用到node,这样,你

.Net 2018-01-09 发布
14 浏览

ActiveMQ点击Queues选项报503错误的解决方法

今天在使用ActiveMQ时发现一个问题,因我的程序运行在Linux环境下,所以这里介绍一下如何解决Linux环境的方法。当我们在Linux中运行起来ActiveMQ了以后,我们在windows中打开服务器访问http://192.168.25.88:8161/admin/,这里将域名替换为自己的服务器地址,端口号8161是ActiveMQ自己的后台运行的端口号,这里不变,后面跟上admin进行访问,这里需要输入用户名和密码,两者都是admin,进入后就会看到这个页面了当我们点击导航栏的第二个按钮Queues选项时,则会出现503错误导致这个问题的原因是因为Linux系统中的hosts文件中没有映射到我们的主机名,这里我们需要手动配置一下。在Linux中使用命令cat/etc/sysconfig/network,可以看到我们的主机名我们可以把这个主机名拷贝下来,然后输入命令vim/etc/hosts进入到hosts文件中可以看到我们的127.0.0.1映射的主机名中并不包含我们当前的主机名,所

消息系统 2018-01-09 发布
24 浏览

史上最操蛋的5行代码?网友笑成一团

今天小编在网上看到了一个网友评出的史上最操蛋的代码?发表这个代码的大佬表示自己看到这5行代码时都哭了,而不少网友却表示干的漂亮。下面小编就把这五行代码分享给大家。程序员干的工作很枯燥,他们也需要娱乐来冲淡一下乏味的代码世界提提神,其实他们也很幽默,很风趣的。作为高收入人群程序员总是顶着无可厚非的压力。让人感觉程序员一般都是比较文文静静,老实巴交、带个眼镜、有个地中海发型的闷骚男。其实程序员也会有幽默的一面。if(m_doc->isModified()==true){for(inti=0;i<100;i++){save();//Savethedocumentfor100timestoensureithasbeensavedsuccessfully.}}下面是网友们的评论

程序员 1900-01-01 发布
24 浏览

迄今为止最傲娇的程序员,其中可有你?

最后我要推荐一下我的前端教程学习群:657137906,里面都是学习前端的,如果你正在学习前端,小编欢迎你加入。小编会在群中不定期分享干货,包括我精心整理的一份前端零基础教程。欢迎各位初学和进阶中的小伙伴。如何判断程序猿在做什么1.打字快且停顿:正编码;2.键盘鼠标并用且不停点击,在debug;3.不停滚轮或pagedown:查错;4.不停按刷新:脚本卡住了;5.一动不动紧盯屏幕:程序抛出异常;6.表情时而严肃时而轻松:产品上线测试中;7.手放键盘上长时间未动:加班太多猝死…程序员你伤不起呀...某程序员遇车祸成植物人,唤醒的希望渺茫。他的上司和亲人没放弃,他们根据此人每天背后总有无数个指点江山的工作氛围,就在他病床前每天念:“需求确定了,不会再修改了!”奇迹终于发生了,他醒过来了,第一句话:“真的不用再修改了?”

程序员 1900-01-01 发布
AD 友情赞助