posts - 262,  comments - 221,  trackbacks - 0
          posted @ 2012-02-18 18:57 Paul Lin 閱讀(649) | 評論 (0)編輯 收藏
               摘要: 換句話說,當(dāng)你找到與天賦、個性完全匹配的工作,它恰好處在上升期的市場,公司又提供了必要的授權(quán)與資源,那么你就很容易成功。反之,若這三點(diǎn)中的任何一點(diǎn)不匹配,那么你就是個loser。  閱讀全文
          posted @ 2012-02-18 18:27 Paul Lin 閱讀(676) | 評論 (0)編輯 收藏
          posted @ 2012-02-18 18:09 Paul Lin 閱讀(584) | 評論 (0)編輯 收藏
               摘要: 這是一篇集百家之長的筆記,分別參考了《Rails3 in Action》和 RVM官方文檔,ninjahideout.com 之后的安裝文檔。


          這里使用到的各種軟件包括:



          • Ubuntu

          • Virtual Box

          • Vagrant

          • RVM

          • Capistrano

          • Passenger

          • Nginx

          • MySQL

          • PostgreSQL



          還涉及到Git、GitHub、SSH等技術(shù)   閱讀全文
          posted @ 2011-11-21 16:22 Paul Lin 閱讀(1698) | 評論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2011-11-13 23:29 Paul Lin 閱讀(11068) | 評論 (1)編輯 收藏
          終于花了將近4個月的時間,把《Learn Rails3 by example》的E文版看完了,心中那個成就感和滿足感啊~~

          繼續(xù)下一輪的針對性學(xué)習(xí)計(jì)劃,計(jì)劃包括:

          1. Rails應(yīng)用的部署和性能監(jiān)控

          2. Rails的MVC架構(gòu)和Cache

          3. JS和JS與Rails的結(jié)合使用

          4. Ruby的語法和特性

          5. MySQL配置和調(diào)優(yōu)

          6. 搜索引擎和推薦引擎的學(xué)習(xí)

          7. NoSQL專題
           
          posted @ 2011-11-03 00:17 Paul Lin 閱讀(754) | 評論 (0)編輯 收藏
          關(guān)于RVM + REE + Ngix + Passenger + Capistrano的安裝配置,非常詳細(xì)!強(qiáng)烈推薦

          http://blog.ninjahideout.com/posts/a-guide-to-a-nginx-passenger-and-rvm-server
          posted @ 2011-11-03 00:14 Paul Lin 閱讀(725) | 評論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2011-10-03 17:36 Paul Lin| 編輯 收藏

          在上一篇《自動化測試狂人的Rails測試優(yōu)化之路》中,我演示了如何使用Guard-spork, Guard-rspec和Spork, Rspec來進(jìn)行自動化測試和集成測試。

          今天發(fā)現(xiàn)存在一個bug,那就是當(dāng)model文件被修改后,雖然會重新啟動rspec執(zhí)行測試。但是測試的代碼不是最新的,而是繼續(xù)沿用已經(jīng)加載到內(nèi)存的model文件。網(wǎng)上搜索一番后,發(fā)現(xiàn)問題的原因是spork的預(yù)加載問題。于是在spork的spork.each_run方法中加入如下代碼,重啟sprok,解決問題

          Dir["#{Rails.root}/app/models/**/*.rb"].each do |model| 
            load model
          end

           

          posted @ 2011-09-06 14:21 Paul Lin 閱讀(704) | 評論 (0)編輯 收藏

          假如我們把a(bǔ)ttr_accessible設(shè)置成只有name是可以訪問的,然后在Console中執(zhí)行如下命令:

          ruby-1.9.2-p180 :001 > user = User.create(:name => "Paul", :email => "pengpenglin@163.com")
           
          => #<User id: 1, name: "Paul", email: nil, created_at: "2011-09-03 04:42:59", updated_at: "2011-09-03 04:42:59"> 
          ruby-1.9.2-p180 :002 > user.email
           
          => nil 
          ruby-1.9.2-p180 :003 > user.email = "bob@163.com"
           
          => "bob@163.com" 
          ruby-1.9.2-p180 :004 > user.email
           
          => "bob@163.com" 
          ruby-1.9.2-p180 :005 > user.save
           
          => true 
          ruby-1.9.2-p180 :006 > user.reload.email
           
          => "bob@163.com" 
          ruby-1.9.2-p180 :007 > User.find(1)
           
          => #<User id: 1, name: "Paul", email: "bob@163.com", created_at: "2011-09-03 04:42:59", updated_at: "2011-09-03 04:43:31"> 

          不是not accessible 嗎?怎么email還是能夠改變?

          posted @ 2011-09-03 12:51 Paul Lin 閱讀(1244) | 評論 (1)編輯 收藏
               摘要: 我們要修改的文件會涉及到4個:
          A. Gemfile
          B. .rspec
          C. Guardfile
          D. rspec_helper.rb  閱讀全文
          posted @ 2011-08-31 00:44 Paul Lin 閱讀(1855) | 評論 (1)編輯 收藏
               摘要: 從RailsCast.com篩選出來的視頻  閱讀全文
          posted @ 2011-08-29 15:58 Paul Lin 閱讀(592) | 評論 (0)編輯 收藏
               摘要: NERDTree.vim:顯示目錄樹和標(biāo)簽(特別有用)
          Rails.vim:這個不說了,Rails開發(fā)必備
          Snipmate.vim:代碼片段自動完成,Rails開發(fā)神器之一
          FuzzyFinder.vim:模糊查找,使用頻率最高的插件之一
          TabBar:BufferExpoloer的增強(qiáng)版,用來標(biāo)識打開的文件的
          Supertab.vim:文本自動完成
          Rubytest.vim:vim下的集成測試工具  閱讀全文
          posted @ 2011-07-26 12:46 Paul Lin 閱讀(3419) | 評論 (0)編輯 收藏
          BDD style unit testing video and slides@RubyKaigi 2011

          How I Test

          watchr 靈活的Continuous Testing測試工具可替代autotest...

          不要盲目的 BDD / TDD,我對寫測試的看法
          posted @ 2011-07-19 20:06 Paul Lin 閱讀(365) | 評論 (0)編輯 收藏
               摘要: 針對這種情況,我們可以使用一個名為Guard的gem,來自動監(jiān)控spork中預(yù)加載的文件發(fā)生變化后,自動重啟spork

          1).在Gemfile中增加gem 'guard-spork'
          2).在shell中g(shù)em install libnotify / gem install inotify
          3).bundle install
          4).guard init spork
          5).guard start  閱讀全文
          posted @ 2011-07-15 18:12 Paul Lin 閱讀(431) | 評論 (0)編輯 收藏
               摘要: 首先我們來理解Autotest的觸發(fā)機(jī)制:

          1. 要有一套測試的框架和工具(Console,GUI)

          2. 要有可以感知被測試對象發(fā)生變化的機(jī)制

          3. 要有自動加載被測試對象和環(huán)境數(shù)據(jù)的機(jī)制

          4. 要有將測試結(jié)果展示給用戶的機(jī)制  閱讀全文
          posted @ 2011-07-15 00:14 Paul Lin 閱讀(649) | 評論 (0)編輯 收藏
               摘要: 網(wǎng)上google了一下,發(fā)覺又是一個Rails和其他gem不兼容的問題,只要把rake的版本設(shè)置為0.8.7就可以了。  閱讀全文
          posted @ 2011-07-03 21:28 Paul Lin 閱讀(1426) | 評論 (1)編輯 收藏
          posted @ 2011-06-25 13:40 Paul Lin 閱讀(364) | 評論 (0)編輯 收藏
          posted @ 2011-06-18 23:02 Paul Lin 閱讀(333) | 評論 (0)編輯 收藏
               摘要: ....
          甲:嗯....可是這樣看起來,我完全看不到敏捷的任何好處啊
          乙:嗯。實(shí)際上,我更喜歡RUP,雖然麻煩但很清楚
          ....  閱讀全文
          posted @ 2011-06-01 23:31 Paul Lin 閱讀(927) | 評論 (1)編輯 收藏
               摘要: 來自JE上的一篇Rails實(shí)戰(zhàn)文章,很不錯!  閱讀全文
          posted @ 2011-05-27 16:47 Paul Lin 閱讀(863) | 評論 (0)編輯 收藏
          QCon 2011大會的PPT下載。其中有我最感興趣的架構(gòu)設(shè)計(jì)和NoSQL技術(shù):


          企業(yè)敏捷轉(zhuǎn)型之路
          http://www.everbox.com/f/Rgo5syChjzuLeS6wJEAQZwvkje


          深入淺出NoSQL
          http://www.everbox.com/f/TQMXMI6asloYQFJLIxGy2WIIyo


          設(shè)計(jì)優(yōu)良的架構(gòu)
          http://www.everbox.com/f/XCZvXDTbft6ZlK8TsUlMWfVBjO


          Web性能與擴(kuò)展
          http://t.sina.com.cn/1746173800/wr4mQk5Iwn


          來自一線項(xiàng)目的實(shí)戰(zhàn)經(jīng)驗(yàn)
          http://www.everbox.com/f/FZHFfXanIGZOasZsqSZpFuSSFk


          HTML5開發(fā)平臺
          http://www.everbox.com/f/qeD2qvae9LVRXCA3HsNq2ztiBY
          posted @ 2011-04-21 16:58 Paul Lin 閱讀(567) | 評論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2011-03-23 11:55 Paul Lin 閱讀(495) | 評論 (0)編輯 收藏

          原文:http://www.javaeye.com/news/20399

          大多數(shù)管理者都會陷入放權(quán)的困境。你很忙,每件事都要親力親為。你很清楚自己需要別人幫忙,但你沒有足夠的時間尋找并培訓(xùn)別人來幫你。所以,你更加努力地工作,直到自己崩潰。

            下面這個故事講述了我如何放權(quán)。

            2001年,CD Baby成立三周年。我已有8名員工,但所有其他事情仍然需要我自己做。每周7天,從上午7點(diǎn)工作到晚上10點(diǎn),自己仍然要經(jīng)手每件事情。

            每隔5分鐘,就會有員工向我請示:

          • “Derek,有個家伙想修改網(wǎng)站上已經(jīng)存在的相冊,我該怎么跟他說呢?”
          • “Derek,我們可以接受電匯作為一種支付方式嗎?”
          • “Derek,有個人今天下了兩個訂單,他想知道我們可不可以給他一起郵寄過去,并且把節(jié)省的郵費(fèi)給他退回去?”


            如果整天不停地回答問題,那么什么事也做不成。我感覺我好像是每天去上班,然后在過道里坐著,全職回答員工的問題。

            我的忍耐已經(jīng)到了極限,我不再去辦公室,并且關(guān)掉了手機(jī)。隨即,我意識到自己正在逃避問題,而不是去解決問題。我必須解決這個問題,要不然就壞了。

            經(jīng)過一夜的反思,我最終在思想上接受放權(quán)。

            我必須放權(quán),我不是我公司的必需品,沒有我,我的團(tuán)隊(duì)照樣也可以經(jīng)營公司。

            第二天,我一進(jìn)門,有人就請示我,“Derek,我們昨天收到了一個客戶送來的CD,但他今天改變了主意,他想讓我們退回他的CD。我們給他郵寄了回去,但他又問我們能不能退還他的安裝費(fèi)用,因?yàn)樗麖奈吹卿涍^網(wǎng)站。”
          這一次,我并沒有僅僅回答了他的問題,而是把大家都召集起來。

            我給大家解釋了事情的經(jīng)過,和需要解決的問題。我回答了問題,但更重要的是,我解釋了自己思考的過程和回答背后的理念。

            “是的,我給他全額退款了。這樣,我們會受到一點(diǎn)損失。但是,最重要的是經(jīng)常做一些能讓顧客高興的事,只要不過分就行。像這樣一個小小的表示對我們大有裨益,他可能會因此告訴他的朋友們,我們是一家不錯的公司。每個人都要記住,幫助音樂愛好者是我們的首要目標(biāo),利潤是其次。你們將來可以根據(jù)這條準(zhǔn)則來自己做決定,我會完全同意。做那些能讓他們高興的事。要確保每個跟我們做生意的人都會滿意而歸。”

            我一一問了每個人,確保他們都理解我的回答。

            我讓一位員工起草一本手冊,把這種情況的處理方式記錄下來,并附上解決這種問題的理念。

            然后,每個人都回去工作了。

            十分鐘之后,新的問題,相同的過程:

          • 1. 召集所有人
          • 2. 回答問題,解釋理念
          • 3. 確保每個人都理解整個過程
          • 4. 讓一名員工把這條記錄在冊
          • 5. 讓他們知道,下次沒有我他們也可以這樣處理問題

            2個月之后,沒有員工請示了。

            然后我想員工們展示了事情的最后一部分,也就是我自己的工作。作為學(xué)習(xí)的一部分,他們也需要把這個記錄在冊,然后給其他人看(由教而學(xué))。


            現(xiàn)在,公司完全不需要我了。我開始在家里工作,不再去辦公室了。我甚至教過他們我關(guān)于雇傭新員工的思考過程和理念。所以,有兩個新員工是完全由他們發(fā)現(xiàn)、面試、雇傭以及培訓(xùn)的。他們用那本手冊來讓每個新員工理解這種理念以及它的歷史,并且知道怎么自己做決定。我每周去視察一次,確保一切正常。確實(shí)一切正常,他們甚至都沒有什么事情向我請示。

            因?yàn)闃I(yè)務(wù)由我的團(tuán)隊(duì)負(fù)責(zé)運(yùn)作,我可以心無旁騖地改進(jìn)業(yè)務(wù)。我去了加利福尼亞,只是弄清楚事情由他們運(yùn)作。

            我現(xiàn)在仍然每天工作12個小時,但是,我把所有時間都花在業(yè)務(wù)改進(jìn)、優(yōu)化以及創(chuàng)新上。對我來說,這才是最有趣的事情。這是在玩,不是工作。

            我放權(quán)之后,公司市值在四年里從一百萬增長到兩千萬。管理者和企業(yè)家之間有很大的不同。作為管理者你會感覺很自由,直到你意識到如果自己不工作,公司就會倒閉。

            要成為一名真正的企業(yè)家,你要確保自己能夠離開一年,而當(dāng)你回來時,你的公司比你離開時運(yùn)營得更好。

          posted @ 2011-03-20 10:22 Paul Lin 閱讀(344) | 評論 (0)編輯 收藏
          第1篇:NoSQL開篇——為什么要使用NoSQL

          第2篇:關(guān)系數(shù)據(jù)庫還是NoSQL數(shù)據(jù)庫

          第3篇:NoSQL架構(gòu)實(shí)踐(一)——以NoSQL為輔

          第4篇:NoSQL架構(gòu)實(shí)踐(二)——以NoSQL為主

          下載:NoSQL實(shí)戰(zhàn)

          重點(diǎn)推薦第3篇的最后一種架構(gòu):


          特別適合SNS的業(yè)務(wù)架構(gòu):把某些關(guān)系key存儲在MySQL中,用于后續(xù)的業(yè)務(wù)數(shù)據(jù)分析和挖掘,而把大量的文本和圖片存儲在類似MongoDB這樣的文檔型NoSQL。可以利用關(guān)系型數(shù)據(jù)庫的強(qiáng)有力的計(jì)算能力專注于數(shù)據(jù)分析和挖掘,而用NoSQL解決數(shù)據(jù)的讀寫和存儲瓶頸。

          由于NoSQL在線性擴(kuò)展,分布式部署方面有先天優(yōu)勢,可以有效地改善由于數(shù)據(jù)規(guī)模擴(kuò)大時壓力問題,同時關(guān)系型數(shù)據(jù)庫存儲的數(shù)據(jù)大大減少,也有利于數(shù)據(jù)的備份和同步。
          posted @ 2011-03-19 22:45 Paul Lin 閱讀(439) | 評論 (0)編輯 收藏
          http://www.slideshare.net/mongodb/mongodb-at-the-silicon-valley-iphone-and-ipad-developers-meetup?from=ss_embed
          posted @ 2011-01-13 00:00 Paul Lin 閱讀(680) | 評論 (0)編輯 收藏
          http://my.safaribooksonline.com/book/web-development/ruby/9780132480345

          很不錯,居然全部都可以免費(fèi)看。

          posted @ 2010-12-12 23:56 Paul Lin 閱讀(492) | 評論 (0)編輯 收藏
          <2010年12月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點(diǎn)博客

          好友博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 喀喇沁旗| 宁武县| 大厂| 青河县| 日土县| 扬中市| 喜德县| 万全县| 禹城市| 龙胜| 山西省| 平度市| 五家渠市| 霍城县| 顺平县| 秀山| 肇庆市| 新龙县| 驻马店市| 青田县| 霍州市| 藁城市| 治多县| 衡阳县| 塔河县| 永靖县| 大足县| 洪洞县| 义马市| 玛纳斯县| 永川市| 孙吴县| 益阳市| 尚义县| 宁德市| 汉川市| 和田县| 西吉县| 乃东县| 镇安县| 古交市|