初識開源


1.基本情況

1.1什么是開源

以手機操作系統為例。ios是閉源的,安卓就是開源的,區別在於源代碼是否是公開的。開源不等於免費,在現有某些情況下,使用開源的代碼,需要遵守開源協議里的條款。該協議類似“君子協定”,但場內大玩家基本都遵守,秩序比混亂更有利於發展。雖然開源不一定免費,但開源一定透明,能增加“信任”,信任體現在兩方面,一是防范外部危機(凝聚集體智慧的代碼更具有健壯性),二是服務提供方沒有有意收集我的信息(留后門)。最開始重點在共享(在網上發布),后來重點更進一步,轉移到了協作上。可以看作最開始是單純的共享信息,現在是在共享信息的基礎上,更好地協作。

思考點:在github上,開源項目歸發布者所有,其他contributer(貢獻者),為何願意貢獻,如何改良這個模式,良性循環,使貢獻者也能得到收益?

1.2.為什么要開源

開源對個人地意義:鍛煉技術,炫技

創新工作的目的:降低門檻;提高工作效率

要做一件事,

  • 首先要明確目的是什么?也就是問題是什么?
  • 其次,要有相關的信息
  • 再使用決策模型處理相關信息,
  • 最后得到最終結果

其中,如何解決可以封裝成黑盒,輸入問題和信息,輸出解決方案。

開源級服務和企業級服務

1.3.開源協議

MIT和阿帕奇協議(完全開放協議)

GPL協議(強制使用者開源協議)

1.4.為什么大廠在搞開源

通過開放代碼,從而建立生態,將生態中其他開發者的代碼連接到提高的服務上,服務是可以收費的。基於開源服務的代碼誰都可以賣,大廠的自信基於兩點:一是軟實力,技術實力,資金實力,二是硬實力,強制某些代碼更適配自身硬件,從而獲得競爭優勢。

兩種思路:1,技術是護城河,因此要保護源碼 2.放棄壟斷,開放生態,依靠生態賣服務

2.如何學習開源

2.1開源項目下載

優先使用碼雲,github下載會慢一點

下載后解壓,先不着急運行

觀察:

  1. 用了哪些技術
  2. 是否有數據庫
  3. 你的環境是否匹配

通過了,再考慮運行

2.2、跑起來

1.安裝數據庫,執行SQL

2.前端依賴安裝

3.后端項目導入

4.等待所有的成功,啟動后端項目:只要發現了Swagger,跑起來的第一步就是先進入Swagger- ui 頁面,這里都是接口

進而查看配置文件,默認端口等,有哪些配置需要改為自己的項目和環境地址

前端就是安裝依賴,啟動測試運行,看接口是否正常

2.3、前后端分離項目於的固定套路

1.從前端開始分析。打開控制台,點一個接口,分析調用關系

2.前后端端口調用不一致 8013 -- 8000,

  • 封裝了接口請求 ajax  axios
  • 找到配置
  • 前后端分離項目的重點:找到接口的調用關系
  • Springboot 提供服務,前端調用接口,vue 負責渲染頁面。
  • 前端項目固定套路

 

  •  通過抓取前端的請求,找到后端對應的接口
  • 后端分析:Controller -- Service -- Dao
  • 接下來分析如何渲染,vue標准套路

 

2.4、如何找到一個好的開源項目

1. 找分類

2.看收藏

3.看具有價值

4.根據自身的理解情況去看


免責聲明!

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



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