時間過得真快,依稀記得2018年春節......彷彿就在昨天......不管你願不願意,轉眼就過完年了。無論你是胖了八斤半,還是腰圍大了20厘米;不管跟高中女同學有多少話沒有說完,還是和初中發小多少球沒打完,收拾收拾,準備拖著行李箱返程開始寫程序賺錢養家糊口了。在學校的童鞋們還比較幸福,你們還有兩周假期...就可以見到自己的室友了。

當然,即使時間那麼血腥,歲月那麼殘忍;還是無法阻擋我們對開源的熱愛,本周開源周報繼續燃燒為你帶來 GitHub Trending 流行開源項目榜中榜開源趨勢 Top 10。最引人注目的就是一本前端面試寶典 ##,一本後端面試寶典# # ,雙雙入圍十大,包羅了面試中最常見的問題,和深思熟慮的回答,可謂「寶典在手,工作不愁」。(當然了,你的基本功技術得紮實...)。少年,看你天資聰穎,骨骼驚奇,百年百里難得一見的練武奇才,今日也算你我有緣,這套《如來神掌》上下冊,不對,《前端面試常見問題》和《後端面試常見問題》相贈,請你收好,不管是上地的大型IT企業,還是下地的小型農活,將來找工作的時候一定能派上用場,屆時請報上開源的大名!

除了這兩本江湖上叱吒風雲的兩本寶典,還有完全零依賴,自定義能夠替代JavaScript的彈出框 ##,既漂亮,反應又快;方便通過YAML/JSON 創建圖表的 # #,大名鼎鼎的開源軟體庫 Google #TensorFlow#,用 ANSI C 編寫的最小狀態立即模式圖形用戶界面工具包 ##, 可以通過第三方工具編譯成IOS, Android,應用程序,支持使用JavaScript 和TypeScript,開源HTML5遊戲框架  # #,用於感謝的 #Thanks# 項目,HTML5和JavaScript實現的音樂播放軟體 ##;還有,神秘的 #fman build system#。

 

本周流行開源項目榜中榜開源趨勢 Top 10

1.Front End Interview Handbook

幾乎完全可以回答「前端工作面試的問題」,你可以用來面試有能力的求職者,測試自己或者完全忽略。

與其他的軟體工程師相比,前端工程師面試時的問題更不注重於演算法,更注重複雜的知識和專業領域,而這些問題都很難在網上找到答案,這個問題集由此誕生。作者收集了這些問題的答案,讓它們在社區的支持下為大家服務,目前已有關於HTML,CSS和JS的問題集,並且還在繼續完善。

2.Back-End Developer Interview Questions

這是一個關於後端開發法人員訪問的問題集合。這個集合包括了一些後端面試問題,但不僅限於後端面試,因為它涵蓋的主題過於廣泛,沒有一個開發人員可能擁有如此廣泛的知識。

注意:

這個問題庫裡面大多數的問題都是開放式的,而且他們沒有正確的答案。相反,它們更應該作為一場對話的起點,希望能夠告訴你更多的信息,而不是直接得出答案。

所涵蓋的問題主題:

包括但不僅限於設計模式,代碼設計,語言,網路,資料庫,代碼版本,邏輯與演算法,軟體架構,甚至還有比爾蓋茨風格問題……

作者希望更多的後端開發者來貢獻回答,如果你對這些問題有不同的理解,歡迎隨時貢獻,將不勝感激。

3.SweetAlert2

這是一個界面漂亮,反應迅速,可自定義能夠替代JavaScript的彈出框。而且,它是零依賴的。

在JavaScript中

alert('You clicked the button!')

彈出框樣式:

使用SweetAlert2

swal(
  'Good job!',
  'You clicked the button!',
  'success'
)

彈出框樣式:

4.just-dashboard

just-dashboard能夠通過YAML/JSON 創建圖表

dashboard "Food":
  - h1 text: Food
  - h2 text: By caloric content
  - 3 columns:
	- rows:
  	- h3 text: Bananas
  	- pie chart: {
      	"columns": [
        	["Protein", 5], ["Sugar", 10], ["Other carbs", 40], ["Fat", 1]
      	]
    	}
	- rows:
  	- h3 text: Tofu
  	- pie chart: {
      	"columns": [
        	["Protein", 30], ["Sugar", 0], ["Other carbs", 40], ["Fat", 3]
      	]
  	  }
	- rows:
  	- h3 text: Peanut butter
  	- pie chart: {
      	"columns": [
        	["Protein", 20], ["Sugar", 2], ["Other carbs", 20], ["Fat", 50]
      	]
}

代表:

為了減少重複工作,可以用一個文件編寫模板,將數據存在另一個文件中,如:

{
  "Bananas": [["Protein", 5], ["Sugar", 10], ["Other carbs", 40], ["Fat", 1]],
  "Tofu" : [["Protein", 30], ["Sugar", 0], ["Other carbs", 40], ["Fat", 3]],
  "Peanut butter": [["Protein", 20], ["Sugar", 2], ["Other carbs", 20], ["Fat", 50]]
}

調用:

dashboard "Food":
  - h1 text: Food
  - h2 text: By caloric content
  - 3 columns:
	- attr:query: '[to_entries | .[] | {"component": "rows", "data": [
  	{"component": "text", "args": {"tagName": "h3"}, "data": .key},
  	{"component": "chart", "args": {"type": "pie"}, "data": {"columns": .value}}
	]}]'
	- data:

5.TensorFlow

 

TensorFlow 是一個使用數據流圖進行數值計算的開源軟體庫。數據流圖中的節點代表數學運算, 而圖中的邊則代表在這些節點之間傳遞的多維數組(張量)。這種靈活的架構可讓您使用一個 API 將計算工作部署到桌面設備、伺服器或者移動設備中的一個或多個 CPU 或 GPU。

TensorFlow 最初是由 Google 機器智能研究部門的 Google Brain 團隊中的研究人員和工程師開發的,用於進行機器學習和深度神經網路研究, 但它是一個非常基礎的系統,因此也可以應用於眾多其他領域。

斯坦福大學tensorflow教程:https://web.stanford.edu/class/cs20si/

Udacity上的TensorFlow MOOC: https://cn.udacity.com/course/deep-learning--ud730

6.Nuklear

這是一個最小狀態立即模式圖形用戶界面工具包,用ANSI C編寫,並在公共領域獲得許可。它被設計為一個簡單的嵌入式應用程序用戶界面,沒有任何依賴項,默認渲染後端或操作系統窗口和輸入處理,實際上是提供了一種非常模塊化的庫方法,通過使用簡單的輸入狀態輸入和繪製命令描述原始形狀為輸出。因此,它不是提供一個試圖抽象多個平台並渲染後端的分層庫,它只關注實際的UI。

特徵:

即時模式圖形用戶界面工具包

Single header library

用C89編寫(ANSI C)

小代碼庫(〜18kLOC)

關注可移植性,效率和簡單性

沒有依賴關係(甚至不需要標準庫)

完全skinnable和可定製

如果需要或需要,可以使用全內存控制的低內存佔用量

UTF-8支持

沒有全局或隱藏狀態

可定製的庫模塊

可選字體烘焙器和頂點緩衝區輸出文檔

7.Phaser

一個快速的開源HTML5遊戲框架,可以通過第三方工具編譯成IOS, Android,應用程序,支持使用JavaScript 和TypeScript,目前由Photon Storm進行開發維護

感興趣的可參考以下鏈接:

官方網站:https://phaser.io/

官方推特:https://twitter.com/phaser_

API 文檔:https://phaser.io/docs/2.6.2/index

論壇:http://www.html5gamedevs.com/forum/14-phaser/

Stackoverflow頁面:https://stackoverflow.com/questions/tagged/phaser-framework

示例代碼:https://labs.phaser.io/

8.Thanks

「把你的錢放在你的愛的地方.」感恩之人如是說。

Thanks是一個基於js的項目,其目的是提供網路上開源項目開發及維護者者的名單。

「開源維護人員的工作使我們的應用程序,網站和項目成為可能,許多作者花費無數小時來開源。讓我們來幫助作者,讓我們中意的軟體能健康發展。」這是項目發起者的初衷。

如果你是需要幫助與支持的開源作者,你也當然也可以拉取請求將自己添加到CLI中。

本項目持有麻省理工學院的License。

9.winamp2-js

winamp2-js幫助我們實現在HTML5和JavaScript上使用Winamp 2.9(音樂播放軟體),它可以在Edge, Firefox, Safari and Chrome的近代的版本上運行

優勢:

  • 你的皮膚文件也弄過來了,所以你可以在瀏覽器上使用你喜歡的Winamp 2的皮膚
  • 示波鏡和波譜都是可視化的
  • 有熱鍵
  • 窗口是原來的兩倍大

10.fman build system

跨平台的桌面應用程序有很多工作要做:

將應用程序打包到一個獨立的可執行文件中並不是微不足道的。

創建安裝程序是單調乏味的。

代碼簽名是一個麻煩,但必須避免操作系統警告「不可信的應用程序」。

自動更新是一種痛苦。

更糟糕的是,上述問題的大多數解決方案都是特定於平台的。所以你必須為Mac創建一個安裝程序,一個用於Windows等。

近年來,電子技術作為創建跨平台桌面應用程序的技術而備受關注。問題是,它是非常資源密集型的,它的性能對於許多用例來說還不夠好。

電子的另一種選擇是qt。它已經存在了很多年,而且比電子要快得多。QT是用C++寫的,但可用於其他語言的綁定。Python的一個流行的選擇是PyQt。

該項目地址寫的PyQt應用上述問題。它開放源代碼,原是為跨平台的文件管理器fman寫。通過將現場測試解決方案打包到一個內聚的包中,這個項目允許您在幾分鐘內創建跨平台的桌面應用程序,而不是幾個月。

 

這個項目是在GPL下獲得許可的。簡單來說,這意味著您可以在開放源碼項目中免費使用,這些項目也是在GPL下獲得許可的。另一方面,如果您希望將項目用於一個您不想打開源代碼的專有應用程序,那麼您需要一個商業許可證。一個開發商的價格目前是99歐元。一年的更新包括在內。

好了,以上就是本周開源周報的內容了,新的一年,祝福所有的朋友狗年大吉,新年旺旺,福旺財旺運道旺,早日告別單身狗,未來還有很多美好的事情值得去探索。