All posts by 龙生
10个让人眼花缭乱的 HTML5 和 JavaScript 效果
作为下一代网页语言,HTML5 拥有很多让人期待已久的新特性。如今,很多 Web 开发人员开始使用 HTML5 来制作各种丰富的 Web 应用。本文向大家展示10个让人眼花缭乱的 HTML5 和 JavaScript 效果,让你体验下一代 Web 技术的魅力,相信你看完这些例子后会对未来的 Web 发展充满无限期待。 Breathing Galaxies 动态变换颜色和直径,可通过键盘或者鼠标产生新的形状,这个效果很炫很炫! FlowerPower 灵感来自大自然的使用,使用花朵作为画刷,以贝兹曲线方式绘图。 Noise Field 移动鼠标可改变粒子的运动,点击可随机生成不同的粒子效果。 Keylight 双击生成两个以后的键即可发出声音,移动键的位置可产生不同的声音效果。 Swirling Tentacles 三维脉冲效果,沿着脉冲线有运动的颜色渐变模块。 Blob 拖动水滴有重力效果,双击可以分离,小水滴碰到大水滴会合并。 Rotating Spiral 旋转的螺旋效果,看得有点头晕,单击可以控制开始和停止旋转。 Magnetic 模拟磁性粒子流效果,非常逼真。 Trail 彩色颗粒跟随鼠标运动效果,带尾巴淡出效果。 Graph Layout 一种交互的力向图布局效果。
View Details九个让人难以置信的HTML5和JavaScript实验
Google的 Chrome实验室 收集了很多让人难以置信的基于 HTML5 Canvas 和 JavaScript 的实验项目,里面的例子都很独特,让人惊叹。我从未想过结合 HTML 和 JavaScript 能实现这么强大的效果。今天,本文与大家分享其中9个很棒的例子,为了有更好的效果,建议在Chrome浏览器中浏览。 Untangle拖动蓝点,让所有线都不相交,看看你多久能解开? :) Z Type一款太空射击游戏,基于ImpactJS游戏库开发。 Cube Out模仿经典的益智游戏Blockout(三维俄罗斯方块),移动和旋转方块填补空白,完成一层后会自动消隐。 Bounce 一款javascript游戏,点击和控制蓝色的盒子,让黄色的点击不要碰到红色的点。 Sketch 3D一款非常棒的素描工具,这里可看别人的作品。 ConductorConductor转换纽约地铁系统为一个互动的弦乐器,使用真实的地铁时刻表来模拟。 Bacterium模仿水族馆,您可以创建丰富多彩,充满活力的运动模式。 Ultra Neuron Pong这是模仿经典的Pong游戏开发的一款基于HTML5技术的游戏。 Tank World一款让人惊叹的三维射击游戏。
View DetailsHTML 5 标签、属性、事件及浏览器兼容性速查表
HTML 5 可以说是近十年来 Web 标准最巨大的飞跃。和以前的版本不同,HTML 5 并非仅仅用来表示 Web 内容,它的使命是将 Web 带入一个成熟的应用平台,在这个平台上,视频,音频,图象,动画,以及同电脑的交互都被标准化。尽管 HTML 5 的实现还有很长的路要走,但 HTML 5 正在改变 Web。为了方便大家学习HTML 5 ,本文与大家分享几份 HTML 5 标签、属性、事件及浏览器兼容性速查表。 HTML 5 Cheat Sheet 非常完整的一份HTML 5速查表,包括HTML 5 标签、属性、事件及其浏览器兼容性,图片格式。 HTML 5 Visual Cheat Sheet HTML 5标签速查表,PDF格式。 HTML5 Canvas Cheat Sheet HTML 5 Canvas速查表,PDF格式。 HTML 5 Cheat Sheet 另外一份HTML 5标签速查表,PDF格式。 另外推荐三个很有帮助的网站: 1、当前浏览器HTML5支持情况在线测试:http://www.html5test.com/ 2、当前浏览器对HTML5、CSS3的支持情况:http://www.findmebyip.com/ 3、各个浏览器对HTML5、CSS3支持情况大全:http://www.caniuse.com/ 转自:http://www.cnblogs.com/lhb25/archive/2011/03/16/1965681.html
View DetailsRed5不能启动,删除这两个文件却可以,不理解
Red5不能启动,删除这两个文件却可以,不理解: com.springsource.slf4j.juli-1.6.1.jarcom.springsource.slf4j.log4j-1.6.1.jar
View DetailsWCF实例
在IService1.cs定义服务契约 namespace WcfDemo{ // 注意: 如果更改此处的接口名称 "IService1",也必须更新 Web.config 中对 "IService1" 的引用。 [ServiceContract] // 服务合同 即提供服务的接口或类 public interface IService1 { [OperationContract] void AddTicket(int count); [OperationContract] int BuyTickets(int Num); [OperationContract] //服务契约 即提供服务的实现方法 int GetRemainingNum(); // 任务: 在此处添加服务操作 } // 使用下面示例中说明的数据约定将复合类型添加到服务操作。 [DataContract] //数据契约 public class Ticket { bool boolCount = true;//判断是否还有车票 int howmany = 10;//还有多少车票 [DataMember] public bool BoolCalue { get { return boolCount; } set { if (HowMany > 0) { boolCount = false; } else { boolCount = true; } } } [DataMember] public int HowMany { get { return howmany; } set { howmany = value; } } }} 在Service1.svc中实现契约服务
|
1 |
namespace WcfDemo { // 注意: 如果更改此处的类名“Service1”,也必须更新 Web.config 和关联的 .svc 文件中对“Service1”的引用。 public class Service1 : IService1 { Ticket T = new Ticket(); public void AddTicket(int count) { T.HowMany = T.HowMany + count; } public int GetRemainingNum() { return T.HowMany; } public int BuyTickets(int Num) { if (T.BoolCalue) { T.HowMany = T.HowMany - Num; return 1; } else { return 0; } } } } |
|
1 |
<wbr></wbr> |
|
1 |
<br />添加宿主程序用于监测服务<br />添加WinForm项目加入解决方案<br />界面如下图:<br /><img src="//www.qiandabao.com/upload/201008310021340361.jpg" real_src="//www.qiandabao.com/upload/201008310021340361.jpg" width="490" height="367" alt="WCF实例" title="WCF实例" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; border-image: initial; list-style-type: none; list-style-position: initial; list-style-image: initial; " /><br /><br />界面上两个按钮:<br />启动服务按钮: 用于启动wcf服务<br />停止服务按钮: 用于停止wcf服务<br />Label: <wbr></wbr> <wbr></wbr> 用于显示服务相关信息<br />后台代码为:<br />应用命名空间 <wbr></wbr> using System.ServiceModel;<br />添加引用 wcf服务生成的dll文件<br /> |
|
1 |
public partial class Form1 : Form { public Form1() { InitializeComponent(); } ServiceHost host = null;//定义 ServiceHost private void button1_Click(object sender, EventArgs e) { host = new ServiceHost(typeof(WcfDemo.Service1));//WcfDemo.Service1 为引用的dll中的服务 host.Open();//启动服务 this.label1.Text = "服务已启动"; } private void button2_Click(object sender, EventArgs e) { if (host.State != CommunicationState.Closed)//判断服务是否关闭 { host.Close();//关闭服务 } this.label1.Text = "服务已关闭"; } } |
|
1 |
<br /><br />接下来配置app.config<br /> |
|
1 |
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <services><!--添加服务--> <service name="WcfDemo.Service1" behaviorConfiguration="CalculatorServiceBehavio<wbr></wbr>r"> <!--name 必须与代码中的host实例初始化的服务一样 behaviorConfiguration 行为配置 --> <host> <baseAddresses> <!--添加调用服务地址--> <add baseAddress="http://localhost:8000/"/> </baseAddresses> </host> <!--添加契约接口 contract="WcfDemo.IService1" WcfDemo.IService1为契约接口 binding="wsHttpBinding" wsHttpBinding为通过Http调用--> <endpoint address="" binding="wsHttpBinding" contract="WcfDemo.IService1"></endpoint> </service> </services> <!--定义CalculatorServiceBehavio<wbr></wbr>r的行为--> <behaviors> <serviceBehaviors> <behavior name="CalculatorServiceBehavio<wbr></wbr>r"> <serviceMetadata httpGetEnabled="true"/> <serviceDebug includeExceptionDetailIn<wbr></wbr>Faults="false"/> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> </configuration> |
|
1 |
<br /><br />在服务启动后可通过appConfig中baseAddress节点中的baseAddress地址查看Wcf服务<br /> |
|
1 |
<wbr></wbr> |
为项目添加服务引用地址输入服务主机appconfig中baseAddress地址点击前往(添加服务引用时一点是在服务启动状态下的)
|
1 |
public partial class Form2 : Form { public Form2() { InitializeComponent(); } ServiceReference1.Service1Client TClient = new WinFormsClient.ServiceReference1.Service1Client(); //声明客户端调用 private void button1_Click(object sender, EventArgs e) { int i = TClient.BuyTickets(2); //调用WCF中的方法 if (i == 1) { this.label1.Text = "购买成功"; } this.label1.Text += "剩余车票还有" + TClient.GetRemainingNum().ToString(); } private void button2_Click(object sender, EventArgs e) { this.label1.Text = ""; this.label1.Text = TClient.GetRemainingNum().ToString();//调用WCF中的方法 } } |
第二天JSP服务器安装,JAVA/JSP学习系列之四(Orion App Server的安装)
一、前言 Orion这个东西,小巧,但是功能却非常多,废话不讲,看它目前的支持就知道了: (1)Servlets/JSP (2)EJB (3)HTTP (注:说明不再需要Apache或者IIS等Web Server) 二、下载,安装下载地址为Orion Application Server官方站点:http://www.orionserver.com/,我下载的是Orion1.4版本。下载完,解压到一个目录,我这里用E:\Orion作为例子。三、配置 (1)根据Orion官方站点的安装说明,如果要支持JSP等技术的话,要将JDK的tools.jar复制到e:\orion目录下,tools.jar文件在你安装的JDK目录的lib子目录下。到现在,其实已经成功了缺省的配置了,如果你的80端口没有被占用,而且你也想用80作为端口的话,你到这里已经完成了,否则,请继续下面的配置。 (2)配置端口在E:\orion\config目录下有个default-web-site.xml文件,找到文件中下面行:将这行改为:注意,我这里使用的是8008端口。四、测试(1)启动Orion:在Orion目录下,command方式运行:java -jar orion.jar将出现Orion/x.x.x initialized,我这里版本是1.4所以显示:Orion/1.4.0 initialized到此,说明你已经成功了。(2)执行jsp文件在浏览器中输入:http://localhost:8008/出现:Orion Application Server 1.4.0 – Up and running,下面有JSP examples你可以试着运行。 十天学会JAVA之第二天Tomcat安装,JAVA/JSP学习系列之二(Tomcat安装) 一、前言 对于初学者来说,要执行JSP和Servlet,Tomcat是一个很不错的选择,。Tomcat是Apache组织的产品,sun公司对它的支持也相当不错。 二、下载,安装 下载地址为JAVA官方站点:jakarta.apache.org,国内也比较多。从这个地址可以下载:http://jakarta.apache.org/builds/tomcat/release/,我下载的是Tomcat32b4版本。 下载完,解压到一个目录,我这里用F:\tomcat32b4作为例子。三、配置 桌面上选择“我的电脑”(右键) 高级 环境变量 在“系统变量”—>“新建” 在变量名中输入:JAVA_HOME,变量值中输入:F:\JDK13然后确定; 在“系统变量”—>“新建” 在变量名中输入:TOMCAT_HOME,变量值中输入:F:\tomcat32b4然后确定;好了,配置完了,要重新启动计算机后,环境变量才能有效的。注意,对于Tomcat其他设置,如果没有必要,是可以不改的,我这里讲的都是最简单而可行的方法,如果对你的改动没有把握,还是建议不要改动。四、测试 (1)启动tomcat:在F:\tomcat32b4\bin下有一个:startup.bat,运行它,将出现一个Dos窗口。 (2)浏览 在浏览器中输入:http://localhost:8080/看看有什么效果(Tomcat默认端口为8080,在不冲突的前提下,你可以改动的),是不是可以看到一只可爱的小猫(其实,我个人认为,无论从颜色还是样子,更象一只老虎) (3)运行 在这个页面有JSP Examples和 Servlet Examples, 好了,自己测试运行它们吧。 (4)退出tomcat在F:\tomcat32b4\bin下有一个:shutdown.bat,运行它,将关闭Dos窗口(如果坚持直接关闭这个DOS窗口也是可以的,但是,既然有这个shutdown.bat,应该有它存在的理由)。
View Details第一天JAVA的JDK安装,JAVA/JSP学习系列之一(JDK安装)
一、前言 JDK(Java Development Kit )是一切java应用程序的基础,可以说,所有的java应用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。目前已经正式发布的最新版本是JDK1.3。考虑到我对linux不熟悉,而且大多数都是在MS系统下,所以,在这里我用的是win2000。 二、下载,安装 下载地址为JAVA官方站点:java.sun.com,国内也到处都是。 Windows下,直接运行.exe文件,安装到一个目录,我这里用F:\jdk13作为例子。三、配置 桌面上选择“我的电脑”(右键) 高级 环境变量 在“系统变量”—>“新建” 在变量名中输入:CLASSPATH,变量值中输入:F:\JDK13\LIB\dt.JAR;F:\JDK13\LIB\TOOLS.JAR;F:\JDK13\BIN;然后确定;好了,配置完了,要重新启动计算机后,环境变量才能有效的。四、测试 (1)用文本编辑器写一个简单的java程序:public class HelloWorld {public static void main(String args[]) {System.out.println("Hello World!"); }}这个例子就是著名的“Hello World”,它的功能就是显示“Hello World”。注意:该文件名称必须为“HelloWorld.java”,大小写也区分。细心的朋友会注意到就是和public class后的名字一样的。 (2)编译:在dos命令提示符下执行:(注意大小写) javac HelloWorld.java 如果正常的话,将生成HelloWorld.class文件。 (3)运行:在dos命令提示符下执行:(注意大小写) java HelloWorld这里有一个java初学者很有可能遇到的问题(不怕笑话,我也是)就是输入:java HelloWorld.class多了后面的.class,一定要注意,否则会出现下面的错误:Exception in thread "main" java.lang.NoClassDefFoundError:HelloWorld/class(本人猜想,是不是java翻译“.”的时候换成了“/”,或者是其他的本人不知道的原因)好了,运行java HelloWorld应该会出现伟大的“Hello World”了。到这一步,你已经成功配置好了JDK,可以开始漫长而痛苦(对于象我一样的,以前不懂java的朋友来说,可以用“痛苦”来形容,不理解的概念,不熟悉的java api…,不过,不要急,我将和大家一起慢慢入门,慢慢提高… …)的Java过程了。 十天学会JAVA之第二天Tomcat安装,JAVA/JSP学习系列之二(Tomcat安装) 一、前言 对于初学者来说,要执行JSP和Servlet,Tomcat是一个很不错的选择,。Tomcat是Apache组织的产品,sun公司对它的支持也相当不错。 二、下载,安装 下载地址为JAVA官方站点:jakarta.apache.org,国内也比较多。从这个地址可以下载:http://jakarta.apache.org/builds/tomcat/release/,我下载的是Tomcat32b4版本。 下载完,解压到一个目录,我这里用F:\tomcat32b4作为例子。三、配置 桌面上选择“我的电脑”(右键) 高级 环境变量 在“系统变量”—>“新建” 在变量名中输入:JAVA_HOME,变量值中输入:F:\JDK13然后确定; 在“系统变量”—>“新建” 在变量名中输入:TOMCAT_HOME,变量值中输入:F:\tomcat32b4然后确定;好了,配置完了,要重新启动计算机后,环境变量才能有效的。注意,对于Tomcat其他设置,如果没有必要,是可以不改的,我这里讲的都是最简单而可行的方法,如果对你的改动没有把握,还是建议不要改动。四、测试 (1)启动tomcat:在F:\tomcat32b4\bin下有一个:startup.bat,运行它,将出现一个Dos窗口。 (2)浏览 在浏览器中输入:http://localhost:8080/看看有什么效果(Tomcat默认端口为8080,在不冲突的前提下,你可以改动的),是不是可以看到一只可爱的小猫(其实,我个人认为,无论从颜色还是样子,更象一只老虎) (3)运行 在这个页面有JSP Examples和 Servlet Examples, 好了,自己测试运行它们吧。 (4)退出tomcat在F:\tomcat32b4\bin下有一个:shutdown.bat,运行它,将关闭Dos窗口(如果坚持直接关闭这个DOS窗口也是可以的,但是,既然有这个shutdown.bat,应该有它存在的理由)。
View Details十天学会php之第十天
学习目的:学会用PHP上传文件和发邮件 上传文件表单必须加上 enctype="multipart/form-data" 和 <input type="file" name="file"> 下面看一下代码: $f=&$HTTP_POST_FILES['file']; $dest_dir=’uploads';//设定上传目录 $dest=$dest_dir.’/'.date("ymd")."_".$f['name'];//我这里设置文件名为日期加上文件名避免重复 $r=move_uploaded_file($f['tmp_name'],$dest); chmod($dest, 0755);//设定上传的文件的属性 上传的文件名为date("ymd")."_".$f['name'] ,可以在以后插入到数据库的时候用到,PHP实际上是把你上传的文件从临时目录移动到指定目录。move_uploaded_file($f['tmp_name'],$dest);这是关键 至于发邮件就更加简单,可以使用mail()函数 mail("收件人地址","主题","正文","From:发件人\r\nReply-to:发件人的地址"); 不过mail()需要服务器的支持,在WINDOWS下还需要配置SMTP服务器,一般来说外面的LINUX空间都行。 好像上传文件和发邮件比ASP简单很多,只要调用函数就可以了。ASP还需要用到服务器的不同组件比如FSO、JMAIL什么的。 十天学会PHP说到这里了,我的三大系列文章都用《十天学会》作为名字,想告诉大家的是ASP,PHP,ASP.NET入门都可以是十天,但是精通决不是十天啊,还需要大家自己去研究。
View Details十天学会php之第九天
学习目的:注意事项 因为我是先学ASP的,所以再做PHP的时候会发现很多地方需要适应。 1、注意不要漏了分号 2、注意不要漏了变量前的$ 3、使用SESSION的时候注意不要遗漏session_start(); 如果发生错误的时候,可以采用以下方法: 1、如果是SQL语句出错,就注释了然后输出SQL语句,注意也要注释调后续的执行SQL语句 2、如果是变量为空,大多是没有传递到位,输出变量检查一下,检查一下表单的id和name 3、如果是数据库连接出错,检查是否正确打开MY SQL和是否遗漏了连接语句 4、注意缩进,排除括号不区配的错误 在做大网站的时候,我的思路是先构建数据库,确定每一个字段的作用,和表之间的关系。然后设计后台界面,从添加数据开始做起,因为添加是否成功可以直接到数据库里面验证,做好了添加再做显示的页面,最后才是两者的结合。一般来说后台就包括添加删除修改和显示,后台没有问题了,前台也没有什么大问题。前台还需要注意安全性和容错还有就是输出格式。 好了,今天说到这里,明天说一下如果用PHP上传文件和发邮件。
View Details十天学会php之第八天
学习目的:做一个分页显示 关键就是用到了SQL语句中的limit来限定显示的记录从几到几。我们需要一个记录当前页的变量$page,还需要总共的记录数$num 对于$page如果没有我们就让它=0,如果有<0就让它也=0,如果超过了总的页数就让他=总的页数。 $execc="select count(*) from tablename "; $resultc=mysql_query($execc); $rsc=mysql_fetch_array($resultc); $num=$rsc[0]; 这样可以得到记录总数 ceil($num/10))如果一页10记录的话,这个就是总的页数 所以可以这么写 if(empty($_GET['page'])) { $page=0; } else { $page=$_GET['page']; if($page<0)$page=0; if($page>=ceil($num/10))$page=ceil($num/10)-1;//因为page是从0开始的,所以要-1 } 这样$exec可以这么写 $exec="select * from tablename limit ".($page*10).",10"; //一页是10记录的 最后我们需要做的就是几个连接: <a href="xxx.php?page=0">FirstPage</a> <a href="xxx.php?page=<?=($page-1)?>">PrevPage</a> <a href="xxx.php?page=<?=($page+1)?>">NextPage</a> <a href="xxx.php?page=<?=ceil($num/10)-1?>">LastPage</a> 这是一个大致的思路,大家可以想想怎么来优化?今天说到这里,明天说一下一些注意的问题。
View Details