聚合文章列表
15 浏览

Riot.js 框架深入解析

by.田光宇1小时前最近整理了下团队新人文档,对团队内使用的框架riot.js这部分内容做了一些总结。本文主要在riot.js源码方面,分析一下riot.js的执行原理和使用优化。Riot.js简介Simpleandelegantcomponent-basedUIlibrary(Riot.js)riot.js是一个简单优雅的jsUI框架。具有自定义标签,简单语法,API简单,体积小,学习成本低等特点。riot.js使用Model-View-Presenter(MVP)设计模式来组织代码,这样它能够更模块化、更具可测试性且易于理解。riot.js仅仅提供了帮助UI渲染相关的基础功能,并不具备其它复杂的功能,因此其体积很小,压缩后仅有10.39KB(react.min.js大约47.6KB),很适合组件类的业务开发。Helloworld尝试Riot.js最简单的方法是使用JSFiddleHelloRiot.js例子。你可以在浏览器中打开它。

CSS 2017-12-25 发布
12 浏览

一步一步完成一个聚会摇色子游戏

出去聚会想玩摇色子,奈何身边没有色子,网上也没找到,自己写一个吧一、画界面色子要大明显字要大,摇动最好有特效和声音,前端使用layui布局1.引用2.布局

CSS 2017-12-25 发布
22 浏览

jQuery-demos网格手风琴练习

练习用jQuery实现一个手风琴,图片可以自动循环滚动,宽高和定位同时变化,当鼠标移上时当前图片最大,同一排的图片高度一致,同一列的宽度一致,鼠标离开继续滚动。思路:结构直接用多个div,图片使用背景图,通过定位设置每一行每一列的位置,设置鼠标当前位置为一个变化量,通过这个变化量来设置其他div的宽高和定位。html和css#accordion{width:500px;height:500px;margin:100pxauto;border:3pxsolid#fff;position:relative;overflow:hidden;}#accordion.img{width:100px;height:100px;border-right:3pxsolid#fff;border-bottom:3pxsolid#fff;position:absolute;left:0;top:0;overflow:hidden;}

jQuery 2017-12-25 发布
AD 友情赞助
20 浏览

ajaxFileUpload插件,C#返回Json数据报错

报错信息一:jQuery.handleErrorisnotafunction上传图片的时候,通过F12,查看到这个错误。解决方案:jquery版本问题,handlerError只在jquery-1.4.2之前的版本中存在,jquery-1.4.2之后的版本中都没有这个函数了。通过添加下面代码,解决错误。handleError:function(s,xhr,status,e){//Ifalocalcallbackwasspecified,fireitif(s.error){s.error.call(s.context||s,xhr,status,e);}//Firetheglobalcallbackif(s.global){(s.context?jQuery(s.context):jQuery.event).trigger("ajaxError",[xhr,s,e]);}},示例:报错信息二:SyntaxError:unexpectedtoken<

jQuery 2017-12-25 发布
22 浏览

个人博客开发系列:文章实时保存

一般用来写东西的网站都会有一个编辑实时保存的功能。对于使用者来说是一个非常实用的功能。作为一个个人博客来说,虽然用处没那么明显,但是还是想实现一下这个功能,就当是练练手吧。实现思路使用WebSocket来进行浏览器与服务器的实时通信;服务端使用Redis来缓存实时编辑的文章(编辑时文章改动频繁,频繁读写数据库操作不是个好的方案);服务端使用定时任务(如每天凌晨3点),将Redis缓存的数据存储到MySQL数据库中;浏览器端初次进入新增文章页面时,使用WebSocket从服务端获取数据(先从Redis中查找,如果没有则再从MySQL数据库中查找);浏览器端初次进入编辑文章页面时,不需要从服务端获取数据;使用Vue.js的watch来监听文章的变化,变化时使用WebSocket向服务端传送数据。

HTML5 2017-12-25 发布
16 浏览

将html生成图片

——Liter项目需求1.前端添加管理员信息包括(姓名,年龄,头像等)2.将管理员信息显示在具体背景图片上,将其生成图片的形式上传后台服务器(base64格式或者文件的格式)实现思路1.将管理员信息使用定位将其设置在指定背景图片上。2.使用html2canvas将指定div生成canvas3.将生成的canvas进行base64编码或者生成文件上传(建议base64上传)附加功能本地上传图片进行base64编码之后回显生成canvas之后支持本地下载压缩图片使用canvasAPIquality值越小,所绘制出的图像越模糊对应图片越小根据需求设置相对应的数值varbase64=canvas.toDataURL('image/jpeg',quality);点击访问Demo地址下面笔记简单介绍html2canvas的使用html2canvas官网github1.使用方法html2canvas(document.getElementById('diploma'),{onre

HTML5 2017-12-25 发布
AD 友情赞助
20 浏览

使用 WebSocket 构建实时性应用

WebSocket技术已经逐渐成熟,在生产环境下也已经带给我们非常多的便利。本文首先会努力阐明WebSocket的基本原理,然后会结合实际叙述如何使用它。WebSocket不会完全取代HTTP首先需要明确的是WebSocket的定位。WebSocket是建立在HTTP基础上,为客户端与服务端之间提供文本和二进制数据的全双工通信的技术。这里有几个地方需要注意:建立在HTTP基础上。WebSocket需要在建立了HTTP连接之后,客户端才能发起WebSocket“握手”请求,握手成功后客户端与服务端才能进行WebSocket通信提供文本(Text)和二进制数据(BinaryData)两种数据的传输全双工通信。一旦确立WebSocket通信连接,无论是客户端还是浏览器,任意一方都可以想对方发送消息,即实现了服务器想客户端推送数据的功能WebSocket是为了满足基于Web的日益增长的实时通信需求而产生的。在传统的Web中,要实现实时通信(比如网页版QQ),常用的方式是通过轮询。在特定的

HTML5 2017-12-25 发布
24 浏览

[UWP]本地化入门

1.前言上一篇文章介绍了各种WPF本地化的入门知识,这篇文章介绍UWP本地化的入门知识。2.使用resw资源文件实现本地化在以前的XAML平台,resx资源文件是一种很方便的本地化方案,但在UWP中微软又再次推荐x:Uid方案,默认的资源文件也变成resw资源文件。虽然后缀名只差了一个字母,但使用方式完全不同。最主要的区别是resw资源文件不会创建对应的Designer.cs类,这就导致本地化的实现方案完全不同。2.1在XAML中实现本地化在XAML中实现本地化的过程很简单。首先在项目中新建"strings"文件夹,在"strings"文夹下创建"en-US"和"zh-CN"文件夹,并在两个文件夹中分别添加"Resources.resw"资源文件。最终目录结构如下:在zh-CN\Resources.resw和en-US\Resources.resw添加两个新资源,分别是UsernameTextBox.Width和UsernameTextBox.Header:在XAML中添加一个TextBox,设置x:Uid为Us

.Net 2017-12-25 发布
20 浏览

Orchard Core Framework:ASP.NET Core 模块化,多租户框架

OrchardCoreFramework:ASP.NETCore模块化,多租户框架上一篇编写OrchardCore一分钟搭建ASP.NETCoreCMS,介绍ASP.NETCoreCMS,Orchard的ASP.NETCore版,同时对应有一个ASP.NETCore框架。支持模块化和多租户。整个OrchardCore就是通过一个个模块Module组成的首先创建一个空的ASP.NETCoreWeb应用程序为基础。下面学习模块的建立及使用。模块化首先在之前创建好的ASP.NETCoreWeb应用程序中,新建一个类库(.NETCore)项目为ModuleWeb。然后添加Microsoft.AspNetCore.Mvc及OrchardCore.Module.Targets引用。命令如下:Install-PackageMicrosoft.AspNetCore.MvcInstall-PackageOrchardCore.Module.Targets-Pre

.Net 2017-12-25 发布
AD 友情赞助
15 浏览

C#设计模式之二十一职责链模式(Chain of Responsibility Pattern)【行为型】

C#设计模式之二十一职责链模式(ChainofResponsibilityPattern)【行为型】一、引言今天我们开始讲“行为型”设计模式的第八个模式,该模式是【职责链模式】,英文名称是:ChainofResponsibilityPattern。让我们看看现实生活中的例子吧,理解起来可能更容易。我们看看某公司的采购流程吧。某公司的规章制度规定,采购原材料的总价在5万之内,只需要经理级别的人批准即可,采购总价大于5万小于10万的则需要财务经理进行批准,总价大于10万小于30万的需要总经理批准,而总价大于30万的则需要通过董事会会议讨论决定。对于这样一个需求,最直接的方法就是设计一个方法,该方法接受的参数是采购的总价,然后在这个方法内对价格进行判断,然后针对不同的条件交给不同级别的角色去处理,如果情况就是这样,不变了,这样做很好,没问题。如果我们又有新的条件要增加该怎么办呢?我们不得不去修改原来设计的方法来再添加一个条件判断,让本已多重if-else判断语句更多了,这样的设计显然违背了“开放-关闭”原则。这时候,我们可以采用职责链

.Net 2017-12-25 发布
19 浏览

C# 函数式编程 —— 使用 Lambda 表达式编写递归函数

C#函数式编程——使用Lambda表达式编写递归函数最近看了赵姐夫的这篇博客http://blog.zhaojie.me/2009/08/recursive-lambda-expressions.html,主要讲的是如何使用Lambda编写递归函数。其中提到了不动点组合子这个东西,这个概念来自于函数式编程的世界,直接理解起来可能有些困难,所以我们可以一起来尝试使用Lambda来编写递归函数,以此来探索不动点组合子的奥秘。在阅读过程中,我们可以使用“C#交互窗口”或者XamarinWorkBook来运行给出的代码,因为Lambda表达式中的变量,类型大多会被省略掉,直接阅读起来可能有些难懂。首先用常规手段写一个递归形式的阶乘intfacRec(intn){returnn==1?1:n*facRec(n-1);}facRec(5)//120那么如何使用Lambda表示阶乘的递归形式呢?Lambda是匿名函数,那么就不能直接在内部调用自己,不过函数的参数是可以有名字的,那么可以给

.Net 2017-09-09 发布
18 浏览

码云周刊 | 7款优秀的国产开源中间件!

码云项目推荐在系统软件之中,操作系统、数据库、中间件的三驾马车,中间件是最神秘的,而且是一个专业化非常强的细分产业。中间件技术主要用来支撑分布式软件的开发,在大型分布式软件系统中中间件技术发挥着极其重要的作用。今天,小编推荐7款国产开源的中间件项目,希望能够让你体会到中间件技术的魅力。如果大家有好的中间件开源项目,也可以托管到码云上,我们会及时给予推荐。最后,如果你很喜欢以下提到的项目,别忘了分享给其他人哦!1、项目名称:高性能Redis中间件服务nredis-proxy项目简介:nredis-proxy是一个以redis协议为主的高性能稳定的代理中间件服务,不侵入业务代码,与业务毫无联系,不需要改任何应用代码,天然支持分布式部署。项目地址:2、项目名称:.net业务消息队列Dyd.BusinessMQ项目简介:.net业务消息队列是应用于业务的解耦和分离,应具备分布式,高可靠性,高性能,高实时性,高稳定性,高扩展性等特性,其优点主要是:大量的业务消息堆积能力无单点故障及故障监控,异常提醒生产者端负载均衡

消息系统 2017-12-25 发布
AD 友情赞助
23 浏览

分享10个优美的程序员把玩儿的实用科技设计酷站(9)

今天为优美的程序员们带来了科技设计酷站第9期!哈哈哈~~~绝对实用!快来看看吧~~~O(∩_∩)O~KeepingYouAwakeKeepingYouAwake是一款防止Mac进入睡眠状态的菜单栏小工具,一旦你激活了它,它就能让你的Mac一直处于开启状态。JSONFeedJSONFeed基于JSON格式的Feed标准,它可以借助WordPress–pluginhre–build来实现。让我们同XML说再见吧。MavoMavo是一个来自LeaVerou的全新开源项目,它是一个能将裸HTML标记和一些自定义属性直接转换为Web应用的库。它和其他的库(诸如Backbone、Vue.js以及React)相比,更易于使用,因为它能让技术没那么专精的用户同样可以轻松构建出优秀的Web应用。CSSGridCheatSheet在刚刚学习CSS栅格的时候,碰到新的属性,新的测试单元,以及全新的Web布局和实战范例,可能是一件略显棘手的事情。而今天所推荐的这个工具,就是帮你缩短这个

程序员 2017-12-25 发布
22 浏览

视频演讲: 质量实时监控:全球音视频实时传输的关键帧

39:44概要本次演讲主要分享如何通过大数据平台解决全网音视频传输的实时质量监控问题。在全球实时音视频传输过程中,会面临很多实时监控挑战,比如设备、服务器全球分布很广;移动设备种类太多;数据指标不够详尽;时间序列的存储需要优化等等。声网Agora.io的全球虚拟实时通信网SD-RTN™支撑全球200多个国家的实时通话和直播,从DayOne开始,团队希望以数据为核心来驱动质量改进和优化,因此在数据架构设计、数据收集、分析、还原、预警和使用上有很多实践经验分享,同时总结出如何将数据与业务紧密结合的“关键帧”。个人简介何丰,声网Agora.io高级架构师,声网Agora.io高级架构师,负责数据平台和业务后台整体架构设计与开发。10年以上互联网分布式应用开发经验。在加入声网Agora.io之前,曾在YY任技术总监、技术委员会委员,主导过YY多个核心后台业务架构设计和开发。全栈开发爱好者,TopCoder全区编程锦标赛2007年冠军。全球架构师峰会(International-Architect--Summit,下

软件架构 2017-12-25 发布
22 浏览

启赟金融 CTO 马连浩:跨境支付系统架构

上海分会会员、启赟金融的技术合伙人&CTO。我在2017年加入启赟金融(以下简称“iPayLinks”),之前先后在理光中国、盛大网络、新浪支付和中国平安、利得基金等知名互联网和金融公司工作,先后负责盛付通、新浪支付和平安支付等第三方支付平台规划设计和技术管理,在我12年的工作经历中,有近10年在从事支付行业相关的工作,可以说是互联网支付行业的一名技术老兵。iPayLinks成立于2015年初,是一家致力于提供跨境支付收单服务以及由此衍生的金融服务和解决方案的金融科技公司,主要服务于出海的电商、航旅、娱乐、教育等国内中小企业。下面和大家分享我对支付行业的理解和当前公司在跨境支付方面的实践。支付行业进入成熟期基于中国宏观政策机会和时代背景,iPayLinks选择做跨境支付,在讲公司业务之前,先和大家介绍一下国内的第三方支付行业的发展历史。中国第三方支付主要经历了四个阶段,目前处于成熟期。-初创期:1999-2004国内第三方支付从1999年开始,首信、环迅等第三方支付公司都是当年成立的。2004年

软件架构 2017-12-25 发布
23 浏览

物联网设备网关系统架构设计

源|小象文|文刀0、写在前面的话坦白来讲,我对物联网行业沉淀较少。做软件出身的我,之前也学过一些单片机的知识,还有射频,ZigBee诸如此类的无线传输协议,因为那段时间“智能家居”火了,年少无知的我也跟着疯了,然后就没有然后了……回想自己以前对技术的狂热,还是值得肯定的,但是那种近乎盲目的追求,就有点过犹不及了。总之,学到的新技术或者新概念,需要及时去实践,去落地,长时间的搁置会导致最终一场空,这种到头来一无所有的感受,对自己的积极性也是一种打击。1、背景介绍如今,随着公司业务的不断扩大,有一批设备需要对接到我们的平台里,所以我尝试着去设计一下我司的设备网关系统架构。目前接入的均为无线设备,设备与载体可随时移动,使用普通SIM卡流量,所以没有固定ip地址。至于设备网关1.0的核心功能,说来也简单,拢共分为三大部分:①设备安装/绑定。②设备数据实时上报③设备运维图1设备网关核心功能2、四层结构让我们从另一个视角来看待设备网关:层次结构。我梳理了一下整

软件架构 2017-12-25 发布
29 浏览

每日一博 | 用 Vue.js 递归组件构建一个可折叠的树形菜单

在Vue.js中一个递归组件调用的是其本身,如:Vue.component('recursive-component',{template:``});递归组件常用于在blog上显示注释、嵌套的菜单,或者基本上是父和子相同的类型,尽管具体内容不同。例如:现在给您演示一下如何有效地使用递归组件,我将通过建立一个可扩展/收缩的树形菜单的来一步步进行。数据结构一个树状UI的递归组件将是一些递归数据结构的可视化表达。在本教程中,我们将使用树状结构,其中每个节点都是一个对象:一个label属性。如果它有子节点,一个nodes属性,则它是一个或多个节点的数组属性。与所有树结构一样,它必须有一个根节点,但可以无限深。lettree={label:'root',nodes:[{label:'item1',nodes:[

Vue.js 2017-12-25 发布
20 浏览

2017前端发展回顾

译者按:老技术日趋成熟,新技术层出不穷。原文:Arecapoffront-enddevelopmentin2017译者:Fundebug为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。前端开发在2017年依然持续火热,本文将对热点事件做一个总结。16版的React和MIT协议在前端领域,React一直独占鳌头。2017年又发布了一个重大的版本更新version16。在新版本中,引入了fiber结构来支持异步UI渲染。该版本也提供了一些错误机制方便处理未预料的应用失败,以及很多其它功能。不过,最令人惊讶的不是它的新功能新特性,而是对开源协议的更改。Facebook新的协议使得很多公司不再使用React。另外,Jest,Flow,Immutable.js和GraphQL也使用了该协议。ProgressiveWebApps(PWA)我们一直在寻找一个可以使用网页技术完美支持其它客户端的方法。谷歌专研于对网页应用增强,将它转换为progressivewebap

Angular 2017-12-25 发布
21 浏览

个人分享--web前端学习资源分享

1.前言时间过得真快,转眼间现在是2017年最后一个星期,而今天也是圣诞节,过几天也是元旦了。每到年底,大家都习惯总结和分享,我也不例外。但是经历,我之前已经发过了,那么我今天就分享吧!把我接触的一些资源分享给大家,算是送给大家的双旦礼物吧!希望大家能够从中获取自己所需的资源。从我接触前端的开始,到发稿时间截止的这段时间我看过很多的博客,开源项目也了解过一些,质量有参差不齐(甚至还出现过广告文,鸡汤文),但下面的推荐的博客,文章,项目或者其它资源都是我接触过的。不敢说资源最好,最全,适合每一个人,但是内容质量上让我满意的。可能有些资源我未必看完,看懂,看细。但我觉得是可以帮到大家的,能让大家提升技术水平的。希望能给大家起到一个引导,指路或者解惑的作用。如果大家有什么好的资源,也欢迎分享!有一些资源链接,在后面我会加上括号的注释!比如:“html5推广(介绍html5开发的创意广告)”,加上注释的原因可能有以下几点:1.资源很不错,干货比较多,提醒大家看!2.资源是一个系列的其中一个资源。比如一个系列有2

CSS 2017-12-25 发布
22 浏览

jQuery基于input动态模糊查询的实现方法

最近在用jQuery实现动态模糊查询的时候,找了挺久都没有找到像Vue.js的watch属性这么好用的动态模糊查询方法。就分享一下目前遇到的坑和可以实现动态查询的几种方式。1.jQuery的change()方法。这个方法要失去所在的input框的焦点时,事件才会被触发,感觉有点鸡肋,也有可能是我没有完全会熟用这个方法,希望懂的大神可以分享一下使用秘籍。var$n3=$("#n3);//定位到input框$n3.change(function(){this.query_search($n3.val());//query_search为模糊查询的方法})change()函数用于为每个匹配元素的change事件绑定处理函数。该函数也可用于触发change事件。此外,你还可以额外传递给事件处理函数一些数据。change事件会在文本内容或选项被更改时触发。该事件仅适用于