“2020 RT-Thread开发者大会” 思考感悟
從2019年開始參加RT-Thread的一次線下培訓活動后,就深深的喜歡上這個國產的RTOS,之后RT-Thread舉辦的活動基本都有參加(但每次活動抽獎都抽不到!)。當然,最為盛大的還屬一年一度的RT-Thread開發者大會,這里吸引了來自五湖四海的開發者,也匯聚了全國各地的技術大牛。在這里,只要你對技術有熱情就是自家人。每次參加完RT-Thread開發者大會不僅可以接觸到一些新技術長見識,更能在和其他開發者的交流中對自己學習碰到的問題有所啟發。
對于新接觸的技術學習:很多工程師都有個習慣,在接觸一種新技術時,喜歡從頭到尾自頂而下對這門技術了解之后才覺得掌握了,用起來才覺得踏實放心。這本身并沒有什么問題,搞清楚弄懂一門技術的實現原理對于做技術的人來說是一件非常有成就感的事情,也是技術人對于技術的極致追求。即不光能用,還希望能參加到這門技術的開發、升級、維護中去。這是我們長久的一種學習態度,但是作為初學者學習一門新技術,如此去學習會遇到很多問題!
一門技術的產生不會是一蹴而就的,是市場和技術相互推動發展的結果,是眾多的技術前輩付出大量的心血形成的一套知識體系,因此其涉及到的知識面會比較寬、比較龐雜。在學習技術時,我們可以順著技術發展的脈絡大概對其有個大致發展歷程的了解,然后再開始對其技術進行學習。
在學習時,不要一上來就從上到下逐層去看。比如剛學習RT-Thread準備用其實現多線程時,就從設備驅動框架開始逐層往底層去看,從內核看到線程調度,從C語言看到匯編,非得最終看到對寄存器的操作才放心(甚至還可以更往底層去看寄存器是如何實現的,編譯器是如何實現的,總之,要想真的深究下去是沒有盡頭的,非得一直學習到計算機產生之前都還不能算作結束)。這樣學起來很快我們就會發現力不從心,自己知道的太少,很容易打擊學習的熱情。我們可以使用項目驅動,先將這門技術用起來,在官方或者眾多開發者提供的軟件包上修修改改先實現功能,多折騰幾次。修改幾次就熟悉了起來,這時候再對之前已經熟悉的內容有針對性的深究,大概了解其實現原理,太細節的東西最好先不要去研究,等以后真的項目需要深度優化涉及到這些細節時再去看(理由有二:1、細節深究下去是個無底洞,看不到盡頭 2、細節涉及的東西很細小,看過后不久就會忘記,下次用時還是要從新看起)。針對這點舉個例子說明:
假使使用STM32芯片進行項目開發,芯片ROM空間為64KByte,產品初版開發后占用ROM總空間為40KByte,隨著后面幾個版本功能的升級迭代代碼占用空間逐漸變大,到最終發現代碼需要的存儲空間為72KByte已經大于芯片的ROM總空間64KByte。此時產品硬件已經定型,不可更改,不能通過增加外置FLASH實現程序的存儲,這時候就需要對程序占用空間進行優化。很自然的我們就會去查如何進行代碼空間的優化?到最后會在.map文件查看程序中各文件中定義的函數、全局變量等占用的RAM和ROM空間大小,通過.map文件中的這些信息進行代碼的優化。在費勁千辛萬苦,實際操作進行代碼空間優化后,最終將程序空間成功的優化到64KByte以內下載到STM32芯片中去。在這其中,因為項目需求推動我們去進行.map文件的研究,一步步操作中我們熟悉了.map文件,也收獲了代碼空間優化獲得的成就感,對于.map文件的理解會比較深入。相反如果在初版產品程序為40KByte的時候去研究.map文件,因為無代碼空間優化的需求可能只是大概的瀏覽一遍,理解不深很快就會忘記。
同樣是開發一個項目,有的人一上來就拿著軟件包在那修修改改,不管懂不懂,先跑起來再說,不懂得地方邊動手邊學習。而有的人,一拿到這個項目,發現網絡這塊不太懂,買本《圖解TCP/IP》開始看起來,看到一半發現太乏味了看不下去了,又繼續去搞項目,發現藍牙不太懂只是知道個概念,又網上搜了個藍牙教學視頻開始看,東一榔頭西一棒槌,這搞一下那搞一下,覺得自己這也不懂那也不懂,自信心受打擊開始懷疑自己的能力,懷疑人生。實際上,我們應該向那位動手先搞起來的人學習,不是鼓勵大家去不加思考就直接動手,謀而后動永遠都是沒錯的。但是如果謀的太多,以至于總覺得自己謀的不夠全面,要等到自己謀的完美后再開始行動,這種行為就是自縛手腳寸步難行。在做項目時,我們可以大致先捋一捋項目中需要的技術手段,對比自己的技術棧,涉及到新的技術先參照別人的設計實現自己所需的功能(如果技術太前沿沒有參考那還是需要自己去從頭摸索,有參考的就參考使用別人的設計,通過修改實現自己的功能后再去優化它或是重寫它,不要總是重復造輪子)。
花費大量的時間研究某種技術的細節會使自己成為這個技術領域的專家,但人的精力總是有限的,在初學時若將過多的精力投身于細節的研究會導致忽略掉整個技術的全貌,容易將自己局限在某個特定的領域內。對于新技術,一個比較合理的學習順序為:先從初次接觸使用它,到使用了很多次后熟悉它,再到研究它優化它。通過多接觸、多學習新的技術找到自己喜歡的領域,在該領域內追求技術的深度、深入研究,同時在廣泛學習其它領域的技術,追求技術的廣度,成為T字型人才。
T字型人才是指按知識結構區分出來的一種新型人才類型,就是“一專多能”,可以用字母“T”來表示他們的能力結構特點。
“—”表示有廣博的知識面,“|”表示知識的深度。T字這一橫,并非只限于知識面、知識結構,也是一種“橫向的跨界思考、整合資源的能力”。它不只是你所擁有的知識技能和知識儲備的多個方面,也是一種跨界整合的能力和習慣。兩者的結合,既有較深的專業知識,又有廣博的知識面。
?
?
總結
以上是生活随笔為你收集整理的“2020 RT-Thread开发者大会” 思考感悟的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 西南科技大学oj题66
- 下一篇: java随机产生十个坐标_java中随机