随笔分类 -  js

摘要:前言 现在移动端的大势所趋,凡是项目势必都会有移动端的需求,那么今天就来讲讲移动端开发吧。 当今android、ios的开发,如果组建原生开发团队来开发的话,费用还是很大的,而且现在不少android应用也都是结合html来进行开发的。 最近阿里也顺势推出了weex,我还没去体验,不过按照阿里以往的 阅读全文
posted @ 2016-08-08 15:59 ahl5esoft 阅读(1155) 评论(5) 推荐(3) 编辑
摘要:前言 之前分享的《web项目演化--验证体系》中提到基于angular的验证,但是为了以防读者迷惑,能够好的理解验证体系,所以没有详细介绍。 今天特地补写一篇关于构建angular的验证。 前端验证组件虽然对于美工的要求会更多,但是真实的应用环境下,其实对业务的要求会更高,需要组件有统一的规范,除非 阅读全文
posted @ 2016-01-04 10:49 ahl5esoft 阅读(1113) 评论(0) 推荐(1) 编辑
摘要:前言 数据验证主要分成2个部分,一个是前端js对用户输入的数据进行检查,另一个是后端收到请求时对请求数据进行验证。有些web项目只在前端验证用户的输入数据,但是对于请求到后端的数据却没有进行处理,这会遗留下严重的系统漏洞,又或者开发人员分别在前后端编写验证代码,当验证规则需要调整的时候,就需要一起维 阅读全文
posted @ 2016-01-01 09:54 ahl5esoft 阅读(933) 评论(0) 推荐(0) 编辑
摘要:回顾 上一篇分享的是基于SWFUpload的angular组件,由于项目初期工作繁忙,一直没有时间做分享。 这次打算分享的是从简单三层到分布式的web项目演变,虽然这类型的文章也不少,但是大多数都只是提供架构结构图,并作少量的解释,至于代码实现方面也是寥寥无几,如果想要从中学到一些技巧还是有些难度的 阅读全文
posted @ 2015-12-22 10:59 ahl5esoft 阅读(400) 评论(1) 推荐(0) 编辑
摘要:回顾 由于工作内容比较多,特别是架构方面,需要耗费很多的时间调整、重构,因此很久没有写文章了。 话就不多说了,直接进入主题。实现 首先分析一下SWFUpload初始化的时候,需要传入当前触发上传的元素,正好定义directive时,link方法的第二参数就是dom元素对象,只是这个对象是ang... 阅读全文
posted @ 2015-12-15 15:11 ahl5esoft 阅读(907) 评论(1) 推荐(0) 编辑
摘要:回顾 上一篇对模式进行了介绍,并基于ADO.NET进行了实现,虽然现在ORM框架越来越流行,但是很多中小型的公司仍然是使用ADO.NET来进行数据库操作的,随着项目的需求不断增加,业务不断变化,ADO.NET的实现方式,会使原先简单的单表操作变得尤为复杂,特别是数据库表发生改变的情况下,无法像OR... 阅读全文
posted @ 2014-10-27 11:29 ahl5esoft 阅读(2945) 评论(5) 推荐(4) 编辑
摘要:回顾 上一篇文章主要讲解了创建兼容任意浏览器(主要是ie的一些奇葩问题)的angularjs web应用,但是项目开发中其实更重要的还是在功能的模块化、代码自动压缩上面,这样项目在后期维护或者功能的重复利用上才会更方便,那么今天主要围绕以下几个主题来讲讲如何在不是用其他js模块化库的情况下,开发便... 阅读全文
posted @ 2014-08-14 10:29 ahl5esoft 阅读(3274) 评论(3) 推荐(1) 编辑
摘要:背景 随着mvvm逐渐成熟,现在使用jQuery构建web应用已经显得过时了,而且使用jQuery需要编写更多的代码去控制dom的取值、赋值、绑定事件等,而mvv从底层实现了对以上操作的支持,让程序员可以从原始的复杂、重复的编码中解放出来,让程序员可以将更多的重心放在业务的实现、数据的交互上去,而... 阅读全文
posted @ 2014-07-28 11:21 ahl5esoft 阅读(8195) 评论(0) 推荐(2) 编辑
摘要:背景 当我们开发一个Web项目的时候,为了将图片管理与web服务分离开,通常都会搭建一个图片服务器。 之所以选择nodejs是因为使用nodejs来搭建web项目相当简单而且快速,虽然这个图片服务器很简单,也有很多人会认为使用nodejs来当图片服务器不合适,但是当我们的应用没有达到非常大的程度... 阅读全文
posted @ 2014-06-05 10:33 ahl5esoft 阅读(22851) 评论(11) 推荐(3) 编辑
摘要:回顾 在上一章中使用了angular实现了ajax form和树形结构,经过以上两章对于angular的大致使用,对于angular也有了初步的认识,接下来的内容只会对angular的一些用法做简单的说明,如果有不清楚的可以自己查看angular API或者留言给我。 刚开始接触angular的... 阅读全文
posted @ 2014-03-13 05:43 ahl5esoft 阅读(6442) 评论(3) 推荐(2) 编辑
摘要:回顾 上一篇讲解了引入bootstrap构建一个简单的登录页面,如何让angularjs自动启动并绑定视图,操作过程当中如何使用ui-bootstrap,继而完成简单功能后如何引入seajs后如何使ng手动启动。我会尽量把自己在学习当中遇到的问题以及如何解决分享给各位,如果大家有什么疑问或者想要达... 阅读全文
posted @ 2014-03-04 12:21 ahl5esoft 阅读(8694) 评论(5) 推荐(2) 编辑
摘要:简介 Bootstrap是Twitter推出的一个用于前端开发的开源工具包,它由Twitter的设计师Mark Otto和Jacob Thornton合作开,是一个CSS/HTML框架。 AngularJS是Google 开源出来的一套 js 工具,为了克服HTML在构建应用上的不足而设计的,试... 阅读全文
posted @ 2014-02-27 11:07 ahl5esoft 阅读(12981) 评论(14) 推荐(10) 编辑
摘要:背景 seajs是一款优秀的模块开发插件,但是当我们使用它来进行模块化开发的时候,由于它的每个模块的加载都会进行一次http请求,那么当模块数量倍增的时候,会拖慢页面的加载速度。 通常我们为了能加快页面的加载速度,都会对js进行压缩并把关联的模块打包为一个独立的js文件,这样可以大大减少js的文件大小并且减少http请求的次数,这样可以提升到页面的加载速度。 我们可以是用spm来对js文件进行打包、压缩(使用spm-build),但是当我们编写兼容多种环境的js的时候(既可以直接用script引用又可以使用seajs来引用),那么我们就没办法使用前面的方法来对js进行打包和压缩了。 其... 阅读全文
posted @ 2013-10-14 21:00 ahl5esoft 阅读(5597) 评论(2) 推荐(4) 编辑
摘要:前段时间使用nodejs实现了简单的mvc,最近一直在使用nodejs围绕着这个简易的mvc进行扩展,力求使其成为一个完整的mvc框架。在http请求中,由于http是没有状态的,为了让客户端保留一些来自服务端的信息,并且在下一次请求中能传递到服务端,那么我们能使用的手段大致分为两种:1、Cookie;2、胖Url。 Cookie是绝佳的客户端存储介质,也是实现持久会话的最好方式,Cookie主要分为2种:会话Cookie(用户退出浏览器时,会话Cookie会被删除)和持久Cookie(生存时间更长一些,它们存储与硬盘上,浏览器退出,计算机重启它们仍然存在)。具体关于Cookie的介绍可... 阅读全文
posted @ 2013-05-22 00:41 ahl5esoft 阅读(4301) 评论(0) 推荐(2) 编辑
摘要:相信大家对于nodejs应该不会陌生,如果真的比较陌生的请访问:http://nodejs.org或者http://cnodejs.org/了解。 这个简易MVC的结构如下图: 首先需要一个http服务来监听来自客户端的请求,大致代码如下:var m_http = require('http');var m_querystring = require('querystring');var m_requestHandler = require('./requestHandler');exports.run = function (port) { p 阅读全文
posted @ 2013-05-09 14:09 ahl5esoft 阅读(4243) 评论(6) 推荐(9) 编辑
摘要:a >> b按位运算符,数字a转化为二进制后,向右移动b位例:11 >> 2 因此:11 >> 2 == 2 => 1011向右移动2为则为10a << ba和b都为数字,数字a转化为二进制后,从左边补足b位数0 或数字a乘以2的b次方例:11 << 2 11二进制为1011,补足右边2位数后为101100 因此:11 << 2 == 44~a数字a取反-1例如: ~11 == 10 ~-10 == 9a & b是按位运算,二进制情况下如果相同位数都为1则为1否则为0例如:10 & 5 = 0 =&g 阅读全文
posted @ 2011-07-19 11:09 ahl5esoft 阅读(396) 评论(3) 推荐(0) 编辑
摘要:代码如下: 1 var canvas = document.getElementById('my'), ctx = canvas.getContext('2d'); 2 setInterval(function(){ 3 ctx.clearRect(0,0,400,400); 4 ctx.save(); 5 ctx.translate(200,200); 6 var ci = 90, pi = Math.PI / ci, x1 = 100, y1 = 0, x2 = 0, y2 = 0, x3 = 0, y3 = 0; 9 ctx.beginPath();10 阅读全文
posted @ 2011-07-15 15:51 ahl5esoft 阅读(632) 评论(1) 推荐(0) 编辑
摘要:实际代码如下:<html><head><title>html5 人物属性图</title></head><body><canvas id="my" width="400" height="400"></canvas><script language="javascript" type="text/javascript">var a = new $attr({ name : '路飞& 阅读全文
posted @ 2011-07-15 15:50 ahl5esoft 阅读(380) 评论(0) 推荐(0) 编辑