CSS+DIV实现圆角
方法一:使用"•"来当圆角:
Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<script type="text/javascript">
function doResize()
{
document.getElementById("box-contents").style.height=(document.documentElement.clientHeight-60)+"px";
}
window.onresize = doResize;
</script>
<style type="text/css">
body
{
background-color: black;
margin: 0px;
padding: 0px;
color: White;
font: 16px arial;
}
#content
{
margin: auto;
width: 780px;
height: 100%;
padding: 0 0;
}
div.rounded-box
{
position: relative;
background-color: red;
margin: 3px;
width: 780px;
padding: 0 0;
}
/*********************
GLOBAL ATTRIBUTES
*********************/div.top-left-corner, div.bottom-left-corner, div.top-right-corner, div.bottom-right-corner
{
position: absolute;
width: 20px;
height: 20px;
background-color: black;
overflow: hidden;
}
div.top-left-inside, div.bottom-left-inside, div.top-right-inside, div.bottom-right-inside
{
position: relative;
font-size: 150px;
font-family: arial;
color: red;
line-height: 40px;
}
/*********************
SPECIFIC ATTRIBUTES
*********************/div.top-left-corner
{
top: 0px;
left: 0px;
}
div.bottom-left-corner
{
bottom: 0px;
left: 0px;
}
div.top-right-corner
{
top: 0px;
right: 0px;
}
div.bottom-right-corner
{
bottom: 0px;
right: 0px;
}
div.top-left-inside
{
left: -8px;
}
div.bottom-left-inside
{
left: -8px;
top: -17px;
}
div.top-right-inside
{
left: -25px;
}
div.bottom-right-inside
{
left: -25px;
top: -17px;
}
div.box-contents
{
position: relative;
padding: 8px;
color: white;
}
</style>
</head>
<body onload="doResize();">
<div id="content">
<span>Header</span>
<div class="rounded-box">
<div class="top-left-corner">
<div class="top-left-inside">
•</div>
</div>
<div class="bottom-left-corner">
<div class="bottom-left-inside">
•</div>
</div>
<div class="top-right-corner">
<div class="top-right-inside">
•</div>
</div>
<div class="bottom-right-corner">
<div class="bottom-right-inside">
•</div>
</div>
<div class="box-contents" id="box-contents">
Contents go here, but it must be at least two lines to look any good.
<br>
Contents go here, but it must be at least two lines to look any good.
<br>
Contents go here, but it must be at least two lines to look any good.
<br>
</div>
<!-- end div.box-contents -->
</div>
<!-- end div.rounded-box -->
<span>Footer</span>
</div>
</body>
</html>
方法二:
Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style type="text/css">
u.corner u
{
height: 1px;
font-size: 1px;
display: block;
overflow: hidden; /*author: meizz*/
text-decoration: none;
background-color: green;
}
u.corner u.h1
{
margin: 0 5px;
}
u.corner u.h2
{
margin: 0 3px;
}
u.corner u.h3
{
margin: 0 2px;
}
u.corner u.h4
{
margin: 0 1px;
height: 2px;
}
</style>
<head>
<body>
<div>
<u class="corner"><u class="h1"></u><u class="h2"></u><u class="h3"></u><u class="h4">
</u></u>
<div style="background-color: green; height: 200">
content</div>
<u class="corner"><u class="h4"></u><u class="h3"></u><u class="h2"></u><u class="h1">
</u></u>
</div>
</body>
</html>
方法三:
Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>无标题页</title>
<style>
.up1
{
overflow: hidden;
height: 1px;
margin-left: 4px;
margin-right: 4px;
background-color: Aqua;
border-left: solid 1px Aqua;
border-right: solid 1px Aqua;
}
.up2
{
overflow: hidden;
height: 1px;
margin-left: 3px;
margin-right: 3px;
border-left: solid 1px Aqua;
border-right: solid 1px Aqua;
}
.up3
{
overflow: hidden;
height: 1px;
margin-left: 2px;
margin-right: 2px;
border-left: solid 1px Aqua;
border-right: solid 1px Aqua;
}
.content
{
margin-left: 1px;
margin-right: 1px;
height: 100px; /*这里控件高度*/ /*background-color: Aqua;*/
border-left: solid 1px Aqua;
border-right: solid 1px Aqua;
}
.down1
{
overflow: hidden;
height: 1px;
margin-left: 2px;
margin-right: 2px;
border-left: solid 1px Aqua;
border-right: solid 1px Aqua;
}
.down2
{
overflow: hidden;
height: 1px;
margin-left: 3px;
margin-right: 3px;
border-left: solid 1px Aqua;
border-right: solid 1px Aqua;
}
.down3
{
overflow: hidden;
height: 1px;
margin-left: 4px;
margin-right: 4px;
background-color: Aqua;
border-left: solid 1px Aqua;
border-right: solid 1px Aqua;
}
.cell
{
width: 50px; /*这里控制宽度*/
}
</style>
</head>
<body>
<div class="cell">
<div class="up1">
</div>
<div class="up2">
</div>
<div class="up3">
</div>
<div class="content">
这里放内容
</div>
<div class="down1">
</div>
<div class="down2">
</div>
<div class="down3">
</div>
</div>
</body>
</html>
CSS网页背景渐变色
css渐变色
FILTER:progid:DXImageTransform.Microsoft.Gradient使用
语法:
filter:progid:DXImageTransform.Microsoft.Gradient(enabled=bEnabled,GradientType,startColorStr=iWidth,endColorStr=iWidth)
属性:enabled:可选项。布尔值(Boolean)。设置或检索滤镜是否激活。 true | false
true: 默认值。滤镜激活。
false:滤镜被禁止。
GradientType:可读写。整数值(Integer)。设置或检索色彩渐变的方向。1 | 0
1:默认值。水平渐变。
0:垂直渐变。
startColorStr:可选项。字符串(String)。设置或检索色彩渐变的开始颜色和透明度。
其格式为 #AARRGGBB 。 AA 、 RR 、 GG 、 BB 为十六进制正整数。
取值范围为 00 - FF 。 RR 指定红色值, GG 指定绿色值, BB 指定蓝色值,
AA 指定透明度。 00 是完全透明。 FF 是完全不透明。超出取值范围的值将被恢复为默认值。
取值范围为 #FF000000 - #FFFFFFFF 。默认值为 #FF0000FF 。不透明蓝色。
EndColorStr:可选项。字符串(String)。设置或检索色彩渐变的结束颜色和透明度。参阅
startColorStr 属性。默认值为 #FF000000 。不透明黑色。
程序举例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<style type="text/css">
<!--
body {
font-size: 12px;
filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=1, EndColorStr=#6699cc, StartColorStr=#ffffff);
height: 100%;
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>
</head>
<body>
<p> </p>
</body>
</html>
文字的渐变效果:
.FadeLine
{
padding-right: 0px;
border-top: #538f65 2px solid;
padding-left: 0px;
font-size: 22px;
filter: progid:DXImageTransform.Microsoft.Alpha(style=1,opacity=100,finishOpacity=10,startX=10,finishX=100);
padding-bottom: 0px;
margin: 0px;
color: #3366cc;
padding-top: 0px;
}
渐变起始颜色,ff为16进制透明度
endColorStr=#ffeeeeee
endColorStr为渐变结束颜色,ff为16进制透明度
gradientType=0
gradientType渐变方向,0为垂直方向, 1为水平方向(默认值为1)
CSS的查找匹配原理
用了这么多年的CSS,现在才明白CSS的真正匹配原理,不知道你是否也跟我一样?看1个简单的CSS:
DIV#divBox p span.red{color:red;},按习惯我们对这个CSS 的理解是,浏览器先查找id为divBox的DIV元素,当找到后,再找其下的所有p元素,然后再查找所有span元素,当发现有span的class为red的时候,就应用该style。多么简单易懂的原理,可是这个理解却是完完全全相反、错误的。
匹配原理:
浏览器CSS匹配不是从左到右进行查找,而是从右到左进行查找。比如之前说的 DIV#divBox p span.red{color:red;},浏览器的查找顺序如下:
先查找html中所有class=’red’的span元素,找到后,再查找其父辈元素中是否有p元素,再判断p的父元素中是否有id为divBox的div元素,如果都存在则匹配上。
浏览器从右到左进行查找的好处是为了尽早过滤掉一些无关的样式规则和元素。比如如下html和css:
view sourceprint?01 <style>
02 DIV#divBox p span.red{color:red;}
03 <style>
04 <body>
05 <div id="divBox">
06 <p><span>s1</span></p>
07 <p><span>s2</span></p>
08 <p><span>s3</span></p>
09 <p><span class=’red’>s4</span></p>
10 </div>
11 </body>
如果按从左到右查找,哪会先查找到很多不相关的p和span元素。而如果按从左到右的方式进行查找,则首先就查找到<span class=’red’>的元素。firefox称这种查找方式为key selector(关键字查询),所谓的关键字就是样式规则中最后(最右边)的规则,上面的key就是span.red。
简洁、高效的CSS:
所谓高效的CSS就是让浏览器在查找style匹配的元素的时候尽量进行少的查找,下面列出一些我们常见的写CSS犯一些低效错误(也是我以前常常犯的错误,还老以为这样写才是高效的):
1.不要在ID选择器前使用标签名
一般写法:DIV#divBox
更好写法:#divBox
解释: 因为ID选择器是唯一的,加上div反而增加不必要的匹配。
2.不要再class选择器前使用标签名
一般写法:span.red
更好写法:.red
解释: 同第一条,但如果你定义了多个.red,而且在不同的元素下是样式不一样,则不能去掉,比如你css文件中定义如下:
p.red{color:red;}
span.red{color:#ff00ff}
如果是这样定义的就不要去掉,去掉后就会混淆,不过建议最好不要这样写
3.尽量少使用层级关系
一般写法:#divBox p .red{color:red;}
更好写法:.red{..}
4.使用class代替层级关系
一般写法:#divBox ul li a{display:block;}
更好写法:.block{display:block;}
PS:看有些同学对从右到左的理论保持怀疑,下面贴出firefox和google的2篇相关css解释的文章,供大家参考
mozilla firefox:https://developer.mozilla.org/en/Writing_Efficient_CSS
google page-speed:http://code.google.com/intl/zh-CN/speed/page-speed/docs/rendering.html
Jsp中getAttribute和getParameter的区别
1.getAttribute是取得jsp中用setAttribute設定的attribute
2.parameter得到的是string;attribute得到的是object
3.request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据;request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。即request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。
——getParameter得到的都是String类型的。或者是http://a.jsp?id=123中的123,或者是某个表单提交过去的数据。
——getAttribute则可以是对象。
——getParameter()是获取POST/GET传递的参数值;
——getAttribute()是获取对象容器中的数据值;
——getParameter:用于客户端重定向时,即点击了链接或提交按扭时传值用,即用于在用表单或url重定向传值时接收数据用。
——getAttribute:用于服务器端重定向时,即在sevlet中使用了forward函数,或struts中使用了mapping.findForward。getAttribute只能收到程序用setAttribute传过来的值。
——getParameter()是获取POST/GET传递的参数值;
——getAttribute()是获取SESSION的值;
另外,可以用setAttribute,getAttribute发送接收对象.而getParameter显然只能传字符串。
setAttribute 是应用服务器把这个对象放在该页面所对应的一块内存中去,当你的页面服务器重定向到另一个页面时,应用服务器会把这块内存拷贝另一个页面所对应的内存中。这样getAttribute就能取得你所设下的值,当然这种方法可以传对象。session也一样,只是对象在内存中的生命周期不一样而已。
getParameter只是应用服务器在分析你送上来的request页面的文本时,取得你设在表单或url重定向时的值。
getParameter 返回的是String, 用于读取提交的表单中的值;
getAttribute 返回的是Object,需进行转换,可用setAttribute设置成任意对象,使用很灵活,可随时用。
C#把图片保存到数据库
在开发的过程中,难免遇到图片保存问题,解决的方法有很多,这里我把图片以二进制的形式保存到数据库中,也许这个形式并不是最高效的方式,但也不失为一种好的方法吧.呵呵,下面简单的demo可以作为参考:
1Code#region Code
2
3 //单击"浏览"按钮
4
5 private void button1_Click(object sender, System.EventArgs e)
6
7 {
8
9 DialogResult result=this.openFileDialog1.ShowDialog();
10
11 if(result==DialogResult.OK)
12
13 {
14
15 this.textBox1.Text=this.openFileDialog1.FileName.ToString
16
17();
18
19 Image img = Bitmap.FromFile(this.textBox1.Text);
20
21 this.pictureBox1.Image=img;
22
23 }
24
25
26
27 }
28
29 //单击"确定"按钮
30
31 private void button2_Click(object sender, System.EventArgs e)
32
33 {
34
35 //插入数据库操作,图片类型的参数为PicToBinary()返回的byte[]即可
36
37把图片以字节的形式保存到数据库中
38
39 }
40
41 //图片转换为字节数组
42
43 private byte[] PicToBinary()
44
45 {
46
47 //创建参数集
48
49 string path = this.textBox1.Text.Trim();
50
51 byte[] source = null;
52
53 if(!path.Equals("") && File.Exists(path))
54
55 {
56
57 FileStream fs=new FileStream
58
59(path,FileMode.Open,FileAccess.Read);//创建文件流
60
61 source=new byte[(int)fs.Length];
62
63 fs.Read(source,0,(int)fs.Length);
64
65 Image img = Bitmap.FromStream(fs);//把文件流转换为图片
66
67 if(img.Width > 300 || img.Height > 400)
68
69 {
70
71 MessageBox.Show("图片过大,请上传400*300以下的图片");
72
73 return;
74
75 }
76
77 fs.Flush();
78
79 fs.Close();
80
81 }
82
83 return source;
84
85 }
86
87
88
89 #endregion1Code#region Code
2
3 //单击"浏览"按钮
4
5 private void button1_Click(object sender, System.EventArgs e)
6
7 {
8
9 DialogResult result=this.openFileDialog1.ShowDialog();
10
11 if(result==DialogResult.OK)
12
13 {
14
15 this.textBox1.Text=this.openFileDialog1.FileName.ToString
16
17();
18
19 Image img = Bitmap.FromFile(this.textBox1.Text);
20
21 this.pictureBox1.Image=img;
22
23 }
24
25
26
27 }
28
29 //单击"确定"按钮
30
31 private void button2_Click(object sender, System.EventArgs e)
32
33 {
34
35 //插入数据库操作,图片类型的参数为PicToBinary()返回的byte[]即可
36
37把图片以字节的形式保存到数据库中
38
39 }
40
41 //图片转换为字节数组
42
43 private byte[] PicToBinary()
44
45 {
46
47 //创建参数集
48
49 string path = this.textBox1.Text.Trim();
50
51 byte[] source = null;
52
53 if(!path.Equals("") && File.Exists(path))
54
55 {
56
57 FileStream fs=new FileStream
58
59(path,FileMode.Open,FileAccess.Read);//创建文件流
60
61 source=new byte[(int)fs.Length];
62
63 fs.Read(source,0,(int)fs.Length);
64
65 Image img = Bitmap.FromStream(fs);//把文件流转换为图片
66
67 if(img.Width > 300 || img.Height > 400)
68
69 {
70
71 MessageBox.Show("图片过大,请上传400*300以下的图片");
72
73 return;
74
75 }
76
77 fs.Flush();
78
79 fs.Close();
80
81 }
82
83 return source;
84
85 }
86
87
88
89 #endregion1Code#region Code
2
3 //单击"浏览"按钮
4
5 private void button1_Click(object sender, System.EventArgs e)
6
7 {
8
9 DialogResult result=this.openFileDialog1.ShowDialog();
10
11 if(result==DialogResult.OK)
12
13 {
14
15 this.textBox1.Text=this.openFileDialog1.FileName.ToString
16
17();
18
19 Image img = Bitmap.FromFile(this.textBox1.Text);
20
21 this.pictureBox1.Image=img;
22
23 }
24
25
26
27 }
28
29 //单击"确定"按钮
30
31 private void button2_Click(object sender, System.EventArgs e)
32
33 {
34
35 //插入数据库操作,图片类型的参数为PicToBinary()返回的byte[]即可
36
37把图片以字节的形式保存到数据库中
38
39 }
40
41 //图片转换为字节数组
42
43 private byte[] PicToBinary()
44
45 {
46
47 //创建参数集
48
49 string path = this.textBox1.Text.Trim();
50
51 byte[] source = null;
52
53 if(!path.Equals("") && File.Exists(path))
54
55 {
56
57 FileStream fs=new FileStream
58
59(path,FileMode.Open,FileAccess.Read);//创建文件流
60
61 source=new byte[(int)fs.Length];
62
63 fs.Read(source,0,(int)fs.Length);
64
65 Image img = Bitmap.FromStream(fs);//把文件流转换为图片
66
67 if(img.Width > 300 || img.Height > 400)
68
69 {
70
71 MessageBox.Show("图片过大,请上传400*300以下的图片");
72
73 return;
74
75 }
76
77 fs.Flush();
78
79 fs.Close();
80
81 }
82
83 return source;
84
85 }
86
87
88
89 #endregion
jsp分页显示案例
< %@ page contentType="text/html;charset=gb2312" % >
< %@ page language="java" import="java.sql.*" % >
< script language="javascript" >
function newwin(url) {
var
newwin=window.open(url,"newwin","toolbar=no,location=no,directories=no,status=no,
menubar=no,scrollbars=yes,resizable=yes,width=600,height=450");
newwin.focus();
return false;
}
< /script >
< script LANGUAGE="javascript" >
function submit10()
{
self.location.replace("fenye1.jsp")
}
< /script >
< %//变量声明
java.sql.Connection sqlCon; //数据库连接对象
java.sql.Statement sqlStmt; //SQL语句对象
java.sql.ResultSet sqlRst; //结果集对象
java.lang.String strCon; //数据库连接字符串
java.lang.String strSQL; //SQL语句
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
java.lang.String strPage;
int i;
//设置一页显示的记录数
intPageSize = 4;
//取得待显示页码
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
}
else{//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage< 1) intPage = 1;
}
//装载JDBC驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//设置数据库连接字符串
strCon = "jdbc:odbc:heyang";
//连接数据库
sqlCon = java.sql.DriverManager.getConnection(strCon,"sa","");
//创建一个可以滚动的只读的SQL语句对象
sqlStmt =
sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.Result
Set.CONCUR_READ_ONLY);//准备SQL语句
strSQL = "select user_id,user_name from userinfo order by user_id desc";
//执行SQL语句并获取结果集
sqlRst = sqlStmt.executeQuery(strSQL);
//获取记录总数
sqlRst.last();//??光标在最后一行
intRowCount = sqlRst.getRow();//获得当前行号
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//调整待显示的页码
if(intPage >intPageCount) intPage = intPageCount;
% >
< html >
< head >
< meta http-equiv="Content-Type" content="text/html; charset=gb2312" >
< title >会员管理< /title >
< /head >
< body >
< form method="POST" action="fenye1.jsp" >
第< %=intPage% >页 共< %=intPageCount% >页
< %if(intPage< intPageCount){% >< a
href="fenye1.jsp?page=< %=intPage+1% >" >下一页
< /a >< %}% > < %if(intPage >1){% >< a href="fenye1.jsp?page=< %=intPage-1% >" >
上一页< /a >< %}% >
转到第:< input type="text" size="8" > 页
< span >< input type=′submit′ value=′GO′ >< /span >
< /form >
< table border="1" cellspacing="0" cellpadding="0" >
< tr >
< th >ID< /th >
< th >用户名< /th >
< th width=′8%′ >删除< /th >
< /tr >
< %
if(intPageCount >0){
//将记录指针定位到待显示页的第一条记录上
sqlRst.absolute((intPage-1) * intPageSize + 1);
//显示数据
i = 0;
String user_id,user_name;
while(i< intPageSize && !sqlRst.isAfterLast()){
user_id=sqlRst.getString(1);
user_name=sqlRst.getString(2);
% >
< tr >
< td >< %=user_id% >< /td >
< td >< %=user_name% >< /td >
< td width=′8%′ align=′center′ >< a href="delete.jsp?user_id=< %=user_id% >"
onClick="return newwin(this.href);" >删除< /a >< /td >
< /tr >
< %
sqlRst.next();
i++;
}
}
% >
< /table >
< /body >
< /html >
< %
//关闭结果集
sqlRst.close();
//关闭SQL语句对象
sqlStmt.close();
//关闭数据库
sqlCon.close();
% >
浅谈视图的优点与缺点
视图的优点与缺点
在程序设计的时候必须先了解视图的优缺点,这样可以扬长避短,视图具有如下的一些优点:
● 简单性。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使用户不必为以后的操作每次都指定全部的条件。
● 安全性。通过视图用户只能查询和修改他们所能见到的数据。数据库中的其他数据则既看不见也取不到。数据库授权命令可以使每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上。
● 逻辑数据独立性。视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。 视图也存在一些缺点,主要如下。
● 性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也把它变成一个复杂的结合体,需要花费一定的时间。
● 修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对基本表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的视图,可能是不可修改的。
所以,在定义数据库对象时,不能不加选择地来定义视图,应该权衡视图的优点和缺点,合理地定义视图。
杀毒软件业法则:自己研发病毒自己杀
杀毒软件业野蛮生长法则:自己研发病毒自己杀
http://tech.163.com/10/1202/01/6MS5IRPN000915BF.html
实习欢迎你——2009暑假实习
带来全新空气
地点改变情味不变
公司飘满情谊
公司大门常打开
等待的就是你
实习过就有了经验
你会爱上这里
不管远近都是同事
请不用客气
工作久了为知己
我们欣赏你
我家藏着新技术
创造每段奇迹
为软件的发展贡献
为你留下回忆
陌生熟悉都是同事
请不用拘礼
做错一点没关系
同事会教你
实习欢迎你
为你提高技术
忙碌中的工作
充满着快乐
实习欢迎你
在空调下分享凉爽
在电脑里创造价值
公司大门常打开
开怀容纳是你
岁月绽放青春笑容
迎接每个挑战
天大地大都是同事
请不用客气
下班过后带笑意
宿舍等待你
实习欢迎你
像音乐鼓励你
让我们都加油
去改变自己
实习欢迎你
有能力谁都羡慕你
实习欢迎你
为你提高技术
忙碌中的工作
充满着快乐
实习欢迎你
在空调下分享凉爽
在电脑里创造价值
实习欢迎你
像音乐鼓励你
让我们都加油
去改变自己
实习欢迎你
有能力谁都羡慕你
有勇气就会有奇迹
回望2009
- 默认分类(20)
- J2EE(25)
- Java(56)
- PHP(55)
- SEO(10)
- 网页设计(20)
- 网站建设(37)
- 数据库(7)
- JavaScript(17)
- JQuery(6)
- MySQL(20)
- SQL Server(6)
- Access(1)
- Oracle(6)
- office(6)
- Dreamweaver(4)
- Photoshop(12)
- Flash(9)
- Fireworks(13)
- CSS(14)
- HTML(4)
- .NET(7)
- ASP(2)
- DB2(1)
- Ajax(2)
- Linux(12)
- Struts(7)
- Hibernate(8)
- Spring(2)
- Jsp(22)
- Asp(8)
- C#(3)
- C++(1)
- 网络安全(5)
- 软件工程(7)
- XML(1)
- English(2)
- 计算机等级考试(2)
- 计算机病毒(4)
- 个人日志(76)
- 互联网(15)
- ActionScript(10)
- Android(3)
- 数据结构与算法(1)
- 游戏策略(3)
- 美文翻译(2)
- 编程开发(19)
- 计算机应用(4)
- 计算机(10)
- Unity3d(6)
- 其他(1)
- egret(1)