產(chǎn)品經(jīng)理須知的“技術(shù)黑話”_第1頁
產(chǎn)品經(jīng)理須知的“技術(shù)黑話”_第2頁
產(chǎn)品經(jīng)理須知的“技術(shù)黑話”_第3頁
產(chǎn)品經(jīng)理須知的“技術(shù)黑話”_第4頁
產(chǎn)品經(jīng)理須知的“技術(shù)黑話”_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、產(chǎn)品經(jīng)理須知的“技術(shù)黑話”文章歸納了一些技術(shù)術(shù)語,以比較直白的方式來解釋和介紹,希望對于非技術(shù)背景的產(chǎn)品經(jīng)理們有所幫助。產(chǎn)品經(jīng)理在實(shí)際工作中經(jīng)常會既定遇到一些“技術(shù)黑話”,這些技術(shù)語言讓非技術(shù)背景的產(chǎn)品經(jīng)理們經(jīng)常不知所云,帶來了一些溝通和表述理解的問題,這里梳理了一些但不全的技術(shù)術(shù)語,淺顯易懂以比較通俗的方式來解釋和介紹,希望對于非技術(shù)背景的產(chǎn)品經(jīng)理們有所設(shè)法。在技術(shù)的世界里,有一類編程語言叫面向?qū)ο缶幊蹋绲湫偷拿嫦驅(qū)ο笳Z言Java 。說到面向?qū)ο螅坏貌惶岬膸讉€概念是類、對象、抽象和實(shí)例。這些技術(shù)術(shù)語會經(jīng)常在工程師的討論中出現(xiàn),非技術(shù)背景的產(chǎn)品經(jīng)理該如何理解這些呢?接下來控制技術(shù)具體介紹

2、這些技術(shù)術(shù)語分別代表什么意思。首先介紹第一個概念“抽象”。我們說某一個概念聽起來非常抽象的意思是不具體的事物,對應(yīng)的所謂是具象。抽象在技術(shù)術(shù)語里的意思是提煉出一個通用模板,然后基于模板做具象化的實(shí)現(xiàn)。例如,在現(xiàn)實(shí)世界中關(guān)于人的分類,會有男人、女人、老人和小孩,如果將這個具體的分類抽象出一個常量子類,得到的抽象結(jié)果就是人。所以,人就是一個抽象出來的分類,也就是技術(shù)術(shù)語里面的“類”。在編程語言的世界中,通過程序語言描述現(xiàn)實(shí)世界中的事物時,使用的就是形式語言的方法,將一類事物抽象成一個類,就中得出了程序世界中的一個基本概念模型。有了基本模型后,可以基于抽象出來的模型(類)產(chǎn)生很多具體的正則表達(dá)式,也

3、就是基于類實(shí)例化的具體對象。例如,將“人”這個類實(shí)例幻化成兩個對象,分別是男人和女人,也可以實(shí)例化為其他對象,例如小孩和老人,甚至可以實(shí)例化為具體的人因,例如 Maggie 和Ryan。這一系列的過程如圖所示。從上述流程中所可以看出,工程師做事物工作就是根據(jù)產(chǎn)品需求 將現(xiàn)實(shí)世界中的的抽象成流程世界中的一個個類,然后根據(jù)需要實(shí)例 化很多對象,不同對象間通過相互協(xié)作完成一個具體的產(chǎn)品功能。非技術(shù)背景的產(chǎn)品經(jīng)理在工作中也可以試著以這種技術(shù)思維的方 式定義產(chǎn)品需求,先從產(chǎn)品五大類角色開始抽象出具體的類,反派然 后分別定義這些角色在整個產(chǎn)品流程中需要完成哪些關(guān)鍵動作,從而 定義出具體的基本概念。這樣既有

4、利于明確角色消費(fèi)需求和用戶角色, 也認(rèn)知能培養(yǎng)非技術(shù)背景產(chǎn)品經(jīng)理的技術(shù)思維。在與工程師的配合中,你一定聽說過“打印”這個詞,通常場景 是在調(diào)試產(chǎn)品問題或進(jìn)行開發(fā)測試時。工程師口中的“打印”和我們 使用打印機(jī)打印文件究竟有什么區(qū)別呢?對非技術(shù)背景的產(chǎn)品經(jīng)理而 言,聽到這個既熟悉又陌生的詞匯時,該如何理解呢?首先,“打印”這個詞在下場景大多數(shù)是指我們將文件或圖片通 過打印機(jī)從計算機(jī)世界輸出到現(xiàn)實(shí)世界中,意味著一種結(jié)果的輸出。 工程師口中的“打印” 一詞,表示的是一種結(jié)果輸出,只是這種結(jié)果 并不會輸出到這類現(xiàn)實(shí)世界,只是將虛擬機(jī)的結(jié)果“打印”到命令控 制臺上。工程師在編寫會話時,需要不斷測試程序片段

5、運(yùn)行是否正確,例 如編寫一個加法的程序片段,當(dāng)代碼編寫完成后,工程師需要測試加 法指令程序是否運(yùn)行正確,所以會輸入兩個參數(shù)然后查看程序的運(yùn)行 結(jié)果,程序運(yùn)行結(jié)果輸出到命令控制臺的過程就叫作“打印”。工程師在調(diào)試問題程序的試生產(chǎn)過程中,也會經(jīng)常用到打印技術(shù), 將每一塊代碼的執(zhí)行結(jié)果輸出到控制臺,用來察看具體問題用來出在 哪個環(huán)節(jié)。因?yàn)榇a未必的運(yùn)行過程是不可見的,所以通過“打印” 的方式能讓代碼的運(yùn)行過程和結(jié)果可視化。在與工程師討論產(chǎn)品或者工程師相互討論技術(shù)方案時,經(jīng)常會聽 到“寫死”這個術(shù)語?!皩懰馈边@個詞嚴(yán)格來說不算一個標(biāo)準(zhǔn)的技術(shù) 術(shù)語,而是工程師用來一種技術(shù)實(shí)現(xiàn)方案的說法。例如,要設(shè)計一個

6、下拉選擇框用來切換不同的城市,這個品牌需 求在技術(shù)層面資金需求有兩種實(shí)現(xiàn)方案,第一種是將城市數(shù)據(jù)放在服 務(wù)器端,客戶端通過請求數(shù)據(jù)接口將城市數(shù)據(jù)獲取回來再顯示在下拉 列表中。第二種是將城市列表數(shù)據(jù)大都市存放在客戶端,客戶端從本 地讀取列表并展示在下拉列表中。第一種方式是一種相對靈活的偏向方案,當(dāng)城市數(shù)據(jù)有變化時, 極少需要調(diào)整服務(wù)端方能的數(shù)據(jù)內(nèi)容即可,客戶端不用做任何修改, 但需要開發(fā)一個專門的數(shù)據(jù)接口獲取這部分?jǐn)?shù)據(jù)。第二種方式就是工 程師所說的“寫死”,將數(shù)據(jù)集寫死在本地,這樣可以省去數(shù)據(jù)接口 的開發(fā),也能快速同時實(shí)現(xiàn)想要的效果。這兩種不同的實(shí)現(xiàn)方式在很多幾種產(chǎn)品設(shè)計環(huán)節(jié)中都會體現(xiàn),例 如一

7、些客戶端可的文案或者幻燈片會經(jīng)常變化,這時就不太適合將需 要變化的信息數(shù)據(jù)“寫死”在本地,合理的方案是將起伏變化的數(shù)據(jù) 存儲在服務(wù)端,客戶端通過數(shù)據(jù)接口靈活應(yīng)用程序地獲取這部分?jǐn)?shù)據(jù)。當(dāng)然,也不是所有的數(shù)據(jù)合適都不是適合“寫死”在本地,例如 性別數(shù)據(jù),無非就是男和女,不必專門為了它開發(fā)一個數(shù)據(jù)接口,我 們得根據(jù)具體需求量和使用場景判斷上寫哪些數(shù)據(jù)應(yīng)該寫死。構(gòu)架和框架有時是工程師經(jīng)常提及的兩個技術(shù)概念,另外,在技 術(shù)獵頭職能中還有架構(gòu)師這一崗位。對非技術(shù)背景的產(chǎn)品經(jīng)理而言, 該如何理解和區(qū)分這兩個技術(shù)概念呢?通過一個例子就直觀可以非常 直觀地理解相。在修建房屋時,會有一個總設(shè)計師負(fù)責(zé)內(nèi)部結(jié)構(gòu)設(shè)計

8、整體藍(lán)圖和規(guī)劃,這個工作可以理解為是架構(gòu)師的工作,而結(jié)構(gòu)和規(guī) 劃本身是房屋的架構(gòu)。架構(gòu)工作完成后就進(jìn)入具體的施工環(huán)節(jié),施工時可以選擇從頭開 始一磚一瓦的加,也可以使用現(xiàn)有的房屋框架,基于成熟的房屋框架 一層一層累加,后期只需要做祇整合和裝修工作即可使用現(xiàn)成的框架, 既能降低施工難度,也能提高施工效率。在技術(shù)領(lǐng)域,架構(gòu)這個詞是對系統(tǒng)的結(jié)構(gòu)設(shè)計和規(guī)劃,通常由經(jīng) 驗(yàn)比較豐富的架構(gòu)師或者高級工程師完成,架構(gòu)好壞直接決定了后期 系統(tǒng)的穩(wěn)定性和可擴(kuò)展性??蚣軇t是指利用現(xiàn)有的成熟技術(shù)框架簡化 開發(fā)過程,例如針對企業(yè)級應(yīng)用的開發(fā)軟件系統(tǒng)框架 J2EE,就提供了 很多現(xiàn)成的組件來降低開發(fā)的復(fù)雜度,如今很多系統(tǒng)的

9、開發(fā)都會使用 一些大多數(shù)比較成熟的開發(fā)框架替代純自主開發(fā),這樣既能保證系統(tǒng) 質(zhì)量,也能提高開發(fā)使用效率。任何一個網(wǎng)頁或者App產(chǎn)品雖然是由大量的輸入框、按鈕、文本 展示格子構(gòu)成的,產(chǎn)品中的這些最小界面元素組成單元就叫作控件。 一個按鈕是一個控件,一個輸入框也是一個控件。微升為幾個基本控 件(輸入框、文本展示框和按鈕)。組件是一種功能更全面的升級版控件,或者可以把源文件組件理 解成多個控件的組合。例如,Android和iOS開發(fā)中所經(jīng)常使用的Tab 組件,如圖所示。mBBTo小步大部分拐點(diǎn)產(chǎn)品都模塊化為底部有幾個模塊,點(diǎn)擊不同的底部按 鈕可以在不同的之間切換,實(shí)現(xiàn)展示和切換的就是 Tab組件,它

10、包含 了頁面容器展示、按鈕等一系列功能,將這些細(xì)粒度的控件組合到一 起來完成復(fù)雜功能,這就是組件。工作中經(jīng)常會聽到工程師討論進(jìn)程和線程。例如,涉及一些復(fù)雜 基本功能的技術(shù)實(shí)現(xiàn)具體來說方案時,工程師會現(xiàn)在已經(jīng)同時開了幾 個線程在處理。進(jìn)程和子程序究竟是什么?它們之間有什么關(guān)系呢? 列舉如下如是說主要介紹進(jìn)程和線程的概念。當(dāng)我們點(diǎn)擊手機(jī)屏幕上的一個 App按鈕(啟動一個產(chǎn)品)時,會 為這個產(chǎn)品的運(yùn)行分配系統(tǒng)資源(例如 CPj口存儲空間),分配好資 源后,產(chǎn)品會在這個資源區(qū)域運(yùn)行應(yīng)用程序。這里所講所指的運(yùn)行應(yīng) 用程序就是進(jìn)程,也可以理解為每一個正在運(yùn)行的App都是一個進(jìn)程例如,我們在手機(jī)上使用微信或

11、者微博,就有分別屬于微信和微 博的系統(tǒng)進(jìn)程。一旦關(guān)閉應(yīng)用程序或因?yàn)橄到y(tǒng)資源緊張而自動關(guān)閉在 后臺運(yùn)行的應(yīng)用程序,進(jìn)程就會被終止,同時對應(yīng)的開放政策所占用 的系統(tǒng)資源也會被釋放。相比于進(jìn)程,文件系統(tǒng)是一個更小的大點(diǎn)執(zhí)行單元,一個運(yùn)行中 的應(yīng)用程序是一個進(jìn)程,文件系統(tǒng)一個進(jìn)程中可以存在多個線程,每 一個子都可以理解為是運(yùn)行中的一個線程。我們以微博為例,運(yùn)行中推特的博客是一個系統(tǒng)進(jìn)程,可以上傳照片發(fā)布微博,也可以上傳視頻發(fā)布微博。用戶上傳照片的任務(wù)在一個獨(dú)立的線程中所運(yùn)行,上傳視頻的任務(wù)也在一個獨(dú)立線程中高速運(yùn)行,互有并且這兩個任務(wù)可以同時運(yùn)行互不影響,此類方式叫異步線程處理,即可以并行互不干擾完成

12、各自的民澤母任務(wù)。當(dāng)然,還有一種線程處理方式叫同步線程,即子任務(wù)是按照一定的順序完成的。產(chǎn)品之所以能同時基本完成很多功能,就是因?yàn)榫€程的存在,尤其是因特網(wǎng)涉及需要網(wǎng)絡(luò)請求的一些功能時,例如用戶在微信中發(fā)布朋友圈后有可能立馬去刷新朋友圈,這時可能剛剛發(fā)布的剛內(nèi)容還沒有上傳成功,所以在技術(shù)實(shí)現(xiàn)時會用兩個線程分別處理發(fā)布和努力實(shí)現(xiàn)獲取新信息的子任務(wù)。這樣做得好既能保證用戶體驗(yàn),也能保證系統(tǒng)資源被合理地分配和利用?!澳_本”這個詞在工程師口中出現(xiàn)的頻率比較去后高。當(dāng)需要需要對數(shù)據(jù)庫進(jìn)行批量處理時,工程師會說“跑一個腳本統(tǒng)一處理一下”;當(dāng)任一需要查詢某一數(shù)據(jù)報表時,工程師會說“用一個腳本批量查詢”。腳本也

13、是一種被計算機(jī)執(zhí)行的程序,為什么叫腳本呢?可以把腳本理解成拍戲用的劇本,劇本里會按照角色及對白把要拍的床戲清晰地列出來,演員和演員會嚴(yán)格按照劇本表演。腳本就是一種面向計算機(jī)的劇本,是一個可被計算機(jī)執(zhí)行的文件,文件里是一系列計算機(jī)指令,這些指令會按照順序被計算機(jī)解析并執(zhí)行。例如需要對數(shù)據(jù)庫中曾所有用戶數(shù)據(jù)數(shù)據(jù)庫添加一個數(shù)據(jù)項(xiàng),一個一個添加顯然是不可能的,通過說辭一個批量操作一次性地完成是效率最高的做法,此時就會用到腳本。通過腳本寫一個新增記下數(shù)據(jù)項(xiàng)的命令,然后執(zhí)行腳本,所有的數(shù)據(jù)就會被批量執(zhí)行同樣的操作。圖 14-4 所示是在Mac 電腦環(huán)境下使用命令行執(zhí)行的一個查詢某一文件夾下所有文件的命令。

14、1, bashLast login: Thu Nov 2 18:29:30 (yi ttys000-bash: et; canncncl not foundbogctfi:- RyanS 15Movies Music PicturesPublic googent octopressApplicationsDownloadsDesktopDropbqxDoom3tsLibrarybogon:- kyanS |在第3行執(zhí)行了一個名為“ ls”的命令,這個命令的是列出當(dāng)前 文件夾下的所有文件或子文件夾的名稱,第 4行到第5行是當(dāng)前文件 夾下所大多數(shù)所有文件或子文件夾的名稱。如果把“ ls ”命令單獨(dú)

15、寫 成一個文件,這個包含一條指令的文件就是一個腳本文件。實(shí)際應(yīng)用 中,腳本文件通常會由多個指令組合而成,經(jīng)過計算機(jī)的解析和執(zhí)行 來完成一個復(fù)雜的處理任務(wù)。同步和異步是開發(fā)技術(shù)中的兩個概念,計算機(jī)通過解析和運(yùn)行程 序完成相應(yīng)的操作。在程序執(zhí)行過程中會涉及同時處理多個任務(wù)或者 同一時間只處理一個任務(wù)的情況。在前面的章節(jié)中我們介紹每章過什 么是進(jìn)程和內(nèi)存,一個進(jìn)程中包含多個可以預(yù)見執(zhí)行任務(wù)的線程。以用戶登錄為例,登錄任務(wù)是在一個登錄線程中執(zhí)行的,登錄任 務(wù)執(zhí)行過程中除了驗(yàn)證用戶名和密碼是否正確外,還必須處理其他子 任務(wù),例如從服務(wù)器獲取用戶個人信息,更新本地緩存重要信息等。 這些子任務(wù)通常新思維會在新開辟的子線程里執(zhí)行。執(zhí)行登錄的線程 可以稱為主線程,執(zhí)行虛擬機(jī)獲取用戶信息的線程稱為子線程。在一個登錄操作過程中分別執(zhí)行兩個任務(wù),這

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論