<nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

    <bdo id="rub96"></bdo>

      1. <track id="rub96"><div id="rub96"></div></track>
        <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

            <nobr id="rub96"><address id="rub96"><big id="rub96"></big></address></nobr>
          1. <menuitem id="rub96"><strong id="rub96"><menu id="rub96"></menu></strong></menuitem>
            <dl id="rub96"><source id="rub96"><tr id="rub96"></tr></source></dl>
            1. <tbody id="rub96"><div id="rub96"></div></tbody>
              1. <bdo id="rub96"><optgroup id="rub96"></optgroup></bdo>
              2. <bdo id="rub96"><dfn id="rub96"><dd id="rub96"></dd></dfn></bdo>
                1. <option id="rub96"><source id="rub96"></source></option>
                2. <bdo id="rub96"></bdo>

                    <p id="rub96"><tr id="rub96"></tr></p>
                  1. <tbody id="rub96"></tbody>

                    <bdo id="rub96"></bdo>

                  2. <option id="rub96"><source id="rub96"></source></option>

                    <bdo id="rub96"><optgroup id="rub96"><dd id="rub96"></dd></optgroup></bdo>
                      <track id="rub96"></track>

                        <bdo id="rub96"></bdo>
                      1. <option id="rub96"><p id="rub96"><tr id="rub96"></tr></p></option>

                          <bdo id="rub96"></bdo>
                          1. <track id="rub96"></track>
                            1. <track id="rub96"></track>
                                  <bdo id="rub96"></bdo>
                                  <option id="rub96"></option>

                                      1. <track id="rub96"><span id="rub96"></span></track>

                                          <option id="rub96"></option>

                                          1. 
                                            
                                              <option id="rub96"><span id="rub96"></span></option>
                                              <bdo id="rub96"><address id="rub96"></address></bdo>
                                              <option id="rub96"><source id="rub96"></source></option>
                                                <nobr id="rub96"><address id="rub96"></address></nobr>
                                              1. <nobr id="rub96"><optgroup id="rub96"><big id="rub96"></big></optgroup></nobr>
                                                <track id="rub96"></track>

                                                <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>
                                                1. 隨筆-75  評論-193  文章-5  trackbacks-0
                                                    2013年1月28日
                                                  var fixgeometry = function() {
                                                      /* Some orientation changes leave the scroll position at something
                                                       * that isn't 0,0. This is annoying for user experience. */
                                                      scroll(0, 0);
                                                      /* Calculate the geometry that our content area should take */
                                                      var header = $(".header:visible");
                                                      var footer = $(".footer:visible");
                                                      var content = $(".content:visible");
                                                      var viewport_height = $(window).height();
                                                      
                                                      var content_height = viewport_height - header.outerHeight() - footer.outerHeight();
                                                      
                                                      /* Trim margin/border/padding height */
                                                      content_height -= (content.outerHeight() - content.height());
                                                      content.height(content_height);
                                                    }; /* fixgeometry */
                                                    $(document).ready(function() {
                                                      $(window).bind("orientationchange resize pageshow", fixgeometry);
                                                    });
                                                  posted @ 2013-01-28 10:59 The Matrix 閱讀(4821) | 評論 (1)編輯 收藏
                                                    2012年4月4日
                                                  環境:
                                                      
                                                      Centos6.2(安裝在Vmware7.0中)
                                                      Magento1.6.2
                                                      Apache Httpd Server 2.2.15
                                                      MySql 5.1.61
                                                      PHP5.3.3

                                                  安裝過程:

                                                      apache http、mysql、php及相關擴展安裝:
                                                      其中apache http、Mysql、php都是利用centos的添加/刪除軟件功能進行安裝。同時使用該功能安裝"php-xml"、"php-gd"、"php-pdo"、"php-mbstring"、"php-mysql"擴展。
                                                      使用chkconfig配置httpd和mysql為系統服務。命令如下:
                                                      chkconfig httpd on
                                                      chkconfig -add mysqld
                                                      chkconfig mysqld on
                                                      使用chkconfig --list 可以查看所有的服務配置狀態
                                                      使用service httpd start、service mysqld start啟動httpd和mysqld服務。可以通過service httpd restart重啟相關服務。
                                                      此時訪問本機的http://localhost可以看到apache的歡迎界面,同時編輯index.php文件,其內容如下:
                                                      <?php
                                                          phpinfo();
                                                      ?>
                                                      并將該文件置于/var/www/html目錄下,訪問http://localhost/index.php,此時應該不能看到php版本信息,僅能看到index.php的靜態文本內容。
                                                      修改/etc/httpd/conf/httpd.conf文件,修改如下:
                                                      DirectoryIndex index.html index.html.var ->  DirectoryIndex index.html index.htm index.php
                                                      增加:
                                                      AddType application/x-httpd-php .php
                                                      AddDefaultCharset -> AddDefaultCharset off  (解決中文亂碼問題)
                                                      增加一段VirtualHost描述,如下(在配置文件的最后):
                                                      <VirtualHost *:80>
                                                          DocumentRoot /var/www/smallfive
                                                          ServerName smallfive
                                                          ServerAlias smallfive.com *.smallfive.com
                                                      </VirtualHost>
                                                      此時訪問http://localhost/index.php,應該一切正常

                                                      設置數據庫:
                                                      使用mysqladmin -u root password 'newpassword'設置mysql數據庫的默認密碼
                                                      讓數據庫更安全:
                                                      mysql -u root -p    進入mysql
                                                      mysql> DROP DATABASE test;                刪除test數據庫
                                                      mysql> DELETE FROM mysql.user WHERE user = '';       刪除匿名帳戶
                                                      mysql> FLUSH PRIVILEGES;                 重載權限
                                                      創建magento數據庫
                                                      mysql> CR   訪問magento數據庫,確保一切正常

                                                      配置Magento:
                                                      解壓縮magento1.6.2版本至/var/www/smallfive/magento目錄
                                                      解壓命令:
                                                     EATE DATABASE magento;
                                                      mysql> GRANT ALL PRIVILEGES ON magento.* TO 'root'@'localhost' IDENTIFIED BY 'newpassword'; 
                                                    tar zxvf magento1.6.2.tar.gz
                                                      此時訪問http://localhost/magento,可根據magento的設置進行配置
                                                     
                                                      注意如下問題:
                                                      1、確保當前用戶擁有對/var/www/smallfive/magento可讀可寫權限
                                                      2、還需安裝mcrypt庫,安裝這個庫比較繁瑣,mcrypt依賴于Libmcrypt庫和mhash庫,我們需要下載Libmcrypt庫和mhash庫安裝它們,然后再編譯Mcrypt。
                                                      在編譯之前,先做好如下準備工作:
                                                          a、安裝phpize:yum -y install php-devel
                                                          b、安裝C++腳本編譯模塊:
                                                              yum -y install gcc gcc-g++
                                                              yum -y install gcc gcc-c++
                                                      安裝mcrypt庫過程,如下:
                                                          a、下載libmcrypt和mhash庫
                                                              Libmcrypt:http://sourceforge.net/project/showfiles.php?group_id=87941&package_id=91774&release_id=487459
                                                              mhash:http://sourceforge.net/project/showfiles.php?group_id=4286&package_id=4300&release_id=645636
                                                          b、將上述兩個下載后,分別解壓,并執行如下命令編譯:
                                                              ./configure
                                                              make && make install
                                                          c、下載php對應的源代碼,解壓,
                                                              進入php源代碼的 /ext/mcrypt目錄
                                                              執行phpize命令
                                                              ./configure –with-php-config=/usr/bin/php-config
                                                              make && make install
                                                          d、在php.ini文件中增加如下內容:
                                                              extension=/usr/lib/php/modules/mcrypt.so
                                                              mcrypt.so文件路徑在php-config文件中可以找到
                                                          e、service httpd restart
                                                     
                                                      end!
                                                       
                                                      參考文章:
                                                      http://www.eexu.com/article.asp?id=1730
                                                      http://www.ruiwant.com/centos-6-0%E4%B8%8Bmagento%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E6%80%BB%E7%BB%93.html
                                                      http://zixun.www.net.cn/qita/2344.html
                                                      http://os.qudong.com/Linux/2010/0210/64441.html
                                                  posted @ 2012-04-04 17:09 The Matrix 閱讀(2941) | 評論 (1)編輯 收藏
                                                    2012年3月2日
                                                  有時在vmware里面安裝的系統或應用有License時間的限制,可以通過修改虛擬機時間的方法來防止過期,此時需在.vmx文件中加入下面的內容:
                                                  tools.syncTime = "FALSE"
                                                  time.synchronize.continue = "FALSE"
                                                  time.synchronize.restore = "FALSE"
                                                  time.synchronize.resume.disk = "FALSE"
                                                  time.synchronize.shrink = "FALSE"
                                                  rtc.startTime = 1183431600  #這是用來指定虛擬機啟動后的時間。數字是自1970年1月1日零時零分零秒以來的秒數,可以通過如下網址將某個時間轉換為該數字(Unix時間戳):http://www.onlineconversion.com/unix_time.htm

                                                  注意:同時還需在虛擬機操作系統的服務中,停用“VMware Tools Service”的服務。
                                                  在Windows Server 2003中操作系統自身也有時間同步功能,需在時間設定中停用,同時停用“Windows Timer”服務。
                                                  posted @ 2012-03-02 10:51 The Matrix 閱讀(7142) | 評論 (0)編輯 收藏
                                                    2011年11月27日
                                                  主要參見:http://blog.chenlb.com/2011/03/install-apache-php-wordpress-windows.html

                                                  在安裝好apache http server后,如果端口不正確,則修改"apache安裝目錄/conf/httpd.conf"文件中的如下信息:
                                                  Listen 80  -> Listen 8060
                                                  #ServerName localhost:80 -> ServerName localhost:8060

                                                  Apache HTTP Server版本:2.2
                                                  PHP版本:5.3.8
                                                  WordPress版本:3.2.1
                                                  posted @ 2011-11-27 21:28 The Matrix 閱讀(473) | 評論 (0)編輯 收藏
                                                    2011年5月31日

                                                  1. 打開工具Oracle SQL Plus 以dba身份登錄sys用戶
                                                  sqlplus /nolog
                                                  conn sys@url as sysdba

                                                  2. 創建用戶并指定表空間

                                                  使用客戶端工具或者Web管理控制臺創建表空間以及用戶
                                                  給用戶賦予connect、resource、dba權限
                                                  grant connect,resource,dba to username;


                                                  注意:給oracle用戶分配connect、resource角色時,此時connect 角色中有一個 UNLIMITED TABLESPACE 權限,也就是username這個用戶可以在其他表空間里隨意建表。
                                                  revoke unlimited tablespce from username;     --撤銷username用戶在任意表空間建表的權限
                                                  alter user username quota 0 on users;      --alter username quota 0 on Users;  // 還不是很清楚具體含義???
                                                  alter user username quota unlimited on tablespacename;   --賦予username用戶在tablespacename表空間任意建表的權限;

                                                   


                                                  3. 使用imp工具導入dmp數據文件
                                                  imp username/password@url file=c:\db.dmp fromuser=username1 touser=username log=c:\log.txt


                                                  -------------------------------------------------------------------------------------------------------------
                                                  其它命令:
                                                  select * from dba_users;    --查詢用戶

                                                  select * from dba_tables;    --查詢表
                                                  select * from dba_views;    --查詢視圖
                                                  select * from dba_tablespaces;    --查詢表空間


                                                  oracle 10g,查詢表空間使用率
                                                  Select * from sys.DBA_TABLESPACE_USAGE_METRICS;
                                                  -------------------------------------------------------------------------------------------------------------

                                                  drop user username cascade;

                                                  ORA-01940:無法刪除當前已連接的用戶

                                                  select username, sid, serial# from v$session where username='username';

                                                  alter system kill session'sid,serial#'

                                                   

                                                  posted @ 2011-05-31 16:43 The Matrix 閱讀(3206) | 評論 (0)編輯 收藏
                                                    2011年5月20日
                                                  環境:Windows7 professional

                                                  1、下載redmine1.1.3.zip、ruby1.8.7、rubygems-1.3.7.zip、mysql 5.0

                                                  2、安裝MySQL5.0,cmd窗口下使用mysql -u root -p 登錄MySQL數據庫,執行如下語句創建redmine數據庫及用戶:
                                                  create database redmine character set utf8;
                                                  create user 'redmine'@'localhost' identified by 'my_password';
                                                  grant all privileges on redmine.* to 'redmine'@'localhost';
                                                  注:
                                                      使用MySQL5.5在后面進行初始數據時Ruby會提示連接有問題
                                                      在安裝完MySQL后,先不要進行配置,至“MySQL安裝路徑\bin”目錄下,修改MySQLInstanceConfig.exe為“以管理員成分執行此程序”,“以兼容模式運行該程序”
                                                      進行數據庫配置時,選擇字符集為utf8

                                                  3、運行ruby1.8.7安裝包,解壓至d:/ruby187,將d:/ruby187/bin添加至path環境變量中
                                                  安裝后可執行 ruby -v查看ruby版本以檢驗安裝是否正確

                                                  4、解壓rubygems-1.3.7.zip至d:/rubygems-1.3.7
                                                  進入d:/rubygems-1.3.7目錄,執行ruby setup.rb
                                                  注:Redmine需要rubygems 1.3.1 - 1.5.x,肯定不能用1.8.2版本

                                                  5、執行gem install rails -v=2.3.5 遠程安裝rails2.3.5版本
                                                  gem install mysql
                                                  gem install -v=0.4.2 i18n

                                                  6、解壓縮redmine1.1.3至d:/redmine1.1.3目錄
                                                  進入d:/redmine-1.1.3/config目錄,修改database.yml.example文件為database.yml,并修改該文件中的production數據庫連接配置為如下:
                                                  production:
                                                    adapter: mysql
                                                    database: redmine
                                                    host: localhost
                                                    username: redmine
                                                    password: my_password
                                                    encoding: utf8

                                                  進入d:/redmine1.1.3目錄,執行
                                                  rake config/initializers/session_store.rb
                                                  rake db:migrate RAILS_ENV="production"

                                                  7、加載默認配置數據
                                                  rake redmine:load_default_data RAILS_ENV="production"
                                                  默認語言選擇"zh"

                                                  8、運行
                                                  ruby script/server webrick -e production

                                                  9、訪問:http://localhost:3000
                                                  使用admin/admin進行登入
                                                  進入設置,把默認語言設為“簡體中文”,然后設置當前用戶的默認語言設為“簡體中文”,這樣就是中文界面了

                                                  -----------------------------------------

                                                  繼續,將redmine設置為windows 7的服務

                                                  1、首先需要配置mysql為windows 7的服務

                                                  2、Ruby提供一個安裝Ruby程序為服務的包:mongrel_service。安裝其實很簡單,運行:gem install mongrel_service

                                                  3、安裝redmine為服務,執行mongrel_rails service::install -N RedMine -c C:\redmine-1.1.3 -p 3000 –e production
                                                  注意:此處打開cmd窗口時,需要輸入cmd后,不是直接按Enter,而是按 Ctrl+Shift+Enter打開Cmd窗口,此時以管理員身份打開,否則安裝為服務時會提示拒絕訪問。

                                                  4、安裝服務后,需檢查服務-e后的參數是不是production,如果不是production而是development,則在注冊表中把參數手動改為production。修改方法是:打開“注冊表編輯器”,展開分支“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services”,選擇redmine服務,找到ImagePath項,修改保存后在服務列表中啟動服務,并把服務設置自動啟動。

                                                  OK!
                                                  posted @ 2011-05-20 10:25 The Matrix 閱讀(2621) | 評論 (0)編輯 收藏
                                                    2010年11月9日
                                                  沒仔細研究,先把項目地址記下:http://arshaw.com/fullcalendar/

                                                  這個博客中另有幾個推薦的類似項目:http://hi.baidu.com/freezesoul/blog/item/15c5d73fe4a315c17d1e71ec.html
                                                  posted @ 2010-11-09 20:37 The Matrix 閱讀(1071) | 評論 (0)編輯 收藏
                                                    2010年4月14日

                                                  這幾天在看郎咸平的《誰在謀殺中國經濟》,這本書我基本看過一遍了,認為全書的重點在于中華文化的四大茫然,整本書都是圍繞這四大茫然展開論述,中華文化的四大茫然如下:
                                                  茫然之一:就知道賺錢
                                                  茫然之二:不了解世界
                                                  茫然之三:不了解別人為什么那么看你
                                                  茫然之四:不了解自己的缺點

                                                  大家有時間可以看看這本書,我覺得寫的不錯,至少我自己看完深有感觸,我覺得完全可以將這幾點套用到我們生活的很多方面,比如對于我們搞IT的技術人員來說,我認為現在很多人也存在四大茫然:

                                                  茫然之一:只知道完成任務。也許是我年齡大了點,但我覺得現在很多小朋友,尤其是85年以后出生的,工作的時候只是在完成任務,事情做完了,有時也不測試,或者就是匆匆測試,匆匆結束,并沒有好好的想為什么這件事老大要讓我這樣做,這樣做有什么好處,會不會有缺點,我是不是有更好的方法。當你不去想的時候,意味著你少了很多提高的機會。

                                                  茫然之二:不追究為什么。很多人做事情就象第一條說的那樣,只是完成任務,并不去想其中的原理是什么。面試過很多人,對于目前工作兩三年的大部分人來說(當然我面試的不是好的學校畢業的,基本學校為中等偏下點),一旦涉及到Spring、Hibernate、Struts等框架深入點東西的時候,大都回答不上來,只是對框架能熟練應用而已。這樣夠么?計算機的很多知識,當你熟悉了其運作原理,框架對于你來說,只是手到擒來,看看學學就會用了。我問過好幾個同事,平時晚上回去都干嘛,很多人都回答我晚上回去看看電視,稍微看看書就睡覺了。我有點驚訝,我想如果你想成為一個技術高手,一個能拿高薪的程序員,你又沒有天份,又不付出超過常人的努力,憑什么你比別人強呢?

                                                  茫然之三:不善于總結。很多人(又是很多人)過著做一天和尚撞一天鐘的日子,日子一天一天過去,基本不去總結,只是過了好長一段時間會發覺,原來最近我啥也沒有進步,啥也沒學到,還是老樣子。知識在于積累,你只有不斷總結,知識才能更好的積累,才能更好的為你服務。

                                                  茫然之四:沒有明確的目標。一個人沒有目標就決定了他不會有長足的進步。你都沒有想過自己要成為一個架構師,一個項目經理,一個部門經理,一個技術總監,都沒有想過要成為這樣的人需要具備什么樣的條件,你怎么可能知道自己欠缺什么?需要補充什么呢?長遠目標要明確,然后根據長遠目標進行分析,我要達到這樣的目標,還有什么欠缺,據此制定短期目標,短期目標一定要可實現可操作。這樣隨著你目標的一步一步實現,你各方面的能力也隨之提高了。

                                                  寫了幾點,也作為對自己的鞭策。

                                                  posted @ 2010-04-14 22:05 The Matrix 閱讀(5704) | 評論 (10)編輯 收藏
                                                    2010年2月3日

                                                  2010年已經過去一個月了,趕在農歷春節前列一下今年的讀書清單,不能總把精力放在工作中了,也需要補充點新知識了,否則沒有新東西能貢獻出來了。

                                                  1、《OSGI原理與最佳實踐》,結合這本書并研究SpringDM,做一些實例。

                                                  2、《SQL語言藝術》

                                                  3、《Oracle9i&10g編程藝術》

                                                  4、《架構之美》

                                                  5、《UML和模式應用》

                                                  6、《UML彩色建模》

                                                  7、《領域驅動設計與模式實戰》

                                                  8、《敏捷軟件開發 原則、模式與實踐》

                                                  9、《軟件開發的邊界》

                                                  10、《軟件隨想錄》

                                                  11、《走出軟件作坊》

                                                  就這么多了,9、10、11去年都看過一遍了,但好多地方粗粗過了一下,還要仔細閱讀。

                                                  另外也對自己提個要求,看書要做讀書筆記。

                                                  2010年-我的讀書年!

                                                  posted @ 2010-02-03 23:27 The Matrix 閱讀(2594) | 評論 (6)編輯 收藏
                                                    2010年1月5日

                                                  摘自《軟件隨想錄》

                                                  看了軟件隨想錄中下面一段話,覺得非常棒,作為一名軟件從業人員,不一定有機會能實現描述中的優秀軟件產品,但這樣的理念需要貫穿我們每個人的心田,時刻記在心中:

                                                  【創造一個有使用價值的軟件,你必須時時刻刻都在奮斗,每一次的修補,每一個功能,每一處小小的改進,你都在奮斗,目的只是為了再多創造一點空間,可以再多吸引一個用戶加入。沒有捷徑可走。你需要一點運氣,但是這不取決于你是否幸運。你之所以會有好運氣,那是因為你寸土必爭。

                                                  每天你前進一小步,將一件東西做得比昨天好一點點。這樣的改進幾乎看不出可以讓誰獲益,幾乎沒有變化。但是,你前進了一小步。

                                                  有無數個要做的這樣微小的改進。

                                                  為了發現可以改進的地方。你必須有一個思維定勢,始終如一的用批判的眼光看世界。隨便找一樣東西,如果你看不出它的缺點,那么你的思維轉型還沒有成功。當你成功的時候,你身邊親密的人會被你逼得發瘋。你的家人恨不得殺了你。當你步行上班的時候,看到一個司機漫不經心地開車,你幾乎用了所有的意志力才勉強忍不住沖上去告訴那個司機,他這樣開車差點兒要了旁邊坐在輪椅上的那個可憐小孩的命。

                                                  當你改正了一個又一個這樣的小細節后,當你磨光、定型、擦亮、修飾你的產品的每一個小邊角后,就會有神奇的事情發生。厘米變成分米,分米變成米,米變成了千米。你最后拿出來的是一件真正優秀的產品。它第一眼就讓人覺得震撼,出類拔萃,工作起來完全符合直覺。就算100萬個用戶中有一個用戶某天突然要用到一個他100萬次使用中才會用到一次的罕見功能,他發現了這個功能不僅能用,而且還很沒:在你的軟件中,即使是看門人的小屋都鋪著大理石的地板,配有實心的橡木門和桃花心木的壁板。

                                                  就是在這個時候,你意識到這是一個優秀軟件。】

                                                  posted @ 2010-01-05 21:25 The Matrix 閱讀(2070) | 評論 (11)編輯 收藏
                                                    2009年11月11日

                                                  在Flash Builder 4 Beta 2版本中,使用mxml方式實現state的切換有了很大改進,使用起來更方便,具體可參見下文:

                                                  http://onflex.org/learn/fx4/index.php?page=States

                                                  看完這篇文章后,想到一個問題,如何用編程的方式實現切換呢,找了參考資料,實現了一個例子,代碼如下:

                                                  開發環境:Flash Builder 4 Beta2

                                                  <?xml version="1.0" encoding="utf-8"?>
                                                  <s:Application
                                                      
                                                  xmlns:fx="http://ns.adobe.com/mxml/2009"
                                                      xmlns:s
                                                  ="library://ns.adobe.com/flex/spark"
                                                      creationComplete
                                                  ="creationCompleteHandler(event)">
                                                      
                                                  <fx:Script>
                                                          
                                                  <![CDATA[
                                                              import mx.core.UIComponent;
                                                              import mx.events.FlexEvent;
                                                              import mx.states.SetProperty;
                                                              import mx.states.State;
                                                              
                                                              import spark.components.Label;
                                                              import spark.components.Panel;

                                                              private var stateArray : Array;
                                                              private var state1 : State;
                                                              private var state2 : State;
                                                              
                                                              protected function creationCompleteHandler(event:FlexEvent):void
                                                              {
                                                                  state1 = new State();
                                                                  state1.name="state1";
                                                                  
                                                                  state2 = new State();
                                                                  state2.name="state2";
                                                                  
                                                                  var stateArray1:Array = new Array();
                                                                  var stateArray2:Array = new Array();
                                                                  
                                                                  state1.overrides = stateArray1;
                                                                  state2.overrides = stateArray2;
                                                                  
                                                                  stateArray = new Array();
                                                                  stateArray.push(state1);
                                                                  stateArray.push(state2);
                                                                  this.states = stateArray;
                                                                  
                                                                  var panel:Panel = new Panel();
                                                                  group.addElement(panel);
                                                                  var label:Label = new Label();
                                                                  panel.addElement(label);
                                                                  
                                                                  buildStates(stateArray1, stateArray2, panel, label);
                                                                  this.currentState = "state1";
                                                              }

                                                              private function buildStates(stateArray1:Array, stateArray2:Array,
                                                                  compenent1:UIComponent, compenent2:UIComponent) : void{
                                                                  
                                                                  stateArray1.push(makeSetProp(compenent1, "title", "Panel1"));            
                                                                  stateArray1.push(makeSetProp(compenent2, "text", "One"));
                                                                  
                                                                  stateArray2.push(makeSetProp(compenent1, "title", "Panel2"));
                                                                  stateArray2.push(makeSetProp(compenent2, "text", "Two"));
                                                              }
                                                              
                                                              private function makeSetProp(target:UIComponent, name:String, value:*):SetProperty{
                                                                  var sp:SetProperty = new SetProperty();
                                                                  sp.target = target;
                                                                  sp.name = name;
                                                                  sp.value = value;
                                                                  return sp;
                                                              } 
                                                          
                                                  ]]>
                                                      
                                                  </fx:Script>
                                                          
                                                      
                                                  <s:VGroup autoLayout="true" horizontalAlign="center">
                                                          
                                                  <s:HGroup horizontalCenter="0">            
                                                              
                                                  <s:Button label="One" 
                                                                  click
                                                  ="this.currentState='state1'"/>            
                                                              
                                                  <s:Button label="Two" 
                                                                  click
                                                  ="this.currentState='state2'"/>            
                                                          
                                                  </s:HGroup>
                                                          
                                                  <s:HGroup id="group" horizontalCenter="0">            
                                                          
                                                  </s:HGroup>
                                                      
                                                  </s:VGroup>
                                                      
                                                  </s:Application>
                                                  posted @ 2009-11-11 21:59 The Matrix 閱讀(1478) | 評論 (0)編輯 收藏
                                                    2009年10月22日

                                                      這是前幾天在別人的BLog上看到的一幅圖,覺得不錯,基本涵蓋了IT人員需要掌握的基礎知識這塊,從這幅圖中可以看出語言并不重要,關鍵是要搞明白整個環節,這樣遇到任何問題就能有目的、有方法的學習了。

                                                  計算機知識體系

                                                  posted @ 2009-10-22 08:32 The Matrix 閱讀(742) | 評論 (0)編輯 收藏
                                                    2009年7月19日

                                                  1、下載Ruby并安裝,下載地址:http://rubyforge.org/frs/?group_id=167

                                                  下載了1.8.6-27 Release Candidate 2(ruby186-27_rc2.exe)版本

                                                  2、在windows的命令行下,輸入 ruby –v,檢查ruby是否正確安裝,應該出現如下信息:

                                                  ruby 1.8.6 (2008-08-11 patchlevel 287) [i386-mswin32]

                                                  3、安裝rails,執行gem install rails命令,安裝成功后,執行rails -v檢查。

                                                  我安裝了Rails2.3.2版本。使用gem install -version rails可以指定安裝的rails版本,具體如何使用gem,可以用gem help install查看幫助。

                                                   

                                                  參考:Ruby On Rails(ROR)安裝(http://enjoylog.cn/?p=8

                                                   

                                                  裝好了便到Ruby On Rails的官方網站(http://rubyonrails.org/),找到了

                                                  Getting Started with Rails(http://guides.rubyonrails.org/getting_started.html)

                                                  開始一步一步follow up。

                                                  RubyOnRails的中文站上的翻譯文檔沒有完全跟進,還是看英文的吧。

                                                   

                                                  我使用的是MySQL的數據庫,操作系統:Vista。

                                                  到創建POSTS應用的時候遇到了問題,創建數據后數據庫中有數據,但是到Listing posts界面無法查看,總是報錯。

                                                  網上Google了一下,果然有人遇到相同的問題,參照了如下解決方案,到

                                                  http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/ 上下載了libmySQL.dll文件放到RUBY_HOME/bin/目錄下,問題解決。

                                                  參考:升級2.2后mysql驅動的問題(http://www.javaeye.com/topic/283871?page=1

                                                   

                                                  感嘆一下,當Listing Posts這個CRUD小應用跑起來后,覺得Ruby On Rails的開發是比Java開發要快一些,看了一下它生成的代碼,貌似也不多。

                                                   

                                                  今天晚了,明天繼續。

                                                  posted @ 2009-07-19 00:42 The Matrix 閱讀(1630) | 評論 (0)編輯 收藏
                                                    2009年7月6日

                                                      最近在做一個很小的項目的功能改進,小小的項目中原來連接的是MySQL數據庫,現在需要新連接一個數據庫(Oracle),僅僅從一張表查詢數據即可,沒有添加、修改、刪除等等功能。本來這個小小的項目中用的是Hibernate,現在又要增加一個數據庫連接,覺得配置起來有點麻煩,忽然想起來,我干嗎還要用Hibernate呢,直接用JDBC不也挺好使么,想了便做,果然寫起JDBC來,很是快捷,一會就搞好了。

                                                      做好了以后,忽然覺得有點迷茫,感覺不用Hibernate不也挺好的么,咱為什么現在開口閉口都是Hibernate呢,于是便有了今天的題目。

                                                      很久以前沒有Hibernate的時候:

                                                      第一階段:我們寫程序都是直接用JDBC,甚至在JSP頁面中直接去createConnection,然后執行查詢,輸出到頁面。

                                                      第二階段:后來覺得每次都是創建一個連接,好像效率不高,于是看了別人的介紹,要用數據庫連接池,好的,那便用數據庫連接池吧,每次都從pool中獲得一個Connection,然后查詢數據。

                                                      第三階段:用了連接池,還是效率不高,那怎么辦呢?用緩存吧,自己實現緩存?可以,也可以用開源的緩存框架。

                                                      第四階段:到了OO大流行的時代了,一切都要OO,恰逢Hibernate降臨人世,于是一切都用Hibernate來實現了,其實同期還是有不少其它ORMAP框架的,比如(TOPLINK、JDO、IBatis等,IBatis國內用的還比較多,另外兩個好像用的比較少)。

                                                      第五階段:忽然EJB大流行,事務的概念被廣為傳播(并不是原來沒有事務的概念,只是實現起來比較麻煩),借助EJB的廣為傳播,Spring+Hibernate的組合也慢慢占據了大半市場。此時事務用Spring AOP的聲明式事務來解決,緩存可以用開源的緩存框架(已經和Hibernate無縫集成了),數據庫連接池也是通過配置的方式在SpringContext.xml文件中配置,貌似一切都很完美。

                                                   

                                                      真的到了第五階段,一切是不是真的完美了呢,如果一個很小的應用,需要從好幾個數據庫查詢數據,但是每個數據庫僅需要查詢那么一兩張表的數據,偶爾添加、刪除幾條數據,數據量也不大,此時我們是不是還用第一階段的方式會更好呢,好像有時配置多數據源也不是那么方便的事情。或者使用Spring中的JDBCTemplate,貌似也不錯。

                                                      再往后看,難道Spring+Hibernate的組合就天下無敵了么?難道就沒有新的框架了么?前段時間,JavaEye上關于充血模型、貧血模型的討論吸引了多少眼球,以后是不是會有這么一個框架用于實現充血模型呢?

                                                     說了這么多,最終只是想說明白這么一句:用恰當的技術做恰當的事情,這真是一個艱難的選擇……,至于未來,更是迷茫,因為我們只是跟隨者,而不是領導者。

                                                  posted @ 2009-07-06 22:06 The Matrix| 編輯 收藏
                                                    2009年4月19日

                                                  前兩天出差在外,利用空余時間將《深入淺出EXT JS》這本書的前五章翻了一遍,后面的章節粗粗瀏覽了一下,覺得這本書寫的不錯,寫下自己的一點感悟:

                                                  1、適合的讀者

                                                  a、是一名Java開發程序員,做過WEB開發

                                                  b、對Ajax開發的基礎知識有所了解

                                                  2、書評:

                                                          這本書我覺得應該改成這個名字:《EXT JS CookBook》,可能使得書的內容和名稱更貼切,呵呵。

                                                          書中對Ext JS的基礎類、Grid、Form、Tree、布局管理器、數據獲取等各方面都做了詳細的描述,基本上開發中需要用到的知識點,在書中都會提到,而且書中的很多例子和實際工作還是非常貼切的,對于工作中需要用到EXT JS或者需要學習EXT JS的程序員來說還是會很有幫助的。

                                                          最后提點缺點,這本書中對EXT JS的知識點都做了比較詳細的描述,但是缺乏對EXT JS的框架的深入分析。

                                                  posted @ 2009-04-19 13:36 The Matrix 閱讀(2225) | 評論 (2)編輯 收藏
                                                    2009年4月12日

                                                  前兩天在InfoQ上看到一篇文章:利用Clear Toolkit連接Flex與Java開發,今天下載了說明文檔粗略了翻了一遍,Clear Toolkit包含五個部分,分別是:

                                                  • Clear Data Builder,這是個Eclipse插件,可以根據SQL語句或Java數據傳輸對象為BlazeDS或LCDS自動生成CRUD應用。
                                                  • DTO2Fx,該插件會根據Java類型自動生成對應的ActionScript類。
                                                  • Log4Fx是個構建于Flex logging API之上的Eclipse插件,它會自動化日志處理并且更加靈活,也更加友好。
                                                  • Fx2Ant插件會為Flex Builder項目生成優化的Ant構建腳本。
                                                  • clear.swc是個增強的Flex組件庫。

                                                  暫時用不到這個工具,記錄留待備查。

                                                  posted @ 2009-04-12 20:57 The Matrix 閱讀(530) | 評論 (0)編輯 收藏
                                                    2009年4月7日

                                                  這篇Blog是原來寫在別的地方的,今天將其轉到BlogJava上來。
                                                  -------------------------------------------------------------------------------

                                                  今天仔仔細細的看了一下Hibernate的緩存,并做了實例實踐了一把。google一下,網上的教程、文章很多。
                                                  自己小結一下:

                                                  Hibernate的緩存分為:

                                                  • 一級緩存:在Session級別的,在Session關閉的時候,一級緩存就失效了。
                                                  • 二級緩存:在SessionFactory級別的,它可以使用不同的緩存實現,如EhCache、JBossCache、OsCache等。

                                                  緩存的注釋寫法如下,加在Entity的java類上:

                                                  • @Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)

                                                  緩存的方式有四種,分別為:

                                                  • CacheConcurrencyStrategy.NONE
                                                  • CacheConcurrencyStrategy.READ_ONLY,只讀模式,在此模式下,如果對數據進行更新操作,會有異常;
                                                  • CacheConcurrencyStrategy.READ_WRITE,讀寫模式在更新緩存的時候會把緩存里面的數據換成一個鎖,其它事務如果去取相應的緩存數據,發現被鎖了,直接就去數據庫查詢;
                                                  • CacheConcurrencyStrategy.NONSTRICT_READ_WRITE,不嚴格的讀寫模式則不會的緩存數據加鎖;
                                                  • CacheConcurrencyStrategy.TRANSACTIONAL,事務模式指緩存支持事務,當事務回滾時,緩存也能回滾,只支持JTA環境。

                                                  另外還有如下注意事項:

                                                  1、查詢緩存需要在Query的相應方法執行前加上這么一句:

                                                  query.setCacheable(true);

                                                  在使用Hibernate時,獲得的query有setCacheable方法,可以設置使用緩存,但當使用JPA時,javax.persistence.Query并沒有setCacheable方法,此時如果JPA的實現是Hibernate時,可以將其進行如下轉化,再調用setCacheable方法(如果JPA的實現是其它ORMAP框架,就不知道怎么做了)。

                                                  if (query instanceof org.hibernate.ejb.QueryImpl) {
                                                      ((org.hibernate.ejb.QueryImpl) query).getHibernateQuery().setCacheable(
                                                  true);
                                                  }

                                                  2、還有就是查詢緩存的查詢執行后,會將查詢結果放入二級緩存中,但是放入的形式是以ID為Key,實例作為一個Value。

                                                  3、hibernate的配置文件中需加入如下信息:

                                                  <property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider" />
                                                  <property name="hibernate.cache.use_second_level_cache" value="true" />
                                                  <property name="hibernate.cache.use_query_cache" value="true" />


                                                  posted @ 2009-04-07 22:54 The Matrix 閱讀(9908) | 評論 (3)編輯 收藏
                                                  僅列出標題  下一頁
                                                  精准平特三肖
                                                  <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

                                                  <bdo id="rub96"></bdo>

                                                    1. <track id="rub96"><div id="rub96"></div></track>
                                                      <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

                                                          <nobr id="rub96"><address id="rub96"><big id="rub96"></big></address></nobr>
                                                        1. <menuitem id="rub96"><strong id="rub96"><menu id="rub96"></menu></strong></menuitem>
                                                          <dl id="rub96"><source id="rub96"><tr id="rub96"></tr></source></dl>
                                                          1. <tbody id="rub96"><div id="rub96"></div></tbody>
                                                            1. <bdo id="rub96"><optgroup id="rub96"></optgroup></bdo>
                                                            2. <bdo id="rub96"><dfn id="rub96"><dd id="rub96"></dd></dfn></bdo>
                                                              1. <option id="rub96"><source id="rub96"></source></option>
                                                              2. <bdo id="rub96"></bdo>

                                                                  <p id="rub96"><tr id="rub96"></tr></p>
                                                                1. <tbody id="rub96"></tbody>

                                                                  <bdo id="rub96"></bdo>

                                                                2. <option id="rub96"><source id="rub96"></source></option>

                                                                  <bdo id="rub96"><optgroup id="rub96"><dd id="rub96"></dd></optgroup></bdo>
                                                                    <track id="rub96"></track>

                                                                      <bdo id="rub96"></bdo>
                                                                    1. <option id="rub96"><p id="rub96"><tr id="rub96"></tr></p></option>

                                                                        <bdo id="rub96"></bdo>
                                                                        1. <track id="rub96"></track>
                                                                          1. <track id="rub96"></track>
                                                                                <bdo id="rub96"></bdo>
                                                                                <option id="rub96"></option>

                                                                                    1. <track id="rub96"><span id="rub96"></span></track>

                                                                                        <option id="rub96"></option>

                                                                                        1. 
                                                                                          
                                                                                            <option id="rub96"><span id="rub96"></span></option>
                                                                                            <bdo id="rub96"><address id="rub96"></address></bdo>
                                                                                            <option id="rub96"><source id="rub96"></source></option>
                                                                                              <nobr id="rub96"><address id="rub96"></address></nobr>
                                                                                            1. <nobr id="rub96"><optgroup id="rub96"><big id="rub96"></big></optgroup></nobr>
                                                                                              <track id="rub96"></track>

                                                                                              <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>
                                                                                                <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

                                                                                                <bdo id="rub96"></bdo>

                                                                                                  1. <track id="rub96"><div id="rub96"></div></track>
                                                                                                    <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>

                                                                                                        <nobr id="rub96"><address id="rub96"><big id="rub96"></big></address></nobr>
                                                                                                      1. <menuitem id="rub96"><strong id="rub96"><menu id="rub96"></menu></strong></menuitem>
                                                                                                        <dl id="rub96"><source id="rub96"><tr id="rub96"></tr></source></dl>
                                                                                                        1. <tbody id="rub96"><div id="rub96"></div></tbody>
                                                                                                          1. <bdo id="rub96"><optgroup id="rub96"></optgroup></bdo>
                                                                                                          2. <bdo id="rub96"><dfn id="rub96"><dd id="rub96"></dd></dfn></bdo>
                                                                                                            1. <option id="rub96"><source id="rub96"></source></option>
                                                                                                            2. <bdo id="rub96"></bdo>

                                                                                                                <p id="rub96"><tr id="rub96"></tr></p>
                                                                                                              1. <tbody id="rub96"></tbody>

                                                                                                                <bdo id="rub96"></bdo>

                                                                                                              2. <option id="rub96"><source id="rub96"></source></option>

                                                                                                                <bdo id="rub96"><optgroup id="rub96"><dd id="rub96"></dd></optgroup></bdo>
                                                                                                                  <track id="rub96"></track>

                                                                                                                    <bdo id="rub96"></bdo>
                                                                                                                  1. <option id="rub96"><p id="rub96"><tr id="rub96"></tr></p></option>

                                                                                                                      <bdo id="rub96"></bdo>
                                                                                                                      1. <track id="rub96"></track>
                                                                                                                        1. <track id="rub96"></track>
                                                                                                                              <bdo id="rub96"></bdo>
                                                                                                                              <option id="rub96"></option>

                                                                                                                                  1. <track id="rub96"><span id="rub96"></span></track>

                                                                                                                                      <option id="rub96"></option>

                                                                                                                                      1. 
                                                                                                                                        
                                                                                                                                          <option id="rub96"><span id="rub96"></span></option>
                                                                                                                                          <bdo id="rub96"><address id="rub96"></address></bdo>
                                                                                                                                          <option id="rub96"><source id="rub96"></source></option>
                                                                                                                                            <nobr id="rub96"><address id="rub96"></address></nobr>
                                                                                                                                          1. <nobr id="rub96"><optgroup id="rub96"><big id="rub96"></big></optgroup></nobr>
                                                                                                                                            <track id="rub96"></track>

                                                                                                                                            <nobr id="rub96"><optgroup id="rub96"></optgroup></nobr>
                                                                                                                                            1. 彩票app大全 欢乐生肖直播 广东11选5龙虎最多多少把 拉基蒂奇 京蒲线上娱乐 重庆时时彩v2.3.0版本 天地彩app下载 2018开奖记录开奖结果 江西时时开奖号码 欢乐生肖是什么彩 pk10走势技巧心得 体育投注网 北京时时赛车计划 百年三肖六码com 怎么代理棋牌平台 幸运飞艇最准计划软件