亚洲小说图区综合在线,亚洲αv久久久噜噜噜噜噜,亚洲性一级理论片在线观看http://m.tkk7.com/fastzch/category/7476.htmlI Love Programming As My Life!zh-cnTue, 05 Aug 2014 22:25:22 GMTTue, 05 Aug 2014 22:25:22 GMT60Hybrid開發資源網站匯總http://m.tkk7.com/fastzch/archive/2014/08/05/416566.htmlRobin's Programming WorldRobin's Programming WorldTue, 05 Aug 2014 01:45:00 GMThttp://m.tkk7.com/fastzch/archive/2014/08/05/416566.htmlhttp://m.tkk7.com/fastzch/comments/416566.htmlhttp://m.tkk7.com/fastzch/archive/2014/08/05/416566.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/416566.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/416566.html
包含iscroll, infinity wall等




Robin's Programming World 2014-08-05 09:45 發表評論
]]>
XCode Plugins Package Managerhttp://m.tkk7.com/fastzch/archive/2014/02/05/409533.htmlRobin's Programming WorldRobin's Programming WorldTue, 04 Feb 2014 18:28:00 GMThttp://m.tkk7.com/fastzch/archive/2014/02/05/409533.htmlhttp://m.tkk7.com/fastzch/comments/409533.htmlhttp://m.tkk7.com/fastzch/archive/2014/02/05/409533.html#Feedback1http://m.tkk7.com/fastzch/comments/commentRss/409533.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/409533.htmlXCode Plugins Package Manager
https://github.com/mneorr/Alcatraz

通過這個工具,我還裝了以下插件:
AJKExtendedOpening
BBUDebuggerTuckAway
BBUncrustifyPlugin
CocoaPods
CodePilot
DLAutoresizeMaskPlugin
DerivedData Exterminator
FuzzyAutocomplete
HOStringSense
KSImageNamed
OMColorSense
OMQuickHelp
PluginConsole
QuickLocalization
SCXcodeMinimap
VVDocumenter-Xcode
XCFixin_CurrentLineHighlighter
XcodeAutoCloseDebug
XcodePlus Delete Line

這些插件都是相當的好用呀!!!


Robin's Programming World 2014-02-05 02:28 發表評論
]]>
Phonegap Debug Notehttp://m.tkk7.com/fastzch/archive/2014/01/02/408382.htmlRobin's Programming WorldRobin's Programming WorldThu, 02 Jan 2014 06:17:00 GMThttp://m.tkk7.com/fastzch/archive/2014/01/02/408382.htmlhttp://m.tkk7.com/fastzch/comments/408382.htmlhttp://m.tkk7.com/fastzch/archive/2014/01/02/408382.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/408382.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/408382.html
The following are notes for debug feature:
The "console" is a plugin now, so we need to add it by following command:
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git

And then you could use console API now, e.g.:
console.log('onSuccess! contacts.length:' + contacts.length );

You will see logs on output console of Xcode or Logcat of Eclipse.
Pls see following screenshots:







Robin's Programming World 2014-01-02 14:17 發表評論
]]>
首個iOS App終于提交了http://m.tkk7.com/fastzch/archive/2012/09/03/386856.htmlRobin's Programming WorldRobin's Programming WorldMon, 03 Sep 2012 03:45:00 GMThttp://m.tkk7.com/fastzch/archive/2012/09/03/386856.htmlhttp://m.tkk7.com/fastzch/comments/386856.htmlhttp://m.tkk7.com/fastzch/archive/2012/09/03/386856.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/386856.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/386856.html至于是個什么應用,我想可能還得先保密一兩周什么的,這得看Apple的速度了,哈哈...

有興趣的可以猜猜看。


Robin's Programming World 2012-09-03 11:45 發表評論
]]>
MongoDB install notes on Mac:http://m.tkk7.com/fastzch/archive/2012/06/03/379837.htmlRobin's Programming WorldRobin's Programming WorldSat, 02 Jun 2012 17:15:00 GMThttp://m.tkk7.com/fastzch/archive/2012/06/03/379837.htmlhttp://m.tkk7.com/fastzch/comments/379837.htmlhttp://m.tkk7.com/fastzch/archive/2012/06/03/379837.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/379837.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/379837.htmlReference page: Http://docs.mongodb.org/master/tutorial/install-mongodb-on-os-x/

1, install brew, if it is exist, skip this step.
Reference page:  http://mxcl.github.com/homebrew/
Execute the following command:
#/usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"

2, install MongoDB:
#brew update
#brew install mongodb

3, use mondod command to startup MongoDB
#nohup mongod &

4, enter mongo shell for testing:
#mongo

MongoDB shell version: 2.0.5
connecting to: test
> db.test.save({a:1})
> db.test.find()
{ "_id" : ObjectId("4fca4824293f5115fa740813"), "a" : 1 }

5, GUI client recommendations:

MongoExplorer
MongoHub

6, MongoDB has provided a web base management inerface:
http://localhost:28017/

7, export and import:
$ mongodump -h test.xxxx.com:52000 -d dataname -o /home/aa/dev/mongodb/data

mongodump mongo導出數據庫命令 mongodump --help 可以查看該命令下所有的幫助

-h 導出源
-d 要導出的數據庫名稱
-o 數據庫要導出的位置

在終端滾過N行之后,數據庫導出完成,可以去/home/aa/dev/mongodb/data 目錄下查看導出的文件,bson格式的(我導出后沒有馬上就看到文件,等了一會才出現的,原因不明)

然后數據庫恢復使用:mongorestore 命令

$ mongorestore -d cmsdev  /home/xx/dev/mongodb/data/cmsdev

-d 使用的數據庫名稱
后面直接加你剛才導出的目錄,這樣是直接恢復所有表

如果-c 是恢復一個表


Robin's Programming World 2012-06-03 01:15 發表評論
]]>
永久恢復聯通 iPhone4 的 YouTubehttp://m.tkk7.com/fastzch/archive/2012/01/17/368638.htmlRobin's Programming WorldRobin's Programming WorldTue, 17 Jan 2012 02:43:00 GMThttp://m.tkk7.com/fastzch/archive/2012/01/17/368638.htmlhttp://m.tkk7.com/fastzch/comments/368638.htmlhttp://m.tkk7.com/fastzch/archive/2012/01/17/368638.html#Feedback2http://m.tkk7.com/fastzch/comments/commentRss/368638.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/368638.html

原文地址: http://www.inanu.net/post/314.html
iOS 5.0.1 親測


永久恢復聯通 iPhone4 的 YouTube

作者:  日期: 2011-05-18

在有 G.F.W. “保護”下的天朝網絡,聯通竟然還閹割掉了 iPhone4 的 Youtube 應用,真是斷子絕孫啊!不甘心,一定要把 Youtube 找回來!

在網上看了很關于恢復聯通 iPhone4 YouTube 的方法,總結下大致就 2 種方法:
1. 利用SBSettings恢復;(我測試是沒有效果的)
2. 在 Safari 上訪問 m.youtube.com 之后掛個主屏幕的標簽;(圖標太惡心)

下面終極恢復方法來了:

  • 該方法只適用于聯通 iPhone4;
  • iPhone4 必須已經越獄,如果不想越獄的,請使用上面的方法 2;
  • 該方法適用于所有的 iOS 固件版本;

1. 將 iPhone4 連接至 i-Funbox,并進入到 //Applications/YouTube.app 目錄;

2. 將目錄中的 Info.plist 文件復制到你的電腦上(做個備份,以防萬一);

3. 將下面的代碼復制粘貼到一個文件中,并命名為 Info.plist;

4. 將新建的 Info.plist 復制到 iPhone4 中的 YouTube.app 目錄,覆蓋原文件;

5. 重啟 iPhone4;

HOHO! 熟悉的 YouTube 圖標回來啦!


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0" converted_by="i-funbox.com">
<dict> 
    <key>DTXcode</key>
        <string>0324</string>
        <key>DTSDKName</key>
        <string>iphoneos4.1.internal</string>
        <key>CFBundleName</key>
    <string>YouTube</string>
    <key>UIApplicationExitsOnSuspend</key>
        <true />
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleVersion</key>
    <string>1.0</string>
    <key>DTPlatformName</key>
    <string>iphoneos</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleSupportedPlatforms</key>
    <array>
        <string>iPhoneOS</string>
    </array>
    <key>SBUsesNetwork</key>
    <integer>3</integer>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleExecutable</key>
    <string>YouTube</string>
    <key>DTCompiler</key>
    <string>4.2</string>
    <key>SBMatchingApplicationGenres</key>
    <array>
        <string>Entertainment</string>
        <string>Social Networking</string>
    </array>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>YouTube Internal URL</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>youtube</string>
            </array>
        </dict>
 
    </array>
    <key>CFBundleIdentifier</key>
    <string>com.apple.youtube</string>
    <key>CFBundleResourceSpecification</key>
    <string>ResourceRules.plist</string>
    <key>DTPlatformVersion</key>
    <string>4.1 GM</string>
        <key>CFBundleIconFiles</key>
        <array>
               <string>icon-72.png</string>
               <string>icon.png</string>
               <string>icon@2x.png</string>
        </array>
        <key>CFBundleDisplayName</key>
        <string>YouTube</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleDisplayName</key>
    <string>YouTube</string>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
    <key>MinimumOSVersion</key>
    <string>4.1</string>
    <key>UIDeviceFamily</key>
    <array>
        <integer>1</integer>
        <integer>2</integer>
    </array>
</dict>
</plist>



Robin's Programming World 2012-01-17 10:43 發表評論
]]>
[轉]自定義UITableViewhttp://m.tkk7.com/fastzch/archive/2011/12/29/367465.htmlRobin's Programming WorldRobin's Programming WorldThu, 29 Dec 2011 01:12:00 GMThttp://m.tkk7.com/fastzch/archive/2011/12/29/367465.htmlhttp://m.tkk7.com/fastzch/comments/367465.htmlhttp://m.tkk7.com/fastzch/archive/2011/12/29/367465.html#Feedback1http://m.tkk7.com/fastzch/comments/commentRss/367465.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/367465.html
原文地址: http://blog.sina.com.cn/s/blog_7e3132ca0100wyls.html
在XCode對應頭文件中修改該類所繼承的父類:
@interface TableViewController:UIViewController <UITableViewDataSource, UITableViewDelegate>
{
}
在對應的.m文件中添加如下代碼:
@implementation TableViewController
{
UITableView *tableView = [[UITableView alloc]initWithFrame:CGRectMake(0,0,320,460) style:UITableViewStylePlain];
tableView.dataSource = self;
tableView.delegate = self;
[self.view addSubview:tableView];
}
這樣就在view上添加了一個tableView,但其樣式是默認的,其中的內容也是空白的,而且此時是無法運行的,因為在頭文件中添加了UITableViewDataSource和UITableViewDelegate兩個類,所以必須設置一些自定義tableView樣式的方法,下面列舉了一些相關的方法:
設置Cell高度:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
設置SectionHeader高度:
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
設置SectionFooter高度:
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
設置Section數目:
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
 
設置SectionHeader內容:
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
設置各個Section中的Cell個數: 
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
設置Cell內容: 
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
 
設置Cell行縮進量:
-(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath
設置Cell被選中響應前動作(例如:可用以判斷選中的Cell,來阻止其響應)
-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
設置Cell選中觸發響應:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath


Robin's Programming World 2011-12-29 09:12 發表評論
]]>
【轉】Xcode分析CrashLog的方法http://m.tkk7.com/fastzch/archive/2011/12/28/367403.htmlRobin's Programming WorldRobin's Programming WorldWed, 28 Dec 2011 04:24:00 GMThttp://m.tkk7.com/fastzch/archive/2011/12/28/367403.htmlhttp://m.tkk7.com/fastzch/comments/367403.htmlhttp://m.tkk7.com/fastzch/archive/2011/12/28/367403.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/367403.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/367403.html 

原文地址:http://www.acwind.net/blog/?p=1090

Bug是永遠伴隨著程序員們的東西,各種各樣的情況造成程序crash掉也是家常便飯。Windows下的很多大型軟件在崩潰的時候,都會彈出提示框,詢問用戶是否將crash的信息發送到軟件廠商,以供軟件開發商debug。App store中的軟件也有這個功能,用戶在使用軟件的時候,如果程序崩潰,錯誤信息會發送到Apple的服務器中,軟件的開發者們可以很方便在后臺獲得自己程序的crash log,供自己調試。

但隨之而來的問題是,我們收到的程序崩潰調試信息多半是匯編語言一樣的堆棧代碼,同時這些信息并不是在我們debug的時候產生,所以看到這一串crash log的天書,常常無可奈何。Xcode很好的解決了這一問題,它所提供的Orgainzer分析器加上symbolicatecrash?,可以分析二進制文件以及源代碼和crashlog之間的連接,直接找出源程序中出錯的代碼行。方法網上到處是,本文不討論。

但是如果使用symbolicatecrash?無法定位到出錯的代碼行的話,怎么整呢?有一個辦法,如下:

首先查看crash log中的崩潰線程,假如是這樣的:

Thread 0 Crashed:
0   libobjc.A.dylib                0x00003ec0 objc_msgSend + 24
1   MyApp               0x000036d2 0×1000 + 9938?

我們得到了用戶發生崩潰情況的內存地址:0x000036d2?

然后回到我們應用程序的build目錄,目錄下一定要包含MyApp.app 和MyApp.app.dSYM兩個文件。

在控制臺使用dwarfdump命令,解析出內存地址,如: 

dwarfdump –lookup 0x000036d2 –arch armv6 MyApp.app.dSYM

輸出信息如下:

dwarfdump.jpg

直接定位到代碼的出錯行,Cool!



Robin's Programming World 2011-12-28 12:24 發表評論
]]>
[轉]Samsung EPIC 4G ADB/USB無法連接的問題http://m.tkk7.com/fastzch/archive/2011/04/08/347889.htmlRobin's Programming WorldRobin's Programming WorldFri, 08 Apr 2011 06:20:00 GMThttp://m.tkk7.com/fastzch/archive/2011/04/08/347889.htmlhttp://m.tkk7.com/fastzch/comments/347889.htmlhttp://m.tkk7.com/fastzch/archive/2011/04/08/347889.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/347889.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/347889.htmlEPIC連接91手機助手的方法
        By 藍色磁碟

1、無法連接的時候建議先刪除驅動(重新安裝驅動安裝程序就有那個選項了)
2、然后##8778#,設置USB改為PDA(上MODEM 下PDA)
3、系統重新安裝驅動后,把EPIC接上USB(開啟USB調試模式,未知源安裝)
4、正常的話,系統安裝驅動程序會比平時慢很多。耐心等待一下看看。
5、到這個步驟,多等2-3分鐘,直接拔掉USB線。
6、不做任何處理重新再把手機接上。如果不會提示安裝驅動就表示成功了。開啟91手機助手測試看看吧!!
7、如果最后安裝失敗,請換個USB口再接上去。如果不會提示安裝驅動就表示成功了。



Robin's Programming World 2011-04-08 14:20 發表評論
]]>
[轉]教你如何做主管——MTP培訓心得http://m.tkk7.com/fastzch/archive/2010/11/25/339054.htmlRobin's Programming WorldRobin's Programming WorldThu, 25 Nov 2010 10:46:00 GMThttp://m.tkk7.com/fastzch/archive/2010/11/25/339054.htmlhttp://m.tkk7.com/fastzch/comments/339054.htmlhttp://m.tkk7.com/fastzch/archive/2010/11/25/339054.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/339054.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/339054.html很久以前跟同事參加的培訓,同事整理得很詳細,必須得轉!



前段時間,公司有組織中高階主管及其培養干部進行了為期三天的管理訓練培訓。三天的課程下來,雖然內容較多,因對老師三天來的課程內容深有感觸,故借著整理學習心得的機會,將三天來的培訓課程做了一個結構化的整理,與大家來分享。

在上課的過程中,覺得老師講的內容較多,涉及的面也比較多。剛開始在整理學習心得時,點點滴滴整理了大約十七八條。再反復經過對這整理的十七八條心得,發現其實老師主要就是圍繞“如何做主管?”這個話題展開的。整體上可以將這四天培訓的主要知識點用下面這個圖來表示。

clip_image002

作為一個中階主管,其基本工作如上圖所示,主要是五大項:

  1. 設定工作目標;
  2. 工作規劃與分配;
  3. 人力資源發展;
  4. 激勵和人際溝通;
  5. 授權給部屬。

下面分別就這五項工作來對老師講的內容以Q&A的方式做一個陳述。

一、設定工作目標

Q1:如何設定團隊與部屬目標?

A1這里老師主要結合圍繞企業運行的三個流程來講的:策略流程、人員流程和營運流程。設定公司和部門的目標是策略流程的主要內容。公司依據其內、外部環境來設定公司的目標、策略。這一過程主要由高階主管來完成。最終會形成諸如《公司年度事業計劃》。

部門目標則是對公司目標和策略的有效分解,最終形成諸如各部門年度KPI。

部屬或者說是個人的目標則是對本部門的KPI的有效分解。

這一系列的從公司目標和策略的制定到個人KPI的制定的過程就是前面講到的策略流程。

同時老師也給我們介紹了一些關于目標設定的讀物,它們是:

1)《藍海策略》、《戰略地圖》、《方針管理》——用于指導公司目標和方針的制定;

2)《目標管理》、《關鍵績效指標》、《平衡記分卡》——用于指導部門目標/KPI的制定。我們公司就是用平衡記分卡來指導KPI的制定。

3)《變革管理》——用于指導當公司目標和方針發生變化時,團隊如何應對。

Q2:如何面對上級主管的臨時插單?

A2在計劃之外,上級主管分派新任務總是中階主管經常面對的事情。那么作為中階主管需要如何來面對這種情況呢,老師給我們介紹了一些可行的方法:

1) 首先,作為主管需要將新課題放在最優先的位置,安排最重要的人,最重要的資源來處理,因為往往只有這些新課題才會創造公司價值;

2)其次, 要優化,改善原來計劃內的工作,采取諸如刪除、合并、簡化、OA化、E化等方式來優化舊課題,以提高生產率。

3)另外,對于分派的新課題,作為中階主管,需要采用有效的方法及時(在上司分配工作2~4小時內)與上司明確新課題的目的:本單位/現在的目的是什么、公司/未來的目的是什么、實現新課題的限制條件有哪些等。

Q3:如何向上級主管行銷你的計劃?

A3向上機主管報告計劃時,時間不能超過10分鐘。為了能夠讓上級主管快速有效地了解自己的計劃,需要在向上司報告前,對自己的計劃進行摘要,突顯出計劃的重點內容。計劃摘要的內容包含以下幾個部分:

1)計劃目的:當前目的、最終目的(跟公司的策略連接)

2)現狀問題

3)創意(構想)——有哪些新的創意,或者是計劃的整體思路

4)效果:有形成果、無形成果

5)費用

6)風險評估與應對

Q4:如何改善團隊的工作績效?

A4通常我們都可以將團隊的工作內容分解成三種類型的動作:

1)有價值的動作,它指對產品和顧客增值的動作,對于這類動作,我們需要的就是將其標準化,并寫成工作分解表/指南/Checklist;

2)無價值的動作,它指諸如拿材料、檢查等動作。對于這類動作,需要的就是盡量將其合理化;

3)浪費的動作。對于這類動作,需要的就是盡量將其消除。

進行這樣的持續改善,就能夠不斷地提升團隊的工作績效。

Q5:如何解決工作中的問題?

A5在工作中發生的問題,通常有80%~90%都是事實明確的,剩下的10%~20%是事實不明確的。

對于事實明確的問題,解決問題的方式是:

1)收集數據——三現主義(現場,現物,現實),并采取緊急措施;

2)尋找問題的真正原因:(3WHY 系統圖法)

a)讓所有人知道問題在哪里

b)弄清楚解決問題的目的

c)即使一個不良也要對策

3)采取對策消除真正的原因

對于事實不明確的問題,解決問題的方式是:

1)成立QCC(品管圈)或者QIT(品質改進小組)

2)利用SPC,QC工具,6σ等工具進行問題分析,找真正原因

3)形成統計報表,用來做預防管理。

Q6:目標設定的SMART原則

A6SMART指的是Specific、Measurable、Achievable、Relevant、Timely。

Specific是指每項目標的指訂,一定是特定的,而不是一個概略性的;

Measurable是指可衡量的,每項目標必須要用量化的指標來訂定;

Achievable是指可達成的,所有的目標一定要是能達得到的;

Relevant是指有關的,也就是每項目標都必須與主管的目標相結合;

Timely是指時效性,也就是每項目標要在限定的時間內完成。

二、工作規劃與分配

Q7:主管的時間如何管理?

A7工作通常可以分為四種類型:定型性工作、規則性工作、特別性工作、創造性工作。

1)定型工作指個人專長的事情;

2)規則性工作指諸如開會、電話、巡視工作現場;

3)特別性工作指諸如跟上司討論計劃、協助上司解決問題;

4)創造性工作指輔導部屬解決問題。

通常前二種工作的績效比重常只占20%,對于這樣的工作,主管需要思考:

a)是否可以授權?

b)是否可以代理給別人?

c)是否可以不要做?

對于后兩種工作需要多思考如何增加其比重。

Q8:工作如何分配給下屬?

A81)團隊的建立是主管的職責不是部屬的責任;

2)主管培養接班人一定會造成組織的不平衡,但主管要負責平衡;

3)主管在分配工作時,需要根據事情的成熟度,部屬的成熟度和組織的成熟度之不同來分派工作。分配工作時需要告訴部屬:

a)是什么事,誰交代的;

b)為什么讓他做(個人重要性)

c)這件事的價值:對單位,對個人

Q9:主管如何面對命令系統的例外?

A9一個組織通常都會從品質、成本、彈性、速度和服務等幾個方面來提高客戶滿意度。其中品質和成本是基本因素,彈性、速度和服務是差異化因素。

在追求用差異化因素提高客戶滿意度的組織里,命令系統的例外是經常會遇到的。

主管在遇到這樣的情形時,面對部屬需要扮演支援的角色,支援部屬時,需要:

1)問部屬做什么事情,目的在哪里;

2)問部屬是否需要支援;

3)問部屬什么時候可以完成;

4)幫部屬安排事情的輕重緩急;

5)責任主管承擔。

對于上司,主管需要:

1)報告進度;

2)重新確認目的;

3)跟上級尋求支援;

4)對上司笑一笑。

任務完成后,向上司報告時,主管需要:

1)跟部屬一起報告。由主管報告兩頭,部屬報告專業性的內容。

2)部屬報告完畢后,請部屬先離開。

三、人力資源發展

Q10:主管如何培育部屬?

A10主管需要與部屬一起,以個人KPI為目標,結合個人期待(生涯規劃、部屬目前具備的條件)和組織期待(擔任工作必備條件),來制定部屬指導計劃表。

并按照部屬指導計劃表對部屬進行培養,并且定期與部屬就訓練成果進行溝通,尋找差距以改進。

完成KPI是主管的職責,培養接班人/部屬是主管的天職。

四、激勵與人際溝通

Q11 如何使部屬表現良好的績效?

A11要使部屬表現出良好的績效,需要做到以下幾點:

1)讓部屬了解自己的職責;

2)讓部屬知道自己的工作目標;

3)讓部屬知道自己的工作對組織的貢獻和價值;

4)使部屬具備從事該項工作的知識技能;

5)對績效好的部屬要給以獎勵;

6)對部屬的工作,主管要給以支持,并及時加以回饋和鼓勵;

7)主管要促進員工有意愿不斷改善績效。

Q12:如何與部屬做績效Review

A12在與部屬做績效Review時,主管重點需要思考三個問題:

1)這個部屬做得如何?

2)他可以改進些什么?

3)我應該做些什么來改善部屬的績效?

在實施績效Review時,主管需要:

1)準備議程(面談結構化);

2)建立一個不拘泥,不倉促的氣氛;

3)用稱贊來建立雙方的信心;

4)讓部屬做自我評量,以降低部屬的緊張;

5)鼓勵部屬說話并積極傾聽部屬說話。

6)討論部屬的工作績效,焦點放在事實上,不做人身攻擊,不牽扯到不相干的爭端;

7)主管需要保持正向態度,用正向語言做批評;

8)主管需要在平日即時指正需改善之處,以避免面談時突然提出;

9)與部屬一起商討可測量的目標以及未來可行的計劃。

Q13:部屬需求不滿時如何處理?

A131)先完成需求的分析表格,弄清楚部屬的需求、目標、障礙和不滿行為是什么;

2)排除工作上的障礙。部屬不滿通常60%~70%是感情、家庭、個人等方面的因素,對于這些方面的因素,主管要做的是:

a)公司的規定只能表達一次

b)不能說公私分明

c)傾聽對方講話,討論對方的話題

d)共通討論可能的解決方案(請上司裁決)

e)適當時請同事在工作上給以協助

Q14:部屬做得不好時如何處理?

A14當部屬做得不好時,跟其反饋需要注意:

1)盡量不要當下指正(時間,地點)

2)方式上

a)不要批評,指責

b)要提出問題,要提供解決方案

c)采用分享的方式

3)態度上

a)協助對方

b)平等的

部屬為什么不愿意承擔責任,是因為我們常在其他人面前指正部屬。

Q15:如何與平行單位溝通?

A15當單位間有沖突不可調和時,需要從以下幾點來考慮和解決:

1)公司的目的/顧客的目的是什么?

單位的目的是手段,不能因為手段而忘了目的。

2)提高兩個位階來考慮

3)提出雙方意見,求同存異,先執行相同的

4)創造新的解決方法

5)請上司裁決(盡量少用,因為高階主管不喜歡做內部裁決,原因

a) 因為手心手背都是肉

b) 并不了解過程

c) 會造成更激烈的沖突和派系

組織的沖突是進步的動力

Q16:如何與上司進行溝通?

A16在與上司溝通時,重要的是做到參與管理:

1)不只是提出問題,同時也要提出建議;

2)提建議時,需要提二個以上的建議,并加以分析(只提一個建議的主管是陷害上司的人);

3)與上司討論,并由上司做裁決。

同時需要注意上班是行銷。行銷的是自己的能力。

最后需要注意的是與上司溝通時的態度:是爭取資源與支援,而不是證明對或錯。

五、授權給部屬

Q17:授權的前提是什么?

A17授權的前提是工作標準化。只有將工作標準化后,主管才可以授權給部屬處理——可控。

工作標準化的方式是擬定工作分解表,或工作指南或Checklist。

Q18:授權失敗后如何做?

A181)主管要能承擔責任;

2)與部屬一起尋找原因并分析它;

3)輔導部屬執行糾正措施。

Q19:主管裁決的7-2-1原則

A19對于市場,顧客與員工的需求,通常通過組織的辦法,流程(法)可以滿足70%,對于這些部分需要進行標準化,細化到工作分解表,并授權給基層人員直接處理。

對于另外的20%,則需要由主管根據顧客利益和公司利益平衡后從合理的角度進行決定

對于剩下10%中階主管不能確定的,則由高階主管進行裁決。高階主管裁決時多從情的角度決定。

通過對以上內容的學習,讓我自感受益非淺,故將其整理出來作為自己未來的一個行動指南。同時將其與大家分享,也希望能夠對各位同仁的工作產生積極的影響。

另外,對于以上整理的內容,如果你覺得有任何遺漏的地方,歡迎與我聯系,讓我們共同完善上面的知識地圖,期待與大家的交流!



Robin's Programming World 2010-11-25 18:46 發表評論
]]>
從輸入網址到顯示網頁,這個過程究竟發生了什么?http://m.tkk7.com/fastzch/archive/2010/08/24/329729.htmlRobin's Programming WorldRobin's Programming WorldTue, 24 Aug 2010 01:06:00 GMThttp://m.tkk7.com/fastzch/archive/2010/08/24/329729.htmlhttp://m.tkk7.com/fastzch/comments/329729.htmlhttp://m.tkk7.com/fastzch/archive/2010/08/24/329729.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/329729.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/329729.html看到這篇文章,我不得不轉一下,原文地址:http://css9.net/what-happened-when-you-navigate/

作為一個軟件開發者,你一定會對網絡應用如何工作有一個完整的層次化的認知,同樣這里也包括這些應用所用到的技術:像瀏覽器,HTTP,HTML,網絡服務器,需求處理等等。

本文將更深入的研究當你輸入一個網址的時候,后臺到底發生了一件件什么樣的事~
1. 首先嘛,你得在瀏覽器里輸入要網址:

2. 瀏覽器查找域名的IP地址

導航的第一步是通過訪問的域名找出其IP地址。DNS查找過程如下:

* 瀏覽器緩存 – 瀏覽器會緩存DNS記錄一段時間。 有趣的是,操作系統沒有告訴瀏覽器儲存DNS記錄的時間,這樣不同瀏覽器會儲存個自固定的一個時間(2分鐘到30分鐘不等)。
* 系統緩存 – 如果在瀏覽器緩存里沒有找到需要的記錄,瀏覽器會做一個系統調用(windows里是gethostbyname)。這樣便可獲得系統緩存中的記錄。
* 路由器緩存 – 接著,前面的查詢請求發向路由器,它一般會有自己的DNS緩存。
* ISP DNS 緩存 – 接下來要check的就是ISP緩存DNS的服務器。在這一般都能找到相應的緩存記錄。
* 遞歸搜索 – 你的ISP的DNS服務器從跟域名服務器開始進行遞歸搜索,從.com頂級域名服務器到Facebook的域名服務器。一般DNS服務器的緩存中會有.com域名服務器中的域名,所以到頂級服務器的匹配過程不是那么必要了。

DNS遞歸查找如下圖所示:

DNS有一點令人擔憂,這就是像wikipedia.org 或者 facebook.com這樣的整個域名看上去只是對應一個單獨的IP地址。還好,有幾種方法可以消除這個瓶頸:

* 循環 DNS 是DNS查找時返回多個IP時的解決方案。舉例來說,Facebook.com實際上就對應了四個IP地址。
* 負載平衡器 是以一個特定IP地址進行偵聽并將網絡請求轉發到集群服務器上的硬件設備。 一些大型的站點一般都會使用這種昂貴的高性能負載平衡器。
* 地理 DNS 根據用戶所處的地理位置,通過把域名映射到多個不同的IP地址提高可擴展性。這樣不同的服務器不能夠更新同步狀態,但映射靜態內容的話非常好。
* Anycast 是一個IP地址映射多個物理主機的路由技術。 美中不足,Anycast與TCP協議適應的不是很好,所以很少應用在那些方案中。

大多數DNS服務器使用Anycast來獲得高效低延遲的DNS查找。

3. 瀏覽器給web服務器發送一個HTTP請求

因為像Facebook主頁這樣的動態頁面,打開后在瀏覽器緩存中很快甚至馬上就會過期,毫無疑問他們不能從中讀取。

所以,瀏覽器將把一下請求發送到Facebook所在的服務器:

GET http://facebook.com/ HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, [...]
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; [...]
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Host: facebook.com
Cookie: datr=1265876274-[...]; locale=en_US; lsd=WW[...]; c_user=2101[...]

GET 這個請求定義了要讀取的URL: “http://facebook.com/”。 瀏覽器自身定義 (User-Agent 頭), 和它希望接受什么類型的相應 (Accept and Accept-Encoding 頭). Connection頭要求服務器為了后邊的請求不要關閉TCP連接。

請求中也包含瀏覽器存儲的該域名的cookies。可能你已經知道,在不同頁面請求當中,cookies是與跟蹤一個網站狀態相匹配的鍵值。這樣cookies會存儲登錄用戶名,服務器分配的密碼和一些用戶設置等。Cookies會以文本文檔形式存儲在客戶機里,每次請求時發送給服務器。

用來看原始HTTP請求及其相應的工具很多。作者比較喜歡使用fiddler,當然也有像FireBug這樣其他的工具。這些軟件在網站優化時會幫上很大忙。
除了獲取請求,還有一種是發送請求,它常在提交表單用到。發送請求通過URL傳遞其參數(e.g.: http://robozzle.com/puzzle.aspx?id=85)。發送請求在請求正文頭之后發送其參數。

像“http://facebook.com/”中的斜杠是至關重要的。這種情況下,瀏覽器能安全的添加斜杠。而像“http: //example.com/folderOrFile”這樣的地址,因為瀏覽器不清楚folderOrFile到底是文件夾還是文件,所以不能自動添加 斜杠。這時,瀏覽器就不加斜杠直接訪問地址,服務器會響應一個重定向,結果造成一次不必要的握手。

4. facebook服務的永久重定向響應

圖中所示為Facebook服務器發回給瀏覽器的響應:

HTTP/1.1 301 Moved Permanently
Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0,
pre-check=0
Expires: Sat, 01 Jan 2000 00:00:00 GMT
Location: http://www.facebook.com/
P3P: CP=”DSP LAW”
Pragma: no-cache
Set-Cookie: made_write_conn=deleted; expires=Thu, 12-Feb-2009 05:09:50 GMT;
path=/; domain=.facebook.com; httponly
Content-Type: text/html; charset=utf-8
X-Cnection: close
Date: Fri, 12 Feb 2010 05:09:51 GMT
Content-Length: 0

服務器給瀏覽器響應一個301永久重定向響應,這樣瀏覽器就會訪問“http://www.facebook.com/” 而非“http://facebook.com/”。

為什么服務器一定要重定向而不是直接發會用戶想看的網頁內容呢?這個問題有好多有意思的答案。

其中一個原因跟搜索引擎排名有 關。你看,如果一個頁面有兩個地址,就像http://www.igoro.com/ 和http://igoro.com/,搜索引擎會認為它們是兩個網站,結果造成每一個的搜索鏈接都減少從而降低排名。而搜索引擎知道301永久重定向是 什么意思,這樣就會把訪問帶www的和不帶www的地址歸到同一個網站排名下。

還有一個是用不同的地址會造成緩存友好性變差。當一個頁面有好幾個名字時,它可能會在緩存里出現好幾次。
5. 瀏覽器跟蹤重定向地址

現在,瀏覽器知道了 “http://www.facebook.com/”才是要訪問的正確地址,所以它會發送另一個獲取請求:

GET http://www.facebook.com/ HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, [...]
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; [...]
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Cookie: lsd=XW[...]; c_user=21[...]; x-referer=[...]
Host: www.facebook.com

頭信息以之前請求中的意義相同。
6. 服務器“處理”請求

服務器接收到獲取請求,然后處理并返回一個響應。

這表面上看起來是一個順向的任務,但其實這中間發生了很多有意思的東西- 就像作者博客這樣簡單的網站,何況像facebook那樣訪問量大的網站呢!

* Web 服務器軟件
web服務器軟件(像IIS和阿帕奇)接收到HTTP請求,然后確定執行什么請求處理來處理它。請求處理就是一個能夠讀懂請求并且能生成HTML來進行響應的程序(像ASP.NET,PHP,RUBY…)。

舉 個最簡單的例子,需求處理可以以映射網站地址結構的文件層次存儲。像http://example.com/folder1/page1.aspx這個地 址會映射/httpdocs/folder1/page1.aspx這個文件。web服務器軟件可以設置成為地址人工的對應請求處理,這樣 page1.aspx的發布地址就可以是http://example.com/folder1/page1。
* 請求處理
請求處理閱讀請求及它的參數和cookies。它會讀取也可能更新一些數據,并講數據存儲在服務器上。然后,需求處理會生成一個HTML響應。

所 有動態網站都面臨一個有意思的難點 -如何存儲數據。小網站一半都會有一個SQL數據庫來存儲數據,存儲大量數據和/或訪問量大的網站不得不找一些辦法把數據庫分配到多臺機器上。解決方案 有:sharding (基于主鍵值講數據表分散到多個數據庫中),復制,利用弱語義一致性的簡化數據庫。

委 托工作給批處理是一個廉價保持數據更新的技術。舉例來講,Fackbook得及時更新新聞feed,但數據支持下的“你可能認識的人”功能只需要每晚更新 (作者猜測是這樣的,改功能如何完善不得而知)。批處理作業更新會導致一些不太重要的數據陳舊,但能使數據更新耕作更快更簡潔。
7. 服務器發回一個HTML響應

圖中為服務器生成并返回的響應:

HTTP/1.1 200 OK
Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0,
pre-check=0
Expires: Sat, 01 Jan 2000 00:00:00 GMT
P3P: CP=”DSP LAW”
Pragma: no-cache
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
X-Cnection: close
Transfer-Encoding: chunked
Date: Fri, 12 Feb 2010 09:05:55 GMT

2b3Tn@[...]

整個響應大小為35kB,其中大部分在整理后以blob類型傳輸。

內容編碼頭告訴瀏覽器整個響應體用 gzip算法進行壓縮。解壓blob塊后,你可以看到如下期望的HTML:

“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
lang=”en” id=”facebook” class=” no_js”>



關于壓縮,頭信息說明了是否緩存這個頁面,如果緩存的話如何去做,有什么cookies要去設置(前面這個響應里沒有這點)和隱私信息等等。

請注意報頭中把Content-type設置為“text/html”。報頭讓瀏覽器將該響應內容以HTML形式呈現,而不是以文件形式下載它。瀏覽器會根據報頭信息決定如何解釋該響應,不過同時也會考慮像URL擴展內容等其他因素。
8. 瀏覽器開始顯示HTML

在瀏覽器沒有完整接受全部HTML文檔時,它就已經開始顯示這個頁面了:

9. 瀏覽器發送獲取嵌入在HTML中的對象

在瀏覽器顯示HTML時,它會注意到需要獲取其他地址內容的標簽。這時,瀏覽器會發送一個獲取請求來重新獲得這些文件。

下面是幾個我們訪問facebook.com時需要重獲取的幾個URL:

* 圖片
http://static.ak.fbcdn.net/rsrc.php/z12E0/hash/8q2anwu7.gif
http://static.ak.fbcdn.net/rsrc.php/zBS5C/hash/7hwy7at6.gif

* CSS 式樣表
http://static.ak.fbcdn.net/rsrc.php/z448Z/hash/2plh8s4n.css
http://static.ak.fbcdn.net/rsrc.php/zANE1/hash/cvtutcee.css

* JavaScript 文件
http://static.ak.fbcdn.net/rsrc.php/zEMOA/hash/c8yzb6ub.js
http://static.ak.fbcdn.net/rsrc.php/z6R9L/hash/cq2lgbs8.js

這些地址都要經歷一個和HTML讀取類似的過程。所以瀏覽器會在DNS中查找這些域名,發送請求,重定向等等…

但 不像動態頁面那樣,靜態文件會允許瀏覽器對其進行緩存。有的文件可能會不需要與服務器通訊,而從緩存中直接讀取。服務器的響應中包含了靜態文件保存的期限 信息,所以瀏覽器知道要把它們緩存多長時間。還有,每個響應都可能包含像版本號一樣工作的ETag頭(被請求變量的實體值),如果瀏覽器觀察到文件的版本 ETag信息已經存在,就馬上停止這個文件的傳輸。

試著猜猜看“fbcdn.net”在地址中代表什么?聰明的答案是”Facebook內容分發網絡”。Facebook利用內容分發網絡(CDN)分發像圖片,CSS表和 JavaScript文件這些靜態文件。所以,這些文件會在全球很多CDN的數據中心中留下備份。

靜態內容往往代表站點的帶寬大小,也能通過CDN輕松的復制。通常網站會使用第三方的CDN。例如,Facebook的靜態文件由最大的CDN提供商Akamai來托管。

舉例來講,當你試著ping static.ak.fbcdn.net的時候,可能會從某個akamai.net服務器上獲得響應。有意思的是,當你同樣再ping一次的時候,響應的服務器可能就不一樣,這說明幕后的負載平衡開始起作用了。
10. 瀏覽器發送異步(AJAX)請求

在Web 2.0偉大精神的指引下,頁面顯示完成后客戶端仍與服務器端保持著聯系。

以 Facebook聊天功能為例,它會持續與服務器保持聯系來及時更新你那些亮亮灰灰的好友狀態。為了更新這些頭像亮著的好友狀態,在瀏覽器中執行的 JavaScript代碼會給服務器發送異步請求。這個異步請求發送給特定的地址,它是一個按照程式構造的獲取或發送請求。還是在Facebook這個例 子中,客戶端發送給http://www.facebook.com/ajax/chat/buddy_list.php一個發布請求來獲取你好友里哪個 在線的狀態信息。

提起這個模式,就必須要講講”AJAX”– “異步JavaScript 和 XML”,雖然服務器為什么用XML格式來進行響應也沒有個一清二白的原因。再舉個例子吧,對于異步請求,Facebook會返回一些 JavaScript的代碼片段。

除了其他,fiddler這個工具能夠讓你看到瀏覽器發送的異步請求。事實上,你不僅可以被動的做為這些請求的看客,還能主動出擊修改和重新發送它們。AJAX請求這么容易被蒙,可著實讓那些計分的在線游戲開發者們郁悶的了。(當然,可別那樣騙人家~)

Facebook聊天功能提供了關于AJAX一個有意思的問題案例:把數據從服務器端推送到客戶端。因為HTTP是一個請求-響應協議,所以聊天服務器不能把新消息發給客戶。取而代之的是客戶端不得不隔幾秒就輪詢下服務器端看自己有沒有新消息。

這些情況發生時長輪詢是個減輕服務器負載挺有趣的技術。如果當被輪詢時服務器沒有新消息,它就不理這個客戶端。而當尚未超時的情況下收到了該客戶的新消息,服務器就會找到未完成的請求,把新消息做為響應返回給客戶端。
總結一下

希望看了本文,你能明白不同的網絡模塊是如何協同工作的

原文:http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/
譯文:http://www.cnblogs.com/wenanry/archive/2010/02/25/1673368.html

延伸閱讀:

  1. 了解HTTP Headers的方方面面
  2. 改善CSS編碼的5個在線幻燈片教程
  3. 向大師們學習Javascript(視頻、PPT)
  4. 通過javascript實現的快速編碼解碼服務
  5. 一個簡單的、循序漸進的CSS幻燈片教程
  6. 好書推薦:《Google API大全:編程·開發·實例》,即將上市
  7. 請關愛您的身體——《IT人健康寶典》
  8. CSS中文速查表(CSS Cheat Sheet)


Robin's Programming World 2010-08-24 09:06 發表評論
]]>
[轉]名師解密:如何提高英語聽力水平http://m.tkk7.com/fastzch/archive/2010/08/12/328598.htmlRobin's Programming WorldRobin's Programming WorldWed, 11 Aug 2010 23:44:00 GMThttp://m.tkk7.com/fastzch/archive/2010/08/12/328598.htmlhttp://m.tkk7.com/fastzch/comments/328598.htmlhttp://m.tkk7.com/fastzch/archive/2010/08/12/328598.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/328598.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/328598.html來源不詳,寫得很好,童鞋們,一起來練聽力吧!

    從2000年開始做托福老師,到2005年去哥倫比亞大學讀書,包括之前在別的機構講托福,我教過無數的學生,也結合自己的教學,總結出一些行之有效的學習方法。不過,從來沒有把我教學的精華和學習方法形成文字。現在不講課了,我覺得有必要把我多年總結的一些對大家可能有幫助的內容寫在這里,與大家共同分享。如果你看了我寫的,覺得有用,就請你告訴更多需要的人,讓我的文字可以幫到更多在出國道路上拼搏奮斗的人。我始終覺得:分享會給我們帶來最大的快樂。也謝謝你們對我的信任。

  聽力水平要在國內提高

  對于一個有出國夢想的人來說,英語的四個基本技能聽說讀寫當然都重要。但如果我們一個月之后就要出國了,按照80/20效率理論,我們做事情要Set Priorities。就是得排出優先順序。那很顯然,聽力水平的提高就成了重中之重。原因很簡單,你一出國,馬上就要聽課,聽別人講話獲取信息。可能開學一個多月就要期中考試。而國外學校的考試,大多數內容都是來自于老師課上講過的知識。因此,如果你口語不好,你可以暫時不開口;閱讀速度慢,但字總是在書上,你有很多機會可以看;寫作能力不好,可以通過多搜集素材多準備來彌補;只有聽力,老師在課上講過一遍就消失了,沒有了。所以說如果聽不懂老師上課就會很麻煩。我先說說我出國時經歷的和見到的情況。可能因為我大學時是學英語的,又教了很多年聽力,所以我出國后英語方面沒有障礙。能夠輕松自如的交流,也能夠聽懂老師講課。但我周圍的很多中國同學,到了國外聽力方面都需要一個適應期,一個月到半年不等。我絕不比這些同學優秀。我只是比他們幸運。聞道有先后,術業有專攻。我只是恰巧多接觸了英語而已。我在哥大的很多中國同學上課都是帶著錄音筆去的。把老師的講課內容錄下來,回去再聽一遍。有的在國內覺得自己考試聽力水平還可以,出去也會遇到障礙。因為在中國學校里或考試時聽的英語資料發音都很標準。到了國外,教授講課和實際生活中,大家的口音五花八門,印度音,澳大利亞音,加拿大音,非洲音,日本音,墨西哥音等等。而且老師上課還經常講專業性很強的內容。于是乎,很多同學都必須錄下老師的講課內容回去重聽。想一下,出了國需要適應國外的生活文化,還要花比別人多一倍的時間聽老師的錄音,再加上想家,豈不是很辛苦,也比較浪費時間。所以提高聽力水平這項工作,應該在國內完成。

  聽力水平提高的規律

  在具體講如何提高之前,希望大家先區分應試能力和真正的聽力實力。應試能力提高了,這只是實力的一部分。而考試之外,切實把自己的聽力水平提高才是真正的實力體現,也是出國前所必須的。聽力水平提高到一定程度后,就變成了技能。什么是技能呢?技能就是一經掌握,不會忘記的東西。比如游泳,騎自行車,這些都是技能。你現在會了游泳,就算三年不游,三年之后把你扔水里,你還是會游。今天會騎自行車,五年后也不會忘記的。很多人之所以聽力提高不了,就是因為沒有咬緊牙關把聽力水平提高到技能之上。總是聽一聽,放一放。等下次再拿起來聽力材料練習時,發現水平又退回去了。于是,莘莘學子們就不斷鼓勇氣,不斷訂計劃,不斷重新開始,又不斷放棄。一鼓作氣,再而衰,三而竭的道理大家都懂。但在聽力方面能堅持做到的人不多。其實只要保證長期的每天的一個練習量,你就會發現,一旦聽力水平到達了技能之上,想再下降,那基本是不可能的。就算很久不聽,你再聽時也一定是聽得懂的。每天聽兩個小時,比三四天不聽,第五天連續聽十幾個小時進步得快得多。所以學習最重要的一點是掌握對的方法。口語就不是這樣。口語只有經常訓練,才會說得越來越流利,越來越好。但無論再流利,如果一段時間不說,水平還是會下降,就連母語有時也會出現這種狀況。舉例說明,你看破紅塵,遁入空門20年,等你重新回到社會上,你一定還是很輕松就能聽懂周圍人說話。但由于多年沒有和人打交道,不怎么用語言交流了,你可能發現自己說都不會話了,反應也慢了。

  另外,聽力水平的提高曲線和口語閱讀寫作詞匯等也都很不一樣。我把聽力的提高成為平臺階梯式。也就是你在提高聽力的過程中,會一直在一個平臺上前進,在這個過程中,你會覺得自己提高的很慢或者完全沒有提高,甚至還會出現覺得越聽越退步的情況。但這些都不應該成為你前行的阻礙。只要你堅持,就會量變積累帶來質的飛躍,跨到下一級臺階上。然后繼續在新的平臺上前進前進前進進,直到躍到下一級更高的臺階。而口語閱讀寫作詞匯等的提高屬于爬坡式的,雖然坡度有急有緩,但整體趨勢是一直向上的。所以這也就是為什么大多人會覺得背單詞比較有成就感,而練聽力似乎進步不明顯。我想,如果大家明白了我總結的平臺階梯式和爬坡式進步曲線,也就能更好的明白為什么聽力一定要每天堅持聽的道理了。

  上一篇文章里講了兩點,一是聽力水平應該在國內提高;二是聽力水平提高的規律。今天主要談談大家在練習時,具體怎么聽,聽什么等問題。聽力提高的方法分為精聽和泛聽。

  精聽

  精聽一個重要的練習方法是聽寫(Dictation)。我還記得,當年我考英語專業八級時,是要考聽寫的。那時考察方式是,一篇文章一共讀四遍。第一遍總聽,大概把握文章主題和大意。聽第二遍時開始寫,但肯定會漏掉很多詞沒寫下來。第三遍開始補空。最后一遍總體檢查。如果我們平時練習聽力也用這樣的方法的話,你會發現既浪費時間,提高得也很緩慢。雖然我英語八級證書是優秀,但說心里話,我覺得當時的老師并沒有教給我們什么學習方法,完全靠拼命反復做題。由我的經歷可以得出:你要是特別能吃苦,可以天天學英語十幾個小時,并且堅持下來的話,你的英語同樣能夠學好,在刻苦練習的過程中自己也會總結出很多學習方法和規律。可人的生命太短暫了,如果我們把有限的生命錯誤地投入到一些低效能的事情上的話,就得不償失了。推薦大家看《80/20效率法則》,很多外企面試員工,都會考察這本書里面的一些觀點。這本書的核心觀點其實就是:人要把有限的精力投入到最有可能帶來效益的事情上去。現在大家有福了!我會盡力幫大家總結提煉些能幫助你們高效提高英語水平的學習方法。

  聽寫材料的選擇

  建議大家不要用電影對白或者托福聽力的對話部分練聽寫。換句話說,對話類型的材料(conversations)是不適合拿來練聽寫的。原因很簡單,對話的難點不在于某一個詞,或一個復雜的句型,或比較晦澀的內容,或巨大的信息量。難點往往來自于一些音變現象,比如連讀失去爆破;來自于一些俚語習慣表達;來自于上下文語境的理解。換句話說,很多對話材料,就算原文里每個單詞你都認識,但不一定理解這句話的意思。所以,費了半天勁聽寫下來的對話內容,要么看不懂不理解;要么就是這次看懂了,下次還是聽不出。所以,對話材料應該采用的練習方法其實是跟讀模仿。后面會講到。

  用來練聽寫的材料應該是一個人的陳述、講座之類的(Lecture)。之所以選擇這樣的材料,是和練聽寫的目地分不開的。練聽寫的核心本質其實是為了提高我們快速理解和記憶的能力。有的同學誤以為聽寫就是要把聽到的所有內容都寫下來,那是一些考試的要求,不是我們平時提高聽力的方法。如果那樣練習,你會發現兩個問題:一是,有的時候就算寫下來了,其實也不知道自己寫了些什么。二是,覺得剛才聽懂了,但要下筆寫的時候覺得又忘了聽到什么了。造成這兩種情況的原因,都是因為我們沒理解聽到的內容。聽寫真正應該做的是記憶和總結的工作,而不是聽和寫的工作。什么叫做記憶和總結,就是我們不需要完全按順序重復這一個人的每一個字,但我們要做到能理解它的內容,并在總結后復述出來。這才是我們練聽寫真正的目地。如果我們總是反復聽原文,一個字一個字寫,可能半個小時才寫了一個五分鐘的文章,而這半小時的投入可能就沒有達到什么提高聽力水平的效果。

  聽寫材料的長度應該是一分鐘左右的。千萬不能用太長的。曾經有一個同學跟我說,張老師我在練聽寫。我今天聽寫的是馬丁·路德·金的著名的演講“I have a dream”。這得寫多久啊!

  適合用來練習精聽的材料包括:老托福聽力材料中,Part C的lectures。新托福iBT的lectures很長,大家可以分成幾次來練聽寫。同時,新概念英語二冊三冊的lectures也可以用來練習。這里面有一個時間問題,如果你就剩一兩個月就要去參加考試,一定記住所有的練習內容都應該是和你要參加考試直接相關的材料。而且由于時間比較緊,就不建議天天練聽寫。一周練個兩三次足矣。所以說很多時候,學習方法沒有對錯,只有在特定時期如何練習的區別。


聽寫的步驟

  第一步總聽全文。既然叫總聽,就是不要陷入文章內容的細節。總聽只做兩件事,一是明確主題,大概知道這個段落講了什么事。二是尋找邏輯。英文文章的邏輯包括什么呢?只要能簡單判斷出這篇文章是按時間順序寫的還是空間順序;是現象解釋還是兩種觀點的比較等。所以在總聽第一遍的時候,關注那些起承轉合的詞,可以幫我們快速把握文章的邏輯關系。比如你聽一篇段落,聽到in the past,那你的預期就該是,后面可能會提到now,也許還有in the future。聽到“一些人認為”,那你的反應應該是,接下來會談“另一些人或者我認為的”。以前大家對于這樣的能夠提示你文章邏輯關系或順序的詞是不敏感的。總是在聽寫第一遍的時候就陷入細節。

  第二步細聽每句。在細聽每句時,我見過有同學用復讀機聽。一句話說完,他就按個復讀,讓機子一遍一遍地讀這句話,他不緊不慢地逐字聽寫下來。這種聽寫就屬于低效甚至無效聽寫。換句話說,你付出了80%的努力,卻可能只帶來20%的效果。還有些同學是這樣練習的:就聽一句話時,剛聽到兩個詞,就馬上按暫停,寫下這兩個詞,然后再聽三個詞按暫停,寫下這三個詞。一句話被他分割成很多部分,聽得支離破碎。我這里講的細聽每句,主要強調句子的概念,是sentence by sentence的聽寫,不是word by word的聽寫。不過,這里的sentence也不是說非得到一個句號才算是一個sentence,這里指的是一個語意的停頓,包括像逗號,分號,冒號等,都叫語意的停頓,在這樣的地方可以按暫停。具體操作建議:一句話先聽一遍,到了一個語意停頓的地方按暫停,通過你的回憶把這句話寫下來。有同學可能說,老師,一句話說了十幾個詞,我才能寫出三五個單詞,根本沒關系,因為我們在這里練的不是把聽到的內容完全寫下來的能力,而是鍛煉記憶和總結能力。這里記住:每句話只聽一遍,盡力寫出或復述出你聽到的內容。能寫多少算多少。開始能寫三五個詞,堅持練習,就能寫出更多的。

  第三步反復琢磨。這一步是核心關鍵。“反復”在這里不是一個副詞來修飾琢磨的,反復和琢磨都是動詞,指既要反復,又要琢磨。反復多少次合適呢?我見過特用功的同學,一句話聽不懂,他就發誓說不把你聽出來我就不吃飯!于是反復了三五十遍,聽得眼睛都綠了,還是沒聽明白。這不又是80%的努力用在了沒有效率的20%的事情上了。反復三五遍是最合適的。如果一句話反復三五遍還沒有聽出來的話,再聽十遍八遍和三五遍的效果是沒有太大區別的。不過反復一兩遍又太少。不要急著知道說得是什么,要通過反復三五遍,建立對整個句子的感覺。

  反復

  A. 反復一遍后,句子的意思全理解了,這時候就別試圖把這句話一字不漏地寫下來了。只要用記憶和總結把這句話的核心大意寫下來就行了。

  B.反復了幾遍之后發現大多數內容都聽明白了,但里面的個別詞沒聽出來。這些個別詞可能對我們來說是生詞,也有可能是發音或音變導致我們沒聽出來。這時需要大家做的工作是,記錄聲音符號。也就是用你熟悉的音標,漢字或其它標音方式,把你聽到的聲音記錄下來。這個工作非常重要。總有同學說:老師,這句話我聽不出來聽不懂。我就會問:那你聽到聲音了嗎?他說:聽到了。我說:聽到了什么聲音。他說:啊,忘了。我們練習的時候為什么不提高,就是因為我們每次反復三五遍之后就直接打開原文看了。一看原文恍然大悟,哦,原來是這樣一句話啊。這時,當你把原文放在一邊再去聽一遍聽力材料時,你發現你都懂了。而這根本不是用耳朵聽出來的,不是你的聽力水平提高了,而是你用眼睛看完了記住了。就像我聽廣東歌,我先看一下歌詞,再去聽,我會覺得我廣東話的聽力水平還不錯嘛,都能聽懂。但如果不讓我看歌詞,直接去聽,我肯定聽得稀里糊涂。這些年來,很多同學也就是活在這種幻覺中。聽了幾遍,看了原文再去聽,就以為自己聽力水平提高了。所以說,要改變這種情況,我們一定要在聽的過程中記錄聲音符號。這么做的目地是為了建立你耳朵聽到的聲音和實際內容之間的關聯。把你聽到的聲音用你熟悉的符號記下來,哪怕只能記錄下一種語氣語調的起伏或者個別的聲音。有時候成功失敗只在一線間,就差那一點點。

  在聽寫的過程中,記錄聲音符號這一步就是那一點點。如果不記錄,你永遠不知道這個單詞這個短語作用在你的耳朵里是什么聲音。同樣的詞作用在不同的人耳朵里,聲音符號是不同的。如果你認真記錄一次,下次再聽到一樣或類似的聲音時,你的反應速度和理解能力一定會加快。為什么大家聽到Good morning的時候,完全不需要反應就得懂,而且會立刻反應出來意思是早上好。就是因為我們對這兩個詞的聲音符號已經非常熟悉。而很多其它的單詞或短語,我們認都不認識,更不用說在我們腦海中有什么似成相識的聲音符號了。我們也從來沒有試圖去體會過,這些詞和短語在我們自己的耳中,聽到的感覺是什么。

  C.聽了三五遍,發現整個句子還是不知所云。這種情況的就是多種因素作用的結果了。可能里面有生詞,有音變,還有可能是句型結構不熟悉不理解。這種情況下,大家就應該同時做A.B里面提到的工作。并把這句話作為接下來琢磨和總結的重點來對待。

  琢磨

  反復完三五遍,打開聽力原文,對照原文和自己的聽寫筆記琢磨。琢磨什么呢?剛才這兒我沒聽出來,是因為我不認識這個單詞,還是因為覺得發生了音變現象,還是因為我對這個詞或短語的聲音不熟悉,反應的慢。如果你能這樣堅持二十天到一個月的訓練,聽力不可能有問題。所有的材料只要是詞匯量積累了,聽多少材料都不存在問題。這是我們說的在第三步反復琢磨要做的兩個工作。

  第四步總結全文。總結全文就是希望大家能夠在總結的時候做兩個工作。一是對照著自己寫的聲音材料再去聽一遍原文。再看著聽力原文在心里默默地把這篇文章讀一遍,同時回想剛才在這里為什么沒聽出來。發現了問題,更重要的是采取策略來解決問題。如果因為是單詞不認識,我就多記兩遍。如果是因為發音問題,我就多跟讀兩遍。如果是因為句型句式不熟悉,我就把這個句子單獨提出來分析一下,然后用這個句型再造兩個句子。其實一篇一分鐘左右的文章,如果我們每天堅持用這四大步驟練一遍的話,一個月下來,聽力水平一定會突飛猛進。

 在繼續講如何提高聽力水平以前,先回答一下網友提得比較典型的聽力中的問題;

  問題:曉楠姐,真是聽托福聽到絕望了,我覺得有以下幾個問題,可能也是很多人的問題,您在下一篇文章看看能不能談一談:1、段子長,容易走神,咋整啊?  2 、聽了挺多,可是還是有很多詞不懂,雖然有些名詞不會影響做題,但是影響聽力過程啊。3 、聽的過程有時候聽得都是零散的單詞,不知道整個句子啥意思。4、基于1-3,于是我崩潰了……

  我分別來說一下吧。

  4基于1-3,于是我崩潰了……:如果看完我的回答,你還是崩潰。那我就崩潰了!

  1、段子長,容易走神,咋整啊?  :走神問題,是我以前在課上經常會提起的。我們經常講:態度決定一切。大家對待走神,也得首先端正態度,明白聽力走神是正常的,不走神才是不正常的。1分鐘走一次神是正常的,1秒鐘走一次神就不正常了。我們練聽力一個重要的目標,不是練到聽聽力時不走神,而是練到同等時間里,走神的頻率和長度越來越少;更要練習就算走神了,也能馬上收回注意力。而不是邊走神,邊提醒自己不能走神;邊提醒自己不能走神邊走神。進入這個惡性循環。

  新托福iBT聽力的段子確實比較BT,每篇都很長。但是,咱中國不是有句話叫:言多必失嘛。句子說得越多,重復的機會反而越大,一句沒聽到,后面經常還會有其它信息提示你剛才錯過了的內容。所以,大家不要畏懼段落變長了,而應該慶幸我們獲取信息點的地方多了。之所以你會覺得痛苦,是因為每次你走神時,你都覺得自己很罪惡。而且堅信你走神的地方,是出題的地方。這其實是個心理因素。走神除了由心理因素影響外,還有就是你聽不懂時就容易走神。

  改變它的辦法就是提高整體聽力水平。水平不切實提高,聽力走神的問題就不能得到大幅度的改善。比如,聽聽力決不能是一個詞一個詞的理解意思,這樣萬一碰到一個詞不認識或者反應慢了,就會不自覺地停在那里想,導致走神。聽力最重要的是把握節奏PACE。你千萬不能停下來想,一定要接著往前聽。Don't stop! Follow up。至于如何提高把握理解句子的能力,請參照我相關的提高聽力水平的博文。呵呵。

  2、 聽了挺多,可是還是有很多詞不懂,雖然有些名詞不會影響做題,但是影響聽力過程啊。:從問的第一和第二個問題,我可以看出,這位同學在聽力中欠缺的就是我上面回答的聽力的節奏PACE。第一個問題的回答也同樣適用于這個問題。你可以仔細體會一下。另外,關于把握聽力的節奏這點,其實說起來容易做起來難。大家遇到沒聽懂的,會不自然地放慢速度,停下來想。解決的一個辦法是:多熟悉句型結構,這樣就能更好地判斷出聽到的內容,尤其是不會的單詞是否影響句意的理解。一旦判斷出這個詞聽不聽得懂根本不重要時,自然就會很坦然的接著聽的。可如果你對句型把握的不好,就會覺得每個詞似乎都很重要。解決的另一個方法就是大量泛聽。我下一篇文章會講如何泛聽。

  3、 聽得過程有時候聽得都是零散的單詞,不知道整個句子啥意思。:你這個問題,我在如何練習聽寫里講了。請參照如何提高英語水平之聽力篇(二)練習。

  好,我接下來繼續講如何提高聽力水平。

  上一篇講了精聽的一個重要練習方法:聽寫。精聽包括聽寫,但不局限于聽寫。精聽材料的選擇要根據自己的學習目地來定。如果是為了準備考試,那么一定要具體到考哪個考試,就精聽這個考試的真題。比如學校的英語考試,精聽的材料就應該是平時上課時指定的英語教材,考托福、雅思、四六級、考研、英語專八等,那就是應該精聽歷年的真題。用這些材料練習精聽的目地,一是為了考試時做對題目;二是為了充分熟悉了解特定考試考察的內容范圍;三是為了熟悉出題人的思路。同學們容易走入的一個誤區是:老師,真題太珍貴太有限了。我覺得我提前把它們都做了的話,就給浪費了。我是不是應該先從模擬題或者其它的材料入手呢?等水平差不多了再來做真題?

  我不得不再次強調上篇文章提到過的80/20效率法則。請大家做事抓核心,抓事物的主要矛盾。在考試分數提高上,沒有任何一種材料對你的幫助可以大過歷年來的真題。不要總帶著猜題壓寶的心理,覺得我多做一套模擬題,沒準兒考場上就能多碰上一道。其實,與其做50套不同的模擬題,不如把10套真題每套做5遍。花的時間是同樣的,但效果差異會相當大。記住,人這一輩子犯新的錯誤的機會不多的。稍留心你就會發現,很多時候,在不同的情況下,自己犯的居然是同一類錯誤。

  學英語也是同樣,重要的是善于總結自己常犯的錯誤。我記得曾經一個高考狀元談為什么自己得了狀元時說:當很多同學高三時忙著做很多新的模擬題時,我在忙著總結從高一到高三現在所有做過題目中的錯題。我把這些做錯的題目都整理在一個本子上,結果發現自己進步飛快。我平時在班上并不是最優秀的,但因為后期復習階段,我覺得自己采取了比較正確的學習方法,所以取得了事半功倍的效果。

  引用王菲笑忘書里的歌詞“不再犯同一個錯誤”。從現在開始,精聽做題時,不能再只求量,不管質。質和量都需要保證。這里面的核心工作就是,每次做一套題,都必須記錄自己做題的過程。這和聽寫不一樣,不是讓你寫下來聽到的字詞,而是記錄自己選答案的過程。比如這道題如果是用排除法做出的,你用一種符號標注;是連蒙帶猜選的答案,更得標注出來;是不太肯定的狀態下選的一個答案,也得標識。總之,除了自己堅定選的答案以外,別的選項都必須用你自己習慣的不同的符號標注記錄下來。這樣才能在精聽完題目之后,有針對性的提高。否則如果你是蒙對了的,你不做記號,誤以為自己掌握了這個知識點,誰能保證下次還這么幸運蒙對呢。如果是不肯定的狀態下選對的,說明這個知識點還很薄弱,不及時記錄,怎么知道在這兒存在問題呢。俗話說:以史為鏡嘛。

  切記,自己做的題目答案不要寫在書上,也不能隨便拿張紙選答案,對完答案就扔掉。而是應該專門用一個本子記錄。這樣當你再重新做這套題時,可以把兩次做的答案錯的題目進行比較,也更容易發現自己學習中的漏洞和問題。把答案直接寫在書上的壞處,一是下次再做這套題時會受這次選的答案的影響。二是如果擦去已選的答案,就無法把兩次做的情況進行比較。不要每次做題都在同一個層次上掙扎,要通過不斷地發現問題,解決問題,到下一個層面上去奮斗!

  關于泛聽,大家問得最多的就是到底要泛到什么程度。是泛泛地聽嗎?聽什么?聽多久?有同學問過我說,每天刷牙洗臉的時候開著錄音機聽,每天騎自行車的時候戴著耳機聽,甚至是晚上失眠時,一聽英語就睡著了。在這些情況下,都不知道自己在聽什么,這樣泛聽到底對提高聽力水平有沒有幫助?我要告訴大家的是,這其實是提高聽力最有效的手段,就是每天只要有空,就戴著耳機聽英語。之所以一些同學沒有提高,或提高緩慢,是因為沒有做到“每天”和“只要有空”。  

  我用我自己的經歷和另一位新東方托福名師的例子,來跟大家講講這樣的練習方式。我當年上大學的時候每次考聽力基本都是第一,而且我當時也沒覺得聽力對我來說特別難。我們宿舍有九個女生,有一次在宿舍聊天,有人就問:“張曉楠,為什么你的聽力這么好?”說實在的,當時我根本就不知道什么學習方法,我自己也不知道為什么好。但一個室友的一句話點醒了夢中人,她說:“我知道。因為張曉楠每天總是戴著耳機在聽。”可是很遺憾,我當時每天聽的全是港臺流行歌曲,根本沒聽英文啊。她說:“聽什么無所謂,總之你老是戴著耳機聽,就把耳脈打通了。”當時大家笑作一團,我也瞬間覺得自己似乎在練什么武俠神功,還耳脈!

  不過笑過之后,我想起來一件事情,馬上覺得我的室友說得很有道理。我從高中的時候就自覺自發自愿自主的產生了對英語的興趣,那個年代,都是從初中開始學英語,大學以前從來沒上過什么聽力口語課,學的是經典的啞巴英語,所以那時也沒人告訴過我什么精聽、泛聽的概念。初中學英語,覺得是為老師而學。高中才覺得真正喜歡上英語。于是出于興趣,每天沒事兒就拿著磁帶掛著耳機聽。聽了以后也沒什么直接的感覺,沒覺得聽力水平提高。但后來意識到,泛聽最大的好處就是,對英語語言的語音語調語匯句型,有了基本的感觀認識,在參加考試過程中心理上就不會有障礙,不會緊張。那時可選擇的材料非常少,我聽的是《走遍美國》,那是我第一次覺得直觀地接觸到美國人真實的生活、文化、社會,讓我更喜歡聽了。那時住宿,宿舍熄燈早,我于是就黑著聽,直到聽睡著為止。我就這么泛聽了兩三年,不知不覺中,英語聽力水平已經大幅提高。后來總結時感覺,如果當時懂得的話,加上精聽,兩者相輔相成,一定提高的更快。

  我喜歡一句話:能充分利用零散時間的人,才是最有可能成功的人。整塊兒的時間誰都能看到能把握,而人和人的區別,更多時候是來自于細微處對自己的把控力。我雖然不算成功,但是我總是努力學習別人的優點。同時,吾日三醒吾身,爭取做得更好。我當時作為新東方學生的一段利用零散時間的經歷,也為我聽力水平的提高,帶來了很好的效果。

  那時我騎自行車去北京新東方學習。我上的是暑假班,一共四十天的課,單程路上要騎兩個多小時,意味著每天來回有五個多小時的時間在路上。早上八點半上課,十一點下課。太陽沒出來就要出門,中午陽光正燦爛哪,又得往回騎。第一天騎完,我就問自己,每天這五個多小時的寶貴生命,難道就這樣被我浪費了嗎?我想我騎著自行車還能干嘛?我總不能看書吧。我想唯一可以做的事情就是戴著耳機聽英語。那時不像現在有MP3,Ipod,我那時拿的是個錄音機,用個繩子拴在自行車后座上。戴的耳機是那種罩在耳朵上比較大的,小的容易傷耳朵。從那天開始,我就跟個飛行員似的,在炎炎烈日中,戴著那副大耳機。我騎了四十天自行車,每天戴五個多小時的耳機聽英語。其實,我并沒有多少注意力是在耳朵里的英文上的,我我騎車子還得看路看車看紅綠燈吧。我還是個喜歡挑戰自我的人,一路上跟自己比賽。比如,今天我用八分鐘騎到了這棵樹,明天我就想試試能不能用七分鐘騎到。就在這種情況下,四十天之后,我驚訝地發現,之前覺得聽起來可能還有點小問題的材料,居然已經沒有障礙了。

  另外一個例子,就是新東方一個托福閱讀名師的例子。他閱讀寫作水平都很高,聽力比起那兩項來,稍遜風騷。他就問我,到底這個聽力該怎么提高。我對他說:你工作這么忙,估計也沒時間坐下來練什么聽力的精聽,你就只要用空就掛著耳機聽英語吧。他是個態度特別端正、做事特別認真的人,從那之后,無論在哪兒見到他,甚至大家一起聚會吃飯,他都戴著耳機在聽英語。半年之后,他跟我講:這樣果真有效啊!

  之前的文章,我也提到,出國時,聽力技能是英語聽說讀寫中必須最先解決的。你總得先聽懂對方,才有可能把你更深邃的思想表達給他聽吧。我就經常聽到中國人跟外國人交流時,外國人問一個選擇句,比如說:你喜歡吃蘋果還是桔子。這個中國人斬釘截鐵的回答:Yes。外國人懵了,不知道他為什么回答yes,但咱們自己人應該明白吧。因為他只聽到了前半部分,沒聽清是個選擇句,他以為人家問他你是不是喜歡蘋果。

  說了這么多,大家最感興趣的是學習材料。我先在這里告訴大家一個原則:教材的好壞差異,并沒有我們想象的那么大。如果任何一本正規出版社出的正規英語教材,你把它認真研究通研究透,你的水平早就提高了。就是因為我們盲目在這些客觀學習材料上挑來挑去,而沒有從自身主觀學習態度上找原因或作改變,才導致我們浪費了大量的時間。我在這里推薦的材料,會對大家有幫助。但絕對不是說只有這些材料才能讓你提高英語聽力水平。大家完全可以根據自己的英語程度和喜好去選擇。

  走遍美國。

  瘋狂英語。注意,我這里說的不是李陽的“瘋狂英語”,而是國內首創的英語學習有聲讀物。

  記錄片。比如探索頻道、歷史頻道的很多材料都可以用來練習。

  美國的朗讀版的書(當然如果是考雅思或者其它聽力,就根據考試中朗讀者的口音選取相應的材料)。之所以有很多這樣的材料,最早是因為希望盲人也可以享受到好書籍中的智慧。后來知道很多人工作繁忙,坐下來看書的時間有限。于是可以通過CD在車里聽這些書的朗讀版。比如克林頓的《我的一生》,大家就可以在網上找到下載聽聽。克林頓被稱為美國歷史上最有演講天賦的總統,演講時基本不需要稿子。他的聲音非常優美。那本書就是他自己朗讀的。既練了聽力,又聽了一本好書。何樂而不為。

  CNN的英語新聞也是可以拿來泛聽的。但我建議大家在聽CNN時,不要去聽他們比較偏時政的新聞材料,因為你很有可能是不了解背景信息,所以導致聽得稀里糊涂。可以選些專題性比較強的報導去聽。

  國外教授講課的實錄材料。國外學校和其它網站上有很多教授或學者就某一學科或某一話題的講解、演講、討論。大家下載下來泛聽一下,能對國外學校校園和學術生活有個進一步的了解,同時也幫助大家提高聽力水平。

  STEP BY STEP。這是我當年作為英語專業的學生,用的聽力必備教材。這套教材一共四冊,雖然老,但是編排得還是很系統的。如果大家是沒有考試壓力,就為了提高聽力水平,可以用它來做精聽練習。但如果時間緊、任務重,泛聽就可以了。

  電視劇電影對白。比如流行多年的《老友記》。記住,這個材料不用拿來練,更適合用來練泛聽。如果你是看著電視練聽力的,記住一定不要打開對白,中英文字幕都不要看。最好是錄在mp3里,用零散時間戴著耳機泛聽,效果更好。之所以不建議大家看電視畫面,就是很多聽不懂的情況下,看著畫面里人物的表情和場景,也能猜出個大概。這種情況下,你在鍛煉的就不是你耳朵的功夫了。為什么盲人聽力比較好?如果明白這個道理,大家也應該能理解。所以如果要提高聽力水平,就不要看字幕和畫面。現在流行的電視劇很多。大家根據喜好去選擇就可以,當然電影材料也是類似的操作方法。

  我說一下選電視劇和電影材料的原則。一、材料的語速最好比你習慣或考試的速度快一些。為什么要這樣?如果你平時都泛聽語速快的材料,這樣考試時在你心情比較緊張的情況下,你也不會覺得考試的材料語速很快。就如同舉重運動員平時訓練時,基本都會舉起比真正比賽時更重的重量。二、材料的難度最好比你的水平高一些,比考試材料也難一些。比如,平時泛聽的材料里有更多你聽不出不認識的生詞,有更多你不熟悉的話題場景,有更多復雜的句型結構。這樣做的目的和第一點類似,就是平時對自己要求高一些,考場上就會輕松許多。電影電視方面,什么樣題材符合這點呢?比如法律、政治題材,都有這個特點。政客律師說話,邏輯性強,用詞復雜,比較難懂,語速還快。像當年的《費城故事》、《白宮奇緣》都是挺經典的電影。三、發音應該是和你要參加的考試相同或相似的。比如如果參加托福,你就要充分熟悉美式英語的發音。比如很多動畫片的配音,和托福考試里的相去甚遠,你說你看動畫片提高托福聽力水平,效果就不會太明顯。四、一定要選對白多的電影電視劇。敘事類的,愛情電影,對白就會比較豐富。如果是戰爭題材,滿耳朵估計聽得都是轟炸聲,聽力沒練好,耳朵因被過分刺激而暫時失聰就不好了。

  可別小看這一點。大家都知道,一個人在聽力水平不好時,總覺得是錄音材料效果不好,聲音聽不清,所以習慣性地把聲音調得很大。這是大家一定要避免的。這樣做的結果是,你的耳朵會疲勞得非常快,而且會覺得聽得腦袋疼,還真的可能會導致聽覺能力下降的。不知道你們有沒有聽過一個人總用Ipod聽搖滾,他開著音樂,旁邊人都聽得清清楚楚,結果他失聰了,于是他狀告Ipod索賠!所以,大家不可小視。平時練的時候,一定要把音量調到比自己聽著舒服的聲音還小一點的聲音來練英語聽力。這樣的話,你的注意力會更集中的去聽,也不會那么快就感到疲勞。記住,你覺得聽力聲音效果不好時,可能是因為你的水平暫時還沒有到達材料的要求,而并非真的不清楚。

  推薦了這么多,還是記住我那句話,千萬不要貪多嚼不爛。人一輩子不需要做很多事情,把一件事情做好,你就成功了。



Robin's Programming World 2010-08-12 07:44 發表評論
]]>
WINRAR打包時,去掉SVN或CVS版本控制信息文件http://m.tkk7.com/fastzch/archive/2010/04/12/318065.htmlRobin's Programming WorldRobin's Programming WorldMon, 12 Apr 2010 07:21:00 GMThttp://m.tkk7.com/fastzch/archive/2010/04/12/318065.htmlhttp://m.tkk7.com/fastzch/comments/318065.htmlhttp://m.tkk7.com/fastzch/archive/2010/04/12/318065.html#Feedback2http://m.tkk7.com/fastzch/comments/commentRss/318065.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/318065.html
1,過濾CVS控制信息文件:
右擊文件夾-->Add to archive...-->Files --> Files to exclude

輸入:  *\CVS *\CVS\* *\.#* 即可


2,如果是SVN的話,輸入  *\.svn *\.svn\*  即可
當然,SVN也可以用其自帶的export功能先導出,然后再打包。

Robin's Programming World 2010-04-12 15:21 發表評論
]]>
學生制作演唱超牛串燒歌曲《換大米進行曲》經典,笑死ME鳥……http://m.tkk7.com/fastzch/archive/2010/03/16/315562.htmlRobin's Programming WorldRobin's Programming WorldTue, 16 Mar 2010 03:04:00 GMThttp://m.tkk7.com/fastzch/archive/2010/03/16/315562.htmlhttp://m.tkk7.com/fastzch/comments/315562.htmlhttp://m.tkk7.com/fastzch/archive/2010/03/16/315562.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/315562.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/315562.html

Robin's Programming World 2010-03-16 11:04 發表評論
]]>
一個程序員的2009http://m.tkk7.com/fastzch/archive/2010/03/11/315217.htmlRobin's Programming WorldRobin's Programming WorldThu, 11 Mar 2010 15:31:00 GMThttp://m.tkk7.com/fastzch/archive/2010/03/11/315217.htmlhttp://m.tkk7.com/fastzch/comments/315217.htmlhttp://m.tkk7.com/fastzch/archive/2010/03/11/315217.html#Feedback6http://m.tkk7.com/fastzch/comments/commentRss/315217.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/315217.html本不打算記這個的,今天突然看到“兔八哥”的記錄,覺得文風挺好,我也想記記,以后可以回顧回顧。

1月,繼續出差生活,忙著某電信行業核心業務系統試點項目最后的驗收,就在元旦前的幾個晚上,兩臺服務器的grep命令丟失(太奇怪了,后來查了半個月原因,還是沒分析出來原因),導致watchdog程序啟動了近20K個進程,最終系統崩潰,幸好是試點,只有300萬用戶在幾個小時無法通話。從此,帶領一幫兄弟24小時值班,正是這次機會,讓我學到了很多24值班安排的經驗,現在看來,4個人是有點忙不過來的。

2月,春節期間沒有回家,一個人獨自在機房值守,到是清閑,麥當勞吃得我反胃,導致胃疼,直到最后需要胃藥的幫助。也因為此,領導一直記在心里,常常提及,說明付出總是有回報的。

3月,為入網證連續工作72小時,靠紅牛提神,最終通過。后來每每客戶提及此事,總用好聽的話說我是他們的兄弟,領導又一次用這樣的話鼓勵我。之后回武漢看父母。
下旬,受邀參加“IBM WebSphere技術專家沙龍(華南區廣州站)”,這一期的主題是安全方面的,作為主講嘉賓,我跟同行們一起探討開源的安全框架——“Spring Security”。

4月,有入網證了就好說,順利拿下兩個網元,為新版本的事兒開始規劃,讓我對OMC有了全面的認識。比較郁悶的事情也由此發生了,同樣是客戶的政治斗爭,美其名曰:平衡。為了尋開心,第一次爬了白云山,發現人運動一下還是很舒服的,在廣州吃到還算正宗的熱干面。
中旬,飛上海轉昆山,為某ERP系統做performace調優,并跟大家一起探討了如何做系統架構設計。

5月,繼續被平衡游戲玩得郁悶,找同事和領導吐過兩次苦水,同時,也跟將同事變為朋友。常常跟領導聊天的凌晨三點,跟他學了不少智慧,人由此變得更大器,更成熟。
值班的工作終于結束,不過還得帶著一幫兄弟做開發,也是常常加班。

6月,廣州的天很熱,開始比較討厭坐交通車,愛上打的。努力工作,為新版本上線做準備,開始寫各種文檔,發揮我的強項,基本上重要的文檔都是我親自操刀。其實寫文檔比較鍛煉一個人的結構力,鍛煉一個人的考慮問題的完備性。

7月,廣州的BRT建設導致大面積塞車,變得更討厭城市生活,幾乎天天路過Starbucks,可從沒進去過,因為馬上就到家了。

8月,開始籌劃考OCP,并尋找代理機構,獲得領導的報銷審批(不過最后沒使用)。經歷幾個月的斗爭,大家都有點心力不支,我也有點累,萌生退意。

9月,基本上在機房上線實施搞了前前后后一個多月,沉浸在AIX和Redhat的世界里,做了很多次壓測,結果還算理想。同時,對系統水平和垂直擴展有了深刻的認識。咳嗽不止,進機房太冷,開始咳,回酒店就好了,前后持續20天左右,比較痛苦,后來有了機房恐懼癥,一是怕冷,二是舍不得酒店10M的寬帶。提醒要去機房的人,多穿點。
接到現在公司的電話,談了幾輪,彼此感覺不錯,回武漢基本搞定新offer。決定放棄年終還算不錯的獎金,提出離職,領導聽了我的幾句話,沒說什么,只說這是他的成功,雖然我知道他心里很難過,很想留我。其實也不是對當下的工作不滿意,領導對我很好,老總說什么條件只要我提就滿足,客戶的平衡游戲基本上也結束了,只是考慮到未來,職位,培訓機會,薪水三方面因素,去意已決。

10月,回武漢過十一,在家宅了7天。開始準備工作移交的事,很多同事為我送行,前前后后吃飯喝酒搞了半個多月,很感動!男同事,女同事,看起來都很羨慕我,我也說了很多贊美他們的話,因為他們真的都很優秀!至今厲厲在目。一個客戶公司的朋友說要開車送我去機場,我婉拒了,實在有點難為情,雖然我們成了真正的朋友。
明顯感覺領導有時候心情不好,我知道是我的離開鬧的,我變得似乎很成熟,開始學會安慰他。
離開前還參加了公司組織的活動,去香江野生動物園玩了一午,晚上吃自助餐,第一次吃哈根達斯,覺得跟普通的ice-cream沒什么區別。

11月,回武漢,并到新公司報道,努力工作,一上就解決了幾個performance的問題,很快適應新環境,接著用從未用過的Flex開發了一個stream player,幸好action script跟Java差不多,幾個小時功夫,就上手了。工作語言切換到英文,一開始不太習慣,寫封郵件需要花較長時間,發現每天要花1小時左右的時間寫郵件,常常為語法的事想半天,突然覺得語法還是很有用的。同時,發現新公司也有一些不太好的地方,工作效率不高,但自認為我到以后,這方面有所改善,基本上做到了及時響應。

12月,大冬天的,要起早趕車,感覺今年武漢的冬天特別冷,深入研究了MP3格式的一些細枝末節,對MPEG格式的音頻部分有了較全面的了解。東西終于算是做出來了,頭頭們還算滿意,開會時還特地表揚我們team,讓我擔心的比較難溶入團隊的恐懼蕩然無存。回想起曾經給同事說過一句話:無論在哪里,在哪個項目,做什么,我都能學到東西。再一次印證,其實關鍵是自己要有自己的思考。英文寫作水平有所改進,需繼續加強!
常常去startbucks,點上一杯我的最愛:芒果星冰樂,發現坐在里面我可以靜下心來聽聽英語。
報名開始參加駕校的學習,遭遇教我打死盤子的教練(后來才知道這是不行的)。終于搞定銀行的7折利率優惠,NND,又一次被民生銀行的霸王條款強奸,導致比別人晚了一年享受國家政策。同時也搞定了拖了好幾年的房產證。

就2009的流水帳小結一下:
0,很感謝上一任領導對我的幫助,讓我學會了如何大器。
1,計劃的OCP因為換工作沒有完成,現在開始猶豫是否還要繼續?或可以考慮直接考Oracle 11G的OCP,如果有OCM,是不是可以去Oracle工作?個人比較喜歡Oracle。
2,從11月回武漢結束近2年的出差的日子,過得挺忙的,要把拖了這長時間的私人事務一一處理完,還算充實。
3,覺得今年需要完整學習一下語法,同時需要補強常用詞組的用法。
4,技術方面,今年不太想有太大的建樹,跟項目走,目前看來,可能需要對Flex有更深入的研究。另外有一個想法就是想自學一下websphere process.





Robin's Programming World 2010-03-11 23:31 發表評論
]]>
檢測瀏覽器是否為IE的最簡單的方法http://m.tkk7.com/fastzch/archive/2010/03/02/314276.htmlRobin's Programming WorldRobin's Programming WorldTue, 02 Mar 2010 05:35:00 GMThttp://m.tkk7.com/fastzch/archive/2010/03/02/314276.htmlhttp://m.tkk7.com/fastzch/comments/314276.htmlhttp://m.tkk7.com/fastzch/archive/2010/03/02/314276.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/314276.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/314276.html !-[1,]

以下是測試代碼:
<html>
<head>

<script>
var isIE = !-[1,]; 
alert(
"isIE:"+isIE);
</script>
</head>

<body>
</body>

</html>

太強了!

Robin's Programming World 2010-03-02 13:35 發表評論
]]>
[轉]丈夫日記http://m.tkk7.com/fastzch/archive/2009/12/15/306030.htmlRobin's Programming WorldRobin's Programming WorldTue, 15 Dec 2009 08:00:00 GMThttp://m.tkk7.com/fastzch/archive/2009/12/15/306030.htmlhttp://m.tkk7.com/fastzch/comments/306030.htmlhttp://m.tkk7.com/fastzch/archive/2009/12/15/306030.html#Feedback1http://m.tkk7.com/fastzch/comments/commentRss/306030.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/306030.html比較少轉載東西,今天轉點兒輕松心情的,抱歉,不知道來源。

>> > ※    太太出差一周
>> > 1. 昨天太太出差,所以今天太太不在家。沒有晚飯吃
>> > 2. 今天太太又不在家。又沒有晚飯吃。
>> > 3. 今天太太還是不在家。還是沒有晚飯吃。
>> > 4. 今天太太還是不在家。探望父母,在父母家吃晚飯。
>> > 5. 今天太太還是不在家。探望姐妹,在妹妹家吃晚飯。
>> > 6. 今天太太還是不在家。探望老友,老友太太也不在家。沒有晚飯吃。
>> > 7. 今天太太還沒回家。打電話問太太何時回家。

>> > ※    陪太太下棋
>> > 1. 今天周六,在家下棋,連贏太太五局。沒有晚飯吃。
>> > 2. 今天周日,在家下棋,連輸太太五局。晚上太太給我燉肉吃。
>> > 3. 今天周六,跟太太商量好我先贏兩局再輸三局。然后陪太太下棋。

>> > ※    愛太太是個問題
>> > 1. 今天太太問我是否愛她,立即答復說是。太太問我是否仔細考慮過,答復說:
都回答得習慣了,所以沒有考慮。沒有晚飯吃。
>> > 2. 今天考慮了半天才回答太太說我愛她。沒有晚飯吃。
>> > 3. 今天不肯回答太太是否愛她。沒有晚飯吃。

>> > ※    親與被親
>> > 1. 今天晚飯評論太太手藝。飯后被罰刷碗。
>> > 2. 今天太太講了一個笑話,我沒有笑。花了一個小時哄太太笑。
>> > 3. 今天捉到太太早晨上班忘記關燈。罰太太五塊。
>> > 4. 今天被太太捉到在家里吸煙。被罰五十塊。
>> > 5. 今天早晨上班前親太太一下。上班遲到了。
>> > 6. 今天周六,早晨太太親了我一下。所有家務都歸我做了。

>> > ※    關于購物
>> > 1. 周六太太要逛街,我稱累推卻。沒有午飯吃。發誓明天去,終得晚飯。
>> > 2. 周日逛街,太太為我購兩衫。一件300,一件200。
>> > 3. 周一至珠寶店,購項鏈一串送給太太。價1500。
>> > 4. 今天說太太胖了。晚上太太減肥,沒有晚飯吃。
>> > 5. 今天太太穿新衣,問我好看否,答復\”湊合\”。晚上自己洗衣。

>> > ※    日記發表之后……
>> > 1. 今天將日記發表,得稿費若干,交與太太。晚飯比平時豐盛兩倍。
>> > 2. 今天太太看到發表的日記,太太一個人吃飯,我一個人刷碗。


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/yzsind/archive/2009/09/27/4602453.aspx



Robin's Programming World 2009-12-15 16:00 發表評論
]]>
Flash內存強制回收http://m.tkk7.com/fastzch/archive/2009/12/03/304579.htmlRobin's Programming WorldRobin's Programming WorldThu, 03 Dec 2009 02:30:00 GMThttp://m.tkk7.com/fastzch/archive/2009/12/03/304579.htmlhttp://m.tkk7.com/fastzch/comments/304579.htmlhttp://m.tkk7.com/fastzch/archive/2009/12/03/304579.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/304579.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/304579.html
    try{
                
new flash.net.LocalConnection().connect("foo");
                
new flash.net.LocalConnection().connect("foo");
            } 
catch (e:Error){
            }


在Flex 4中,直接調用flash.system.System.gc()方法就可以了。




Robin's Programming World 2009-12-03 10:30 發表評論
]]>
一次JQuery性能優化實戰http://m.tkk7.com/fastzch/archive/2009/06/14/282159.htmlRobin's Programming WorldRobin's Programming WorldSun, 14 Jun 2009 06:39:00 GMThttp://m.tkk7.com/fastzch/archive/2009/06/14/282159.htmlhttp://m.tkk7.com/fastzch/comments/282159.htmlhttp://m.tkk7.com/fastzch/archive/2009/06/14/282159.html#Feedback6http://m.tkk7.com/fastzch/comments/commentRss/282159.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/282159.html同事寫了段JQuey的代碼,在某些機器上,會出現IE假死的性能問題。

我測試了一下代碼花費的時間,在我的機器上,會花費600多毫秒,但在某些機器上會花費6秒多(10倍的增長),這樣就導致了IE的假死。而且發現與IE版本無關,在大多數機器上會都只需要600多毫秒,不過CPU會有10%以上的瞬間提長。

先來看看出問題的代碼:

$(".eXtremeTable").replaceWith($(html).find(".eXtremeTable"));
$(
"#levelGroup").replaceWith($(html).find("#levelGroup"));
$(
"#scriptDiv").replaceWith($(html).find("#scriptDiv"));
其實這段代碼很簡潔,只是將用AJAX取過來的數據替換一部分當前頁面的數據,但性能確實不夠好。

開始找原因,看看到底是什么慢?
$(".eXtremeTable").replaceWith($(html).find(".eXtremeTable"));
將此行代碼分拆,逐元素去分析各自花費的時間:
$(".eXtremeTable")  花費20毫秒左右;
$(html).find(".eXtremeTable")  花費200毫秒左右;
replaceWith()  花費10毫秒左右;
不難定位到是由于$(html).find(".eXtremeTable")這種方式引起的。
(這都是在我機器上的測試結果,而且每次可能不完全一樣)

簡單的可以這樣優化:
var newPage=$(html);
$(
".eXtremeTable").replaceWith(newPage.find(".eXtremeTable"));
$(
"#levelGroup").replaceWith(newPage.find("#levelGroup"));
$(
"#scriptDiv").replaceWith(newPage.find("#scriptDiv"));
但仔細想想,這樣仍然會造成在某些機器上2秒以上的時間消耗,照樣是不可接受的。

遂采用比較原始的辦法,修改源程序如下:
     var tab='<span id=\"data\">';
            
var pos=html.indexOf(tab)
            
var content=html.substr(pos+tab.length);
            
var pos2=content.indexOf('</span>');
            
var content=content.substr(0,pos2);
            document.getElementById(
"data").innerHTML=content;
           
// $(".eXtremeTable").replaceWith($(html).find(".eXtremeTable"));
          
            var counter='<td id=\"counter\" align=\"right\" width=\"300\">';
            pos
=html.indexOf(counter)
            content
=html.substr(pos+counter.length);
            pos2
=content.indexOf('</table>');
            
var content=content.substr(0,pos2+'</table>'.length);
            document.getElementById(
"counter").innerHTML=content;
           
// $("#levelGroup").replaceWith($(html).find("#levelGroup"));

            var sel='<div id=\"scriptDiv\" style=\"display:none;\">'
            pos
=html.indexOf(sel)
            content
=html.substr(pos+sel.length);
            pos2
=content.indexOf('</div>');
            
var content=content.substr(0,pos2+'</div>'.length);
            document.getElementById(
"scriptDiv").innerHTML=content;            
           
// $("#scriptDiv").replaceWith($(html).find("#scriptDiv"));
現在此段代碼花費的時間幾乎為0毫秒。

OK,IE再也不假死了。

問題分析:
原因應該就出在jQuery(html)這個方法上,官方文檔解釋如下:
根據提供的原始 HTML 標記字符串,動態創建由 jQuery 對象包裝的 DOM 元素。 
你可以傳遞一個手寫的 HTML 字符串,或者由某些模板引擎或插件創建的字符串,也可以是通過 AJAX 加載過來的字符串。但是在你創建 input 元素的時會有限制,可以參考第二個示例。當然這個字符串可以包含斜杠 (比如一個圖像地址),還有反斜杠。當你創建單個元素時,請使用閉合標簽或 XHTML 格式。例如,創建一個 span ,可以用 $(
"<span/>") 或 $("<span></span>") ,但不推薦 $("<span>"
--------------------------------------------------------------------------------
Create DOM elements on
-the-fly from the provided String of raw HTML. 
You can pass 
in plain HTML Strings written by hand, create them using some template engine or plugin, or load them via AJAX. There are limitations when creating input elements, see the second example. Also when passing strings that may include slashes (such as an image path), escape the slashes. When creating single elements use the closing tag or XHTML format. For example, to create a span use $("<span/>") or $("<span></span>") instead of without the closing slash/tag. 
因為要構建一個完整的DOM,所以需要花費較長的時間。

至于為何在某些機器上出現高達6秒多的時間消耗,百思不得其解,請高手指點!

特別提示:
本Blog所有內容不得隨意轉載,版權屬于作者所有。如需轉載請與作者聯系(
fastzch@163.com)。未經許可的轉載,本人保留一切法律權益。

Robin's Programming World 2009-06-14 14:39 發表評論
]]>
Perl學習心得http://m.tkk7.com/fastzch/archive/2009/06/04/279928.htmlRobin's Programming WorldRobin's Programming WorldWed, 03 Jun 2009 16:48:00 GMThttp://m.tkk7.com/fastzch/archive/2009/06/04/279928.htmlhttp://m.tkk7.com/fastzch/comments/279928.htmlhttp://m.tkk7.com/fastzch/archive/2009/06/04/279928.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/279928.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/279928.html 錯誤的代碼如下:
open(OUTFILE, ">outfile.txt");
print OUTFILE("Here is an output line.\n");
正確的代碼如下:
open(OUTFILE, ">outfile.txt");
print OUTFILE  ("Here is an output line.\n");
看明白了嗎?

2,

Robin's Programming World 2009-06-04 00:48 發表評論
]]>
Perl學習筆記(一)http://m.tkk7.com/fastzch/archive/2009/05/31/279124.htmlRobin's Programming WorldRobin's Programming WorldSat, 30 May 2009 16:23:00 GMThttp://m.tkk7.com/fastzch/archive/2009/05/31/279124.htmlhttp://m.tkk7.com/fastzch/comments/279124.htmlhttp://m.tkk7.com/fastzch/archive/2009/05/31/279124.html#Feedback5http://m.tkk7.com/fastzch/comments/commentRss/279124.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/279124.html

perl 被設計為90%處理文本,10%針對其它情況。
在Perl內部,沒有整型,全當雙精度浮點型來處理。
雙引號字符串內會變量內插

字符串可用“.”操作符連接。
字符串重復操作符“x”,可將左邊的字符串重復多少次,如"f"x3  # "fff"

變量的名字由“$”開頭,后接變量名。

用戶輸入用<STDIN>
chomp函數,去掉字符串尾的換行符。chomp是一個函數,作為函數,它有一個返回值。$b=chomp <STDIN>; #返回值是1。
在perl中,()通常可以省略。

undef值:Perl程序員在使用新變量時,經常不初始化,從而將變量作為0或空串使用。要分辨是undef還是真正的空串,可以用defined函數,它將在undef時返回false,其余返回true。如果想自己聲明undef值,可以使用undef:,如:
$a=undef;

(1..100),這種定義方式包含100個整數的列表。“..”是range oprator。
在Perl中,字符串列表會經常使用,有一種簡便的方法可以不用輸入大量的引號,而達到類似的功能,那就是使用qw。如:
qw(abc abcd abcde abcdef) #同("abc","abcd","abcde","abcdef")
qw表示quoted words或者“quoted by whitespace”。Perl將它們當作單引號字符串處理,不能像雙引號那樣在qw中使用\n和$var。
Perl中還允許用任何符號來作為分界符,如下,也一樣:
qw! fred barney betty wilma dino !
qw# fred barney betty wilma dino #
qw( fred barney betty wilma dino )
qw{ fred barney betty wilma dino }
qw[ fred barney betty wilma dino ]
qw< fred barney betty wilma dino >
列表賦值:($fred, $barney, $dino) = (“flintstone”, “rubble”, undef);
變量交換(swap函數,很方便也很邪乎):
($fred, $barney) = ($barney, $fred) #交換兩個變量
($betty[0],$betty[1]) = ($betty[1],$betty[0]);

數組不能成為列表的一個元素的原因是數組只能包含標量值,不能包含其它的數組。
@copy = @quarry;#將一個數組的值拷貝到另一個數組中

push的第一個參數或者pop的唯一參數必須是數組變量。他們對數組的結尾進行操作。
shift和unshift對一個數組的開頭進行操作。

和標量類似,數組也可以插入雙引號的字符串中,插入的數組元素會自動由空格分開。

Perl最常用的默認變量:$_,如下例:
$_ ="Yabba dabba doo\n"
print;

reverse函數會返回逆轉的列表,它不會改變其參數的值,所以如果返回值沒有賦值給某個變量,那這樣操作是沒有什么意義的。sort函數也一樣。

 


一個給定的表達式在不同的上下文中其含義是不同的。
如:一個數組的“name”,在列表上下文中,它返回列表元素,在標量上下文中,它返回數組元素的個數。
數組@people的真實名字是people。@只是一個限定詞(qualifier)。
甚至普通的賦值也產生不同的上下文:
@people = qw( fred barney betty );
@list=@people; #3個people的列表
$n=@people; #數字3
可以用scalar函數在上下文中將列表轉換為標量。如:
@rocks = qw(talc quartz jade obsidian);
print "I have ", scalar @rocks, "rocks!\n"

文件結束符:*nix系統中用Ctrl+D,在DOS中,用Ctrl+Z。


定義一個子程序的方式如下:
sub marine {
  $n + = 1;
  print "Hello, sailor number $n!\n";
}
如果兩個子程序同名,則后一個將覆蓋前一個。
可以使用子程序的名字(帶有&)來調用子程序。
將參數傳遞給子程序中的方法是,在程序后面接括號,括號內存放參數列表。
在Perl中,會自動將參數列表自動存放在一個叫做@_的數組中。也就是說此子程序參數的第一個值存放在$_[0]中,第二個存放在$_[1]中,依次類推。

可以任意時候使用my創建私有變量。如:
sub max {
  my($m,$n);
  ($m,$n) = @_; #可以這樣寫,將聲明和賦值放一起:my($m,$n)=@_;
  if($m > $n) {
    $m
  } else{
    $n
  }
}
在調用Perl的函數時,可以省略&,但函數的定義必須在調用之前。如果子程序和Perl一個內嵌程序同名,則必須使用&來調用它。


while (defined($line = <STDIN>)) {
  print "I saw $line";
}
使用defined來檢測輸入是否結束。
<>(尖括號操作符)是一種特殊的行輸入操作。
在Unix中,-(連接號)代表標準輸入流。

 

 



Robin's Programming World 2009-05-31 00:23 發表評論
]]>
用Notepad2替換掉Vista系統中自帶的NotePadhttp://m.tkk7.com/fastzch/archive/2009/05/03/268719.htmlRobin's Programming WorldRobin's Programming WorldSun, 03 May 2009 12:03:00 GMThttp://m.tkk7.com/fastzch/archive/2009/05/03/268719.htmlhttp://m.tkk7.com/fastzch/comments/268719.htmlhttp://m.tkk7.com/fastzch/archive/2009/05/03/268719.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/268719.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/268719.htmlNotePad2是一個我很喜歡的記事本,比Windows自帶的記事本強大,但又沒有EditPlus或UltraEdit那么耗費RAM,最關鍵是的她是一個免費的軟件。自從我的操作系統換成Vista后就一直沒用成這么好的軟件,今天花了點時間研究了一下,終于成功安裝。將安裝步驟分享給大家,自己也記錄下。

1,下載NotePad2,地址如下:
http://www.crsky.com/soft/3958.html
2,解壓下載完的文件,找到notepad2.exe,復制一份此文件,分別將兩個文件改名為:notepad.exe和notepad.exe.mui。
3,進入C:/windows目錄找到notepad.exe,進入C:/windows/zh-cn/目錄下找到notepad.exe.mui這兩個文件,分別點右鍵,執行“管理員取得所有權”,然后用第二步改好文件名的notepad2軟件替換掉這兩個文件。
4,進入C:/windows/system32目錄找到notepad.exe,進入C:/windows/system32/zh-cn/目錄下找到notepad.exe.mui這兩個文件,分別點右鍵,執行“管理員取得所有權”,然后用第二步改好文件名的notepad2軟件替換掉這兩個文件。
5,大功告成,隨便雙擊一個.txt文件,試試效果。



Robin's Programming World 2009-05-03 20:03 發表評論
]]>
Office Word使用問題解決方法http://m.tkk7.com/fastzch/archive/2009/04/06/264144.htmlRobin's Programming WorldRobin's Programming WorldMon, 06 Apr 2009 12:04:00 GMThttp://m.tkk7.com/fastzch/archive/2009/04/06/264144.htmlhttp://m.tkk7.com/fastzch/comments/264144.htmlhttp://m.tkk7.com/fastzch/archive/2009/04/06/264144.html#Feedback0http://m.tkk7.com/fastzch/comments/commentRss/264144.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/264144.html記錄下來,分享給大家:

1,Word不能插入特殊符號的解決辦法:
word文檔如果不能插入特殊符號,把word文檔左邊的文檔結構圖關掉,就可以添加特殊符號了。

2,選中區不能替換掉,很郁悶,必須先用BackSpace鍵刪除,而且Delete鍵也不啟作用,怎么辦?
解決:工具->選項->編輯->鍵入內容替換所選內容,將此項選中。


Robin's Programming World 2009-04-06 20:04 發表評論
]]>
[驚奇]MD5crk.com網站變成了賣毒品的網站http://m.tkk7.com/fastzch/archive/2009/04/03/263705.htmlRobin's Programming WorldRobin's Programming WorldFri, 03 Apr 2009 03:59:00 GMThttp://m.tkk7.com/fastzch/archive/2009/04/03/263705.htmlhttp://m.tkk7.com/fastzch/comments/263705.htmlhttp://m.tkk7.com/fastzch/archive/2009/04/03/263705.html#Feedback1http://m.tkk7.com/fastzch/comments/commentRss/263705.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/263705.html
MD5破解工程權威網站http://www.md5crk.com/ 是為了公開征集專門針對MD5的攻擊而設立的,網站于2004年8月17日宣布:“中國研究人員發現了完整MD5算法的碰撞;Wang, Feng, Lai與Yu公布了MD5、MD4、HAVAL-128、RIPEMD-128幾個 Hash函數的碰撞。這是近年來密碼學領域最具實質性的研究進展。使用他們的技術,在數個小時內就可以找到MD5碰撞。……由于這個里程碑式的發現,MD5CRK項目將在隨后48小時內結束”。

今天,我又一次好奇的登入MD5crk.com,發現變成了一個賣廉價毒品的網站,真是搞不懂這幫老外了?
網站的標題:Buy Cheap Adipex no prescription online! Order discount Adipex diet pills without a prescription - lowest prices guaranteed!
截圖:



Robin's Programming World 2009-04-03 11:59 發表評論
]]>
Spring Security 參考手冊 中文版http://m.tkk7.com/fastzch/archive/2009/02/17/253740.htmlRobin's Programming WorldRobin's Programming WorldMon, 16 Feb 2009 17:49:00 GMThttp://m.tkk7.com/fastzch/archive/2009/02/17/253740.htmlhttp://m.tkk7.com/fastzch/comments/253740.htmlhttp://m.tkk7.com/fastzch/archive/2009/02/17/253740.html#Feedback16http://m.tkk7.com/fastzch/comments/commentRss/253740.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/253740.htmlAcegi被Spring吸收后,有較大的變化,最近看這個的過程中,搜集整理了官方文檔的中文版,并制作成CHM文件,現分享給大家!
有需要的朋友請點此進入下載頁面



Robin's Programming World 2009-02-17 01:49 發表評論
]]>
VBA中判斷日期的合法性http://m.tkk7.com/fastzch/archive/2009/01/10/250806.htmlRobin's Programming WorldRobin's Programming WorldSat, 10 Jan 2009 06:03:00 GMThttp://m.tkk7.com/fastzch/archive/2009/01/10/250806.htmlhttp://m.tkk7.com/fastzch/comments/250806.htmlhttp://m.tkk7.com/fastzch/archive/2009/01/10/250806.html#Feedback1http://m.tkk7.com/fastzch/comments/commentRss/250806.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/250806.html
Private?Sub?CommandButton1_Click()
?????
If?IsDate("2009-02-29?00:00:00")?Then
????????
MsgBox?("aaa")
????
Else
????????
MsgBox?("bbb")
?????
End?If
?
?
End?Sub


Robin's Programming World 2009-01-10 14:03 發表評論
]]>
關于HTML中onSubmit屬性的觸發時機http://m.tkk7.com/fastzch/archive/2008/10/24/236362.htmlRobin's Programming WorldRobin's Programming WorldFri, 24 Oct 2008 03:33:00 GMThttp://m.tkk7.com/fastzch/archive/2008/10/24/236362.htmlhttp://m.tkk7.com/fastzch/comments/236362.htmlhttp://m.tkk7.com/fastzch/archive/2008/10/24/236362.html#Feedback14http://m.tkk7.com/fastzch/comments/commentRss/236362.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/236362.html 本Blog所有內容不得隨意轉載,版權屬于作者所有。如需轉載請與作者聯系( fastzch@163.com )。
未經許可的轉載,本人保留一切法律權益。
一直以來,發現有某些人完全不尊重我的勞動成果,隨意轉載,提醒一下那些人小心哪天惹上官司。


今天同事一大早問我一個他覺得比較奇怪的問題:form的onsubmit屬性中的方法在提交時為什么沒反應?經過了解發現狀況如下:
他寫的頁面中form有onsubmit屬性,并指定了一個javascript函數,期望form在提交前執行這個函數,以處理一些檢查等動作,但form的提交并不是像我們通常使用的input:submit這樣的button去做的,而是用一個普通input:button,在onclick屬性中指定了一個javascript函數,在這個函數里面再執行form的submit()函數。
示意代碼如下:
<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.0?Transitional//EN">
<HTML>
<HEAD>
????
<script?language="javascript">
????????
function?t(){
????????????
var?f=document.getElementById("f");
????????????f.submit();
????????????alert('
333');
????????}

????
</script>
</HEAD>
????
<BODY>
<form?id="f"?onsubmit="alert('2222');">
????
<input?type="button"?value="button"?onclick="t();"/>
</form>
</BODY>
</HTML>
此時,頁面彈出了“333”的提示,但沒有彈出“2222”的提示。

分析了一下原因:onsubmit屬性的觸發時機是在form用input:submit這樣的button提交時才會觸發,否則不會觸發。
后來,在官方文檔上也找到了如下說明,證明了我的這一分析,如下:
The?submit?method?does?not?invoke?the?onsubmit?event?handler.?Call?the?onsubmit?event?handler?directly.?When?using?Microsoft??Internet?Explorer?5.5?and?later,?you?can?call?the?fireEvent?method?with?a?value?of?onsubmit?in?the?sEvent?parameter.

為了證實這一分析,我做了一個完整的測試:
<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.0?Transitional//EN">
<HTML>
<HEAD>
????
<script?language="javascript">
????????
function?t(){
????????????
var?f=document.getElementById("f");
????????????f.submit();
????????????alert('
333');
????????}

????
</script>
</HEAD>
????
<BODY>
<form?id="f"?onsubmit="alert('2222');">
????
<input?type="submit"?value="submit"?/>?
????
<input?type="button"?value="button"?onclick="t();"/>
</form>
</BODY>
</HTML>
點擊submit按鈕即可出現“2222”提示,點擊button的話,會出現“333”提示。

Robin's Programming World 2008-10-24 11:33 發表評論
]]>
SecureCRT Script 學習筆記http://m.tkk7.com/fastzch/archive/2008/09/29/231793.htmlRobin's Programming WorldRobin's Programming WorldMon, 29 Sep 2008 04:51:00 GMThttp://m.tkk7.com/fastzch/archive/2008/09/29/231793.htmlhttp://m.tkk7.com/fastzch/comments/231793.htmlhttp://m.tkk7.com/fastzch/archive/2008/09/29/231793.html#Feedback4http://m.tkk7.com/fastzch/comments/commentRss/231793.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/231793.html 本Blog所有內容不得隨意轉載,版權屬于作者所有。如需轉載請與作者聯系( fastzch@163.com )。
未經許可的轉載,本人保留一切法律權益。
一直以來,發現有某些人完全不尊重我的勞動成果,隨意轉載,提醒一下那些人小心哪天惹上官司。


SecureCRT支持ActiveX script engines,包括VBScript和JScript (Microsoft’s version of JavaScript)兩種腳本。

Note:如果你想使用腳本自動運行方式的話,需要在session?option中進行設置。

腳本可以用任何文本編輯器來開發。Script頭部用來識別腳本語言和SecureCRT腳本接口的版本,腳本頭部的每一行必須以#開頭,頭部包括$language行和$interface行。例如,下面是一個簡單的腳本。
#?$language?=?"VBScript"
#?$interface?
=?"1.0"

Sub?Main
??
'?Display?SecureCRT's?version
??MsgBox?"SecureCRT?version?is:?"?&?crt.Version
End?Sub

代碼通常放在main子過程,引擎在執行main子過程前,將轉換并執行全局代碼(腳本代碼定義在任何子過程之外),如果你有一些初始化處理的話,可以使用這一特性。

如果想終止main過程,用VBScript的話,可以用Exit Sub語句。如:

Sub?Main

??condition?
=?DoSomething()
??
If?condition?=?0?Then
????
'?Error,?bailout
????Exit?Sub
??
End?If
???
End?Sub

SecureCRT有一些內建的對象,可以通過頂級應用對象或子對象調用。這些對象都有一些屬性和方法。例如:

Dim?dlg
Set?dlg?=?crt.Dialog
dlg.Prompt(
"Login:")



下面分享給大家一個通過N個跳板機上傳文件的FTP腳本:

#$language?=?"VBScript"
#$interface?
=?"1.0"

Sub?main
??
'?turn?on?synchronous?mode?so?we?don't?miss?any?data
??crt.Screen.Synchronous?=?True
??
??
'?Wait?for?a?string?that?looks?like?"login:?"?or?"Login:?"
??'?Occasionally,?a?host?needs?to?be?kicked?to?display?a
??'?login?prompt.
??
??
If?(Not?crt.Screen.WaitForString("ogin:?",?5))?Then
????crt.Screen.Send?vbCr
????crt.Screen.WaitForString?
"ogin:?"
??
End?If
??
??crt.Screen.Send?
"user0"?&?VbCr
??crt.Screen.WaitForString?
"assword:"
??crt.Screen.Send?
"pwd0"?&?VbCr
??crt.Screen.WaitForString?
"#"
??crt.Screen.Send?
"cd?/tmp"?&?VbCr
??crt.Screen.WaitForString?
"#"
?
??
'ftp?to?Machine1
??crt.Screen.Send?"ftp?IP1"?&?VbCr
??crt.Screen.WaitForString?
"):?"
??crt.Screen.Send?
"user1"?&?VbCr
??crt.Screen.WaitForString?
"assword:"
??crt.Screen.Send?
"pwd1"?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"
??filename?
=?crt.Dialog.Prompt("Please?enter?your?filename.",?"Enter?filename",?"",?false)??
??crt.Screen.Send?
"cd?/tmp"?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"
??crt.Screen.Send?
"binary"?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"??
??crt.Screen.Send?
"put?"?+?filename?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"
??crt.Screen.Send?
"bye"?&?VbCr
??crt.Screen.WaitForString?
"#"???


??crt.Screen.Send?
"telnet?IP1"?&?VbCr
??
??
If?(Not?crt.Screen.WaitForString("ogin:?",?5))?Then
????crt.Screen.Send?vbCr
????crt.Screen.WaitForString?
"ogin:?"
??
End?If
??
??crt.Screen.Send?
"user1"?&?VbCr
??crt.Screen.WaitForString?
"assword:"
??crt.Screen.Send?
"pwd1"?&?VbCr
??crt.Screen.WaitForString?
">"
??crt.Screen.Send?
"cd?/tmp"?&?VbCr
??crt.Screen.WaitForString?
">"
??
??
??
??
'ftp?to?Machine2
??crt.Screen.Send?"ftp?IP2"?&?VbCr
??crt.Screen.WaitForString?
"):?"
??crt.Screen.Send?
"user2"?&?VbCr
??crt.Screen.WaitForString?
"assword:"
??crt.Screen.Send?
"pwd2"?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"
??
??crt.Screen.Send?
"cd?/tmp"?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"
??crt.Screen.Send?
"binary"?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"??
??crt.Screen.Send?
"put?"?+?filename?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"
??crt.Screen.Send?
"bye"?&?VbCr
??crt.Screen.WaitForString?
">"???


??crt.Screen.Send?
"telnet?IP2"?&?VbCr
??
If?(Not?crt.Screen.WaitForString("ogin:?",?5))?Then
????crt.Screen.Send?vbCr
????crt.Screen.WaitForString?
"ogin:?"
??
End?If
??crt.Screen.Send?
"user2"?&?VbCr
??crt.Screen.WaitForString?
"assword:"
??crt.Screen.Send?
"pwd2"?&?VbCr
??crt.Screen.WaitForString?
"#"
??crt.Screen.Send?
"cd?/tmp"?&?VbCr
??crt.Screen.WaitForString?
"#"
??
??
??
??
??
??
????
'ftp??to?Machine3
??crt.Screen.Send?"ftp?IP3"?&?VbCr
??crt.Screen.WaitForString?
"):?"
??crt.Screen.Send?
"user3"?&?VbCr
??crt.Screen.WaitForString?
"assword:"
??crt.Screen.Send?
"pwd3"?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"
?
??crt.Screen.Send?
"cd?/tmp"?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"
??crt.Screen.Send?
"binary"?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"??
??crt.Screen.Send?
"put?"?+?filename?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"
??crt.Screen.Send?
"bye"?&?VbCr
??crt.Screen.WaitForString?
"#"???


??crt.Screen.Send?
"telnet?IP3"?&?VbCr
??
??
If?(Not?crt.Screen.WaitForString("ogin:?",?5))?Then
????crt.Screen.Send?vbCr
????crt.Screen.WaitForString?
"ogin:?"
??
End?If
??
??crt.Screen.Send?
"user3"?&?VbCr
??crt.Screen.WaitForString?
"assword:"
??crt.Screen.Send?
"pwd3"?&?VbCr
??crt.Screen.WaitForString?
"#"
??crt.Screen.Send?
"cd?/tmp"?&?VbCr
??crt.Screen.WaitForString?
"#"
??
??
??
??
??
????
'ftp??to?Machine4
??crt.Screen.Send?"ftp?IP4"?&?VbCr
??crt.Screen.WaitForString?
"):?"
??crt.Screen.Send?
"user4"?&?VbCr
??crt.Screen.WaitForString?
"assword:"
??crt.Screen.Send?
"pwd4"?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"

??crt.Screen.Send?
"binary"?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"??
??crt.Screen.Send?
"put?"?+?filename?&?VbCr
??crt.Screen.WaitForString?
"ftp>?"
??crt.Screen.Send?
"bye"?&?VbCr
??crt.Screen.WaitForString?
"#"???


??crt.Screen.Send?
"telnet?IP4"?&?VbCr
??
??
If?(Not?crt.Screen.WaitForString("ogin:?",?5))?Then
????crt.Screen.Send?vbCr
????crt.Screen.WaitForString?
"ogin:?"
??
End?If
??
??crt.Screen.Send?
"user4"?&?VbCr
??crt.Screen.WaitForString?
"assword:"
??crt.Screen.Send?
"pwd4"?&?VbCr
??crt.Screen.WaitForString?
">"
??
??
??crt.Screen.Synchronous?
=?False

End?Sub


?



Robin's Programming World 2008-09-29 12:51 發表評論
]]>
OpenSource Camp(廣州站)游記http://m.tkk7.com/fastzch/archive/2008/09/21/230266.htmlRobin's Programming WorldRobin's Programming WorldSun, 21 Sep 2008 07:58:00 GMThttp://m.tkk7.com/fastzch/archive/2008/09/21/230266.htmlhttp://m.tkk7.com/fastzch/comments/230266.htmlhttp://m.tkk7.com/fastzch/archive/2008/09/21/230266.html#Feedback4http://m.tkk7.com/fastzch/comments/commentRss/230266.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/230266.html 本Blog所有內容不得隨意轉載,版權屬于作者所有。如需轉載請與作者聯系( fastzch@163.com )。
未經許可的轉載,本人保留一切法律權益。
一直以來,發現有某些人完全不尊重我的勞動成果,隨意轉載,提醒一下那些人小心哪天惹上官司。


引子

之所以說是游記,是因為覺得參加此次的活動對于我來說沒有什么收獲,我只能權當是去旅游了一下。活動的地點在廣州鼎龍國際大酒店(GuangZhou Donlord International Hotel),會議室還算不錯,印象最深刻的是那一層的Water Closet,地上和墻上全都是Mosaic,這可得花不少錢,似乎是我第一次去這么好的地方解決三急中的一急。

聽品高的人介紹移動增值業務平臺的架構
當Peter Cheng介紹說今天的活動中有品高的人介紹移動增值業務平臺架構的時候,心里還有一點點期待。演講者好像是品高的一位架構師,總共花費了大約半個小時的時間來介紹。我想,這對于深入介紹一個架構來說,是遠遠不夠的,時間畢竟有限。
在我聽完這次演講后,就只知道他們用了ActiveMQ,并且經歷了4.0-->5.0-->5.1-->4.0的這樣一個過程。其它的就是看了他用他們自己開發的短信網關的模擬器,終端(手機)的模擬器秀了一下平臺能成功發送了一條短信。別的就看也沒什么了。
要說,這半個小時也不短了,可是沒有聽到什么有用的東西。禁不住要說,別人8分鐘的電梯演講能拉VC,這半個小時的演講就這么浪費了?多可惜。
其實我覺得我們更想聽的是:
1,系統有擴展性,維護性,穩定性,性能,安全等要求,我們的架構如何在滿足功能性需求的基礎上,滿足這些非功能性的需求。
2,架構如何變遷?以適應日益頻繁的變化。
3,如何提高團隊的開發效率等等。
而不是秀一張圖在那里,然后就說用了ActiveMQ,說用了幾個什么版本。
我對此次演講的評價就是失敗。或許是演講者沒有準備的原因吧,他說他講的這些是給移動的人講的東西(暗暗的想,移動的人真SB,居然就這樣被忽悠了)。

聽金山的朋友忽悠“蟒營”和過程改進(私下交流)
金山的那位哥們兒應該算是個牛人,是他們公司SEPG成員,從場下交流時給我的名片的Title上看,是一個過程改進的經理,主要跟大家忽悠了如何培訓Python方面新人,總體感覺交流的經驗還是很不錯的,確實是來自于實踐的,因為我也有過類似的培訓Java方面新人的經歷。
這方面,Blogjava有一位另外的朋友有詳細的記錄。可參考:http://m.tkk7.com/killme2008/archive/2008/09/21/230220.html
會后有私下交流了一下過程改進方面的一些東西,他提到了一個觀點,是比較正確的,“自上而下,樹立標竿”。當然,這與金山的的文化是分不開的,因為金山經歷了這么多年,每條產品線都有自己的一套方法去管理,不太好去撼動。想想,我們公司內不也是如此嗎?雖不像金山那樣,但常常也有當時答應得好好的按Process做,但實際上就是不這樣干的事情。
他們對于過程改進中需要的一些工具,主要是在用Python開發,我想這也是個不錯的選擇,畢竟這樣的工具不像Java那樣笨重。
另外一位似乎也是來自金山的朋友介紹了Python中的WSGI,但似乎口才方面并不怎么樣,建議他精心的準備,并多鍛煉。

其它
還有介紹開源在集群中應用,老外談Agile,JavaScript和JQuery的幾個session,我沒有去聽,不知道大家感覺如何,可以分享一下。

后記
文章中主要是一些對此次活動的思考,可能有一些不太好聽的話,希望能對大家以后舉辦這樣的活動有所幫助。如果不認同的話,就當我是發發牢騷好了。下次的活動如果還是這樣的狀況的話,我就不會去了,畢竟我并不差那件帶有濃厚商業色彩的T-Shirt穿。

更多的參考訊息
1,官網:http://www.opensourcecamp.org.cn/
2,Facebook社區:http://www.facebook.com/group.php?gid=5626789741



Robin's Programming World 2008-09-21 15:58 發表評論
]]>
美女教我們打領帶http://m.tkk7.com/fastzch/archive/2008/08/26/224886.htmlRobin's Programming WorldRobin's Programming WorldTue, 26 Aug 2008 15:23:00 GMThttp://m.tkk7.com/fastzch/archive/2008/08/26/224886.htmlhttp://m.tkk7.com/fastzch/comments/224886.htmlhttp://m.tkk7.com/fastzch/archive/2008/08/26/224886.html#Feedback2http://m.tkk7.com/fastzch/comments/commentRss/224886.htmlhttp://m.tkk7.com/fastzch/services/trackbacks/224886.html

Robin's Programming World 2008-08-26 23:23 發表評論
]]>
主站蜘蛛池模板: 亚洲一日韩欧美中文字幕在线| 全黄a免费一级毛片人人爱| 亚洲国产另类久久久精品黑人 | 亚洲成a人片在线观看国产| 在线精品自拍亚洲第一区| 日韩免费福利视频| 亚洲av无码片vr一区二区三区| 免费观看男人免费桶女人视频| 亚洲中文字幕无码爆乳app| 91在线视频免费播放| 亚洲日本一线产区和二线 | 亚洲成av人片天堂网| 无码人妻AV免费一区二区三区| 亚洲精品高清久久| 在线精品一卡乱码免费| 亚洲国产成人久久精品软件| 亚洲 自拍 另类小说综合图区 | 麻豆安全免费网址入口| 最新精品亚洲成a人在线观看| a级日本高清免费看| 亚洲色四在线视频观看| 可以免费看黄视频的网站| 亚洲JIZZJIZZ妇女| 亚洲一区二区三区无码影院| 野花香在线视频免费观看大全| 久久亚洲AV成人无码| 男女啪啪永久免费观看网站| 丰满少妇作爱视频免费观看| 亚洲Av无码精品色午夜| 在线观看免费人成视频色| 免费一级毛suv好看的国产网站| 亚洲精品国产精品乱码在线观看 | 亚洲啪啪免费视频| www.亚洲色图.com| 4399影视免费观看高清直播| 亚洲AV无码一区二区三区网址| 亚洲成AV人片在线观看ww| 成人免费视频观看无遮挡| 中文字幕免费视频精品一| 亚洲一区二区三区91 | 亚洲精品国产成人专区|