PHP大型网站的架构实例分析

  Poppen.de是德国的一个社交网站,相对Facebook、Flickr来说是一个很小的网站,但它有一个很好的架构,融合了很多技术,如 Nigix、MySql、CouchDB、Erlang、Memcached、RabbitMQ、PHP、Graphite、Red5以及Tsung.  统计信息  200万注册用户数;  2万并发用户数;  每天20万条私有消息;  每天25万登录次数;  项目团队有11个开发人员,两个设计,两个系统管理员;  商业模式  该网站... 阅读全文...

Java Spring框架研究

  Spring是一个WEB Framework,和其他框架不同的是它更像一个组合其他框架的框架。  即他可以很快的将其他Open source组件快速集成到框架中,很快的构建应用系统,如,ORM、事物、对象连接池等。  他的理念就是避免重复开发。  之所以有这么多的framework出现,是因为寻求一种轻量级的解决方案,否则EJB即可以解决收有得问题。  Spring 非常容易上手,而且Spring 可以使你的构架更加得清晰和易于维护和测试。  简单的配置和易于集成的开发思... 阅读全文...

21个实用PHP代码

1. PHP可阅读随机字符串此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。/***************@length - length of random string (must be a multiple of 2)**************/function readable_random_string($length = 6){    $conso=array("b",&qu... 阅读全文...

十个JavaScript页面布局技巧

  交付信息结构是一个交互式用户界面所需要完成的首要任务。更直观的布局结构设计,能使用户更好的理解内容。不管你想要介绍的是什么样的内容,你都可以以更加互动和更加适应的方式去呈现现它。本文里面收集的11种高超的JavaScipt技术,让你更好的控制内容的显示方式,以便用于下一次的布局设计。  “页面滑动门”, “隐藏的内容”, “图片和内容滑动门”, “动画幻灯片”, “传送带&rdqu... 阅读全文...

十个最著名的JavaScript 库

JavaScript 是 Web 开发与设计中不可或缺的东西,不管是一个简单的网页还是一个专业的站点,也不管你是高手还是菜鸟,如今 JavaScript 库越来越强大,可以胜任许多复杂的工作,然而同时,人们在众多 JavaScript 库面前又觉得无所适从,本文,我们将使用 Google 搜索出排名前 10 位的 JavaScript 库,并对它们逐一进行介绍。1. jQuery: The Write Less, Do More, JavaScript Library jQuery 是一... 阅读全文...

PHP的新浪微博发信接口

  新浪微博已开放很久但是无奈一直不提供api.网上也没搜索到相应的,因此风吟自己写了一个函数。可以发送到新浪微博。跟大家分享,希望官方能及早开放API。诞生更多应用.  以下为引用的内容:  <?php  /*  -------------------------------------------------------  @名称:基于CURL的新浪微博接口  @演示:http://demos.fengyin.name/apps/sina-microblog-a... 阅读全文...

应用最广的十大Javascript框架

  近日,知名技术开发网站SYS-CON 媒体列出十个应用最广的Javascript框架,文章说,Javascript库已经成为设计优秀网站的基础,当今几乎所有站点都带有Javascript或Ajax元素。在Web2.0开发大潮中,它也许是最关键的要素。  以下十个十大Javascript框架,你常用其中的几个?  1. script.aculo.us (http://script.aculo.us/)  URL: http://script.aculo.us/  文档: htt... 阅读全文...

Java程序的加密和反加密

  写在前面的话:写这篇文档的目的是让大家能更深入的了解Java技术,而不是教你怎么去破解Java程序;武器没有罪过,要看是好人用它还是坏人用它。  首先我们来看看Java程序的反加密,也就是通常所说的Crack过程,只有明白了这个过程,我们才能有效的对我们的程序进行加密。  通常我们得到的Java程序的Crack包有两种,一种属于KeyGen(注册码生成器)、一种属于替换修改;  我们先看第一种,当我们找到一个应用程序的KeyGen的时候我们总是很佩服那个做出KeyGen的人,觉得... 阅读全文...

在Java中编程实现数字签名系统

    一个数字签名系统主要分为三个部分:    1。生成密钥对    2。在数据发送端对数据进行签名    3。在数据接收端对数据进行校验数据签名    下面从这三个方面分别说明:    1。生成密钥对    生成密钥对可用java提供的类KeyPairGener... 阅读全文...

PHP开发框架的现状和展望

  作者:shirly  引言:随着Ruby on Rails的火爆,PHP这个流行的Web应用脚本语言也出现了大量的新一代开发框架。与此同时,国内PHP开发者也开始紧跟国外发展,推出了不同的开发框架。Rails最强大的功能就是活动记录。使用它可以很方便地映射数据表,而且还可以描述表之间的相互关系.  Ruby on Rails催生变革  在RoR流行之前,PHP领域也有不少开发框架,例如Mojavi、WACT、PHPMvc和Seagull等。这些框架虽然也采用了MVC模式、数据库抽... 阅读全文...

Java将成为甲骨文王牌产品

  美国知名财经杂志《商业周刊》网站今天撰文称,甲骨文收购Sun后,获得的最有价值的资产就是Java.它将成为甲骨文的王牌产品,帮助其抗衡微软和 IBM等业界巨头。13年来,Sun的Java语言虽然成为了计算机行业最为知名的品牌之一,但并未获得应有的价值。在周一的分析师电话会议上,甲骨文首 席执行官拉里-埃里森(Larry Ellison)将Java称作是“我收购过的最重要的软件资产”。自2005年以来,埃里森已经先后斥资400亿美元收购了50多家软件企业,因此,他 的这... 阅读全文...

精通PHP的十大要点

1. 在合适的时候使用PHP - Rasmus Lerdorf没有谁比PHP的创建者Rasmus Lerdorf明白PHP用在什么地方是更合理的, 他于1995年发布了PHP这门语言,从那时起,PHP就像燎原之火,烧遍了整个开发阵营,改变了互联网的世界。 可是, Rasmus并不是因此而创建PHP的。 PHP是为了解决web开发者的实际问题而诞生的。和许多开源项目一样,PHP变得流行,流行的动机并不能用正常的哲学来进行解释,甚至流行得有些孤芳自赏。它完全可以作... 阅读全文...

VB解决Unicode文本转换的问题

  我使用VB调试程序的时候发现这么一个问题,当使用Scripting.FileSystemObject写入文件的时候,有时候会报错,但有时又是正常的。  经过调试发现,当写入的内容包含一些特殊的Unicode字符时,FSO会报错,提示“invalid procedure call or argument”,正常的文本则不报错。  经过一番尝试发现了解决方法,就是在写入文件前,使用StrConv函数将文本进行一下转换,转换选项选择vbNarrow,代码如下: ... 阅读全文...

PHP发送UTF-8编码中文邮件标题乱码的解决

  当我们使用下面的PHP语句发送中文电子邮件的时候,会发现邮件的标题是乱码,而邮件正文却是正确的,如何才能使得邮件标题不是乱码呢?  $subject = stripslashes($the_post['Title']);  $headers = "MIME-Version: 1.0\r\n";  $headers .= "Content-type: text/plain; charset=utf-8\r\n";  $headers .= "C... 阅读全文...

每个PHP开发者应该知道的五个开发要点

  语法结构教科书上的知识和实际的程序设计是有区别的,真正的知识要在实际的开发中获得。每个php的开发人员在开始开发web应用程序之前,都应该熟悉下面的五件事:  1. 框架  框架可以说是php开发中的一个最重要的问题。 用php开发web应用程序时有很多方法,有很多开源的框架可以使用,可以帮助快速的开发,保持更高的一致性和有效性。 其中比较好的框架包括cakephp ,Symfony和CodeIgniter 。很多框架还按照MVC设计模式 ,如果你在这个模式下工作过,那你一定会很熟悉... 阅读全文...

PHP字符串操作入门教程

无论哪种语言,字符串操作都是一个重要的基础,往往是简单而重要。正像人说话一样,一般有形体(图形界面),有语言(print 字符串?),显然字符串能解释更多的东西。PHP提供了大量的字符串操作函数,功能强大,使用也比较简单,以下将简单的讲述它的功能和特性。 弱类型 PHP是弱类型语言,所以其它类型的数据一般可以直接应用于字符串操作函数里,而自动转换成字符串类型,进行处理,如: ... 阅读全文...

Eclipse插件收集

  CSS Editor for Eclipse  http://csseditor.sourceforge.net/   FacesIDE  FacesIDE是一个用于开发JSF的Eclispe插件.它可以可视化编辑faces-config.xml文件并且提供代码编辑与校验,预览JSF的JSP文件.FacesIDE包含MyFaces来作为JSF的实现  http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=FacesID... 阅读全文...

动态产生XML文档的几种ASP方式

  当今世界,技术发展迅猛,不论是什么行业,大多数关键数据都是放置于数据库中进行管理的,一来目前数据库技术已经相当成熟,二来其管理功能非常强大。以往的数据库应用,其数据底层结构一般来说都是相对固定,也就是说,开发出来的应用程序是针对具体的数据结构,其应用范畴受到一定限制,开放性较差。   XML作为一种可扩展性标记语言,其自描述性使其非常适用于不同应用间的数据交换,而且这种交换是不以预先规定一组数据结构定义为前提,因此具备很强的开放性,具有广阔的应用前景。为了使基于XML的业务数据交换成为可能... 阅读全文...

一个基于WEB的ASP QQ程序

  refresh.htm  =========  <HTML>  <HEAD>  <title>在线QQ</title>  <link rel="stylesheet" type="text/css" href="forum.css">  </HEAD>  <BODY onload=online() scroll=no topmargin="0&q... 阅读全文...

使用xmlhttp查询域名是否被注的ASP小程序

  提交查询的页面比较简单如下:  =====  <HTML>  <HEAD>  <META NAME="GENERATOR" Content="Microsoft Visual Studio 7.0">  </HEAD>  <BODY>  <form method="post" action="return-whois.asp" ID=Form1&g... 阅读全文...

EJB编程模型

  本文的第二部分说明创建 Enterprise JavaBean 组件所需的 Java 接口和类的作用。除了对 bean 类本身进行编码外,EJB 开发人员还必须为 bean 定义一个本地接口和一个远程接口。这些接口的实现类通常由容器生成,因此部署 EJB 组件是开发人员和 EJB 容器的合作行为。第二部分还区分了 enterprise bean 的两种主要类型,即会话 bean 和实体 bean,并说明了 EJB 容器和 EJB 服务器之间的关系。   enterprise bean 的编... 阅读全文...

Java JDBC概述

  1. 介绍   许多开发者和用户都在寻找Java程序中访问数据库的便捷方法。由于Java是一个健壮,安全,易于使用的,易于理解且可以从网络中自动download ,所以它成为开发数据库应用的一种良好的语言基础。它提供了C, C++, Smalltalk, BASIC, COBOL, and 4GLs的许多优点。许多公司已经开始在Java与DBMS的连接方面做工作。   许多Java应用开发者都希望能够编写独立于特定DBMS的程序,而我们也相信一个独立于DBMS的接口将使得与各种各样DBM... 阅读全文...

Java JSP白皮书

  JavaServer PagesTM (JSP)技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。   本白皮书提供了JSP技术的全面概述,描述了其开发背景以及这项技术的总体目标。同时,在一个简单示例中,还描述了一个基于JavaTM技术的页面的关键组成部分。   开发基于Web的应用程序:背景   在万维网短暂的历史中,它已经从一... 阅读全文...

EJB体系结构的历史和目标

  本文概述 Enterprise JavaBeans (EJB) 技术,旨在让读者快速理解基本概念。第 1 部分讲述 EJB 技术的历史和某些目标、优点和技术。为了简洁明了,有选择地讲述 EJB 技术的一些关键要素。请注意,虽然 EJB 组件依赖于一些基础的 Java 服务(如 Java Transaction Service),但使用 EJB 组件及认识这些组件的好处并不需要掌握这些相关技术的知识。   Enterprise JavaBeans 技术自 1998 年 3 月问世以来很受好评... 阅读全文...

用VB6实现中英文文本的私钥加密

  一. 私钥加密方案   加密(Encryption)是信息保护的一种必不可少的手段。目前有两种基本的加密方法,即私钥加密和公钥加密。用VB既可用自定义算法实现简便的私钥加密,也可通过调用Crypto API接口实现复杂的公钥加密。对于加密数据,若在Internet/Intranet上传送,则完整性鉴别也是必需的。本文介绍一种私钥加密技术,不仅能加密英文文本,而且能有效加密汉字,还能进行数据完整性鉴别。本加解密原理图如下:   密文文=HASH(DateTime)+HASH(DateTim... 阅读全文...

如何避免ASP的SQL的执行效率低

  方法一、尽量使用复杂的SQL来代替简单的一堆 SQL.   同样的事务,一个复杂的SQL完成的效率高于一堆简单SQL完成的效率。有多个查询时,要善于使用JOIN。  oRs=oConn.Execute("SELECT * FROM Books")  while not oRs.Eof  strSQL = "SELECT * FROM Authors WHERE AuthorID="&oRs("AuthorID") oRs2... 阅读全文...

一组VB实用小程序

  用VB实现编程离不开函数调用及Windows API函数的调用,以下是笔者收集的一些实用的小例程,它们可以直接用在你的实际编程中,也可以根据实际应用加以扩充完善。其中涉及Windows API函数调用的代码你可以从VB5.0系统的API函数查看器中复制函数定义内容,以避免出错。   1.系统型表单   系统型意味着用户完成当前表单操作之前无法进行其它操作,这对于编制系统口令保护界面尤为重要。如果你希望当前表单系统型表单,需如下定义API函数:   Declare Function Se... 阅读全文...

用VB编写异步多线程下载程序

  为了高效率地下载某站点的网页,我们可利用VB的Internet Transfer 控件编写自己的下载程序, Internet Transfer 控件支持超文本传输协议 (HTTP) 和文件传输协议 (FTP),使用 Internet Transfer 控件可以通过 OpenURL 或 Execute 方法连接到任何使用这两个协议的站点并检索文件。本程序使用多个Internet Transfer 控件,使其同时下载某站点。并可判断文件是否已下载过或下载过的文件是否比服务器上当前的文件陈旧,以决... 阅读全文...

屏保程序模板化完整VB源代码

  熟悉Windows操作系统的朋友一定对Windows的屏保程序不陌生,喜欢VB编程的朋友也一定想编写一个自己的Windows屏保程序。其实屏保程序实质上仍然是一个Windows的可执行程序,理论上说你可把自己的任何一个现成的程序作品改造成屏保程序,当你看完下面的讲解后便可以轻易地编写或是改造一个标准的Windows屏保程序了!   一个标准的Windows屏保程序应该具备如下特点:   1、扩展名必须是.scr,程序放置在Windows或者是System目录下。   2、常规的屏保程序... 阅读全文...

VB中实现窗体自动隐藏

  OICQ聊天时的窗体自动隐藏功能,用VC 或CBC都可以很简单地实现,前几天看到有一则用CBC实现的例子,便想用VB实现一下,可惜当窗体上放满控件时,FORM的MOUSEMOVE事件不能很好地触发,所以只好用以下的笨办法,现把代码贴上,窗体上需放一TIMER控件,Interval属性为200。大伙如有好的意见,不妨贴出来,让我学习学习。   Option Explicit   Private Declare Function GetCursorPos Lib "user32&q... 阅读全文...

用VB编写网络监控软件

  随着互联网迅速的膨胀发展,学校、企业、网吧大部分都通过局域网连上了Internet,但是由于人员多、上网机器分散,给上网管理带来了种种不便。为此,笔者编写了一个小程序,在局域网内的每个工作站运行此程序,可以对每个工作站访问的网址进行记录。在网吧中,可以为网络犯罪提供可靠的依据;在学校里,我们可以及时地限制同学们访问非法站点和有不健康内容的网站。程序用VB6.0编写,下面是程序实现的步骤。该程序在Windows 98和IE5.5下调试通过。   一、程序核心   本程序的核心是通过API函... 阅读全文...

VB到底为我们做了什么?

  VB一直以来被认为有以下优缺点:优点是上手快、开发效率高;缺点是能力有限,运行效率低。这正是有些软件把VB做为首选语言,而有些软件肯定不会用VB做的原因。而很多VC,DELPHI的程序员都认为VB里搞开发不自由,它让我们做事变容易的同时,也让我们发挥的余地越来越小。的确,简单和功能强大这两者本身就是一对矛盾。那怕一行代码不写,仅仅起动运行一个空窗体这样简单动作,VB在底下就为我们做了大量复杂的工作(决不仅仅是注册窗口类、显示窗口、起动消息循环这么简单),这些工作对程序员是透明的。我们在感谢V... 阅读全文...

键盘幽灵VB版

  这个是我写的一个类似键盘幽灵的程序,大家自己看看吧。晚上无聊写的,不要拿来做坏事呀。   mCommon.bas   Attribute VB_Name = "mFuncation"  '设置钩子  Public Function Hook(ByVal hWnd As Long)    '监视所有消息    '设置子分类    lpPrevWndProc = SetWindowLong(hWnd, GWL_WNDPROC, AddressOf WindowProc) ... 阅读全文...

用VB编写定时关闭计算机的程序

  微软的VB以简单易用,功能强大而著称,使用VB可以很容易地编写出定时关闭计算机的程序。以下是一个简单的定时关闭计算机的程序,供各位使用VB的朋友参考,如有何不适之处,请多指点!   定时关闭计算机,很显然,有两个关键点:   1.定时。可以用VB中的Timer控件结合计算机的系统时间来进行精确的定时。   2.关闭计算机。这可以调用Win32 API函数 ExitWindowsEx 来关闭计算机。   下面首先来说明一下 ExitWindowsEx 函数,该函数在VB中的声明如下: ... 阅读全文...

用MCI命令做一个VB播放器

  用MCI命令来实现多媒体的播放功能   下面的内容几乎有播放器软件的各种功能,你只是引用这些函数就能做出一个播放器来   Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As... 阅读全文...

VB用注册表保存数据

  简介   注册表最开始是出现在Windows 3.x,是用来为OLE保存数据的。那时Windows和其应用程序的设置值大多都保存在各不相同的.INI文件中。例如我们最为熟悉的System.ini和Win.ini就是这样的文件。当软件越安越多,这种文件也越来越多,而且遍布硬盘的各个角落。既不便于管理,也浪费了很多磁盘空间(因为这些文件大多都很小)。   当Windows 95推出的时候,注册表应运而生。所有的设置值,不论是系统的,还是应用程序的,都被保存在一个树型结构的数据库中。这样确实方... 阅读全文...

使用VB在WIN2000下截获IP数据包

  为了方便广大VB爱好者也能向C语言一样能截获IP包,本人特地写了以下的源代码,以供VB开发者参考。   以下是在VB中截获WIN2000下TCP/IP包的源代码,在VB6.0,win2000下测试通过,需要注意的地方是,1.必须和本地的一块网卡,2.每次获取数据后必须有一段延时。3.数据取到之后放在Buff的数组中。4.把以下的代码放在一个模块中就可以了。   '-----------------------------代码开始------------------------------... 阅读全文...

VB中字符串中文的问题

  字串中文的问题,起於vb的字串是使用UniCode,而我们一般是使用Ascii Code。   这差别在何处呢?UniCode的每个字元长度是2个byte,而Ascii是一个byte,如果说,我将们将VB的字串写入档案,有时会有意想不到的结果。例如:Text1.Text = "这是一个abc" len5 = Len(str5)   如果我们的Access资料库有一栏位的长度是10个Byte,所以我们在TextBox中设定MaxLength = 10,但是上面的例子得到... 阅读全文...

用VB制作屏幕保护程序

  利用Visual Basic 制作屏幕保护程序非常容易。本文将详细给大家介绍制作屏幕保护程序的方法。   一. 基本编程思路   大家都知道屏幕保护程序就是利用变换的颜色或图形以防止不变化的屏幕像素被损伤。所以,屏幕保护程序就是显示不断变化或移动的图形,并且当有鼠标移动或按键时能够终止的程序。   1. 编制屏幕保护图形   2. 隐藏鼠标   用ShowCursor Windows API 函数我们可以实现隐藏鼠标。   3. 检测鼠标和按键行为   检测上述行为以便退出屏幕... 阅读全文...

VB枚举主机IP

  在窗体上加入下列控件TextBox:Text1,ListBox:List1,CommandButton:Command1   在窗体上加入如下代码:   '--------------------------Form1---------------------------------  Option Explicit   Private Function HiByte(ByVal wParam As Integer)  HiByte = wParam \ &H100 And &... 阅读全文...