如鹏网 大学生计算机学习社区

CowNew开源团队

http://www.cownew.com 邮件请联系 about521 at 163.com

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  363 随笔 :: 2 文章 :: 808 评论 :: 0 Trackbacks

#

1、map的声明方法:
 m={"1"=>"3","2"=>"aa"}
2、if count>10
     ....
   elsif c<3
   else
    ...
   end
3、while c<3
   ...
   end
4、正则表示式方法:
/d3/
有match等方法
判断字符串的匹配:
if line=~/Perl|Python/
   ...
替换:
line.sub(/Perl/,'Ruby')将第一个Perl替换成Ruby
line.gsub(/Perl/,'Ruby')将所有Perl替换成Ruby
5、block的使用:
 as = ["2","66"]
as.each{|a|print a}
6、变量的作用域:@成员变量,@@类变量,$全局变量
7、
class Person
  def initialize(name,age)
    @name = name
    @age = age
  end
  def say()
    print "我叫"+@name
    print "#@age"
  end
end

p = Person.new("tom",20)
p.say()
print p.inspect#反射显示对象的内容
8、类方法与类变量:
class Person
  @@count = 0
  def Person.doIt
  end
end
9、数组的子数组:
a=[1,2,3,5]
a[1..3]→[2,3,5]
切片
a=[1,2,3,5]
a[0..2]=[4]
a→[4,5]
10、for语句:
for i in 0..100
   print i
end
11、block:
def a
  for i in 0..100
    yield i
  end
end

a{|f|puts f}
带返回值的block:
def a
  for i in 1..100
    if yield i
      puts "接受"+i.to_s
    end
  end
end

a{|v|v>90}

应用强大的block:
m={}
(1..100).each{|a| m[a]=a**a}
m.each{|a|puts a}
12、block与变长参数:
class FileProcess
  def FileProcess.process(*args)
    f = File.open(*args)
    yield f
    f.close()
  end
end

FileProcess.process("c:/boot.ini","r"){
  |file|
  while line=file.gets
    puts line
  end
}
另一种用法:
FileProcess.process("c:/boot.ini","r") do |file|
  while line=file.gets
    puts line
  end
end
13、闭包:
class MyClass
  def initialize(&action)
    @action = action
  end
  def begin()
    for i in 1..100
      if i>90
        @action.call(self)
      end
    end
  end
end

a = MyClass.new(){puts "超限"}
a.begin()

lambda:
a = lambda{|n| puts n}
a.call(3)
14 数字:
6.times{|i|puts i}
1.upto(5){|i| puts i}
50.step(100,10){|i| puts i}
15 转化
a="33"
b="55"
puts Integer(a)+Integer(b)
puts a.to_i+b.to_i
puts a*3
16 字符串中内嵌ruby表达式
puts "He#{'l'*100}o"
puts "1+1=#{1+1}"

city = "peking"
y=2008
puts "#{city}-#{y}"
注意只有用双引号括起来的才支持内嵌表达式
17 puts "2005|03|08".split(/\|/)
18 Range
('a'..'f').each{|c| puts c}
Range转化为数组:puts ('a1'..'a9').to_a
19 返回bool的方法通常以?结尾,修改对象状态的方法以!结尾
20 自定义复数:
class FuNum
  def initialize(shi,xu)
    @shi=shi
    @xu=xu
  end
 
  def xu
    @xu
  end
  def shi
    @shi
  end
  public :shi,:xu
 
  def +(other)
    newshi = @shi+other.shi
    newxu = @xu+other.xu
    return FuNum.new(newshi,newxu)
  end 
 
  def to_s()
    return "#{@shi}+#{@xu}i"
  end
end

i = FuNum.new(1,2)
j = FuNum.new(2,9)
puts i+j
21 交换两个变量(并行赋值):
a=20
b=30
c=40
a,b,c=c,b,a

print a,b,c
python也支持
22 Case语句:
a=1
salary=case a
      when 0..100 then 3000
      when 101 then 333
      else 888
      end
     
puts salary
Case语句的When部分还支持正则表达式
case line
when /title=(. )/
puts"Titleis#$1"
when/track=(. )/
puts"Trackis#$1"
when/artist=(. )/
puts"Artistis#$1"
end
23 异常处理
begin
  raise "33333333"
rescue RuntimeError
  #$!表示异常信息
  print $!
  #再次抛出
  raise
end

begin
  raise "33333333"
rescue RuntimeError
  #$!表示异常信息
  print $!
  #再次抛出
ensure
  print "无论如何都被打印"
end

还可以在rescue中调用retry来重新执行程序块
24 模块
CowNew.rb模块文件
module CowNew
  PI = 3.14
  def CowNew.calc(r)
    return 2*PI*r
  end 
end

调用者Main.rb
require "CowNew"
puts CowNew.calc(3)
从文件加载模块:
load "E:/greeninst/eclipse3.2.2/eclipse/workspace/r/CowNew.rb"
25 文件处理:
f = "E:/greeninst/eclipse3.2.2/eclipse/workspace/r/CowNew.rb"
puts IO.read(f)
puts IO.readlines(f)

逐行处理:
f = "E:/greeninst/eclipse3.2.2/eclipse/workspace/r/CowNew.rb"
i=IO.foreach(f){|line| puts line}

f = "E:/greeninst/eclipse3.2.2/eclipse/workspace/r/CowNew.rb"
i=0
IO.foreach(f) do |line|
  i=i+1
  print i,"  ",line
end
26 流:STDOUT<<33<<"adfa"
27 Ruby专用Http服务器,支持eruby,免得使用Apache,调试方便:
require "webrick"
include WEBrick
server = HTTPServer.new(:DocumentRoot=>"E:/俺的文档/个人资料/网站安全/cownew空间/")
server.start()

在目录web下创建rhtml文件,增加服务器:
require "webrick"
include WEBrick
server = HTTPServer.new(:DocumentRoot=>File.join(Dir.pwd,"web"))
server.start()
自定义Servlet:
require "webrick"
include WEBrick

class HelloServlet<HTTPServlet::AbstractServlet
   def do_GET(req,res)
     res["Content-Type"] = "text/html"
     res.body="aaaaaaaaa"
   end
end
server = HTTPServer.new(:DocumentRoot=>File.join(Dir.pwd,"web"))
server.mount("/hello",HelloServlet)
server.start()

 

posted @ 2007-08-02 20:09 CowNew开源团队 阅读(416) | 评论 (0)编辑 收藏

Commons-Lang

一、org.apache.commons.lang

1CharRange用来判断一个Char是否位于某个范围内;

2CharSet判断一个或者多个字符是否位于一个字符集合中;

3CharSetUtils用来替换字符串、计算一个字符串中某个字符的出现次数等;

4ObjectUtilsdefaultIfNullequalstoString(当null时可以为空格或者默认值)。

5SerializationUtils序列化用cloneserialize(序列化到流中或者序列化为二进制字符串)、deserialize

6StringUtils:判断是否是数字,截取某个分隔符前后的字符串,交换大小写,将多个Object类型的join为一个字符串,一个字符串重复n次,反转字符串,将某个字符串居中//右对齐。

7SystemUtils:读系统变量

8ClassUtils进行反射调用,比如得到一个类的包名、类名、所有接口、所有父类

9StringEscapeUtils将字符串格式化为符合HTMLSQLJavaScript等能否使用的字符串

二、org.apache.commons.builder

       方便构建equalscompareTohashCode方法。

三、org.apache.commons.exception

       ExceptionUtils用来为Nest异常脱皮,将异常转换为异常字符串(调用堆栈)或者将异常字符串转换为异常堆栈。NestableRuntimeException嵌套运行时异常。

四、org.apache.commons.time

1DateFormatUtils:格式化日期

2StopWatch跑表

五、其他

ArrayUtils,字符串操作。toString方法用来返回数组的字符串形式(比如new int[]{3,5,7,2,3,4}转换为{3,5,7,2,3,4});hashCode方法得到数组的hashcodeclone得到数组的拷贝;toPrimitivetoObject等用来在Wrapped数组和原生数组之间转换;

commons-configuration

    用来提供配置文件保存和加载,能以xml这样的层级格式保存。

commons-IO

一、CopyUtils

    提供将对象拷贝到流中,将输出流拷贝到输入流中,

二、FileUtils

    byteCountToDisplaySize:得到字节大小的通俗表示,比如3MB

    copyFileToDirectory:将文件拷贝到某目录;

    deleteDirectory:删除目录

    cleanDirectory:清理目录

       readFileToString:将文本文件读取到字符串中

       writeStringToFile:将字符串写到文本文件中

三、HexDump

       以类似于UE的方式显示二进制数据,例子:

              byte[] datas = SerializationUtils.serialize(Boolean.TRUE);

              ByteArrayOutputStream bos = new ByteArrayOutputStream();

              HexDump.dump(datas, 0, bos, 0);

              System.out.println(bos.toString());

              IOUtils.closeQuietly(bos);

四、IOUtils

       closeQuietly:关闭各种资源

       toString:得到InputStream的字符串形式

       toByteArray:得到InputStream的二进制形式

       contentEquals:两个InputStream是否相等

 

posted @ 2007-07-17 22:51 CowNew开源团队 阅读(585) | 评论 (0)编辑 收藏

    《J2EE开发全程实录》的随书光盘中的案例配置比较麻烦,如果要运行起来需要修改很多配置,而且要求用户必须使用WTP、Tomcat、MSSQLServer。为了方便读者学习,作者对其进行了优化,与书中的代码比起来有如下变化:
1、将演示数据库由MYSQLServer修改为HSQL
2、由Tomcat改为使用内嵌Jetty部署和开发
3、修正了配置文件中对Windows操作系统的依赖(比如使用C盘,使用\分割路径等),能够真正跨平台
4、数据源配置方式由从应用服务器JNDI方式改为通过Commons-DBCP,增加可移植性
    您无需对系统进行任何配置、无需安装数据库、无需部署Web服务器,只要您的系统中安装了JDK或者JRE,那么点击几下鼠标即可轻松运行本系统,真正做到“下载之后立即运行”,打造绿色的Java软件。
    源码下载地址:http://www.onlinedown.net/soft/59588.htm 
    《J2EE开发全程实录》读者专区:http://www.cownew.com/bbs/

posted @ 2007-07-17 21:24 CowNew开源团队 阅读(969) | 评论 (2)编辑 收藏

    经过几天发布版的准备,CowNewPIS终于公开发布了。CowNewPIS是一款基于MDA理念研发的新一代技术平台。它采用开放的J2EE 技术,跨平台、跨数据库,系统具有非常高的可扩展性,可以基于CowNewPIS快速搭建出复杂的企业级应用。从技术角度来讲,CowNewPIS有机的融合了Spring、Hibernate、Struts、Swing等主流的J2EE技术,并且创造性的提出了Spring分布式开发解决方案、DTOGenerator(OSIV的杀手)、基于AOP的权限框架实现、Swing控件库、Web控件库等技术。系统搭建过程中合理的使用了面向对象的开发思想,并且将主流的设计模式融合起来,无论是对于想学习J2EE开发技术,还是想深入了解企业级系统建模的人员,CowNewPIS都是非常好的实际案例。源码包中还包含了关于CowNewPIS的设计开发文档(《J2EE开发全程实录》的部分章节),源码和文档结合起来的话将能帮助你更加快速和有效的学习到你想学习到的知识。
    此版本与以前内部发布版本比起来有如下几个优点:
1、将演示数据库由MYSQLServer修改为HSQL
2、由Tomcat改为使用内嵌Jetty部署和开发
3、修正了配置文件中对Windows操作系统的依赖(比如使用C盘,使用\分割路径等),能够真正跨平台
4、数据源配置方式由从应用服务器JNDI方式改为通过Commons-DBCP,增加可移植性
    您无需对系统进行任何配置、无需安装数据库、无需部署Web服务器,只要您的系统中安装了JDK或者JRE,那么点击几下鼠标即可轻松运行本系统,真正做到“下载之后立即运行”,打造绿色的Java软件。
    源码及开发文档下载地址:http://www.onlinedown.net/soft/59588.htm
    CowNew开源团队:http://www.cownew.com
posted @ 2007-07-17 21:13 CowNew开源团队 阅读(1401) | 评论 (5)编辑 收藏

北京赞同科技发展有限公司是一家金融软件行业的专业公司,目前公司已经形成包括前端(柜台)系统、大前置(中间业务)系统、通讯前置(通讯中间件)系统、业务集中监控管理系统等多条产品线,公司客户主要有中国工商银行、中国建设银行、交通银行、广东发展银行、北京银行、恒丰银行、烟台商业银行、石家庄商业银行及一批农信社,公司与Intel、HP等主流硬件厂商也有密切的合作。

产品开发部是公司的产品研发部门,主要负责公司核心产品的开发、维护,随着公司业务规模的扩大及产品研发任务的不断提出,长期需要以下两类人才:


1、高级软件工程师及系统架构师

职位描述:
(1)参与或主导公司核心产品的研发
(2)为产品推广提供技术支持

基本要求:
(1)扎实的计算机软件基础,精通JAVA或C/C++,熟悉常见操作系统及数据库系统
(2)对计算机软件技术有强烈的兴趣,爱好钻研新技术
(3)英语6级以上



2、产品经理

职位描述:
(1)负责公司现有产品的推广及后续发展
(2)为产品应用实施人员提供技术支持

基本要求:
(1)扎实的计算机软件基础,精通JAVA或C/C++,熟悉常见操作系统及数据库系统
(2)丰富的应用实施及产品维护经验
(3)良好的沟通能力
(4)英语4级以上



欢迎广大爱好计算机软件、有长期事业规划的有志青年加入我们的队伍。有兴趣请通过电子邮件投递简历,简历至少包含以下内容:
(1)教育经历
(2)工作、实习经历,包括项目经验
(3)特长及爱好

我的邮箱: chen.xm@agree.com.cn

posted @ 2007-07-16 00:14 CowNew开源团队 阅读(560) | 评论 (1)编辑 收藏

本版解决问题:

1、可以在eclipse3.1、eclipse3.2下正确运行

2、支持JDK1.4、JDK1.5

下载地址:
http://www.cownew.com/download/com.cownew.studio_1.1.0.jar
 

J2EE开发全程实录》试读地址:http://book.csdn.net/bookfiles/427/
posted @ 2007-07-15 18:38 CowNew开源团队 阅读(1228) | 评论 (4)编辑 收藏

刚入职要谦虚谨慎。多交朋友,多认老师。刚毕业一定要非常谦虚 。记住在企业里和学校不一样。没人能耐心去教你,你必须要学会自己去找资源学习,加强自学能力。
不要把入职导师当成老师,他只是“导师”,“指导你学习”。
不要什么问题都问,要学会掂量问题的分量,注意提问的时间(别人忙的时候不能打扰),注意提问的技巧。
同事不是同学,他们都有自己的事情,不要招人烦,同样是注意提问的技巧,不要什么都问,也不要什么都不问。不要什么都问,也不要什么都不问 。思考后再问,问的时候说一下自己的看法,不要问“这个问什么运行不起来”。而要“我这个运行不起来,因为我进行了如下操作。。。。,我分析问题的原因是。。。,我是这么解决的。。。,但是还是不行” 。不要把自己定位的太死。不要把自己定位为“做Java的Web开发的程序员”,而是“不管什么类型的项目、什么语言都能灵活应对的软件工程师” 。

J2EE开发全程实录》试读地址:http://book.csdn.net/bookfiles/427/
posted @ 2007-07-14 18:52 CowNew开源团队 阅读(702) | 评论 (4)编辑 收藏

靠,气死了!!!!!!!!
chinapub上的人怎么这样,张嘴闭嘴就骂人!!!!!!!!
vtmas是群里哪位兄弟,谢谢帮我鸣冤,兄弟在这跪谢了!!!以后不去chinapub看书评了!!!!!!!
我容易吗!!!!!!
书好你就看,不好拉倒!!
真想回帖骂他们一顿!!!!!!!!!!!!!!!!!!!
书还没上市就惹一肚子气!!!!!!!!!!!!
什么素质呀!!!
posted @ 2007-07-08 20:54 CowNew开源团队 阅读(499) | 评论 (4)编辑 收藏

   

      现在大部分软件开发书籍都是讲解某个技术如何用,很少有讲实战的,即使有实战案例的讲解,也是讲解网上购物、聊天室之类已经被人写烂了的系统的开发,最可怕的是书中的实现代码惨不忍睹,使得读者很容易被误导,至于如何进行合理的架构设计就更无从谈起;少数从国外引进的高端技术书籍又大谈特谈各种在天上飞来飞去的理论,“看的时候心潮澎湃,看完之后一脸茫然”,读者不知道如何将这些理论应用到实际的开发过程当中。本书就尝试着打破这种局面,把一个真实的系统搭建从头讲起,不仅包含具体的实现技术,也包含一些架构方面的设计思想。

       这是一本以Java开发语言为载体来讲解企业级信息系统开发的书,其中涉及到了HibernateStrutsSpringJSPSwingJDBC等很多技术,而且案例系统的搭建过程中也较合理的使用了面向对象理念进行系统设计,但是书中不可能详细讲解这些技术的使用,读者可以根据需要参考这些技术相关的参考资料。

       序言部分介绍了开发框架等的概念;第1234章介绍了正则表达式、AOP、自定义JSP标签等基础知识;第5章给出了案例系统的需求文档;第6章基于Spring技术搭建了案例系统的Remoting部分;第7章构建了一个基于MDA理念的元数据引擎;第8章对案例系统中用到的枚举异常类、工具类等做了介绍;第9101112章基于SpringHibernate等技术搭建了事务、DTO生成器、权限控制、日志记录、多数据库支持等基础模块;第1314章开发了登录服务、Swing客户端基础模块以及数据选择器等自定义Swing控件;第15章实现了列表界面、编辑界面和编辑界面的基类;第16章搭建了Web客户端的登录界面、主菜单等基础模块,并开发了JSP用的数据选择器等自定义标签;第17章则以前面章节搭建出的基础框架为基础实现了第5章中的需求文档所要求的功能。

   《J2EE开发全程实录》是国内J2EE研究领域里具有里程碑意义的一部作品。作者以通俗易懂的语言将J2EE企业级系统架构设计、开发过程中的看似高深的技术与原理娓娓道来,使得读者在不经意间随着作者的思路一起参透高深的技术理念。阅读完本书我才发现架构设计、设计模式、元数据编程、AOP、分布式开发这些看似高深的理论完全可以很轻松的用来改善系统架构的设计,而Spring HibernateStrutsSwingXML这些看似孤立的技术也可以有机的结合起来搭建一个高度灵活的系统架构。相信对于想深入学习基于J2EE技术的企业级系统架构设计与开发技术的读者来说,《J2EE开发全程实录》将是一本不可多得的宝典。

预订地址:http://www.china-pub.com/computers/common/info.asp?id=35167
posted @ 2007-07-06 19:23 CowNew开源团队 阅读(601) | 评论 (4)编辑 收藏

      刚才买了一瓶“妮唯雅”的洗面奶,还有一个“多润”洗发水。给“妮维雅”厂家打电话人家说没有这个牌子,是假冒的,给汕头工商局打电话,他们说“多润”的厂家都不存在。闻了闻都是香精的味道,妈的,刚才去退货了,也懒得闹事,退了就拉倒了。以后买东西一定要注意,以后再也不去那个小店买东西了,上次买的一个三无的沐浴露,用起来跟肥皂水似的。  
      难道沈阳假货真的这么多?还是只有这一家是??? 一天的好心情全给破坏了! 在那个店里根本容不得你自己挑选,售货员随便拿个产品就逼着你去收银台,靠,跟打劫的似的。 气煞我也,最可恶的是不让你挑选,买东西的时候都感觉害怕,我都怕如果我不买他推荐的东西他会拿刀子捅我,我Sun!
posted @ 2007-06-16 13:25 CowNew开源团队 阅读(476) | 评论 (5)编辑 收藏

仅列出标题
共30页: First 上一页 9 10 11 12 13 14 15 16 17 下一页 Last