• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 89  文章 - 118  trackbacks - 0
            <2010年9月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            留言簿(16)

            隨筆分類(56)

            隨筆檔案(89)

            文章分類

            推薦博客

            搜索

            •  

            最新隨筆

            最新評論

            閱讀排行榜

            財務應該及早進入產品開發流程,貫穿到企業愿景,使命,產品規劃,產品開發及產品生命周期管理全過程

             

            IPD成本控制主要針對兩個目標:

            1、  降低開發成本

            2、  降低產品本身的結構成本

             

            研發人員常犯的成本錯誤:

            1、  只關注物料成本,不關注設計成本和維護成本,出現物料成本雖然降低,但是帶來的設計難度、設計成本增加

            2、  不采購外來成熟組件,自行開發,導致產品不穩定帶來的維護成本增加

            3、  對公司內部成本高的優選器件不采用,忽略量產后帶來的采購成本下降

             

            控制綜合成本的手段:

            1、  通過需求與規劃,區分基本需求、競爭需求、可有可無的需求,避免過度開發

            2、  通過產品化共享,減少低水平重復開發

            3、  通過技術分類,識別核心技術、關鍵技術、通用技術和一般技術,核心技術和關鍵技術自主開發,通用技術和一般技術外包,以降低開發成本

            4、  在設計中控制成本:確定目標成本,設計中采用多方案選擇,減少新模塊,控制質量成本,加強可靠性設計,由高手負責設計

            5、  在開發與制造中進行成本過程控制:保證資源

             

            產品經理必須掌握的財務成本知識:

            1、  了解財務基本專業知識,定期看部門財務報表,分析部門的內部核算表

            2、  理解核算原則,學會用比例定崗

            3、  了解公司和部門的固定成本變動,學會控制成本

            4、  知識計算部門內部的盈虧平衡點

            5、  知道怎么做預算,并親自做預算和審核下級預算及費用

            6、  關注項目回款,明白影響現金流的原因

            7、  熟悉公司財務制度,并提出改進措施,使其簡潔有效

            posted @ 2012-12-14 10:57 胡滿超 閱讀(429) | 評論 (0)編輯 收藏

            新產品開發的前三單客戶也是產品開發的一部分,必須由公司高級別的人員完成,而不是一味地交給客戶經理去銷售

             

            產品命名及商標管理:

            1、  產品命令應將技術語言轉換為了市場語言

            2、  命名突出賣點

            3、  命名保持統一品牌形象

            4、  命名不要使用方言,俚語

             

            產品宴會的FFAB策略:

            Feature:技術賣點

            Function:功能賣點

            Advantage:產品的優點

            Benefits:對客戶的好處

            1、  如果客戶熟悉技術,突出介紹FunctionFeature;不熟悉技術,突出介紹AdvantageBenefits

            2、  客戶經理(銷售)應該掌握,BenefitsAdvantageFunction

            3、  市場經理應該掌握,BenefitsAdvantageFunctionFeature

            4、  技術經理應熟悉技術實現路徑

            5、  嚴格區別AdvantageBenefits

             

            產品定價:

            1、  要利潤,定高價

            2、  要規模,定低價

            3、  阻攔對手,定更低價

            4、  把價格隱藏在服務中

             

            產品定價步驟:

            1、  明確競爭對手產品

            2、  分析競爭對手產品定價

            3、  進行比較定價分析$APPEALS

            4、  對產品進行成本分析,根據配置不同進行成本分析

            5、  根據戰略價值及KPI定價

            6、  細化并驗證定價策略

             

            按價格承受力把客戶分類:

            1、  戰略客戶:樣板用戶,帶動其他客戶消費

            2、  利潤客戶:接受的價格給公司帶來的利潤大于機會利潤

            3、  非利潤客戶:接受的價格給公司帶來的利潤小于機會利潤

            4、  大客戶:訂單較多

            5、  價值客戶:戰略+利潤+大客戶

             

            定價避免以下情況:

            1、  避免大客戶是非利潤客戶

            2、  避免非利潤的戰略客戶太多

            3、  避免將戰略客戶等同于價值客戶

             

            客戶滿意度聚焦利潤客戶,價值客戶的滿意度必須達到100%,非戰略非利潤客戶的滿意度不要超過50%

             

            新產品推廣:

            一個資料庫六個子庫:案例庫,問題庫,產品資料庫,市場資料庫,需求庫,競爭對手資料庫

            銷售工具包:內部銷售工具包,給客戶資料包

            五種手段:公司展廳,展覽會,樣板點,研討交流會,廣告/網站/軟性文章

             

            公司高層,產品經理,市場經理,客戶經理都要進行客戶關系的維護和開拓

            產品經理和系統級工程師更要對技術型的客戶進行維護和開拓

             

            產品銷售工具:產品一紙禪、售前膠片、案例分析、銷售指導書

            通過規范的資料培訓銷售人員,營造產品大量進入市場的條件

            posted @ 2012-12-11 09:10 胡滿超 閱讀(394) | 評論 (0)編輯 收藏

            常見的質量管理問題原因:

            1、  QA沒有在設計時介入

            2、  QA工作不獨立,影響測試結果

            3、  做評審沒有評審要素,評審人沒有績效考核,走過場

            4、  新手做設計,高手救火

            5、  未建立公共模塊共享開發的研發模式

            6、  引入不成熟的技術

            7、  在設計時,未進行多方案預備

             

            構建質量體系六個要素:

            1、  一套流程:將質量管理體系融入研發流程

            2、  兩個原則:業務決策評審與技術質量評審分離、建立產品貨架

            3、  三個職位:系統級工程師,主審人,PQA

            4、  四個分離:規劃與系統設計分離,設計與實現分離,實現與測試分離,測試與驗證分離

            5、  五種手段:規劃與CBB共享、評審、測試和驗證、任職資格與活動匹配、缺陷歸零管理

            6、  六個評審點

             

            技術評審:關注技術評估

            決策評審:關注財務、資源投入、計劃

            posted @ 2012-12-06 16:19 胡滿超 閱讀(338) | 評論 (0)編輯 收藏

            技術分類:核心技術,關鍵技術,一般技術,通用技術

             

            核心技術:需要進行發展規劃,進行立體開發,知識產權保護

            技術外包進行嚴格評審,避免核心技術,關鍵技術外包

            核心技術,關鍵技術:縱向發展人員

            一般技術,通用技術:橫向發展人員,可以外包

             

            核心技術特點:獨有性,競爭性,可攔截性,不可替代性,可管理可保護,產生價值

             

            技術并不是越多越好,而是核心技術和關鍵技術越多越好

             

            技術開發五個階段:立項,開發,驗證,發布,成果貨架化管理

             

            對技術管理考核:結果要寬松,過程要嚴格

             

            共用基礎模塊CBB:在不同產品、系統之間共用的零部件,模塊,技術,設計成果

            貨架:將不同層次的產品統一管理

            貨架產品:成熟度達到一定程度的CBB

            平臺:一系列貨架產品在層級上的集合

             

            平臺形成的兩條路:

            1、  根據需求形成平臺規劃:平臺很難規劃

            2、  總結與沉淀:做3個定制項目進行一次CBB分析

             

            技術預研和平臺開發人員級別要高,需要高手開發

            預研團隊和技術開發,產品開發團隊應該合理流動,以實現技術成果的產品化

             

            鼓勵和激勵平臺開發措施:

            1、  通過任職資格牽引

            2、  平臺進行內部定價

            3、  可以對非競爭的客戶進行外部銷售

            4、  對平臺開發給予戰略補貼和特別激勵

            posted @ 2012-12-04 09:38 胡滿超 閱讀(480) | 評論 (0)編輯 收藏

            項目分級:

            A級項目:公司級重點關注和管理項目

            B級項目:產品線重點關注和管理的項目

            C級項目:產品經理或項目經理自己管理的項目

             

            項目排序要素:市場吸引力、競爭地位、財務評估

             

            單項目主體:項目經理

            多項目主體:項目管理部

             

            項目開發四個階段:階段,步驟,任務,活動

            三個計劃:

            1、  一級計劃:解決全流程、全要素協同

            2、  二級計劃:全流程協同下的各部門協同

            3、  三級計劃:指導更小模塊或個人具體執行任務計劃

             

            提高計劃準備度和完成率三要素:需求管理,關鍵資源及時到位,項目經理的能力

             

            計劃制訂需要分階段,分級進行,避免追求一次成型

            posted @ 2012-11-26 10:44 胡滿超 閱讀(398) | 評論 (0)編輯 收藏

            研發工作四類流程:

             

            1、  技術開發流程:預研、應用技術開發V版本

            2、  平臺開發流程:共享模塊開發V版本

            3、  產品開發流程:每向細分市場R版本

            4、  定制項目開發流程:在產品和平臺基礎上針對某一客戶的定制M版本

             

            產品開發活動四個步驟:階段,步驟,任務,活動

             

            概念階段:驗證市場需求,確立產品是否可以立項

            計劃階段:確立總體方案,資源投入,確保工藝、結構方案、設計方案同步,避免重復開發

            發布階段:尋找樣板客戶,準備商標、命令、市場指導書、產品實驗局、初步定價策略;銷售工具包、售前膠片、銷售指導書、產品的配置、商業械設計、產品的成功安全分析,銷售培訓,發布計劃

             

            產品開發流程六個階段:概念、計劃、產品開發、驗證、生命周期管理

            四個決策評審點:概念決策、計劃決策、發布決策、生命周期決策

            六個技術評審點:產品包需求評審、系統規格評審、概要設計評審、詳細設計評審、樣機評審、小批量評審

             

            財務角色:

            概念階段:產品的定價分析和成本分析

            計劃階段:核算綜合成本

            開發階段:監控成本

            發布階段:明確價格策略

            生命周期階段:進行價格的核準和調整價格

             

            生產、維護、服務人員:在方案設計階段參與進來,提出可維護、可安裝、可測試、可生產需求,使方案設計一步到位。

             

            采購角色:

            概念階段:參與供應商認證

            計劃階段:完成元器件認證,明確提前采購的風險

            產品生命周期階段:關注器件的產能情況,提前預警

             

            企業執行產品開發流程失敗原因分析:

            1、  為流程而流程,只有研發參與

            2、  沒有建立市場管理流程,沒有好的市場經理,產品開發沒有良好的輸入,推行產品開發流程困難

            3、  沒有培養起來系統級工程師或團隊進行總體方案設計,沒有打通設計時的所有環節,流程流于形式

            4、  評審過于關注技術,在市場和財務成功方面考慮較少

            5、  過多關注流程執行的完整性,沒有結合自身情況,分步推進

            6、  配套支撐流程和體系建設跟不上,如項目管理流程、績效管理流程、任職資格體系建設,落地的支撐人員配套跟不上

            7、  沒有固化或形成時,過早進行IT化,僵化了流程

            posted @ 2012-11-19 15:32 胡滿超 閱讀(304) | 評論 (0)編輯 收藏

            研發與銷售矛盾重重:需要建立市場體系,銷售與市場分離

            市場體系:分析客戶需求,進行產品規劃,培訓渠道及客戶經理,立足核心產品設計

             

            市場體系:讓產品好賣,營

            銷售體系:將產品賣好,銷

             

            需求管理四個步驟:需求收集,需求分析與分類,需求分發,需求實現及驗證

            需求管理體系目的:讓每個人在日常活動中,將需求進行收集并通過分析和分發,以確保非金屬人員面向市場進行開發

            需求管理體系原則:落后了,找對手;平行了,建市場;領先了,做標準。

            要建立好的市場體系,必須建立鼓勵研發人員進入營銷體系的機制。

            為了保證快速地反映市場,規劃必須每三個月更新一次。

             

            需求分類:

            A類:新產品開發需求

            B類:產品設計規格更改需求

            C類:詳細設計路徑更改需求

            D類:生產訂單需求

            E類:CBB和平臺開發需求

            F類:技術開發需求

            G類:市場調研,需要繼續求證

             

            進入一個客戶群三要素:

            1、  市場吸引力:市場規模,市場成長性,戰略價值

            2、  競爭地位:是否有能力進入,市場份額、產品優勢、成本優勢、渠道能力

            3、  財務回報:收入增長率,現金流貢獻、研發投入產出比

             

            確定新產品的需求的方法:

            1、  重新進行新產品開發

            2、  對老產品進行改進

             

            外部需求:客戶的要求、功能需求、規格需求、可靠性需求

            內部需求:產品化需求(可生產、可安裝、可維護、可測試、可驗證),技術需求

             

            需求完成包括四類人員:客戶經理、市場經理、產品經理、技術經理

            需求產出的四份文檔:

            1、  客戶需求規格說明書

            2、  產品包需求說明書

            3、  需求的分解分配

            4、  技術規格說明書

             

            將產品規格轉變為技術需求:FFAB

            Benefits:對客戶的好處

            Advantage:產品的優點

            Function:功能模塊的賣點

            Feature:實現功能模塊的技術特性

             

            業界常用的$APPEALS模型:$價格、A可獲得性、P包裝、P功能性能、E易用、A保證、L生命周期成本、S社會接受程度

             

             

             

             

            posted @ 2012-11-16 13:37 胡滿超 閱讀(351) | 評論 (0)編輯 收藏

            企業戰略規劃制定:一個從公司愿景,到經營計劃,到各產品線的愿景,及業務計劃,再到產品平臺以及核心技術需求,并落實到資源規劃以及各種激勵機制的配套保證的總體流程

             

            戰略規劃分三個層次:

            1、  頂層設計,戰略研究層

            2、  業務層,產品線戰略規劃層

            3、  支撐層,資源配置管理改進層

             

            產品戰略的W型八個步驟

             

            技術型企業組織績效指標:

            1、  生存類能力指標:財務指標,交付指標,

            2、  可持續發展能力指標:新業務占收入的比重,核心技術和平臺帶來的收入占比

            3、  核心競爭能力指標:公共模塊共享率,人員結構合理性及任職資料提升率,引導客戶需求與規劃能力

             

            產品線的核心考核指標是組織績效:對市場成功和財務成功負責

            個人績效:只能產品線有利潤,組織績效成功,才有意義

             

            企業增加利潤的路徑:

            1、  進入新市場

            2、  開發新業務

            3、  改變商業模式

            4、  降低成本:研發的首要目的是提高老產品的利潤,其次是開發新產品,新技術

            5、  提高價格

             

            企業新業務分類:

            1、  聚焦發展,70%

            2、  必須突破的業務,20%

            3、  布局式業務,10%

             

            筆記原書:

            http://www.amazon.cn/%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E7%AE%A1%E7%90%86-%E6%9E%84%E5%BB%BA%E4%B8%96%E7%95%8C%E4%B8%80%E6%B5%81%E7%9A%84%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E7%AE%A1%E7%90%86%E4%BD%93%E7%B3%BB-%E5%91%A8%E8%BE%89/dp/B006THMWQS/ref=pd_sim_b_3

             

            posted @ 2012-11-13 09:54 胡滿超 閱讀(343) | 評論 (0)編輯 收藏

            IPD介紹

             

            研發的六種產出模式:

            1、  基礎研究,發明和標準

            2、  應用開發,將非成熟的應用技術變成成熟的技術

            3、  項目開發,一次性的定制

            4、  產品開發,內部共享模塊與產品,外部銷售的產品,可批量,可重復,可復制生產

            5、  解決方案,以產品為核心,為客戶做的跨產品或跨領域集成方案

            6、  服務和運營,服務、運營、維護獲取收益

             

            產品開發貨架層次:器件、組件、部件、單機、整機、子系統、系統

            產品分類:

            1、  內部共享產品:器件、組件、部件

            2、  面向細分客戶群的產品:部件、單機、整機、子系統(能力強的公司)

            3、  解決方案級產品:子系統、系統

             

            技術型企業的商業模式:經營技術、經營產品、經營解決方案、經營客戶和服務

             

            技術型企業的商業模式發展和演變五個階段:

            1、  勞動密集型加工

            2、  項目生存型

            3、  產品擴展型

            4、  運營客戶型

            5、  集成產業鏈型

             

            產品開發方式:

            1、  先開發技術,然后做通用產品,再銷售

            技術開發->產品開發->形成產品->銷售渠道->通用客戶需求

            缺點:容易被細分市場產品替代,技術一旦落后沒有后續產出

            2、  客戶需求,尋找技術,完成定制

            客戶需求->營銷渠道->確定交付->投入開發->技術突破

            缺點:技術開發有風險;一個個項目做,企業很難做大;質量不易保證;人員沒有專業發展通道,容易流失;項目越多,管理越難

             

            集成產品開發:

            1、  產品開發與技術開發、平臺開發分離;

            2、  技術和平臺開發先行,解決技術突破;

            3、  產品開發按細分客戶群需求

             

            集成產品開發和技術開發特點:

            1、  產品開發:強調基于市場需求和共享平臺,對市場和財務的成功負責

            2、  技術開發:自己掌握業界成熟的技術,做成貨架,供產品開發時共享,以縮短產品開發周期

             

            集成產品開發三種產品形態:

            1、  產品大版本V:平臺版本

            2、  細分客戶群版本R:交付給用客戶產品,四要素:客戶及競爭需求、功能與技術需求、時間、成本

            3、  客戶定制版本M:在R版本的基礎上針對具體客戶的個性化版本

             

            產品開發四個范疇:技術開發、市場開發、生產和服務開發、資料包開發

            產品開發的步驟:

            1、  先進行市場開發,細分客戶群,尋找賣點和商業模式,尋找市場和財務成功的要素;

            2、  根據產品需求進行分解與分配,進行技術開發

            3、  根據技術要求進行產品的可生產性,可安裝性,可測試性,可驗證性,可服務性開發

            4、  根據產品大量進入市場,進行技術資料包,服務資料包和銷售工具的開發

             

            企業研發管理發展的五個階段:

            1、  單項目單產品階段:以項目為核心

            2、  多產品、共享產品和貨架平臺階段:以產品為核心

            3、  以共享為核心面向客戶需求階段:以客戶為核心

            4、  以產業鏈為核心的關注利潤階段:以利潤為核心

            5、  持續改進階段

             

            集成產品開發管理思想:

            1、  產品開發是一項投資

            2、  必須強調基于市場的創新

            3、  執行技術開發與產品開發分離

            4、  對技術進行分類管理,強調核心技術,關鍵技術的自主開發

            5、  跨部分的協同開發,實現全流程全要素(市場、研發、生產、采購、財務協同)的管理

            6、  強調CBB和平臺建設,強調技術共享

            7、  執行異步開發

            8、  根據產品的不同層次和技術開發執行不同的結構化開發流程

            9、  強調市場和財務成功、核心競爭力的提升是研發績效考核的重要因素

             

            要實現IPD要以產品線(產品)為核心進行四大重組:財務重組、市場重組、產品重組、組織與流程重組

            筆記原書:

            http://www.amazon.cn/%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E7%AE%A1%E7%90%86-%E6%9E%84%E5%BB%BA%E4%B8%96%E7%95%8C%E4%B8%80%E6%B5%81%E7%9A%84%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E7%AE%A1%E7%90%86%E4%BD%93%E7%B3%BB-%E5%91%A8%E8%BE%89/dp/B006THMWQS/ref=pd_sim_b_3

             

            posted @ 2012-11-11 21:42 胡滿超 閱讀(713) | 評論 (0)編輯 收藏
            2011年我開始接觸一些IPD的培訓課程,今年10.1長假期間我又參加了兩次有關IPD的外訓課程,對IPD有了一些大概的了解,10.1過后我買了一些有關IPD的書籍開始閱讀,了解了更多的IPD的知識后使我感到十分震驚,原來產品的開發是應該這樣搞的,困惑了很久的一些產品管理問題一下子找到了答案(雖然還不是全部)。

            在中國涉及到產品開發的公司有很多,各行各業的都有,做的好做的一般都存在,從我的工作經歷看,先在小型軟件公司工作,后到中小型軟件公司工作,之后又在一家世界有名的超大公司做軟件開發,大中小型的公司我都干過了,但依然找不到軟件開發在管理方面的門徑。傳統管理,營銷管理,人力資源管理都很少涉及產品開發管理,這說明這是一門很“偏”學問。產品管理既涉及到開發人員的管理,又涉及到技術管理,還有流程建立行者等等,在我的工作經歷中經常遇到最多的問題包含:

            1、中小公司無法吸引開發高手,長期發展甚至會感覺整個小行業人才凋零,沒有前景
            2、開發過程混亂,開發團隊的工作效率主要取決于leader的個人水平及工作積極性
            3、質量管理較差,需求來源模糊,設計稀里糊涂,到了測試階段基本上已經無法控制、測試人員對項目影響力較小
            4、文檔管理幾乎空白,屬于自覺自發的行為結果
            5、人員培養困難
            6、新手做設計,高手救火
            。。。很多很多

            這些問題,或大或小,或輕或重,在我閱讀完從華為走出來做IPD咨詢這些高手寫的書之后,慢慢找到了答案。

            IPD集成產品開發管理思想強調:

            1、  產品開發是一項投資

            2、  必須強調基于市場的創新

            3、  執行技術開發與產品開發分離

            4、  對技術進行分類管理,強調核心技術,關鍵技術的自主開發

            5、  跨部分的協同開發,實現全流程全要素(市場、研發、生產、采購、財務協同)的管理

            6、  強調CBB和平臺建設,強調技術共享

            7、  執行異步開發

            8、  根據產品的不同層次和技術開發執行不同的結構化開發流程

            9、  強調市場和財務成功、核心競爭力的提升是研發績效考核的重要因素

            除了IPD的流程之外,華為人結合了華為實踐IPD過程的經驗與教訓,及一些成功的管理實踐,做了完整的總結與升華,閱讀之后感覺茅塞頓開。
            介紹兩本書:

            http://www.amazon.cn/gp/product/B001ULBY6W



            http://www.amazon.cn/%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E7%AE%A1%E7%90%86-%E6%9E%84%E5%BB%BA%E4%B8%96%E7%95%8C%E4%B8%80%E6%B5%81%E7%9A%84%E4%BA%A7%E5%93%81%E7%A0%94%E5%8F%91%E7%AE%A1%E7%90%86%E4%BD%93%E7%B3%BB-%E5%91%A8%E8%BE%89/dp/B006THMWQS/ref=pd_sim_b_3


            我將陸續把自己寫的一些筆記與大家分享。

             

            posted @ 2012-11-10 14:20 胡滿超 閱讀(1802) | 評論 (1)編輯 收藏

            總結網上訂票系統常見的問題如下:

             

            1、 高峰時段無法登陸,提示在線用戶過多

            2、 訂單提交成功之后,支付環節出了問題,瀏覽器意外退出,后再登陸,發現登陸不上,無法在規定時間內完成支付,購票失敗

            3、 訂單提交反饋時間過長,熱門線路需要等待20分鐘甚至更長時間,才能得到反饋

            4、 驗證碼輸入總是錯誤,無法完成驗證碼驗證環節,無法登陸

            5、 逢用戶高峰,網站反應速度較慢

            6、 對多瀏覽器支持不好,沒有IOSAndroid應用入口

             

            以上問題多數都是用戶體驗的問題,用戶體驗的問題即有票源稀少的原因,更多的是對訂票系統使用過程中系統登陸困難,反應遲鈍,訂單結果反饋太慢,意外退出等問題難以忍受。

             

            本人并非訂票系統設計人員,但是通用對訂票系統外在的表現大膽猜測一下訂票系統的設計。

             

            常見問題原因分析:

             

            問題1,高峰時段無法登陸,提示在線用戶過多;

            問題4,驗證碼輸入總是錯誤,無法完成驗證碼驗證環節,無法登陸

             

            無法登陸的問題,其原因顯然是前端用于處理WEB連接服務器太少或網絡帶寬不足所至,為了不讓更多的用戶一起連接服務器導致服務器較慢,只好拒絕一些用戶的登陸請求。使同時在線人數保持在一個上限以內。

            驗證碼輸入總是錯誤的問題,原因也是用于處理WEB連接服務器太少所至,為了防止一些客戶端使用“惡意”軟件,不斷自動登陸的情況,驗證碼需求由客戶端向服務器提交一個驗證請求,可以由于服務器響應實在太慢,以至于整個響應速度居然超過了驗證碼的有效時間。

             

            常見問題:

            問題2:訂單提交成功之后,支付環節出了問題,瀏覽器意外退出,后再登陸,發現登陸不上,無法在規定時間內完成支付,購票失敗

            問題3:訂單提交反饋時間過長,熱門線路需要等待20分鐘甚至更長時間,才能得到反饋

            問題5:逢用戶高峰,網站反應速度較慢

             

            問題2是一個系統的BUG,但是可以通過一些設計來解決這個問題。

             

            問題3,問題5,可能是由于WEB服務器與邏輯處理服務器在同一臺機器上,而導致服務器CPU分配了過多的時間與資源在處理用戶請求,在執行邏輯時執行緩慢。

             

            如果數據庫也在同一臺服務器上,那問題可能更加嚴重。當然我相信,不在一臺服務器上的可能性比較大。

             

            總結以上問題,其解決方案建議如下:

             

            1、 準備更多前端WEB服務器,解決WEB前端的問題沒有別的辦法,只能加服務器,或者每個省市放一群單獨的服務器,根據用戶量進行增加,直到響應流暢為止。

            2、 可以考慮把邏輯服務器單獨分離出來,與WEB服務器分開,WEB服務器只處理WEB請求,邏輯服務器單獨運行

            3、 把數據庫服務器單獨分離,并且把火車票票量數據庫與用戶訂票信息數據庫放到不同的機器上,由于大量的訂票請求會訪問火車票票量數據庫,并且會有大量訂票數據添加到用戶訂票信息數據庫中,在處理添加的邏輯占用了大量的數據庫資源,會導致整個系統變慢。如果放到同一臺機器上,必然導致響應變慢。把不同性質的數據,放到不同機器、不同的數據系統中,可以合理的分流系統訪問量,使系統響應加快,橫向擴展更具有彈性。

            4、 把支付訂票費用放到一個單獨的網站進行,訂單提交成功后鎖票,之后根據訂單號可以在另外一個單獨的網站上進行單獨支付,支付時只要提供訂票號就可以,這樣做有很多好處:1. 避免了由于支付失敗而導致退出瀏覽器,卻由于在線人數過多無法登陸導致訂票失敗的情況,2. 電話訂票也可以在此支付,在火車站機自動售票機器上取票,這樣支付方便,也解決了異地付款取票的問題 3. 單獨支付會在一定程度上給訂票網站減輕訪問與處理壓力

            5、 提供快遞火車票服務進行創收,支付成功的火車票可以進行快遞,這樣即方便訂票人也可以給鐵道部創收

            6、 網站可以根據用戶訂票信息做一些有針對性網站廣告,如旅游、酒店廣告等進行創收

            7、 開發出更多的手機終端軟件,擴大訂票系統使用的覆蓋面

            8、 支持更多的瀏覽器,而不僅僅是IE


            由于本人水平有限,歡迎各個高手批評指正,希望這篇文章能夠拋磚引玉,大家一起討論。
            網上的其他類似文章:

            http://cloud.it168.com/a2012/0130/1304/000001304533.shtml 

            posted @ 2012-10-15 17:09 胡滿超 閱讀(2762) | 評論 (7)編輯 收藏
            posted @ 2012-09-18 15:04 胡滿超 閱讀(453) | 評論 (0)編輯 收藏
            http://ipseeker.cn/tools/pywb.php 
            posted @ 2012-09-07 13:15 胡滿超 閱讀(350) | 評論 (0)編輯 收藏

            Windows平臺做開發肯定會接觸到UI程序的編寫,以MFCUI開發為例,可以開發單文檔,多文檔,對話框等形式的應用。寫一個UI程序容易,寫好卻不是一件簡單的事情。在整個代碼結構的清晰性與可維護性方面需要多加注意。寫好UI程序需求注意以下幾點:

             

            1、圍繞數據編程與不是圍繞UI編程

             

            當我們拿到需求最先接觸到的就是UI的設計,也許是美工畫的,也許是設計草圖。工程師在具體設計的時候容易受UI的影響,或者干脆從UI開始編程。

             

            這是一個錯誤的編程習慣,無論UI如何展現與交互,最終都應該圍繞數據編程。拿到需求后,應該先思考和推敲數據的設計與流轉,UI不過就是數據的一種展現形式而已。

             

            2、做好UI與邏輯的解耦

             

            UI的編程會涉及到許多控件的操作,消息的處理,不知不覺,一個UI類的代碼會越寫越大,以至于一段時間以后,瀏覽和梳理都會變得不太方便。

             

            UI類里,除了與UI本身的操作有關的代碼以外,任何邏輯代碼都應該與此解耦,并根據具體情況進行封裝調用。如果一個控件關聯了太多數據操作,應該把這些操作封裝到控件的繼承類中,把一類代碼進行集中管理和維護。

             

            上述問題,在程序寫作的初期還不太明顯,隨著代碼逐漸膨脹,會越會越讓人難以忍受。

             

            3、數據單向依賴,單向更新

             

            UI圍繞的數據進行展現與更新,在這個過程中,所以對數據的操作應該進行封裝,而不是散落在UI程序在各個角落,數據的更新、獲取和UI傳遞消息時,應該單向操作,如果出現循環處理的情況,在以后維護調試的BUG的過程中會變得比較困難,導致維護效率下降。

             

             

            posted @ 2012-08-31 17:00 胡滿超 閱讀(1044) | 評論 (0)編輯 收藏
            http://download.microsoft.com/download/9/0/f/90f019ac-8243-48d3-91cf-81fc4093ecfd/1830_usa_ddk.iso
            posted @ 2012-03-23 17:16 胡滿超 閱讀(6068) | 評論 (1)編輯 收藏
            在 Windows x64 上共有2種查看方式。一種用于 32-bit 應用程序,另一種用于 x64 應用程序。默認情況下,32-bit 應用程序運行在 x64 系統的 WOW64 模式下時,只允許使用 32-bit 查看方式。使用 SetRegView 64 將允許安裝程序在 x64 中訪問注冊表鍵值。恢復訪問32位注冊表使用SetRegView 32

            它將影響
            DeleteRegKey,
            DeleteRegValue,
            EnumRegKey,
            EnumRegValue,
            ReadRegDWORD,
            ReadRegStr,
            WriteRegBin,
            WriteRegDWORD,
            WriteRegStr 和
            WriteRegExpandStr。
            posted @ 2012-03-09 10:29 胡滿超 閱讀(1579) | 評論 (0)編輯 收藏

            轉自:

            http://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/

            Valgrind 概述

            體系結構

            Valgrind是一套Linux下,開放源代碼(GPL V2)的仿真調試工具的集合。Valgrind由內核(core)以及基于內核的其他調試工具組成。內核類似于一個框架(framework),它模擬了 一個CPU環境,并提供服務給其他工具;而其他工具則類似于插件 (plug-in),利用內核提供的服務完成各種特定的內存調試任務。Valgrind的體系結構如下圖所示:


            圖 1 Valgrind 體系結構
            Valgrind 體系結構

            Valgrind包括如下一些工具:

            1. Memcheck。這是valgrind應用最廣泛的工具,一個重量級的內存檢查器,能夠發現開發中絕大多數內存錯誤使用情況,比如:使用未初始化的內存,使用已經釋放了的內存,內存訪問越界等。這也是本文將重點介紹的部分。
            2. Callgrind。它主要用來檢查程序中函數調用過程中出現的問題。
            3. Cachegrind。它主要用來檢查程序中緩存使用出現的問題。
            4. Helgrind。它主要用來檢查多線程程序中出現的競爭問題。
            5. Massif。它主要用來檢查程序中堆棧使用中出現的問題。
            6. Extension。可以利用core提供的功能,自己編寫特定的內存調試工具。

            Linux 程序內存空間布局

            要發現Linux下的內存問題,首先一定要知道在Linux下,內存是如何被分配的?下圖展示了一個典型的Linux C程序內存空間布局:


            圖 2: 典型內存空間布局
            典型內存空間布局

            一個典型的Linux C程序內存空間由如下幾部分組成:

            • 代碼段(.text)。這里存放的是CPU要執行的指令。代碼段是可共享的,相同的代碼在內存中只會有一個拷貝,同時這個段是只讀的,防止程序由于錯誤而修改自身的指令。
            • 初始化數據段(.data)。這里存放的是程序中需要明確賦初始值的變量,例如位于所有函數之外的全局變量:int val=100。需要強調的是,以上兩段都是位于程序的可執行文件中,內核在調用exec函數啟動該程序時從源程序文件中讀入。
            • 未初始化數據段(.bss)。位于這一段中的數據,內核在執行該程序前,將其初始化為0或者null。例如出現在任何函數之外的全局變量:int sum;
            • 堆(Heap)。這個段用于在程序中進行動態內存申請,例如經常用到的malloc,new系列函數就是從這個段中申請內存。
            • 棧(Stack)。函數中的局部變量以及在函數調用過程中產生的臨時變量都保存在此段中。

            內存檢查原理

            Memcheck檢測內存問題的原理如下圖所示:


            圖 3 內存檢查原理
            內存檢查原理

            Memcheck 能夠檢測出內存問題,關鍵在于其建立了兩個全局表。

            1. Valid-Value 表:

            對于進程的整個地址空間中的每一個字節(byte),都有與之對應的 8 個 bits;對于 CPU 的每個寄存器,也有一個與之對應的 bit 向量。這些 bits 負責記錄該字節或者寄存器值是否具有有效的、已初始化的值。

            1. Valid-Address

            對于進程整個地址空間中的每一個字節(byte),還有與之對應的 1 個 bit,負責記錄該地址是否能夠被讀寫。

            檢測原理:

            • 當要讀寫內存中某個字節時,首先檢查這個字節對應的 A bit。如果該A bit顯示該位置是無效位置,memcheck 則報告讀寫錯誤。
            • 內核(core)類似于一個虛擬的 CPU 環境,這樣當內存中的某個字節被加載到真實的 CPU 中時,該字節對應的 V bit 也被加載到虛擬的 CPU 環境中。一旦寄存器中的值,被用來產生內存地址,或者該值能夠影響程序輸出,則 memcheck 會檢查對應的V bits,如果該值尚未初始化,則會報告使用未初始化內存錯誤。

            回頁首

            Valgrind 使用

            第一步:準備好程序

            為了使valgrind發現的錯誤更精確,如能夠定位到源代碼行,建議在編譯時加上-g參數,編譯優化選項請選擇O0,雖然這會降低程序的執行效率。

            這里用到的示例程序文件名為:sample.c(如下所示),選用的編譯器為gcc。

            生成可執行程序 gcc –g –O0 sample.c –o sample


            清單 1
            清單 1

            第二步:在valgrind下,運行可執行程序。

            利用valgrind調試內存問題,不需要重新編譯源程序,它的輸入就是二進制的可執行程序。調用Valgrind的通用格式是:valgrind [valgrind-options] your-prog [your-prog-options]

            Valgrind 的參數分為兩類,一類是 core 的參數,它對所有的工具都適用;另外一類就是具體某個工具如 memcheck 的參數。Valgrind 默認的工具就是 memcheck,也可以通過“--tool=tool name”指定其他的工具。Valgrind 提供了大量的參數滿足你特定的調試需求,具體可參考其用戶手冊。

            這個例子將使用 memcheck,于是可以輸入命令入下:valgrind <Path>/sample.

            第三步:分析 valgrind 的輸出信息。

            以下是運行上述命令后的輸出。


            清單 2
            清單 2
            • 左邊顯示類似行號的數字(32372)表示的是 Process ID。
            • 最上面的紅色方框表示的是 valgrind 的版本信息。
            • 中間的紅色方框表示 valgrind 通過運行被測試程序,發現的內存問題。通過閱讀這些信息,可以發現:
              1. 這是一個對內存的非法寫操作,非法寫操作的內存是4 bytes。
              2. 發生錯誤時的函數堆棧,以及具體的源代碼行號。
              3. 非法寫操作的具體地址空間。
            • 最下面的紅色方框是對發現的內存問題和內存泄露問題的總結。內存泄露的大小(40 bytes)也能夠被檢測出來。

            示例程序顯然有兩個問題,一是fun函數中動態申請的堆內存沒有釋放;二是對堆內存的訪問越界。這兩個問題均被valgrind發現。

            回頁首

            利用Memcheck發現常見的內存問題

            在Linux平臺開發應用程序時,最常遇見的問題就是錯誤的使用內存,我們總結了常見了內存錯誤使用情況,并說明了如何用valgrind將其檢測出來。

            使用未初始化的內存

            問題分析:

            對于位于程序中不同段的變量,其初始值是不同的,全局變量和靜態變量初始值為0,而局部變量和動態申請的變量,其初始值為隨機值。如果程序使用了為隨機值的變量,那么程序的行為就變得不可預期。

            下面的程序就是一種常見的,使用了未初始化的變量的情況。數組a是局部變量,其初始值為隨機值,而在初始化時并沒有給其所有數組成員初始化,如此在接下來使用這個數組時就潛在有內存問題。


            清單 3
            清單 3

            結果分析:

            假設這個文件名為:badloop.c,生成的可執行程序為badloop。用memcheck對其進行測試,輸出如下。


            清單 4
            清單 4

            輸出結果顯示,在該程序第11行中,程序的跳轉依賴于一個未初始化的變量。準確的發現了上述程序中存在的問題。

            內存讀寫越界

            問題分析:

            這種情況是指:訪問了你不應該/沒有權限訪問的內存地址空間,比如訪問數組時越界;對動態內存訪問時超出了申請的內存大小范圍。下面的程序就是一個 典型的數組越界問題。pt是一個局部數組變量,其大小為4,p初始指向pt數組的起始地址,但在對p循環疊加后,p超出了pt數組的范圍,如果此時再對p 進行寫操作,那么后果將不可預期。


            清單 5
            清單 5

            結果分析:

            假設這個文件名為badacc.cpp,生成的可執行程序為badacc,用memcheck對其進行測試,輸出如下。


            清單 6
            清單 6

            輸出結果顯示,在該程序的第15行,進行了非法的寫操作;在第16行,進行了非法讀操作。準確地發現了上述問題。

            內存覆蓋

            問題分析:

            C 語言的強大和可怕之處在于其可以直接操作內存,C 標準庫中提供了大量這樣的函數,比如 strcpy, strncpy, memcpy, strcat 等,這些函數有一個共同的特點就是需要設置源地址 (src),和目標地址(dst),src 和 dst 指向的地址不能發生重疊,否則結果將不可預期。

            下面就是一個 src 和 dst 發生重疊的例子。在 15 與 17 行中,src 和 dst 所指向的地址相差 20,但指定的拷貝長度卻是 21,這樣就會把之前的拷貝值覆蓋。第 24 行程序類似,src(x+20) 與 dst(x) 所指向的地址相差 20,但 dst 的長度卻為 21,這樣也會發生內存覆蓋。


            清單 7
            清單 7

            結果分析:

            假設這個文件名為 badlap.cpp,生成的可執行程序為 badlap,用 memcheck 對其進行測試,輸出如下。


            清單 8
            清單 8

            輸出結果顯示上述程序中第15,17,24行,源地址和目標地址設置出現重疊。準確的發現了上述問題。

            動態內存管理錯誤

            問題分析:

            常見的內存分配方式分三種:靜態存儲,棧上分配,堆上分配。全局變量屬于靜態存儲,它們是在編譯時就被分配了存儲空間,函數內的局部變量屬于棧上分 配,而最靈活的內存使用方式當屬堆上分配,也叫做內存動態分配了。常用的內存動態分配函數包括:malloc, alloc, realloc, new等,動態釋放函數包括free, delete。

            一旦成功申請了動態內存,我們就需要自己對其進行內存管理,而這又是最容易犯錯誤的。下面的一段程序,就包括了內存動態管理中常見的錯誤。


            清單 9
            清單 9

            常見的內存動態管理錯誤包括:

              • 申請和釋放不一致

            由于 C++ 兼容 C,而 C 與 C++ 的內存申請和釋放函數是不同的,因此在 C++ 程序中,就有兩套動態內存管理函數。一條不變的規則就是采用 C 方式申請的內存就用 C 方式釋放;用 C++ 方式申請的內存,用 C++ 方式釋放。也就是用 malloc/alloc/realloc 方式申請的內存,用 free 釋放;用 new 方式申請的內存用 delete 釋放。在上述程序中,用 malloc 方式申請了內存卻用 delete 來釋放,雖然這在很多情況下不會有問題,但這絕對是潛在的問題。

              • 申請和釋放不匹配

            申請了多少內存,在使用完成后就要釋放多少。如果沒有釋放,或者少釋放了就是內存泄露;多釋放了也會產生問題。上述程序中,指針p和pt指向的是同一塊內存,卻被先后釋放兩次。

              • 釋放后仍然讀寫

            本質上說,系統會在堆上維護一個動態內存鏈表,如果被釋放,就意味著該塊內存可以繼續被分配給其他部分,如果內存被釋放后再訪問,就可能覆蓋其他部分的信息,這是一種嚴重的錯誤,上述程序第16行中就在釋放后仍然寫這塊內存。

            結果分析:

            假設這個文件名為badmac.cpp,生成的可執行程序為badmac,用memcheck對其進行測試,輸出如下。


            清單 10
            清單 10

            輸出結果顯示,第14行分配和釋放函數不一致;第16行發生非法寫操作,也就是往釋放后的內存地址寫值;第17行釋放內存函數無效。準確地發現了上述三個問題。

            內存泄露

            問題描述:

            內存泄露(Memory leak)指的是,在程序中動態申請的內存,在使用完后既沒有釋放,又無法被程序的其他部分訪問。內存泄露是在開發大型程序中最令人頭疼的問題,以至于有 人說,內存泄露是無法避免的。其實不然,防止內存泄露要從良好的編程習慣做起,另外重要的一點就是要加強單元測試(Unit Test),而memcheck就是這樣一款優秀的工具。

            下面是一個比較典型的內存泄露案例。main函數調用了mk函數生成樹結點,可是在調用完成之后,卻沒有相應的函數:nodefr釋放內存,這樣內存中的這個樹結構就無法被其他部分訪問,造成了內存泄露。

            在一個單獨的函數中,每個人的內存泄露意識都是比較強的。但很多情況下,我們都會對malloc/free 或new/delete做一些包裝,以符合我們特定的需要,無法做到在一個函數中既使用又釋放。這個例子也說明了內存泄露最容易發生的地方:即兩個部分的 接口部分,一個函數申請內存,一個函數釋放內存。并且這些函數由不同的人開發、使用,這樣造成內存泄露的可能性就比較大了。這需要養成良好的單元測試習 慣,將內存泄露消滅在初始階段。


            清單 11
            清單 1

            清單 11.2
            清單 11.2

            清單 11.3
            清單 11.3

            結果分析:

            假設上述文件名位tree.h, tree.cpp, badleak.cpp,生成的可執行程序為badleak,用memcheck對其進行測試,輸出如下。


            清單 12
            清單 12

            該示例程序是生成一棵樹的過程,每個樹節點的大小為12(考慮內存對齊),共8個節點。從上述輸出可以看出,所有的內存泄露都被發現。 Memcheck將內存泄露分為兩種,一種是可能的內存泄露(Possibly lost),另外一種是確定的內存泄露(Definitely lost)。Possibly lost 是指仍然存在某個指針能夠訪問某塊內存,但該指針指向的已經不是該內存首地址。Definitely lost 是指已經不能夠訪問這塊內存。而Definitely lost又分為兩種:直接的(direct)和間接的(indirect)。直接和間接的區別就是,直接是沒有任何指針指向該內存,間接是指指向該內存的 指針都位于內存泄露處。在上述的例子中,根節點是directly lost,而其他節點是indirectly lost。

            回頁首

            總結

            本文介紹了valgrind的體系結構,并重點介紹了其應用最廣泛的工具:memcheck。闡述了memcheck發現內存問題的基本原理,基本 使用方法,以及利用memcheck如何發現目前開發中最廣泛的五大類內存問題。在項目中盡早的發現內存問題,能夠極大地提高開發效率,valgrind 就是能夠幫助你實現這一目標的出色工具。


            參考資料

            關于作者

            楊經,他的技術興趣包括自動化測試與linux系統管理。目前是IBM中國系統與技術實驗室(CSTL)的軟件工程師,從事中小型企業(SME)服務器的測試工作,可以通過cdlyangj@cn.ibm.com與他聯系。


            轉自:
            http://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/
            posted @ 2011-12-30 14:24 胡滿超 閱讀(331) | 評論 (0)編輯 收藏
            新建一個DEF文件(右鍵Project->Add->New Item->.def)

            加入

            EXPORTS

            fn_function @ 1

            重新編譯就OK了

            參考鏈接:

            http://blog.csdn.net/cglover/article/details/1621685
            posted @ 2011-11-21 17:45 胡滿超 閱讀(975) | 評論 (0)編輯 收藏
            判斷用戶登陸的是域還是工作組

            原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://okhelper.blog.51cto.com/313500/197249
            Set objshell = CreateObject("wscript.shell")

            strDomainDnsName = LCase(objshell.ExpandEnvironmentStrings("%USERDNSDOMAIN%"))

            If strDomainDnsName = "%USERDNSDOMAIN%" Then    
              WScript.Echo "workgroup"
                
            Else
              WScript.Echo "Domain"
                
            End if

            本文出自 “okhelper” 博客,請務必保留此出處http://okhelper.blog.51cto.com/313500/197249


            注意:下面的鏈接提供了7種方法


            http://www.robvanderwoude.com/vbstech_network_names_domain.php

            Environment Variable
            VBScript Code:
            Set wshShell = WScript.CreateObject( "WScript.Shell" )
            strUserDomain = wshShell.ExpandEnvironmentStrings( "%USERDOMAIN%" )
            WScript.Echo "User Domain: " & strUserDomain
            Requirements:
            Windows version: NT 4, 2000, XP, Server 2003, Vista or Server 2008
            Network: Stand-alone, workgroup, NT domain, or AD
            Client software: N/A
            Script Engine: WSH
            Summarized: Works in Windows NT 4 or later, *.vbs with CSCRIPT.EXE or WSCRIPT.EXE only.
            Doesn't work in Windows 95, 98 or ME, nor in Internet Explorer (HTAs).
             
            [Back to the top of this page]
             
            WshNetwork
            VBScript Code:
            Set wshNetwork = WScript.CreateObject( "WScript.Network" )
            strUserDomain = wshNetwork.UserDomain
            WScript.Echo "User Domain: " & strUserDomain
            Requirements:
            Windows version: Windows 98, ME, NT 4, 2000, XP, Server 2003, Vista, Server 2008
            Network: Stand-alone, workgroup, NT domain, or AD
            Client software: Windows Script 5.6 for Windows 98, ME, and NT 4 (no longer available for download?)
            Script Engine: WSH
            Summarized: Works in Windows 98 or later, *.vbs with CSCRIPT.EXE or WSCRIPT.EXE only.
            Doesn't work in Windows 95, nor in Internet Explorer (HTAs).
             
            [Back to the top of this page]
             
            ADSI (WinNTSystemInfo)
            VBScript Code:
            Set objSysInfo = CreateObject( "WinNTSystemInfo" )
            strUserDomain = objSysInfo.DomainName
            WScript.Echo "User Domain: " & strUserDomain
            Requirements:
            Windows version: 2000, XP, Server 2003, Vista or Server 2008 (95, 98, ME, NT 4 with Active Directory client extension)
            Network: Stand-alone, workgroup, NT domain, or AD
            Client software: Active Directory client extension for Windows 95, 98, ME or NT 4
            Script Engine: any
            Summarized: Can work in any Windows version, but Active Directory client extension is required for Windows 95, 98, ME or NT 4.
            Can be used in *.vbs with CSCRIPT.EXE or WSCRIPT.EXE, as well as in HTAs.
             
            [Back to the top of this page]
             
            ADSI (ADSystemInfo)
            VBScript Code:
            Set objSysInfo = CreateObject( "ADSystemInfo" )
            strUserDomain = objSysInfo.DomainName
            WScript.Echo "User Domain: " & strUserDomain
            Requirements:
            Windows version: 2000, XP, Server 2003, Vista or Server 2008 (95, 98, ME, NT 4 with Active Directory client extension)
            Network: Only AD domain members
            Client software: Active Directory client extension for Windows 95, 98, ME or NT 4
            Script Engine: any
            Summarized: For AD domain members only.
            Can work in any Windows version, but Active Directory client extension is required for Windows 95, 98, ME or NT 4 SP4.
            Can be used in *.vbs with CSCRIPT.EXE or WSCRIPT.EXE, as well as in HTAs.
            Doesn't work on stand-alones, workgroup members or members of NT domains.
             
            [Back to the top of this page]
             
            WMI (Win32_ComputerSystem)
            VBScript Code:
            Set objWMISvc = GetObject( "winmgmts:\\.\root\cimv2" )
            Set colItems = objWMISvc.ExecQuery( "Select * from Win32_ComputerSystem", , 48 )
            For Each objItem in colItems
                strComputerDomain = objItem.Domain
                If objItem.PartOfDomain Then
                    WScript.Echo "Computer Domain: " & strComputerDomain
                Else
                    WScript.Echo "Workgroup: " & strComputerDomain
                End If
            Next
            Requirements:
            Windows version: XP, Server 2003, Vista or Server 2008
            Network: Stand-alone, workgroup, NT domain, or AD
            Client software: N/A
            Script Engine: any
            Summarized: Works in Windows XP and later.
            Can be used in *.vbs with CSCRIPT.EXE or WSCRIPT.EXE, as well as in HTAs.
             
            [Back to the top of this page]
             
            WMI (Win32_NTDomain)
            VBScript Code:
            Set objWMISvc = GetObject( "winmgmts:\\.\root\cimv2" )
            Set colItems = objWMISvc.ExecQuery( "Select * from Win32_NTDomain", , 48 )
            For Each objItem in colItems
                strComputerDomain = objItem.DomainName
                WScript.Echo "Computer Domain: " & strComputerDomain
            Next
            Requirements:
            Windows version: XP, Server 2003, Vista or Server 2008
            Network: NT domain, or AD
            Client software: N/A
            Script Engine: any
            Summarized: Will work only on AD or NT domain members running Windows XP or later.
            Can be used in *.vbs with CSCRIPT.EXE or WSCRIPT.EXE, as well as in HTAs.
            Doesn't work in Windows 95, 98, ME, NT 4, or 2000.
            Doesn't work on stand-alones or workgroup members.
             
            [Back to the top of this page]
             
            System Scripting Runtime
            VBScript Code:
            Set objIP = CreateObject( "SScripting.IPNetwork" )
            strComputerDomain = objIP.Domain
            WScript.Echo "Computer Domain: " & strComputerDomain
            Requirements:
            Windows version: any
            Network: TCP/IP
            Client software: System Scripting Runtime
            Script Engine: any
            Summarized: Works in any Windows version with System Scripting Runtime is installed, with any script engine.


            posted @ 2011-09-26 10:09 胡滿超 閱讀(757) | 評論 (0)編輯 收藏
                 摘要: 轉自:http://www.cnblogs.com/k-eckel/articles/188489.html深入分析MFC文檔視圖結構(項目實踐)        k_eckel:http://www.mscenter.edu.cn/blog/k_eckel 文檔視圖結構(Document/View Architecture)是MFC的精髓...  閱讀全文
            posted @ 2011-08-03 11:13 胡滿超 閱讀(1513) | 評論 (0)編輯 收藏
            僅列出標題
            共5頁: 1 2 3 4 5 
            2021国产精品久久精品| 久久综合九色综合久99| 人妻精品久久久久中文字幕一冢本| 欧美日韩精品久久久免费观看| 久久久午夜精品福利内容| 亚洲精品乱码久久久久久自慰| 99久久精品日本一区二区免费| 国产精品美女久久久免费| 久久人妻无码中文字幕| 久久久九九有精品国产| 久久人与动人物a级毛片| 热re99久久精品国产99热| 亚洲色欲久久久综合网东京热| 久久天堂电影网| 青青草原精品99久久精品66| 精品久久久久久国产牛牛app| 亚洲精品乱码久久久久久蜜桃不卡 | 亚洲精品国产成人99久久| 婷婷久久综合九色综合九七| 国产精品18久久久久久vr | 久久香综合精品久久伊人| 久久夜色精品国产| 一本一道久久精品综合| 久久久亚洲欧洲日产国码二区| 亚洲欧美国产精品专区久久| segui久久国产精品| 久久精品草草草| 久久精品国产亚洲AV无码麻豆 | 久久精品中文字幕大胸| 久久久久久一区国产精品| 久久99毛片免费观看不卡| 午夜人妻久久久久久久久| 久久综合九色综合网站| 亚洲午夜福利精品久久| 久久久亚洲精品蜜桃臀| 久久er国产精品免费观看8| 久久最新精品国产| 欧美伊香蕉久久综合类网站| 国内精品久久久久| 精品一区二区久久久久久久网站| 狠狠88综合久久久久综合网|