實習期間問題總結


主要針對實習期間,接觸的部分問題進行總結,后續會不間斷的補充,作為實習期間的回顧。

1,git ,github和gitlab的關系

git 是一個版本控制工具,github是一個用git做版本控制的項目托管平台,他是一個網站,提供給用戶空間創建git倉庫,保存用戶的一些數據文檔或代碼等。gitlab是基於git的項目管理軟件,gitlab是一個用於倉庫管理系統的開源項目,使用git作為代碼管理工具,並在此基礎上搭建起來的web服務。三者都是基於git的,可以說是git的衍生品。

2,關於SSH密鑰

   ssh是一種安全的傳輸模式,github要求推送代碼的用戶是合法的,所以每次推送時候都要輸入賬號密碼,用以驗證你是否為合法用戶,為了省去每次都要輸入密碼的步驟,所以采用ssh保證安全傳輸。

3,為什么駝峰命名法定義組件名 例如:MyComponentName)時,引用形式卻是短橫線分隔命名,他們的區別?

   因為vue.js組件中的Prop中特性名大小寫不敏感,所以瀏覽器會把所有大寫字符解釋為小寫字符。而在DOM 中對大小寫是敏感的,這意味着當你使用 DOM 中的模板時,camelCase (駝峰命名法) 的 prop 名需要使用其等價的 kebab-case (短橫線分隔命名) 命名。

4,if 語句后面的分號,為什么要加分號,為什么不加分號?

    if的語法是這樣的:if ( ) 后面必須跟着一條語句,作為if的執行語句。執行語句后面自然會有分號,這分號同時作為 if 語句的結束標志。但是也可以讓 if 執行多條語句,這就需要將多條語句用 { } 括起來,形成語句塊,語句塊會被視為“一條語句”,所以如果 if 后面有用大括號括起來的語句塊的話,就不用再加上結尾的分號了,結尾大括號就標志了 if 語句的結束。if();  后面的語句是空語句時,就需要加分號;若是if()  s=b;這種形式 分號就在s=b后面了。

5,vue組件中定義的屬性放datacomputed里的區別是什么? 

   data 對象的屬性值發生改變時,視圖將會產生,即匹配更新新的。當些數據改變時視圖行重渲染。得注意的是只有當例被時,在 data 中存在的屬性才是的。

    對於computed而言,對於任何復雜邏輯,都應當使計算屬計算屬性更易於測試和理解,而且算屬性基於它們的依賴進行緩存的,只有在它的相關依賴發生改變時才會重新求
6,node.js中的事件驅動,什么是事件驅動?
事件驅動編程(Evnet-driven programming)是一種編程風格,由事件來決定程序的執行流程,事件由事件處理器(event handler)或事件回調(event callback)來處理,事件回調是當某個特定事件發生時被調用的函數,比如數據庫返回了查詢結果或者用戶單擊了一個按鈕。當你感興趣的事件發生時會調用你定義的函數,而不是簡單的返回結果值,這種編程模型就叫事件驅動編程或異步編程,這是Node一個最明顯的特性,這種編程模型意味着當前進程在執行I/O操作時不會被阻塞。

事件驅動編程底層依賴於事件循環(event loop),事件循環基本上是事件檢測和事件處理器觸發這兩種函數不斷循環調用的一個結構。在每次循環里,事件循環機制需要檢測發生了哪些事件,當事件發生時,它找到對應的回調函數並調用它。(https://www.jb51.net/article/53812.htm)

事件循環只是運行在進程內的一個線程,當事件發生時,事件處理器可以單獨運行並且不會被中斷,也就是說:

1.在某個特定時刻最多有一個事件回調函數運行
2.任何事件處理器運行時都不會被中斷

 

事件循環:1,node平台將一個事件任務連同該任務的回調函數放到一個事件循環系統中;2,事件循環系統高效的管理系統線程池同時高效執行每一個任務(耗時間的任務,即阻塞操作);3,當然任務執行完成過后自動執行回調函數。

總結:node中將所有的阻塞操作都交給了內部實現的線程池,node本身主線程主要就是不斷的往返調度。

(也可參考相關鏈接,講的挺好:https://zhuanlan.zhihu.com/p/33058983   http://www.ruanyifeng.com/blog/2014/10/event-loop.html)

7,閉包

閉包可以理解為一個特殊的函數,但是它可以繼承並訪問它自身被定義的那個作用域里的變量。當你將一個回調函數作為參數傳遞給另外一個函數時,它稍候會被調用,神奇的是,這個回調函數被稍候調用時,它居然記住了它自身定義所在的那個上下文以及父上下文里的變量,而且還可以正常訪問它們。 

待更新中。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM