網(wǎng)絡(luò)時(shí)代寧河小程序開發(fā)文檔,獲取信息寧河小程序開發(fā)文檔的渠道變寧河小程序開發(fā)文檔的更多,也更便捷。然而在汪洋如海的知識(shí)里,如何能找到自己的方向,這需要一些技巧。
新的技術(shù),往往是之前的一些技術(shù),發(fā)生了一些突破,創(chuàng)新后變成了一種新的概念,描述,然而本質(zhì)不會(huì)改變,我們要找尋的便是,通過網(wǎng)絡(luò)零散的知識(shí),如何快速形成自己的學(xué)習(xí)計(jì)劃。
很多人遇到新的知識(shí),總是顯得焦慮、不得章法,導(dǎo)致迷?;艁y,反反復(fù)復(fù)地沒啥進(jìn)展,時(shí)間成本很大,卻收效甚微。究其原因,在于沒得思路,不知該如何去學(xué)習(xí)。
一個(gè)新的知識(shí)出來,首先要看的是它是什么,它能做什么,對(duì)你而言你是要致力于這個(gè)方向,還是只是淺嘗輒止?每個(gè)人的精力有限,有時(shí)要學(xué)會(huì)借力打力,見招拆招。而不是自己奮力先自行修煉,認(rèn)為自己可以出山,才出關(guān)道士下山。
如今知識(shí)爆炸時(shí)代,如果門門都去掌握,肯定是不現(xiàn)實(shí)的。如此就要去關(guān)注自己感興趣的方向,然后深入將核心掌握,然后抽離出來模型,放入實(shí)踐中進(jìn)行驗(yàn)證,完成自己的一套知識(shí)體系。
舉個(gè)例子,手機(jī)系統(tǒng),拋開其他先做一個(gè)模型,手機(jī)組成為硬件,驅(qū)動(dòng),軟件。經(jīng)歷過單片機(jī),嵌入式開發(fā)版的人來說,拿到一些板子,外接一個(gè)LCD,然后自己去照著手冊(cè),編寫驅(qū)動(dòng)程序,封裝一些接口,讓做應(yīng)用軟件的人員,直接使用調(diào)試好的這些接口,來完成功能實(shí)現(xiàn)。
當(dāng)開發(fā)復(fù)雜的應(yīng)用時(shí),要做多任務(wù),但顯示界面沒有一套UI庫(kù),于是開始找開源的系統(tǒng),比如μC/OS II 和uclinux等一系列的系統(tǒng)便涌了出來,解決任務(wù),進(jìn)程創(chuàng)建,調(diào)度現(xiàn)場(chǎng)保護(hù)等等,讓我們可以快速使用多任務(wù)而不用關(guān)注太多細(xì)節(jié);多進(jìn)程,完成更加復(fù)雜的事情,界面控件,響應(yīng),再借助別的GUI系統(tǒng),比如wxwidget和 qt等等來完成搭建我們的界面庫(kù),將其移植過來配合我們的系統(tǒng),來實(shí)現(xiàn)繪制,響應(yīng)。
關(guān)于操作系統(tǒng),GUI的內(nèi)部實(shí)現(xiàn),我們可以不必深究,但必須了解其機(jī)理和懂得操作系統(tǒng)的大致實(shí)現(xiàn)進(jìn)程的方式,比如構(gòu)造一個(gè)PCB表,構(gòu)造堆??丶?,線程切換保護(hù)現(xiàn)場(chǎng)模式。要能夠自己打通,形成自己的一套概念。
技術(shù)千變?nèi)f化,卻萬變不離其宗。腳本語言出現(xiàn)了那么多,實(shí)質(zhì)還是一個(gè)解析器。按照約定,去讀取解析然后執(zhí)行。然后我們把這個(gè)約定叫做語法,把解析叫做語法分析。將很多東西進(jìn)行一句話總結(jié)。一句話模型,是自己先對(duì)某個(gè)知識(shí),形成一個(gè)簡(jiǎn)單的概念,然后順著這個(gè)方向,去細(xì)化知識(shí),理解實(shí)現(xiàn)原理,然后回過頭來,加深一句話的總結(jié),做到心中有數(shù)。
在剛接觸一個(gè)新的知識(shí)的時(shí)候,首先要做的是,搜索概念,了解它是干嘛的,然后去看下大家都用它在做什么。然后看下它是否能解決你的訴求。距離SDL框架來說,第一件事便是了解,它主要解決什么?它主要解決圖片的渲染,就是如何將一幀畫面顯示在各個(gè)平臺(tái)。用它來做個(gè)圖庫(kù)肯定是可行的。想用它播放視頻,既然它就是圖片顯示,那視頻解碼出來就是一幀圖片,如果借助其他的庫(kù)將視頻解碼出來,拿過來讓SDL去顯示,就可以播放視頻了。于是就找到了ffmpeg+SDL組合來完成視頻播放器。
那么它做游戲可以嗎?可以。想做復(fù)雜的,比如有地圖文件,物理碰撞,粒子炸彈效果,界面GUI,我們發(fā)現(xiàn)SDL本身沒有,所以要用它就需要移植。有人會(huì)說,何必呢?有一些現(xiàn)成的游戲引擎,支持的很好了。比如cocos2d和libgdx,開發(fā)游戲來說更加方便,快捷。確實(shí)如此,那么我們用SDL的意義在哪呢?其實(shí)SDL要做的很簡(jiǎn)單,比如你開發(fā)了一個(gè)游戲,比如之前是在一個(gè)特定顯示器的,然后自己想移植到PC上或者ios或者android來玩,那么你要做的就是事件匹配,觸摸匹配,以及繪制匹配,而這些SDL已經(jīng)幫你做好了,你就可以參照SDL的官方文檔將游戲移植過來了。
回到主題,我們?cè)趺纯焖俚恼莆找粋€(gè)新的知識(shí)呢?
首先,官網(wǎng)介紹。官網(wǎng)會(huì)將它的用途講解出來。這個(gè)概念,你要快速形成模型來決定是否需要學(xué)習(xí),短時(shí)間內(nèi)是否能夠掌握。不必勉強(qiáng)不擅長(zhǎng)的一味逞強(qiáng)去學(xué)習(xí),到頭來自己迷茫,也沒啥收獲。比如學(xué)習(xí)手寫識(shí)別,做過一些demo,但是識(shí)別率比較低,而自己嘗試了下,發(fā)現(xiàn)這個(gè)領(lǐng)域,自己是沒法短期突破,因?yàn)椴恢悸?,所以就要退出,說明這個(gè)方向不適合自己,就不要瞎去研究。當(dāng)然,如果你有的是時(shí)間、須要研究,那就另當(dāng)別論了。
從開始的技術(shù)流,看到什么都去學(xué)下,導(dǎo)致很多東西都是略知皮毛,導(dǎo)致都沒深度,沒有深度,意味著沒有競(jìng)爭(zhēng)優(yōu)勢(shì)。某個(gè)方向,發(fā)展成自己的優(yōu)勢(shì),尤為重要。技術(shù)流是做技術(shù)的核心競(jìng)爭(zhēng),但不可太過零散,要做到收放自如,哪些必須掌握,哪些可以一筆帶過,哪些需要研究一番,抓住主干,切不了細(xì)枝末節(jié)都牢牢抓住。當(dāng)然,如果就是專攻此方向,那就另說。
學(xué)會(huì)整理、鑒別、快速搜尋答案。比如開發(fā)應(yīng)用第三方庫(kù),網(wǎng)上有很多對(duì)比,MPchart和hellochart,但hellochart比較簡(jiǎn)單,并且它能解決訴求,于是就嘗試快速上手了。但開發(fā)完城后,使用時(shí)發(fā)現(xiàn)做的很多地方比較死板,讓開發(fā)的人員用起來比較別扭,這個(gè)就是時(shí)間問題了。如果覺得自己是長(zhǎng)線要做圖表的,那就每個(gè)都看看,找到更適合自己的為止。
很多開源的都是需要簡(jiǎn)單調(diào)試的,于是快速找出可以使用的為止,調(diào)整小的問題,需要有能力閱讀代碼完成修改。例如說greendao,一個(gè)非常好用的三方數(shù)據(jù)庫(kù)方案,在使用的時(shí)候發(fā)現(xiàn)不能創(chuàng)建兩個(gè)實(shí)例,也就是不能有兩個(gè)db文件被創(chuàng)建,有很多人開發(fā),想賬戶和應(yīng)用數(shù)據(jù)想獨(dú)立存儲(chǔ),放在兩個(gè)db里面,那么可以確定greendao做不到,因?yàn)樗膯卫J讲辉试S,它的很多內(nèi)容用了一個(gè)全局變量。想做成兩個(gè)db請(qǐng)換其他開源庫(kù),如果不是必須要兩個(gè)db,那可以做兩個(gè)table來解決此問題。
要有能力解決問題,開源庫(kù)會(huì)磨煉技術(shù),提升定位,以及修改問題的能力。
看完官網(wǎng)的介紹,覺得滿足自己的需求,那么就可以繼續(xù)閱讀,主要看下它的wiki或者示例、效果。自己搭建環(huán)境調(diào)試,看下是否能夠完成,如果過程中發(fā)現(xiàn)不是太好,就需要重新去找別的項(xiàng)目,不需在此過多糾結(jié)。
學(xué)完demo發(fā)現(xiàn)適合,那就研究下它的基本開發(fā)套路,能夠形成一個(gè)簡(jiǎn)單輪廓,向自己的目標(biāo)靠近。如果途中出現(xiàn)問題,要能夠從它的文檔中找出問題點(diǎn),當(dāng)然首先先百度,google搜索,去甄別答案。
如果找到一個(gè)開源項(xiàng)目,發(fā)現(xiàn)有些功能受限,比如glide,客制化時(shí)發(fā)現(xiàn)它的加載圖片功能不夠,于是需要研究代碼。
閱讀代碼,最好是帶著一個(gè)問題去閱讀,比如某個(gè)方法,我想擴(kuò)展下,覺得它的返回,或者回調(diào)里面信息不夠,然后去追蹤,分析,定位。這里需要強(qiáng)調(diào)的一點(diǎn)是,不要盲目一路去追代碼,學(xué)會(huì)總結(jié),不要被一些細(xì)枝末節(jié)的代碼導(dǎo)致迷失方向,比如一個(gè)方法就是比較一個(gè)點(diǎn)是否在矩形區(qū)域內(nèi),如果不是必須研究算法,那么我們就只關(guān)注這個(gè)返回值的判斷地方。對(duì)于有些宏,case項(xiàng),可以看看枚舉值,對(duì)于理解會(huì)有所幫助;播放一個(gè)音頻文件,發(fā)現(xiàn)有個(gè)case有一個(gè)枚舉,TYPE_MP3 那么就可以去看看這個(gè)都有哪些枚舉,就能知道這里都支持哪些格式的播放;如果有些枚舉上有個(gè)宏控,那就知道這個(gè)功能是需要配置,有可能沒有開啟。
代碼閱讀的技巧太多,甚至每個(gè)人自成一套,只要努力去閱讀,失敗后總結(jié),便會(huì)有自己的一套學(xué)習(xí)方法。
學(xué)習(xí)完后,做了demo,文檔看了一堆,終于解決了問題。于是就可以很歡快的將它納入自己的知識(shí)貯備。但如果這個(gè)項(xiàng)目后續(xù)會(huì)多次使用,那么要研究它便是遲早的事情了。需要花費(fèi)大量的時(shí)間,快速整理出來學(xué)習(xí)思路,照它的demo,跟蹤代碼,理解,掌握。然后能夠打通,同時(shí)不會(huì)陷入細(xì)節(jié)里面。
到這里已經(jīng)完成了新的技術(shù)的認(rèn)識(shí),后續(xù)便是是否想繼續(xù)挖掘,學(xué)習(xí),那就要不斷的穿梭在代碼,文檔之間,同時(shí)借助搜索引擎來掃除理解的一些障礙。
例如需要理解一些android的概念,linux操作系統(tǒng),虛擬機(jī),surfaceflinger,AMS服務(wù),binder通信機(jī)制,以及jni等等,概念先行,會(huì)將整體框架搭建起來,了解自己將來的的學(xué)習(xí)軌跡,并能夠知道自己當(dāng)前走到哪里了,是否還需要繼續(xù)。再例如view.post,我們學(xué)到message.post則可以結(jié)束了,同時(shí)需要貫穿一下放入消息池中,從哪里取出,消費(fèi)的。也就是handle message 和looper的關(guān)系。
思考,總是需要有所突破。不能每次都沉浸在別人研究的結(jié)論上,在別人的結(jié)論上,繼續(xù)深入挖掘,才能變成自己的獨(dú)特的見解,比別人多走一步,有自己的總結(jié),以及更深更透徹的理解,這才是真正的收獲。
當(dāng)經(jīng)歷了數(shù)次語言的演變,就能透徹的理解演變的背后,往往跟隨著科技的進(jìn)步。從之前的斤斤計(jì)較,對(duì)于內(nèi)存,硬盤,以及堆棧區(qū)域大小,跳轉(zhuǎn)空間限制等等,到現(xiàn)在不需太多關(guān)注,編譯器優(yōu)化,已經(jīng)能夠做更加高效便捷了。
追求效率和品質(zhì),永遠(yuǎn)是在制衡,到達(dá)一個(gè)平衡即可,切勿過度導(dǎo)致顧此失彼得不償失。現(xiàn)在的開發(fā),若非實(shí)時(shí)要求非常嚴(yán)格,必須精準(zhǔn)的計(jì)算執(zhí)行時(shí)間,平時(shí)開發(fā)基本對(duì)于效率不會(huì)過度追求,對(duì)于計(jì)算排序算法不會(huì)太過較真,只為在容忍的時(shí)間內(nèi)解決問題即可。
學(xué)習(xí),在于有目標(biāo)和有技巧地去掌握。有計(jì)劃學(xué)習(xí)并找到自己喜歡的課題時(shí),請(qǐng)牢記深入學(xué)習(xí)。如果自己不喜歡,卻比較流行,那就學(xué)個(gè)demo了解背景,做到知曉即可。
開發(fā)應(yīng)用,很多時(shí)候不做研究,拿來即可合入項(xiàng)目。如果是偶然開發(fā),風(fēng)險(xiǎn)可以稍后推延,做到大致心中有數(shù);如果是長(zhǎng)線開發(fā),比如公司,團(tuán)體,那么初次使用,可以不做過多計(jì)較。如果第二次繼續(xù)使用,則需要注意,我們需要研究下代碼評(píng)估風(fēng)險(xiǎn),做到心中有數(shù),對(duì)于開源庫(kù)的優(yōu)點(diǎn)、缺點(diǎn)、適合場(chǎng)景等等做出基本判斷。
學(xué)習(xí)永無盡頭,能有一套自成體系的學(xué)習(xí)方法,比之熟練掌握幾種語法,要有優(yōu)勢(shì)的多。因?yàn)橹R(shí)不斷在迭代更新,手握自己的漸變陳舊的技術(shù),卻無力快速適應(yīng)新的知識(shí)體系,理論,那么,技術(shù)革新的車輪,則會(huì)毫無情面的碾過你,連同你所經(jīng)歷的歲月。
相關(guān)文章
- 1網(wǎng)站建設(shè)新聞背景圖片大全(網(wǎng)站建設(shè)新聞背景圖片大全素材)
- 2鄂州開發(fā)小程序軟件(鄂州開發(fā)小程序軟件公司)
- 3繁昌微型網(wǎng)站建設(shè)(繁昌微型網(wǎng)站建設(shè)公司)
- 4皮皮麻將互聯(lián)網(wǎng)新聞(湖北皮皮麻將下載官網(wǎng))
- 5互聯(lián)網(wǎng)新聞平臺(tái)法律(依法取得的互聯(lián)網(wǎng)新聞信息)
- 6互聯(lián)網(wǎng)新聞研究中心崔俊飛(互聯(lián)網(wǎng)新聞研究中心崔俊飛主任)
- 7包含ir網(wǎng)站建設(shè)的詞條
- 8衡水旅游小程序開發(fā)(衡水旅游小程序開發(fā)招聘)
- 9廣告網(wǎng)站建設(shè)網(wǎng)站優(yōu)化(廣告網(wǎng)站建設(shè)網(wǎng)站優(yōu)化方案)
- 10網(wǎng)站建設(shè)運(yùn)營(yíng)助理(網(wǎng)站建設(shè)運(yùn)營(yíng)助理崗位職責(zé))
聯(lián)絡(luò)方式:
電話:131 0763 2710

-
小程序制作開發(fā)企業(yè)排名(小程序開發(fā)公司哪家好,戳這里免費(fèi)報(bào)價(jià)!)
1、其實(shí)小程序制作開發(fā)企業(yè)排名,現(xiàn)在能做小程序的公司還是很多的小程序制作開發(fā)企業(yè)排名,排行榜之類的東西各個(gè)地區(qū)的也不太一樣小程序制作開發(fā)企業(yè)排名,所以在做小程序的時(shí)候...
-
互聯(lián)網(wǎng)公司大新聞(互聯(lián)網(wǎng)公司新聞app)
你說的這個(gè)東西,并不存在,之前有新聞爆料“借未來世界首富名義發(fā)售原始股 云數(shù)貿(mào)涉詐騙”,不能輕易相信,現(xiàn)在詐騙手段那么強(qiáng)大互聯(lián)網(wǎng)公司大新聞;未來30年數(shù)據(jù)將成為生產(chǎn)資料,計(jì)算...
-
互聯(lián)網(wǎng)中的新聞?shì)浾撌鞘裁?互聯(lián)網(wǎng)中的新聞?shì)浾撌鞘裁匆馑?
網(wǎng)絡(luò)輿論,又稱網(wǎng)絡(luò)輿情,是指在互聯(lián)網(wǎng)上流行的對(duì)社會(huì)問題不同看法,是社會(huì)輿論的一種表現(xiàn)形式,是通過互聯(lián)網(wǎng)傳播的公眾對(duì)現(xiàn)實(shí)生活中某些熱點(diǎn)焦點(diǎn)問題所持的有較強(qiáng)影響力傾向性的言...
-
微信小程序開發(fā)者權(quán)限(小程序開發(fā)者權(quán)限有什么用)
網(wǎng)絡(luò)不好根據(jù)查詢微信小程序官方網(wǎng)站得知,微信小程序開發(fā)者權(quán)限不能支付是網(wǎng)絡(luò)不好,微信是一款跨平臺(tái)微信小程序開發(fā)者權(quán)限的通訊工具,支持單人多人參與通過手機(jī)網(wǎng)絡(luò)發(fā)送語音圖...
-
包含網(wǎng)站建設(shè).龍兵科技的詞條
成都網(wǎng)站建設(shè)有成都建站有限公司成都網(wǎng)絡(luò)公司嘻嘻網(wǎng)絡(luò)科技創(chuàng)企科技龍兵科技等1成都建站有限公司 成都網(wǎng)站設(shè)計(jì)科技有限公司主要從事網(wǎng)站設(shè)計(jì)網(wǎng)站建設(shè)網(wǎng)站制作網(wǎng)站開發(fā)企業(yè)建...