fbpx

Soft & Share 開源報報 153 – 一個交通模擬遊戲,探索道路的微小變化是如何影響騎腳踏車者、交通使用者、行人和司機的行為

這是 Soft & Share 為訂閱會員所推出的服務,小編週一到週五會每天整理一篇開源專案的摘要說明整理 (早上 8 點前會發佈在 Soft & Share 網站 ) ,讓你可以利用上班前快速掌握目前開源專案的焦點。( 之前出版的開源報報 )

為什麼需要 Soft & Share 開源報報?

每天快速瀏覽開源報報具備有什麼效益?

  1. 增加自己的學習動力,提升自己的視野
  2. 從開源專案中獲得 side project 靈感與想法
  3. 利用開源專案提升自己的生產力

每天使用 NT8.3 元,你可以使用 Soft & Share 開源報報省下掌握每天開源資訊焦點的時間,這是一個很划算的時間槓桿投資

訂閱網址

今日內容摘要

✅ 一步一步理解 Docker ,初學者的學習指南
✅ 使用 Go 實現一個 Docker :透過艱苦的方式學習容器以及運作的原理
✅ 如何學習程式設計的 OKRs 目標管理
✅ 用於在 QEMU 中設定簡單 macOS VM 的文件說明
✅ 在歷史版本的瀏覽器瀏覽現代的網頁的瀏覽器服務
✅ 自動揭露專案程式庫可用程式碼片段的 VS Code 外掛
✅ 簡單,隱私權友善可取代 Google Analytics
✅ 專門為 vue 打造的開發利器,其目的是使 vue 專案的開發更加簡單和快速
✅ 支援 React/Vue 的開源網頁心智地圖核心
✅ 使用 MERN 堆疊仿製一個 Instagram
✅ 在 NodeJS / Go 中使用 p2p 網路快速建構微服務
✅ 一個視覺化 React 應用程式的結構和狀態流的元件
✅ 使用 Julia 程式語言做 Deepmind 的 AlphaZero 演算法的通用、簡單、快速實現
✅ 互動式機器學習實驗,模型訓練和模型展示
✅ 允許你不需要使用命令列工具修改 nginx 配置檔案的 Nginx 使用者介面工具
✅ Android 滲透測試學習材料與資源
✅ 一個 iOS 的剪貼簿管理器,可以在後台無限期地監控你的剪貼簿—- 不需要越獄
✅ 一個交通模擬遊戲,探索道路的微小變化是如何影響騎腳踏車者、交通使用者、行人和司機的行為

開源報報內容

學習資源

一步一步理解 Docker ,初學者的學習指南

這位開發者分享了他是如何學習 Docker 並寫成了初學者的學習指南


使用 Go 實現一個 Docker :透過艱苦的方式學習容器以及運作的原理

Gocker 是在 Go 程式語言中從 Docker 的核心功能開始的一個實現。 這裡的主要目的是提供一個理解容器在 Linux 系統呼叫層級上是如何運作的。 Gocker 允許你建立容器、管理容器映像、在現有容器中執行行程( process )等。


如何學習程式設計的 OKRs 目標管理

這個 GitHub 知識庫包含了開發者 Sophia 如何開始學習軟體工的自學計劃的許多資源。她採用的是當下很流行的 OKRs 目標管理,可以參考她是如何制定 OKRs

OKRs 的方法適用於任何想要建立一個雄心勃勃和可衡量的計劃來實現他們的目標的人。

這個 repository 也列出了 Sophia 上了哪些線上課程( 有免費和付費 ) ,還有一些 Blogs 與文章

工具

用於在 QEMU 中設定簡單 macOS VM 的文件說明

這份文件主要針對 Linux 環境


在歷史版本的瀏覽器瀏覽現代的網頁的瀏覽器服務

這是一個 web“代理”伺服器,可以在歷史瀏覽器上瀏覽現代網頁。 它的工作原理是將瀏覽器檢視轉換為影象,然後透過執行在客戶端瀏覽器上的 JavaScript 應用程式顯示影象。

運作原理

Browservice 伺服器使用 CEF (Chromium Embedded Framework) 執行 Chromium 瀏覽器實例( instance ),該實例將瀏覽器的 view 呈現到螢幕外緩衝區中。 瀏覽器的 view 與控制元件 UI bar 相結合,然後被壓縮為 PNG 或 JPEG 影象,並使用嵌入式 HTTP 伺服器提供給客戶端。 客戶端瀏覽器執行一個 JavaScript 應用程式來請求和顯示影象。 它還偵聽來自使用者的鍵盤和滑鼠事件,並透過將它們包含在影象請求的 url 中將它們轉發給代理。

最初,這種每次瀏覽器的 view 傳送一個新圖片的方法可能聽起來效率很低。 但是,如果代理伺服器和客戶端之間的網路連線非常快(例如100 mbit / s Ethernet LAN) ,那麼它的可用性令人驚訝。 20世紀初的硬體(~ 1ghz CPU clock)在影片流中往往可以超過10fps。 如果使用較低的 JPEG 壓縮級別並且瀏覽器視窗較小,那麼對於較老的機器來說,效能也是可以容忍的。


自動揭露專案程式庫可用程式碼片段的 VS Code 外掛

這個 VS Code 外掛會自動揭露你在專案中使用的每個程式庫的所有可用的程式碼片段

Snipsnap 要解決哪些問題?

問題 1

幾乎每種流行的程式語言都有很多不同的程式庫供人們使用。 有些很大,有些很小。 對於每個程式庫,為了使用它們,你應該記住許多不同的語法結構。 程式碼片段有助於修復這個問題,但是你不想建立,也不會為每個小的程式庫安裝擴充套件。 取而代之的是,我們希望有一個 Snipsnap 擴充套件,可以獲取你在當前專案中使用的套件基於程式語言的相關程式碼片段。

問題 2

不同的程式碼片段擴充套件遵循不同的規則,並使用不可預知的快捷方式,如“ rccp”、“ ecrp”、“ impp”等。 擁有這些不可讀的快捷方式不允許你實際上搜索所有的程式碼片段當你有一個特定的情況。 我們希望通過標準化程式碼段格式和提供乾淨、可預測的搜尋語法(如 library-name 關鍵字)來改變它,這樣你總是可以鍵入程式庫的名稱,並獲得可用的程式碼段的完整列表。

問題 3

每個 IDE 都有獨立的程式碼段格式,與其他 IDE 不相容。 因此,擁有獨立的程式碼段格式可以讓我們為每個流行的 IDE 建立 Snipsnap 擴充套件,並使用轉換器將程式碼片段從一種格式轉換為另一種格式。


簡單,隱私權友善可取代 Google Analytics

Plausible Analytics 是一個簡單,輕量級,開源和隱私友好的替代Google Analytics。 它不使用 cookie,並且完全符合 GDPR、 CCPA 和 PECR。 可以參考線上展示

你可以使用雲端付費版本,或是下載 source code 自己安裝在自己的伺服器( 有提供 Docker 映像檔 )

Web 應用程式開發

專門為 vue 打造的開發利器,其目的是使 vue 專案的開發更加簡單和快速

Vite 是 Vue 創造者尤雨溪專門為 vue 打造的開發工具,目的是使 vue 專案開發更簡單與快速

Vite 的特色

  • 快速的冷啟動
  • 即時的熱模組更新
  • 真正的按需編譯

Vite,一個基於瀏覽器原生 ES imports 的開發伺服器。利用瀏覽器去解析 imports,在伺服器端按需編譯返回,完全跳過了打包這個概念,伺服器隨起隨用。同時不僅有 Vue 檔案支援,還搞定了熱更新,而且熱更新的速度不會隨著模組增多而變慢。針對營運環境則可以把同一份程式碼用 rollup 打。雖然現在還比較粗糙,但這個方向我覺得是有潛力的,做得好可以徹底解決改一行程式碼等半天熱更新的問題。 ~ 尤雨溪

Vite 要用來取代 webpack ( 營運環境用 rollup )


支援 React/Vue 的開源網頁心智地圖核心

可在你的網頁中動態呈現心智地圖, 支援 React 和 Vue


使用 MERN 堆疊仿製一個 Instagram

使用 MongoDB、 Express、 React 和 Socket.io 建立的 instagram Clone

免費課程 https://www.udemy.com/course/mern-stack-master-course-building-your-own-instagram/?couponCode=FREEFREEFREE

使用的技術

  • 前端:React
  • 狀態管理:Redux
  • 路由:React Router
  • Form 管理:Formik
  • 動畫:React Spring
  • Websocket 管理:Socket.io
  • 後端:Express
  • 資料庫:MongoDB
  • 影像託管:Cloudinary

在 NodeJS / Go 中使用 p2p 網路快速建構微服務

flatend是一個實驗性框架和通訊協定,可使用 p2p 網絡使微服務更加模組化,更簡單,更安全,更便宜,更快速地建構。

Flatend旨在提供 low-code 工具試圖帶來的好處,以提高開發人員的生產力,但不需要供應商綁定強大的性能以及對某些編碼樣式/模式的零偏差


一個視覺化 React 應用程式的結構和狀態流的元件

隨著React應用程式的擴展,追踪狀態和全面了解元件層次結構變得更加困難。 Realize是一個工具,可幫助開發人員視覺化其React應用程式的結構和狀態流,尤其是當它們的規模和複雜性不斷成長時。 當前支持React v.16.8。

這是一個 Chrome/Firefox 擴充程式

資料科學

使用 Julia 程式語言做 Deepmind 的 AlphaZero 演算法的通用、簡單、快速實現

這個軟體套件提供了 Deepmind 的 AlphaZero 演算法的一個通用、簡單和快速的實現:

  • 核心演算法只有2,000行純粹的、hackable 的 Julia 程式碼
  • 通用的介面使得新增對新遊戲或新學習框架的支援變得容易
  • 這個實現比用 Python 編寫的競爭對手要快一到兩個數量級,可以使用 GPU 在標準桌面電腦上解決一些重要的遊戲

為什麼要關心 AlphaZero ?

除了在國際象棋和圍棋等遊戲中獲得超人等級的成功,DeepMind 的 AlphaZero 演算法展示了一種更普遍的方法,即將學習和搜尋結合起來,有效地探索大型組合空間。 我們相信這種方法可以在許多不同的研究領域有令人興奮的應用。

為什麼要關心這個實現?

因為 AlphaZero 耗費大量資源,所以成功的開源實現(比如 Leela Zero)是用低階語言(比如 C++)編寫的,並且針對高分散式運算環境進行了優化。 這使得學生、研究人員和駭客很難訪問它們。

這個專案的動機是提供一個簡單易用的 AlphaZero 實現,同時又足夠強大和快速,能夠在有限的運算資源上進行有意義的實驗。 我們發現 Julia 的語言對於實現這個目標很有幫助。


互動式機器學習實驗,模型訓練和模型展示

這是一個互動式機器學習實驗的集合。 每個實驗包括 jupyter / colab 筆記本(用於瞭解模型是如何訓練的)和展示頁面(用於在瀏覽器中檢視模型的動作)。

這個知識庫包含機器學習實驗,而不是一個可營運,現成的、可重用的、優化的和微調的程式碼和模型。 這是一個沙箱或遊樂場學習和嘗試不同的機器學習方法,演算法和資料集。 模型可能表現不佳,但是有一個地方可以進行overfitting/underfitting。

雲端和網路管理

允許你不需要使用命令列工具修改 nginx 配置檔案的 Nginx 使用者介面工具

開發動機

我們在公司的實驗室環境中使用 nginx。 我的同事經常開發一個應用程式,這個應用程式現在部署在我們的 Stage 或 Prod 環境中。 為了使這個應用程式可以訪問 nginx,必須進行調整。 大多數時候,我的同事沒有訪問伺服器和更改配置檔案的許可權,因為我不想再為每個人這樣做了,所以我認為 UI 可以幫助我們所有人。

行動應用程式設計

Android 滲透測試學習材料與資源

包含學習材料與影片


一個 iOS 的剪貼簿管理器,可以在後台無限期地監控你的剪貼簿—- 不需要越獄

Clip 是 iOS 的一個簡單的剪貼簿管理器。 與其他在 App Store 中的剪貼簿管理器不一樣,Clip 能夠在你的後台無限期監視。 這是透過駭客和變通方法的組合完成的,沒有一個能通過 App Store 的審查。 因此,Clip 只能通過 AltStore 下載,或者自己編譯原始碼。 AltStore 是我為非破解裝置提供的另一個應用程式商店。

遊戲

一個交通模擬遊戲,探索道路的微小變化是如何影響騎腳踏車者、交通使用者、行人和司機的行為

你有沒有坐過一輛堵在路上的公共汽車,奇怪為什麼公共汽車停在路上而不是公共汽車道上? A/B Street 是一個遊戲,探索一個城市的微小變化如何影響司機、騎腳踏車者、交通使用者和行人的行動。

做一些改變

衡量影響

訂閱網址

喜歡今天小編整理的開源報報嗎?歡迎給小編意見與回饋

Comments are closed.

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: