Windows Media Player文件
曲名:下雪 歌手:阿杜
就快要下雪 心开始凝结
该怎么迎接 我们最后一个 圣诞夜
我害怕下雪 爱将会冻结
因为你说过 雪让人有等待的 感觉
说好两颗心要乘着雪
相约在那拥抱的季节
冬天来得太狼狈 爽约了诺言
白茫茫的世界碎成雪
所有快乐都已流成泪
而我一个人(而我要怎么)面对
整夜的 心碎
终于在下雪 意味着离别
我心愿的雪 不知道要多久才 溶解
现如今大学生求职难,女大学生求职更难!而要谋得一份“以胸取人”的礼仪员之职,则是难上加难!请看——近日,媒体报道这样一则消息:“你的上围尺寸不达标”!就因这么个理由,大学生小刘在应聘第三届中国国际成人保健及生殖健康展览会的现场礼仪人员时,惨遭冷眼败下阵来。
对主办方明确提出的(展览主办方的相关负责人曾告知采访者,他们理想中礼仪人员的胸围最起码在88cm)“丰满者优先”这“一招先”的招聘要求,一时间在公众中引起极大争议。
应聘失败,在展会招聘办公室门外,20岁的小刘显得很是无奈。
小刘为了得到这份工作,一大早便信心十足地赶到招聘地,可面试开始不到两分钟就结束了。为了证明自己能够胜任展会礼仪人员这份工作,小刘举出自己之前的种种相关经历,可整个过程中招聘方只问了她一个问题,而最后拒绝她的理由竟是因为她的“胸围尺寸”不符要求!
因“上围尺寸不够”而被挡在门外,这让小刘“确实非常意外……”
对此事,有的人认为“公然要求招聘上围丰满的礼仪人员,有伤风化!极不认同这种“任人唯‘胸’”的做法。但也有人认为,现如今社会开放了,宽松了,任人唯“胸”无可厚非。
我原来只听说过好莱坞在演戏任用女演员时,很是看中女演员胸围的尺寸大小,胸围大的吃香!没想到,这家用人单位和国际娱乐接轨如此之快!
这家用人单位在接受媒体采访时还真就是这么说滴:“对于‘上围丰满者优先’的招聘要求,负责人笑言这是和国际同类展会做法的接轨。”
好一个“与时俱进”!
如今,网络上的网络美女红人们“胸相pk”烽烟正浓,不想这燎原之势已缦及现实之中……?难道这女大学生将来都得“胸有撑足”方可挺着大大的胸脯外出求职了?
想来,大学生小刘该是郁闷至极,早知有此一劫,该提前丰胸啊!
现在想到也晚了,这广电总局的“电视丰胸广告停播令”月初已开始了,呵呵,想再丰胸都难了!嗨!这真是一步赶不上,这…这…这步步赶不上啊!
看来,物欲时代,女人求职,不仅要“顶”着千疮百孔的下体上路,还要“胸芯万丈”、“乳峰高耸”,方能在求职的路上——“丰胸化吉”!
为了能有更多的女大学生能够找到工作,呵呵,广电总局啊,“电视丰胸广告停播令”解冻吧!
“商业文化”该如何塑造,已是一个老话题了。在物欲横流的今日,它将来恐怕只会只有商业,而少有文化了!而该读——“伤噎文化”。
俺现在能做滴,就是替应聘大学生小刘套撰“诗”一首,以慰小刘郁闷吧!
《求职歌》
“为胸脯小的女大学生求职的门紧锁着,
为为胸脯大的女大学生求职的门敞开着,
一个声音高叫着:
挺起你的大胸脯吧,给你工作!
我渴望工作,
但我深深地知道——
一个正直的女大学生那能只靠大胸脯求得工作!
我希望有一天,地下的烈火,
将物欲连同那“挺着大胸脯求职的时髦”一齐烧掉,
让我能在大胸和平胸的公平竞争中——得到工作!”
我觉得自己学得也太多了,反到是更加垃圾了,原因是我学得多反倒害怕了,越来越不敢改变自己了.我该用我我已经很简单的哲学理论来改变他们,包括我喜欢的&恨的人.我要更加让人感到我是阳光的,尽管我还有黑子.等着瞧..........那些垃圾人.
命令模式下: Vi的替换命令: :ranges/pat1/pat2/[g][i] 其中 : 这是Vi的命令执行界面。 range 是命令执行范围的指定,可以使用百分号(%)表示所有行,使用点(.)表示当前行,使用美元符号($)表示最后一行。你还可以使用行号,例如10,20表示第10到20行,.,$表示当前行到最后一行,.+2,$-5表示当前行后两行直到全文的倒数第五行,等等。 s 表示其后是一个替换命令。 pat1 这是要查找的一个正则表达式 pat2 这是希望把匹配串变成的模式的正则表达式 g 可选标志,带这个标志表示替换将针对行中每个匹配的串进行,否则则只替换行中第一个匹配串 i可选标志,带这个标志表示忽略大小写匹配参考:正则表达式之道以前一直不知道怎么替换。
在整个文件的各行或某几行的行首或行尾加一些字符串。
---- vi file
---- :3,$s/^/some string / 在文件的第一行至最后一行的行首插入“some string”。
---- :%s/$/some string/g 在整个文件每一行的行尾添加“some string”。
---- :%s/string1/string2/g 在整个文件中替换“string1”成“string2”。
---- :3,7s/string1/string2/ 仅替换文件中的第3行到第7行中的“string1”成“string2”。
---- 注意: 其中s为substitute,%表示所有行,g表示global。
VIM中能否替换光标选中的字符串?如下:
大写的V,移动j,k上下选中后,按下冒号,此时vim的命令行显示::'<,'>,后输入s,再输入斜杠,斜杠输入你要替换的单词后,再一个斜杠,输入你现在新的替换内容,再输入一个斜杠后输入g,即可替换可视化后选中里面内容,不替换整个文本。如下:
在vi里把其中一行双引号替换为单引号:
$date = array("<"=>"<",">"=>">","\""=>"'",""=>"",);
替换为:
$date = array('<'=>'<','>'=>'>','\''=>''',''=>'',);
方法:
一、选中一行:Shift+V ,或移动到行首:0 ,;ctrl+v (块选开始),$ (shift+4:到行尾),一样能选一行。
二、替换: 冒号,shift+; (;上面是冒号), 输入:s 斜杠 被替换的东西 斜杠 替换为的东西 斜杠 g :
:'<,'>s/"/'/g
'<,'>是按冒号vi自动生成的。
摘自:http://ar.newsmth.net/thread-5b1a985c3fcc8a-1.html
在整个文件的各行或某几行的行首或行尾加一些字符串。
---- vi file
---- :3,$s/^/some string / 在文件的第一行至最后一行的行首插入“some string”。
---- :%s/$/some string/g 在整个文件每一行的行尾添加“some string”。
---- :%s/string1/string2/g 在整个文件中替换“string1”成“string2”。
---- :3,7s/string1/string2/ 仅替换文件中的第3行到第7行中的“string1”成“string2”。
---- 注意: 其中s为substitute,%表示所有行,g表示global。
VIM中能否替换光标选中的字符串?如下:
大写的V,移动j,k上下选中后,按下冒号,此时vim的命令行显示::'<,'>,后输入s,再输入斜杠,斜杠输入你要替换的单词后,再一个斜杠,输入你现在新的替换内容,再输入一个斜杠后输入g,即可替换可视化后选中里面内容,不替换整个文本。如下:
在vi里把其中一行双引号替换为单引号:
$date = array("<"=>"<",">"=>">","\""=>"'",""=>"",);
替换为:
$date = array('<'=>'<','>'=>'>','\''=>''',''=>'',);
方法:
一、选中一行:Shift+V ,或移动到行首:0 ,;ctrl+v (块选开始),$ (shift+4:到行尾),一样能选一行。
二、替换: 冒号,shift+; (;上面是冒号), 输入:s 斜杠 被替换的东西 斜杠 替换为的东西 斜杠 g :
:'<,'>s/"/'/g
'<,'>是按冒号vi自动生成的。
摘自:http://ar.newsmth.net/thread-5b1a985c3fcc8a-1.html
招聘高级PHP开发工程师
公司信息:
我们是一家以南京为总部的新兴外资企业,现在正处于高速成长期;目标是成为国内人际网络服务型网站的领头羊。我们在人际网络服务行业内有着坚实的理念,就是这个理念为用户提供了一种全新的交互式体验。
在美国人际网络服务的已经非常流行,基于此现象,我们网站也为用户提供了一个增进友谊的平台,让原本现实中朋友与朋友走得更近。
我们求贤若渴,希望能找到一位才华出众经验丰富的高级程序员加入我们的团队。应聘者至少需要有4年及以上工作经验和2年及以上PHP网络程序编写经验,有能力管理并搭建数据库,并且可以为数据搜索功能的设计优化算法。
基本职能:
高级程序员在加入网站建设团队后会与网站的项目经理,程序员和设计师为了实现网站的功能紧密合作,提高系统性能并且指挥网站质量测试。这个职位将会挑战现有网站的开发,并且为一个高速发展的高度直观的网站提供支持。
职责:
与项目经理和程序员合作实现并完善必须的网站功能
为提高系统整体性能进行算法设计
整合界面设计与后台程序
与项目经理合作解决并修复网站缺陷与漏洞
我们正在寻找一个有雄心壮志的人,一个珍惜机遇并且很快加入进来创造奇迹的人。 应聘者必须要有很强的成功欲望,并且积极认真地对待自己的事业。
职位要求与条件:
-计算机,信息科技及相关专业学士
-4年及以上相关专业领域工作经验
-2年及以上PHP网络应用程序开发经验
-有大规模、分布式、可扩展系统管理经验者尤佳
-熟悉在Linux平台上的服务配置例如Apache, Sendmail, Qmail, DNS
-扎实的SQL知识,至少精通MySQL, PostgreSQL, MSSQL, Oracle其中任何一种数据库
-熟悉存储过程, Stored Procedure
-熟悉设计模式 Design Pattern
-非常熟悉算法设计
-愿意在一个快节奏,富有创造力,正处于发展期的环境中工作
-一定要有“实干”的精神,能够采取必要措施来解决疑难问题。
-一定要有在团队环境中工作的无限热情(乐于帮助同事并且善于合作)
-工作勤奋意志坚定:能够应对高强度的工作压力,能够在深夜与/或周末加班完成任务
-必须具有高效率的英语写作和口述能力
这个工作可能需要工作人员与整个团队吃住在一起,而且这不是一个朝九晚六的工作。如果你希望找到一个朝九晚六的大公司,那么我们的工作并不适合你。因为我们要找的人必须愿意在我们这样高速发展的小公司工作并且更愿意在这个瞬息万变的市场中获得成功。
如果你符合上述条件,并且认为自己是88keke的最佳人选,请和我们联系
hr@88keke.com
收入与技术水平,工作经验,工作积极性成正比,也可包含公司股份。
大概收入6k-8k
公司信息:
我们是一家以南京为总部的新兴外资企业,现在正处于高速成长期;目标是成为国内人际网络服务型网站的领头羊。我们在人际网络服务行业内有着坚实的理念,就是这个理念为用户提供了一种全新的交互式体验。
在美国人际网络服务的已经非常流行,基于此现象,我们网站也为用户提供了一个增进友谊的平台,让原本现实中朋友与朋友走得更近。
我们求贤若渴,希望能找到一位才华出众经验丰富的高级程序员加入我们的团队。应聘者至少需要有4年及以上工作经验和2年及以上PHP网络程序编写经验,有能力管理并搭建数据库,并且可以为数据搜索功能的设计优化算法。
基本职能:
高级程序员在加入网站建设团队后会与网站的项目经理,程序员和设计师为了实现网站的功能紧密合作,提高系统性能并且指挥网站质量测试。这个职位将会挑战现有网站的开发,并且为一个高速发展的高度直观的网站提供支持。
职责:
与项目经理和程序员合作实现并完善必须的网站功能
为提高系统整体性能进行算法设计
整合界面设计与后台程序
与项目经理合作解决并修复网站缺陷与漏洞
我们正在寻找一个有雄心壮志的人,一个珍惜机遇并且很快加入进来创造奇迹的人。 应聘者必须要有很强的成功欲望,并且积极认真地对待自己的事业。
职位要求与条件:
-计算机,信息科技及相关专业学士
-4年及以上相关专业领域工作经验
-2年及以上PHP网络应用程序开发经验
-有大规模、分布式、可扩展系统管理经验者尤佳
-熟悉在Linux平台上的服务配置例如Apache, Sendmail, Qmail, DNS
-扎实的SQL知识,至少精通MySQL, PostgreSQL, MSSQL, Oracle其中任何一种数据库
-熟悉存储过程, Stored Procedure
-熟悉设计模式 Design Pattern
-非常熟悉算法设计
-愿意在一个快节奏,富有创造力,正处于发展期的环境中工作
-一定要有“实干”的精神,能够采取必要措施来解决疑难问题。
-一定要有在团队环境中工作的无限热情(乐于帮助同事并且善于合作)
-工作勤奋意志坚定:能够应对高强度的工作压力,能够在深夜与/或周末加班完成任务
-必须具有高效率的英语写作和口述能力
这个工作可能需要工作人员与整个团队吃住在一起,而且这不是一个朝九晚六的工作。如果你希望找到一个朝九晚六的大公司,那么我们的工作并不适合你。因为我们要找的人必须愿意在我们这样高速发展的小公司工作并且更愿意在这个瞬息万变的市场中获得成功。
如果你符合上述条件,并且认为自己是88keke的最佳人选,请和我们联系
hr@88keke.com
收入与技术水平,工作经验,工作积极性成正比,也可包含公司股份。
大概收入6k-8k
可能刚接触面向对象(OOP)编程的兄弟对MVC模型一直是那种可遇而不可求的心态,当听老鸟们在那满天吐沫星子的谈论MVC模型的这个好那个好,自己只有瞪着俩眼珠子在那傻傻的听着,或许听完了还不知道是怎么回事,下面就小弟的一些拙见来帮助这些兄弟们理解一下到底MVC是咋回事。。。
那到底啥是MVC设计模式呢?
MVC (Model-View-Controller)模式,即模型-试图-控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分,具体的功能如下:
模型(Model): 业务逻辑层。实现具体的业务逻辑、状态管理的功能。
视图(View):表示层。就是与用户实现交互的页面,通常实现数据的输入和输出功能。
控制器(Controller):控制层。起到控制整个业务流程的作用,实现View层跟Model层的协同工作。
看到这儿,可能有些兄弟已经皱眉头了,心里在不住地说“操,你整这玩应也太抽象了,要是能看懂你这个,那书上写的我也能看懂了,你要是想玩死我,你Y就早说!!~~”,嘿嘿,别着急,下面我就举个实际的例子来帮助大家继续理解。
这个MVC设计模式呢,有点像现实中我们去饭店吃饭的过程。当你到一个饭店吃饭,过程是这样的,首先你得点菜啊,不用喊,一个光溜水滑,埋了八汰的小服务员就会整个小本来你面前,“先生,你来点啥?”,你看看菜谱,“给我整个小盘鱼香肉丝,再加一碗米饭。”“好的,先生稍等。”说着服务员一溜小跑朝后厨方向,“那啥。。。告诉厨师别放姜啊!~~”。。。带会儿,服务员就把你要的饭菜给你端上来了,“先生请慢用~~有啥需要帮忙的,尽管喊我。”你吃的狼吞虎咽的,根本不知道里面放的青椒妈的都没洗~~~
就这么一个简单的你要饭的过程就可以用MVC将其描述一下,你呢就相当于View,服务员呢就相当于Controller,而那个不洗青椒的该死厨师就是Model。你一开始跟服务员点菜,就相当于我们的浏览器向服务器发出请求,服务员将你要吃的菜交给后厨的师傅,就相当于控制层将浏览器发过来的请求交给业务逻辑层来处理,而它根本不管厨师到底咋做这个菜,反正你能给我鼓捣出一盘鱼香肉丝就成,青椒洗不洗那是他的事,这也就是我们常从老鸟口中听到的“封装”,封装好啊,封的你连青椒没洗的鱼香肉丝都能吃的喷香,嘻嘻~~当服务员把一盘冒着热气的鱼香肉丝端到你面前的过程,就相当于业务逻辑层处理完后把相应传回给浏览器,然后通过浏览器显示给用户。这样就实现了一个简单的MVC协调交互,也不知道你明白点没有。。。
可能有的兄弟又要说了,“你讲MVC你就讲呗,整啥点菜啊,我昨天才吃的鱼香肉丝,现在都有点想吐啦!!讨厌~~~”,下面就给兄弟们说说在实际项目中应该咋应用这MVC。阅读全文
那到底啥是MVC设计模式呢?
MVC (Model-View-Controller)模式,即模型-试图-控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分,具体的功能如下:
模型(Model): 业务逻辑层。实现具体的业务逻辑、状态管理的功能。
视图(View):表示层。就是与用户实现交互的页面,通常实现数据的输入和输出功能。
控制器(Controller):控制层。起到控制整个业务流程的作用,实现View层跟Model层的协同工作。
看到这儿,可能有些兄弟已经皱眉头了,心里在不住地说“操,你整这玩应也太抽象了,要是能看懂你这个,那书上写的我也能看懂了,你要是想玩死我,你Y就早说!!~~”,嘿嘿,别着急,下面我就举个实际的例子来帮助大家继续理解。
这个MVC设计模式呢,有点像现实中我们去饭店吃饭的过程。当你到一个饭店吃饭,过程是这样的,首先你得点菜啊,不用喊,一个光溜水滑,埋了八汰的小服务员就会整个小本来你面前,“先生,你来点啥?”,你看看菜谱,“给我整个小盘鱼香肉丝,再加一碗米饭。”“好的,先生稍等。”说着服务员一溜小跑朝后厨方向,“那啥。。。告诉厨师别放姜啊!~~”。。。带会儿,服务员就把你要的饭菜给你端上来了,“先生请慢用~~有啥需要帮忙的,尽管喊我。”你吃的狼吞虎咽的,根本不知道里面放的青椒妈的都没洗~~~
就这么一个简单的你要饭的过程就可以用MVC将其描述一下,你呢就相当于View,服务员呢就相当于Controller,而那个不洗青椒的该死厨师就是Model。你一开始跟服务员点菜,就相当于我们的浏览器向服务器发出请求,服务员将你要吃的菜交给后厨的师傅,就相当于控制层将浏览器发过来的请求交给业务逻辑层来处理,而它根本不管厨师到底咋做这个菜,反正你能给我鼓捣出一盘鱼香肉丝就成,青椒洗不洗那是他的事,这也就是我们常从老鸟口中听到的“封装”,封装好啊,封的你连青椒没洗的鱼香肉丝都能吃的喷香,嘻嘻~~当服务员把一盘冒着热气的鱼香肉丝端到你面前的过程,就相当于业务逻辑层处理完后把相应传回给浏览器,然后通过浏览器显示给用户。这样就实现了一个简单的MVC协调交互,也不知道你明白点没有。。。
可能有的兄弟又要说了,“你讲MVC你就讲呗,整啥点菜啊,我昨天才吃的鱼香肉丝,现在都有点想吐啦!!讨厌~~~”,下面就给兄弟们说说在实际项目中应该咋应用这MVC。阅读全文
Windows Media Player文件
旧日的足迹
词叶世荣
曲黄家驹
我要再次找那旧日的足迹
再次找我过去似梦幻岁月
脑里一片绿油油依稀想起她
心中只想再一诉那旧日故事
每一张可爱在远处的笑面
每一分亲切在这个温暖家乡故地
雨细细路绵绵今天只想她
看透天际深处道上没晚霞
在这个黑暗漫长夜静没对话
身边只想拥有你伴着我在路途
再次返到家乡里梦幻已是现在
看有多少生疏的脸默默露笑容
那里一片绿油油早风轻轻吹
细听妈妈低声诉那旧日故事
已过去的不可再今天只可忆起
一双只懂哭的眼落泪又再落泪
呜……
每一张可爱在远处的笑面
每一分亲切在这个温暖地
我电脑装上linux才N个月,特别是对rhel 4感觉很好,看过我贴的烂帖子的人,一定看得出是小菜鸟,看到网上很多姐妹对sql有兴趣(也可能是兄弟,但不是说菜鸟),反映不习惯,无从下手,看了半天书,感到很难。就装了个mysql学习一下。
我也没有专门研究过mysql,但由于以前在windows编程中常要用到sql数据库,会一些sql语法。才装上mysql,做了些摸索,行家莫笑。
1.打开mysql:
$mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.1.7
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
2.获取创建数据库及其表的权限:(这里练习,可以不用,后面用到)
mysql> grant all on samp_db.* to paul@localhost identified by "secret";
Query OK, 0 rows affected (0.10 sec)
3.创建samp_db(示例)数据库
mysql> create database samp_db;
Query OK, 1 row affected (0.06 sec)
4.使samp_db数据库成为当前数据库:
mysql> use samp_db;
Database changed
查看一下:
mysql> select database();
+------------+
| database() |
+------------+
| samp_db |
+------------+
1 row in set (0.00 sec)
5.在samp_db数据库中建立表:
mysql> create table test_tab (last_name varchar(15) not null, first_name varchar (15) not null, suffix varchar(5) null, city varchar(20) not null, state varchar( 2) not null, birth date not null, death date null );
Query OK, 0 rows affected (0.30 sec)
看看表的结构,是否符合要求:
mysql> describe test_tab;
+------------+-------------+------+-----+------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+------------+-------+
| last_name | varchar(15) | | | | |
| first_name | varchar(15) | | | | |
| suffix | varchar(5) | YES | | NULL | |
| city | varchar(20) | | | | |
| state | char(2) | | | | |
| birth | date | | | 0000-00-00 | |
| death | date | YES | | NULL | |
+------------+-------------+------+-----+------------+-------+
7 rows in set (0.06 sec)
看看数据库中有没有其它表:
mysql> show tables;
+-------------------+
| Tables_in_samp_db |
+-------------------+
| test_tab |
+-------------------+
1 row in set (0.00 sec)
再看看有哪些数据库;
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| samp_db |
| test |
+----------+
3 rows in set (0.00 sec)
6.试着在在表中加入一条记录:
mysql> insert into test_tab values('jinzhi','chen',null,'盐城yancheng','1','196 5.1.16',null); insert into test_tab values('jinzhi','chen',null,'盐城yancheng',
Query OK, 1 row affected (0.32 sec)
看看加入后是否符合要求:
mysql> select * from test_tab
-> ;
+-----------+------------+--------+--------------+-------+------------+-------+
| last_name | first_name | suffix | city | state | birth | death |
+-----------+------------+--------+--------------+-------+------------+-------+
| jinzhi | chen | NULL | 盐城yancheng | 1 | 1965-01-16 | NULL |
+-----------+------------+--------+--------------+-------+------------+-------+
1 row in set (0.06 sec)
mysql>
下面就看你的了
我也没有专门研究过mysql,但由于以前在windows编程中常要用到sql数据库,会一些sql语法。才装上mysql,做了些摸索,行家莫笑。
1.打开mysql:
$mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.1.7
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
2.获取创建数据库及其表的权限:(这里练习,可以不用,后面用到)
mysql> grant all on samp_db.* to paul@localhost identified by "secret";
Query OK, 0 rows affected (0.10 sec)
3.创建samp_db(示例)数据库
mysql> create database samp_db;
Query OK, 1 row affected (0.06 sec)
4.使samp_db数据库成为当前数据库:
mysql> use samp_db;
Database changed
查看一下:
mysql> select database();
+------------+
| database() |
+------------+
| samp_db |
+------------+
1 row in set (0.00 sec)
5.在samp_db数据库中建立表:
mysql> create table test_tab (last_name varchar(15) not null, first_name varchar (15) not null, suffix varchar(5) null, city varchar(20) not null, state varchar( 2) not null, birth date not null, death date null );
Query OK, 0 rows affected (0.30 sec)
看看表的结构,是否符合要求:
mysql> describe test_tab;
+------------+-------------+------+-----+------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+------------+-------+
| last_name | varchar(15) | | | | |
| first_name | varchar(15) | | | | |
| suffix | varchar(5) | YES | | NULL | |
| city | varchar(20) | | | | |
| state | char(2) | | | | |
| birth | date | | | 0000-00-00 | |
| death | date | YES | | NULL | |
+------------+-------------+------+-----+------------+-------+
7 rows in set (0.06 sec)
看看数据库中有没有其它表:
mysql> show tables;
+-------------------+
| Tables_in_samp_db |
+-------------------+
| test_tab |
+-------------------+
1 row in set (0.00 sec)
再看看有哪些数据库;
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| samp_db |
| test |
+----------+
3 rows in set (0.00 sec)
6.试着在在表中加入一条记录:
mysql> insert into test_tab values('jinzhi','chen',null,'盐城yancheng','1','196 5.1.16',null); insert into test_tab values('jinzhi','chen',null,'盐城yancheng',
Query OK, 1 row affected (0.32 sec)
看看加入后是否符合要求:
mysql> select * from test_tab
-> ;
+-----------+------------+--------+--------------+-------+------------+-------+
| last_name | first_name | suffix | city | state | birth | death |
+-----------+------------+--------+--------------+-------+------------+-------+
| jinzhi | chen | NULL | 盐城yancheng | 1 | 1965-01-16 | NULL |
+-----------+------------+--------+--------------+-------+------------+-------+
1 row in set (0.06 sec)
mysql>
下面就看你的了
译者注:本文的原名是《Creating a Multi-File Upload Script in PHP》。我个个觉得这文章写得一般,代码也不是非常专业,但是它比较短,而且一时间也找不到好一点的文章,就把这个译过来了。其实PHP手册里也有一节是说多文件上传的,大家可以对比对比。文章内有的字句译出来不太顺眼,所以按照原意作了一定量的修改。本人水平有限,还望各位高手多指点。阅读全文
主题:ASP中Split函数的实例
大家有碰到过要想取一字符串里的某些值而无从下手?有没有觉得看书或教材对split的写法糊里糊涂……如果有此疑问的话,请看下面我对例子的解释,相信您会对这个有一定的了解。
我先介绍一下Split函数的用法:
返回值数组 = Split("字符串","分割符")
假设变量strURL保存着URL值,如strURL = "ftp://username:password@server",这是我们在IE中登录到FTP上时的URL形式,如果我们想把其中的 username和password取出来的话,该怎么办呢?当然解决的方法有许多,在这里我们只介绍用Split来解决的方法。首先,我们找出分割符。我们发现在这个字符串中,username和password之间有个冒号把它们隔开了,所以我们就把这个冒号作为Split函数的"分割符"来分割整个字符串,最后达到取username和password的目的。代码如下:
strURL = "ftp://username:password@server"
aryReturn = Split(strURL,":")
这样我们就把字符串用冒号分割开了,分割后的结果保存在aryReturn中(aryReturn是一个数组)。
下面我们就来看看这个最终的结果吧,因为Split函数最终返回的是一个数组,所以我们主要就是显示数组中的元素了,就要涉及到一些跟数组有关的函数:IsArray()判断是否数组的函数,LBound()取数组的下标,UBound()取数组的上标。
Response.Write("返回值是否为数组:" & IsArray(aryReturn) & "
")
For i = LBound(aryReturn) To UBound(aryReturn)
Response.Write("返回值数组中的元素[" & i & "]:" & Right(aryReturn(i),Len(aryReturn(i))-2) & "
")
Next
通过上面的代码,我们看到字符串被分割成三个部分,即:"ftp"、"//username"、"password@server"。我们要取username和password需要进一步的处理,我就不多说了,直接给出代码。
取username的代码:
strUsername = Right(aryReturn(1),Len(aryReturn(1))-2)
取password的代码:
'取password我们又用到Split函数了,不过这回的分割符是"@"
aryTemp = Split(aryReturn(2),"@")
strPassword = aryTemp(0)
'我们可以顺便取出server
strServer = aryTemp(1)
分割符可以是一个字符,也可以是一个字符串。如:
aryReturn = Split("ftp://username:password@server,"//")
注意:
1.一般来说,ASP中可以不声明变量,使用Split函数时,如果要声明返回值的变量的话,只能用Dim,而不能用Redim。虽然说其返回是一个数组,应该是用Redim也可以,但在实际使用过程中是不行。不知是怎么回事?
2. 如果用Split函数来分割一个字符串中并不存在的分割符时,将返回整个字符串,其结果是只有一个元素的数组。
后话,对于要取一字符串中的某些字符或部分,只要抓住规律,再加上用split就可以很好做成各种效果。写此文,希望对大家的学习有所帮助,同时也希望各路高手能够指点一二!
大家有碰到过要想取一字符串里的某些值而无从下手?有没有觉得看书或教材对split的写法糊里糊涂……如果有此疑问的话,请看下面我对例子的解释,相信您会对这个有一定的了解。
我先介绍一下Split函数的用法:
返回值数组 = Split("字符串","分割符")
假设变量strURL保存着URL值,如strURL = "ftp://username:password@server",这是我们在IE中登录到FTP上时的URL形式,如果我们想把其中的 username和password取出来的话,该怎么办呢?当然解决的方法有许多,在这里我们只介绍用Split来解决的方法。首先,我们找出分割符。我们发现在这个字符串中,username和password之间有个冒号把它们隔开了,所以我们就把这个冒号作为Split函数的"分割符"来分割整个字符串,最后达到取username和password的目的。代码如下:
strURL = "ftp://username:password@server"
aryReturn = Split(strURL,":")
这样我们就把字符串用冒号分割开了,分割后的结果保存在aryReturn中(aryReturn是一个数组)。
下面我们就来看看这个最终的结果吧,因为Split函数最终返回的是一个数组,所以我们主要就是显示数组中的元素了,就要涉及到一些跟数组有关的函数:IsArray()判断是否数组的函数,LBound()取数组的下标,UBound()取数组的上标。
Response.Write("返回值是否为数组:" & IsArray(aryReturn) & "
")
For i = LBound(aryReturn) To UBound(aryReturn)
Response.Write("返回值数组中的元素[" & i & "]:" & Right(aryReturn(i),Len(aryReturn(i))-2) & "
")
Next
通过上面的代码,我们看到字符串被分割成三个部分,即:"ftp"、"//username"、"password@server"。我们要取username和password需要进一步的处理,我就不多说了,直接给出代码。
取username的代码:
strUsername = Right(aryReturn(1),Len(aryReturn(1))-2)
取password的代码:
'取password我们又用到Split函数了,不过这回的分割符是"@"
aryTemp = Split(aryReturn(2),"@")
strPassword = aryTemp(0)
'我们可以顺便取出server
strServer = aryTemp(1)
分割符可以是一个字符,也可以是一个字符串。如:
aryReturn = Split("ftp://username:password@server,"//")
注意:
1.一般来说,ASP中可以不声明变量,使用Split函数时,如果要声明返回值的变量的话,只能用Dim,而不能用Redim。虽然说其返回是一个数组,应该是用Redim也可以,但在实际使用过程中是不行。不知是怎么回事?
2. 如果用Split函数来分割一个字符串中并不存在的分割符时,将返回整个字符串,其结果是只有一个元素的数组。
后话,对于要取一字符串中的某些字符或部分,只要抓住规律,再加上用split就可以很好做成各种效果。写此文,希望对大家的学习有所帮助,同时也希望各路高手能够指点一二!
[p align=center]OICQ技术的分析和实现攻略
2005-10-26 作者:向东 来源:中央民大
文章关键字:Web,数据库技术 模仿QQ的实现
一、引言
OICQ目前中国最大的计算机通讯软件,它的使用遍及几乎所有的中国地区。它极大地推动了网络的发展,已经成为Internet中最流行、最主要的信息聊天服务方式。它把各种类型的信息资源,如静态图象、文本、数据、视频和音频有机地结合起来,使用户能够在电脑上浏览、查询和共享以及建立在WWW服务器所有站点上的超媒体信息,渐渐成为通讯行业的QQ帝国。目前QQ使用的通讯技术与数据库管理(DBMS)相互融合的研究领域已成为热点方向之一,数据库厂家和相关的公司也纷纷推出各自的软件产品和中间件支持OICQ技术和相关服务技术的融合,将两者取长补短,发挥各自的优势,使用户可以在OICQ平台上方便地检索数据库的内容。所谓OICQ系统是指基于INTERNET客户端和服务器模式信息服务,充分发挥DBMS高效的数据存储和管理能力,以Web浏览器 /服务器(B/S)和客户端/服务器(C/S)混合模式为平台,将客户端
统一的超大服务平台,为用户提供使用简便、内容丰富的服务。
二、分析Oicq的协议报文
我个人认为在此基础上大型数据库管理系统必将成为Internet和Intranet提供的核心服务,为Internet上的软件开发提供技术支持。在此,本人将对OICQ的相关通讯协议作分析和自己个人见解和有关的实现方式作一定的介绍,重点是介绍他的服务器技术和本人的的一点见解!
它的数据传送没有经过加密,于是对OICQ服务器系统网络捕包分析及其通讯协议分析研究成为可能,如下:
协议:协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成
发送者和接收者是系统内的程序种类,OICQ服务器0x01,传真服务器0x02,WEB服务器0x03,打印服务器是0x04,聊天服务器是0x05,OICQ用户是0x0A。
OICQ用户到OICQ服务器的通讯协议引导符(0x81+0x0A+0x01)报文类型报文内容报文说明
0x01昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许
0x02服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身
0x03服务号(L)+对方服务号(L)+内容(S)发送信息到某人
0x04服务号(L)+组号(L)+内容(S)广播信息,组号=0为全体阅读全文
2005-10-26 作者:向东 来源:中央民大
文章关键字:Web,数据库技术 模仿QQ的实现
一、引言
OICQ目前中国最大的计算机通讯软件,它的使用遍及几乎所有的中国地区。它极大地推动了网络的发展,已经成为Internet中最流行、最主要的信息聊天服务方式。它把各种类型的信息资源,如静态图象、文本、数据、视频和音频有机地结合起来,使用户能够在电脑上浏览、查询和共享以及建立在WWW服务器所有站点上的超媒体信息,渐渐成为通讯行业的QQ帝国。目前QQ使用的通讯技术与数据库管理(DBMS)相互融合的研究领域已成为热点方向之一,数据库厂家和相关的公司也纷纷推出各自的软件产品和中间件支持OICQ技术和相关服务技术的融合,将两者取长补短,发挥各自的优势,使用户可以在OICQ平台上方便地检索数据库的内容。所谓OICQ系统是指基于INTERNET客户端和服务器模式信息服务,充分发挥DBMS高效的数据存储和管理能力,以Web浏览器 /服务器(B/S)和客户端/服务器(C/S)混合模式为平台,将客户端
统一的超大服务平台,为用户提供使用简便、内容丰富的服务。
二、分析Oicq的协议报文
我个人认为在此基础上大型数据库管理系统必将成为Internet和Intranet提供的核心服务,为Internet上的软件开发提供技术支持。在此,本人将对OICQ的相关通讯协议作分析和自己个人见解和有关的实现方式作一定的介绍,重点是介绍他的服务器技术和本人的的一点见解!
它的数据传送没有经过加密,于是对OICQ服务器系统网络捕包分析及其通讯协议分析研究成为可能,如下:
协议:协议由报文头(T)+发送者(T)+接收者(T)+报文类型(T)+报文长度(L)+报文内容组成
发送者和接收者是系统内的程序种类,OICQ服务器0x01,传真服务器0x02,WEB服务器0x03,打印服务器是0x04,聊天服务器是0x05,OICQ用户是0x0A。
OICQ用户到OICQ服务器的通讯协议引导符(0x81+0x0A+0x01)报文类型报文内容报文说明
0x01昵称(S)+肖像(M)+用户密码(S)+性别(T)+年龄(T)+真实姓名(S)+国家/地区(T)+省(T)+市(S)+地址(S)+邮编(S)+学历(T)+毕业院校(S)+职业(T)+电话(S)+寻呼(S)+电邮(S)+爱好(S)+说明(S)+身份验证(T)新用户注册,身份验证用于当有人要将他加入好友时询问是否允许
0x02服务号(L)+密码(S)+注册方式(T)老用户注册,方式分为0正常,1隐身
0x03服务号(L)+对方服务号(L)+内容(S)发送信息到某人
0x04服务号(L)+组号(L)+内容(S)广播信息,组号=0为全体阅读全文
/*
** 打印必要的说明文字
*/
print("距离星期一还有几天?\n");
print("
- \n");
- " . date("l", $currentDate) . "\n");
}
print("
for($currentDate = date("U"); //定义$currentDate时间格式
date("l", $currentDate) != "Monday"; //判断是不是当前系统时间是Monday
$currentDate += (60 * 60 * 24))//当前时间加上1天
{
/*
** 打印时间名称
*/
print("
?>
对于WAP开发者来说,非常实用的代码.
可以判断访问者是使用手机还是使用电脑访问
从而进入不同目录.
<%
if instr(request.ServerVariables("HTTP_USER_AGENT"),"Mozilla")=0 then
response.redirect "/wap" '如果客户端为手机访问,则进入/wap目录
else
response.redirect "http://siyizhu.com/" '如果客户端不是手机访问,则进入指定地址
end if
%>
其实,上面的asp代码中,response.redirect并不是在所有地区所有手机上都可以成功的。例如,response.redirect "http://xxx.xxx.com/xxx.dll?xxx",客户可以直接进去“”中的地址,但是通过asp文件再redirect是不行的。各位有没有更好的解决办法?
这个是不对的吧,搜索引擎的蜘蛛也没有Mozilla,我印象中是这样的啊
我站上用的是:
<%
Response.Buffer = TRUE
Dim IsWap
httpAccept = LCase(Request.ServerVariables("HTTP_ACCEPT"))
if Instr(httpAccept,"wap") then
IsWap=1
Else Response.Redirect "/index.html" : Response.Flush : Response.End
End if
%>
可以判断访问者是使用手机还是使用电脑访问
从而进入不同目录.
<%
if instr(request.ServerVariables("HTTP_USER_AGENT"),"Mozilla")=0 then
response.redirect "/wap" '如果客户端为手机访问,则进入/wap目录
else
response.redirect "http://siyizhu.com/" '如果客户端不是手机访问,则进入指定地址
end if
%>
其实,上面的asp代码中,response.redirect并不是在所有地区所有手机上都可以成功的。例如,response.redirect "http://xxx.xxx.com/xxx.dll?xxx",客户可以直接进去“”中的地址,但是通过asp文件再redirect是不行的。各位有没有更好的解决办法?
这个是不对的吧,搜索引擎的蜘蛛也没有Mozilla,我印象中是这样的啊
我站上用的是:
<%
Response.Buffer = TRUE
Dim IsWap
httpAccept = LCase(Request.ServerVariables("HTTP_ACCEPT"))
if Instr(httpAccept,"wap") then
IsWap=1
Else Response.Redirect "/index.html" : Response.Flush : Response.End
End if
%>
code:
HelloWorld.java
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class HelloWorld extends MIDlet implements CommandListener {
private Command exitCommand;
private TextBox tb;
public HelloWorld() {
exitCommand = new Command("Exit", Command.EXIT, 1);
tb = new TextBox("Hello 向东", "Hello,World!", 15, 0);阅读全文
HelloWorld.java
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class HelloWorld extends MIDlet implements CommandListener {
private Command exitCommand;
private TextBox tb;
public HelloWorld() {
exitCommand = new Command("Exit", Command.EXIT, 1);
tb = new TextBox("Hello 向东", "Hello,World!", 15, 0);阅读全文