11 2011 档案

摘要:因为工作需要使用Nvelocity ,所以简单的做了个小例子首先建立一个hmtl页面 然后添加 替换的脚本如红色的部分。注意$后边的字符不能事中文和独立的数字<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head> & 阅读全文
posted @ 2011-11-29 14:14 likunran 阅读(286) 评论(0) 推荐(0)
摘要:最近在做NVelocity的一个项目 感觉就转载了这篇文章NVelocity是一个基于.NET的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由.NET代码定义的对象。从而使得界面设计人员与.NET程序开发人员基本分离。一、nVelocity的常用功能简介 1、 在页面中定义变量,并进行简单的运算。 2、 在页面中获得对后台程序实体对象的引用。 3、 在页面中迭代实体对象集合。 4、 在页面中获得实体对象的属性,及其方法。 5、 对逻辑判断语句的支持。 6、 对外部文件的引用。 7、 对外部文件的解析。二... 阅读全文
posted @ 2011-11-29 10:35 likunran 阅读(200) 评论(0) 推荐(0)
摘要:JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。JavaScript这个安全策略在进行多iframe或多窗口编程、以及Ajax编程时显得尤为重要。根据这个策略,在baidu.com下的页面中包含的JavaScript代码,不能访问在google.com域名下的页面内容;甚至不同的子域名之间的页面也不能通过JavaScript代码互相 阅读全文
posted @ 2011-11-24 09:57 likunran 阅读(180) 评论(0) 推荐(0)
摘要:关于跨域名问题还是问题么,这方面的解决实践非常多,今天我就旧话重提把我所知道的通过几个应用场景来分别总结一下先说明一点:我说的某某域名在您的控制下的意思是这个域名下的网页由您来负责开发内部的JavaScript场景一:将bbs.xxx.com的页面用iframe嵌入到www.xxx.com的中,如何在iframe内外使用js通信一级域名都是xxx.com 这个域名一定是在您的控制下,所以你只要在两个页面中同时升级域名即可在父窗口和iframe内部分别加上js语句:document.domain=”xxx.com”;之后2个页面就等于在同一域名下,通过window.parent oIframe. 阅读全文
posted @ 2011-11-24 09:54 likunran 阅读(266) 评论(0) 推荐(0)
摘要:1、HTML静态化其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说 阅读全文
posted @ 2011-11-23 23:56 likunran 阅读(420) 评论(0) 推荐(0)
摘要:web应用服务器集群系统,是由一群同时运行同一个web应用的服务器组成的集群系统,在外界看来,就像是一个服务器一样。为了均衡集群服务器的负载,达到优化系统性能的目的,集群服务器将众多的访问请求,分散到系统中的不同节点进行处理。从而实现了更高的有效性和稳定性,而这也正是基于Web 的企业应用所必须具备的特性。 高可靠性可以看作为系统的一种冗余设定。对于一个特定的请求,如果所申请的服务器不能进行处理的话,那么其他的服务器能不能对之进行有效的处理呢?对于一个高效的系统,如果一个Web服务器失败的话,其他的服务器可以马上取代它的位置,对所申请的请求进行处理,而且这一过程对用户来说,要尽可能的透明... 阅读全文
posted @ 2011-11-23 23:55 likunran 阅读(373) 评论(0) 推荐(0)
摘要:跟朋友聊天的时候,发现很多人对大型网站系统架构非常感兴趣,我也很感兴趣,经常会在家里2台笔记本和1台服务器组成的局域网环境里作些实验。我进入IT行业的时间,大约是97,98年吧,那时候PC客户端软件最为盛行,做软件开发是一份很体面也很喜欢的工作。我从Win3.1上的VC1.5开始一直到VC6.0,然后转为.Net开发,基本上都是从事客户端软件开发。本人的性格是危机意识向来严重,所以深感互联网必将盛行,传统软件必将走向没落,于是转向了WEB开发。记得以前去某Portal网站应聘的时候,主考官就问我:你认为客户端开发和互联网开发有什么不同。我当时的回答是:互联网开发比客户端软件开发简单多了,我再也 阅读全文
posted @ 2011-11-23 23:53 likunran 阅读(192) 评论(0) 推荐(0)
摘要:在eBay,可伸缩性是我们每天奋力抵抗的一大架构压力。我们所做的每一项架构及设计决策,身前身后都能看到它的踪影。当我们面对的是全世界数以亿计的用户,每天的页面浏览量超过10亿,系统中的数据量要用皮字节(1015或250)来计算——可伸缩性是生死交关的问题。在一个可伸缩的架构中,资源的消耗应该随负载线性(或更佳)上升,负载可由用户流量、数据量等测量。如果说性能衡量的是每一工作单元所需的资源消 耗,可伸缩性则是衡量当工作单元的数量或尺寸增加时,资源消耗的变化情况。换句话说,可伸缩性是整个价格-性能曲线的形状,而不是曲线上某一点的取值。可伸缩性有很多侧面——事务的方面、运营的方面、还有开发的方面。我 阅读全文
posted @ 2011-11-23 23:50 likunran 阅读(148) 评论(0) 推荐(0)
摘要:一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能比拟的。大型网站,比如门户网站。在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还有高性能的W 阅读全文
posted @ 2011-11-23 23:35 likunran 阅读(216) 评论(0) 推荐(0)
摘要:CDN网络架构主要由两大部分,分为中心和边缘两部分,中心指CDN网管中心和DNS重定向解析中心,负责全局负载均衡,设备系统安装在管理中心机房,边缘主要指异地节点,CDN分发的载体,主要由Cache和负载均衡器等组成。 当用户访问加入 CDN服务的网站时,域名解析请求将最终交给全局负载均衡DNS进行处理。全局负载均衡DNS通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户,使用户能够得到快速的服务。同时,它还与分布在世界各地的所有CDNC节点保持通信,搜集各节点的通信状态,确保不将用户的请求分配到不可用的CDN节点上,实际上是通过DNS做全局负载均衡。 对于普通的Internet.. 阅读全文
posted @ 2011-11-23 23:25 likunran 阅读(367) 评论(0) 推荐(0)
摘要:LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。 对于大流量、大并发量的网站系统架构来说,除了硬件上使用高性能的服务器、负载均衡、CDN. 阅读全文
posted @ 2011-11-23 23:23 likunran 阅读(209) 评论(0) 推荐(0)
摘要:近日研究了 Sina CAS 的登陆过程,发现其实 sina 的 sso 实现了 yale-CAS 并且添加一丁点新的东西,基本认证过程交互流程仍然未变。其独创的一点是实现了 Ajax 单点登陆,算是比较牛。实现原理是 iframe+ javaScript 回调函数。一,初级 SSO初级的 SSO ,就是在同一个顶级域名下,通过种入顶级域名的 Cookie ,来实现统一登陆。例如:单点登陆地址: sso.xxx.com/login.jsp应用 1 : web1.xxx.com/login.jsp应用 2 : web2.xxx.com/login.jsp应用 3 : web3.xxx.com/l 阅读全文
posted @ 2011-11-23 23:15 likunran 阅读(299) 评论(0) 推荐(0)
摘要:最近用到了 Ibatis 的异步读写。在测试环境没有问题,可是上线后就出现问题。报错。private static ISqlMapper _pR; private static ISqlMapper _pW; public BaseDao() { DomSqlMapBuilder br = new DomSqlMapBuilder(); DomSqlMapBuilder bw = new DomSqlMapBuilder(); _pR = br.Configure("sqlmapPR.config"); _pW = bw.Conf... 阅读全文
posted @ 2011-11-23 12:39 likunran 阅读(332) 评论(0) 推荐(0)
摘要:刚做这个项目中用log4net 刚开始用着还正常,这几天做压力测试,压力 到 4000后发现,就会出现带宽的问题 压力上不去。所有就用2000去压了一夜,第二天就发现,在压到 8个小时的时候会出现,系统异常。然后就会重新 恢复正常。而这个异常导致 队列中的8500多条数据不知所踪,后来发现发现程序 看了很久发现代码没有问题。后来发现日志到了6G。这个时候就把日志去掉,尽然正常了。晕,搞并发 打压力 log4net 也会罢工。接下来。改了记录日志的方式。改成了异步记录日志。可是发现log4net。不记录日志了。是我的异步方法有问题吗。中了很久发现了一个问题。原来的代码<configSect 阅读全文
posted @ 2011-11-17 15:28 likunran 阅读(328) 评论(0) 推荐(0)
摘要:虚方法是什么意思,里面的Base是调用被实现方法的的吗?今天突然有个做java的同时突然问了这么一个问题,当时我也无语不知道怎么回答?然后我就查了下资料虚方法:对于非虚的方法,无论被其所在类的实例调用,还是被这个类的派生类的实例调用,方法的执行方式不变。而对于虚方法,它的执行方式可以被派生类改变,这种改变是通过方法的重载来实现的。 Base:base关键字用于从派生类中访问基类的成员:调用基类上已被其他方法重写的方法。指定创建派生类实例时应调用的基类构造函数。基类访问只能在构造函数、实例方法或实例属性访问器中进行。从静态方法中使用base关键字是错误的。所访问的基类是类声明中指定的基类。例如, 阅读全文
posted @ 2011-11-10 10:21 likunran 阅读(320) 评论(0) 推荐(0)
摘要:大部分的部署,部署上去了,但是我们怎么监控我们站点在正常工作,生存,没有出问题呢?现在我们想的是,在iis端部署一个,独立与站点的的线程,去运行,没过多长时间就去写一条日志,然后在windods上部署一个程序,去读取日志,如果有日志就会根据日志的基本,进行读取,简单分析,根据分析出来的基本进行相应的处理,如果隔多长时间没有日志就可以,进行报警,发邮件,发日志。这种方式是可以成功的。可是在日常维护中会出现,系统回收的时候,这个时候由于系统回收了。程序里写日志的小程序就不能在进行相应的写,这时候就会出现假死的状态。刚开始就忽略他的报警,后来在程序服务中让他访问站点的网页就解决了。自动部署,最近在看 阅读全文
posted @ 2011-11-10 00:25 likunran 阅读(276) 评论(0) 推荐(0)
摘要:在以前的大业务中大部分的的时候是直接把请求的信息插入数据库。可是随着数据量和并发量的增加,简单的插表不能在解决 并发问题。这时候就要对原有的业务进行改造,写入是同步写入队列当中,然后异步对队列就行操作。队列?队列是什么呢?队列在按接收顺序存储消息方面非常有用,以便于进行顺序处理。此类将队列作为循环数组实现。存储在Queue中的对象在一端插入,从另一端移除。Queue的容量是Queue可以保存的元素数。Queue的默认初始容量为 32。向Queue添加元素时,将通过重新分配来根据需要自动增大容量。可通过调用TrimToSize来减少容量。上面的话引用子msdn的解释。其实队列就是一个简单 就类似 阅读全文
posted @ 2011-11-08 22:48 likunran 阅读(222) 评论(0) 推荐(0)
摘要:做开发快一年了,大部分都是有的dan线程,也从来没有考虑去去多线程处理一些东西。今天突然 看到 petshop的多线程 代码就贴出来吧static void Main() { Thread workTicketThread; Thread[] workerThreads = new Thread[threadCount]; for (int i = 0; i < threadCount; i++) { workTicketThread = new Thread(new ThreadStart(ProcessOrders)); // Ma... 阅读全文
posted @ 2011-11-07 22:52 likunran 阅读(190) 评论(0) 推荐(0)
摘要:异步?using System; using System.Web; using System.Threading; class HelloWorldAsyncHandler : IHttpAsyncHandler { public bool IsReusable { get { return false; } } public HelloWorldAsyncHandler() { } public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, Obje... 阅读全文
posted @ 2011-11-07 21:52 likunran 阅读(281) 评论(0) 推荐(0)
摘要:做开发已经很长时间了,突然有一天跟java人员做一个接口,post的方式,我使用.net的post的方法实现的。结果一直调用不成功,后来他说你写一个简单html页面。试试可以否。我但是思考了半天,页面可是直接写吗?百度后发现自己out 了<form action="Sample.sample" method="get"> <input type="submit" value="Submit to Sample.sample via Get" /> </form> <br / 阅读全文
posted @ 2011-11-07 21:49 likunran 阅读(976) 评论(0) 推荐(0)
摘要:这个是判断类 根据上下文中得到的 访问类型 。判断执行那个方法using System; using System.Web; class HandlerFactory : IHttpHandlerFactory { public IHttpHandler GetHandler(HttpContext context, string requestType, String url, String pathTranslated) { IHttpHandler handlerToReturn; if ("get" == conte... 阅读全文
posted @ 2011-11-07 21:44 likunran 阅读(266) 评论(0) 推荐(0)
摘要:在前一个项目中涉及到了,在网络上传送东西,但是想的时用简单的握手+Base64编码加密。但是感觉挺挺简单的就在往上找了一个方法,进行加密。可是发现 /// <summary> /// 将字符串运用 base64算法解密 /// </summary> /// <param name="code_type">编码类型</param> /// <param name="code">已用base64算法加密的字符串</param> /// <returns>解密后的字符串< 阅读全文
posted @ 2011-11-07 21:22 likunran 阅读(209) 评论(0) 推荐(0)