如鵬網 大學生計算機學習社區

          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開源團隊 閱讀(421) | 評論 (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開源團隊 閱讀(603) | 評論 (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開源團隊 閱讀(979) | 評論 (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開源團隊 閱讀(1412) | 評論 (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開源團隊 閱讀(570) | 評論 (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開源團隊 閱讀(1237) | 評論 (4)編輯 收藏

          剛入職要謙虛謹慎。多交朋友,多認老師。剛畢業一定要非常謙虛 。記住在企業里和學校不一樣。沒人能耐心去教你,你必須要學會自己去找資源學習,加強自學能力。
          不要把入職導師當成老師,他只是“導師”,“指導你學習”。
          不要什么問題都問,要學會掂量問題的分量,注意提問的時間(別人忙的時候不能打擾),注意提問的技巧。
          同事不是同學,他們都有自己的事情,不要招人煩,同樣是注意提問的技巧,不要什么都問,也不要什么都不問。不要什么都問,也不要什么都不問 。思考后再問,問的時候說一下自己的看法,不要問“這個問什么運行不起來”。而要“我這個運行不起來,因為我進行了如下操作。。。。,我分析問題的原因是。。。,我是這么解決的。。。,但是還是不行” 。不要把自己定位的太死。不要把自己定位為“做Java的Web開發的程序員”,而是“不管什么類型的項目、什么語言都能靈活應對的軟件工程師” 。

          J2EE開發全程實錄》試讀地址:http://book.csdn.net/bookfiles/427/
          posted @ 2007-07-14 18:52 CowNew開源團隊 閱讀(711) | 評論 (4)編輯 收藏

          靠,氣死了!!!!!!!!
          chinapub上的人怎么這樣,張嘴閉嘴就罵人!!!!!!!!
          vtmas是群里哪位兄弟,謝謝幫我鳴冤,兄弟在這跪謝了!!!以后不去chinapub看書評了!!!!!!!
          我容易嗎!!!!!!
          書好你就看,不好拉倒!!
          真想回帖罵他們一頓!!!!!!!!!!!!!!!!!!!
          書還沒上市就惹一肚子氣!!!!!!!!!!!!
          什么素質呀!!!
          posted @ 2007-07-08 20:54 CowNew開源團隊 閱讀(511) | 評論 (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開源團隊 閱讀(614) | 評論 (4)編輯 收藏

                剛才買了一瓶“妮唯雅”的洗面奶,還有一個“多潤”洗發水。給“妮維雅”廠家打電話人家說沒有這個牌子,是假冒的,給汕頭工商局打電話,他們說“多潤”的廠家都不存在。聞了聞都是香精的味道,媽的,剛才去退貨了,也懶得鬧事,退了就拉倒了。以后買東西一定要注意,以后再也不去那個小店買東西了,上次買的一個三無的沐浴露,用起來跟肥皂水似的。  
                難道沈陽假貨真的這么多?還是只有這一家是??? 一天的好心情全給破壞了! 在那個店里根本容不得你自己挑選,售貨員隨便拿個產品就逼著你去收銀臺,靠,跟打劫的似的。 氣煞我也,最可惡的是不讓你挑選,買東西的時候都感覺害怕,我都怕如果我不買他推薦的東西他會拿刀子捅我,我Sun!
          posted @ 2007-06-16 13:25 CowNew開源團隊 閱讀(492) | 評論 (5)編輯 收藏

          僅列出標題
          共30頁: First 上一頁 9 10 11 12 13 14 15 16 17 下一頁 Last 
          主站蜘蛛池模板: 福安市| 新津县| 松江区| 阿图什市| 吕梁市| 白水县| 阜宁县| 松滋市| 大英县| 房山区| 石景山区| 农安县| 阿拉善左旗| 平武县| 高州市| 新安县| 吉首市| 遂平县| 淄博市| 锦州市| 库车县| 彭泽县| 无极县| 通江县| 太原市| 梓潼县| 太谷县| 灵川县| 灵石县| 慈利县| 岢岚县| 宜春市| 额敏县| 永吉县| 龙山县| 晋州市| 汽车| 榆社县| 赤城县| 稷山县| 台北县|