帶您讀源碼

Let’s Read the Source Code

議程簡介

原始碼是軟體的核心,藉由閱讀原始碼,我們可以更靠近軟體的靈魂。

「帶您讀源碼」議程軌旨在幫助參與者深入了解開源專案的實作方式,包括各種程式庫、框架和工具等。您將有機會學習開源專案的流程運作、架構組成、迭代歷程、運作原理、關鍵程式碼、關鍵演算法等方面的知識。同時,您還可以了解相關輔助工具的介紹和使用技巧。

在這個議程軌中,您可以聽到開發者們分享他們對程式碼的理解和經驗,看到他們追蹤和分析的過程。他們會與您分享程式碼中的精華部分,解釋如何運作,以及如何改進。

「帶您讀源碼」將帶您進入原始碼的世界,深入挖掘軟體背後的原理,讓您更加了解程式設計的本質。

The source code is the core of software, and by reading the source code, we can get closer to the soul of the software.

“Let's Read the Source Code” is a program track designed to help participants delve deeply into the implementation of open-source projects, including various libraries, frameworks, and tools. You will have the opportunity to learn about the process of open-source projects, their architectural components, iterative history, operating principles, key code, and key algorithms. At the same time, you can also learn about the introduction and usage tips of related auxiliary tools.

In this program track, you can listen to developers sharing their understanding and experience with code, as well as the process of tracking and analyzing it. They will share the essence of the code with you, explain how it works, and how to improve it.

“Let's Read the Source Code” will take you into the world of source code, deeply exploring the principles behind the software, allowing you to better understand the essence of programming.

篩選條件

議題

Laravel mock framework - Mockery source code browsing

TR 213 [[ new Date( '2023-07-29 01:30:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2023-07-29 01:30:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2023-07-29 02:00:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] en
加入行事曆 加入關注 加入關注 已關注

We often use mock behaviors to optimize our unit test, so what is the operating logic behind these mock objects and related functions? Let's find out together!

講者

John Liu

John Liu

目前在矽谷公司 Netskope 工作,協助開發資安 SaaS Web 平台,同時也和多個教學單位合作,具有多年的授課與演講經歷。

我也喜歡定期分享有趣與有用的技術訊息,歡迎追蹤我的粉專: https://www.facebook.com/johnliu.software.thinking

Let’s Read the Source Code 帶您讀源碼 WLP38V general (30mins)

C++ boost hana的分析以及在資料處理上的應用

TR 213 [[ new Date( '2023-07-29 02:10:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2023-07-29 02:10:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2023-07-29 02:40:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] zh-tw
加入行事曆 加入關注 加入關注 已關注

C++11之後,標準委員會多次強化了template的功能,導入了varadic pack, auto, fold expression等語法,大大提昇了STL的應用範圍。本議程將會導讀boost library中的hana,並講解這些功能的可能應用。內容包括了hana type computation的概念,也就是如何在C++中對class本身進行運算;以及hana struct,讓使用者對自己寫的class加上更多資訊,讓compiler得以運用這些資訊展開struct,降低我們需要寫的程式碼數量。

在資料處理,如轉換文字以及C++ struct的時候(yaml, argparse, json, protobuf),這樣struct展開相當有用,作者自己也拿相同技術運用在硬體開發中的Verilog的輸出資料分析。傳統上高階語言如Python由於弱型別特性,此類應用場景使用起來會比C++等很強型別簡易許多。然而有了這樣的技術之後,我們便能享受到C++的效率以及高階語言的好用性。

講者

林裕盛

林裕盛

TODO...

Let’s Read the Source Code 帶您讀源碼 FCXLBD general (30mins)

Unveiling etcd: Architecture and Source Code Deep Dive

TR 213 [[ new Date( '2023-07-29 02:50:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2023-07-29 02:50:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2023-07-29 03:20:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] zh-tw
加入行事曆 加入關注 加入關注 已關注

在分散式計算的領域中,etcd 扮演著一個關鍵的角色,提供了一個可靠的分散式鍵值存儲系統。這個議程希望透過深入淺出的方式解析 etcd 的架構和探索其程式碼,為大家解開 etcd 的祕辛。

講者

Jack Yu

Jack Yu

A software engineer who want to continue to be a student. Currently working as Tech lead in Synology Inc., try to keep everyone's data secure and synced.

Let’s Read the Source Code 帶您讀源碼 7VMYAY general (30mins)

實作高效記憶體配置器

TR 213 [[ new Date( '2023-07-29 03:30:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2023-07-29 03:30:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2023-07-29 04:00:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] zh-tw
加入行事曆 加入關注 加入關注 已關注

本內容旨在實作高效記憶體配置器,針對多核系統提升性能。我們使用了 lock-free 設計和 atomic 操作進行記憶體配置,解決 lock 競爭問題。同時,透過 MADV_POPULATE 機制降低 page fault 次數,提高系統效能。

在 X86-64 與 Arm64 主機上的測試結果顯示配置器的可擴展性和效能優勢。這些優化技術和測試結果將提升記憶體配置效率,增強系統性能和可靠性。

講者

王漢祺

王漢祺

嗨 我是來自於台灣的王漢祺,目前是一名碩士生 對系統軟體開發有興趣!

Let’s Read the Source Code 帶您讀源碼 DSRWLL general (30mins)

剖析 KIND(Kubernetes IN Docker) 的實作原理

TR 213 [[ new Date( '2023-07-29 04:10:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2023-07-29 04:10:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2023-07-29 04:40:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] zh-tw
加入行事曆 加入關注 加入關注 已關注

本次分享會探討 KIND (Kubernetes In Docker) 這個常見的 Kubernetes 測試工具是如何搭建起來的,其中又是如何將 Kubernetes 這個容器協調工具以 Docker 的方式架起,並且基於 Container in Container 的方式提供一個方便且快速的 Kubernetes 測試環境

講者

HungWei Chiu

HungWei Chiu

HungWei is a co-founder of SDNDS-TW and CNTUG, two local communities in Taiwan. SDNDS-TW specializes in SDN and networking topics, while CNTUG focuses on Cloud Native approaches. Additionally, HungWei is dedicated to sharing his knowledge and experience through blog posts and speaking engagements at various conferences and meetups. Some of the events he has participated in include COSCUP 2022, COSCUP 2018 x openSUSE, Asia GNOME.Asia, Open Source Networking Days Taiwan, and GDG DevFest Taipei 2018.

Let’s Read the Source Code 帶您讀源碼 9VFVHQ general (30mins)

Reading and modifying the source code of the dbt adapter

TR 213 [[ new Date( '2023-07-29 04:50:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2023-07-29 04:50:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2023-07-29 05:20:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] zh-tw
加入行事曆 加入關注 加入關注 已關注

In order to calculate the cost of each dbt build execution through dbt-bigquery, I started reading and modifying the source code of the dbt adapter. As long as you have a basic understanding of Python syntax and some simple trace code techniques, such as using "string" that do not change and the stack trace when exceptions occur, combined with a debugger, you can easily achieve the desired effect.

為了想要透過 dbt-bigquery 計算每一次執行 dbt build 的成本,而開始邊讀邊改 dbt adapter 的原始碼。只要你對 Python 有基本的語法概念,再加上簡易的 trace code 技巧:依賴不變的字串與發生例外時的 stack trace,再配合 debugger 就能簡單地改出想要的效果囉!

講者

qrtt1

qrtt1

Software engineer from InfuseAI

Let’s Read the Source Code 帶您讀源碼 HL88HZ general (30mins)

初探 Kafka broker 原始碼

TR 213 [[ new Date( '2023-07-29 05:30:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2023-07-29 05:30:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2023-07-29 06:00:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] zh-tw
加入行事曆 加入關注 加入關注 已關注

作為 Message System 中,最廣泛被使用之一的 Kafka ,其中在 broker 端的設計,無論是 log, index, socket, controller system 等,都非常值得我們吸收理解其中的應用方式,本議程將探討這些原始碼的用途與思維模式,並分享從中檢視的心得交流。

講者

Howard Chen

Howard Chen

Hi, I am Howard, I love learning, coding and thinking. Backend engineer @BitoPro crypto exchange.

Let’s Read the Source Code 帶您讀源碼 DTQSDV general (30mins)

B-Tree and SortedSet in Swift

TR 213 [[ new Date( '2023-07-29 06:10:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2023-07-29 06:10:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2023-07-29 06:40:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] zh-tw
加入行事曆 加入關注 加入關注 已關注

除了基本的 Array、Set 和 Dictionary 之外,Swift 仍持續推出其他複雜且知名的 data structures,其中 SortedSet 即等同於 C++ 的 std::set,不同的是,其底層是以 B-Tree 實現。本次主題將會介紹為何 Swift 選用 B-Tree,以及帶大家看 SortedSet 的實現。

講者

鄭宇哲

鄭宇哲

iOS developer at Garmin,興趣是用 Swift 刷題

Let’s Read the Source Code 帶您讀源碼 PZSRQ8 general (30mins)

Angular 原始碼探索之 Signal 篇

TR 213 [[ new Date( '2023-07-29 06:50:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2023-07-29 06:50:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2023-07-29 07:20:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] zh-tw
加入行事曆 加入關注 加入關注 已關注

本議程將要來聊聊 Angular v16 裡開始才有的 「Signal」。首先,我會簡單帶大家認識一下 Angular 和 Signal 的基本概念。接著,我們要深入了解 Signal 在 Angular 中的運作原理,以及它能為我們的開發帶來哪些好處。最後,透過一個實戰範例,讓大家看看如何運用 Signal 來輕鬆搞定資料更新和元件之間的溝通。無論你是新手還是老手,這個議程都能讓你對 Angular 和 Signal 機制有更深刻的認識!

講者

Leo 李歐

Leo 李歐

喜歡乾淨整齊的程式碼,愛好敲擊鍵盤的聲音, 對於如何寫出更好的程式有種莫名的執著。

Let’s Read the Source Code 帶您讀源碼 KRQUUR general (30mins)

超越監控:Grafana K6 帶你探索應用程式的深淵

TR 213 [[ new Date( '2023-07-29 07:30:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2023-07-29 07:30:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2023-07-29 08:00:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] zh-tw
加入行事曆 加入關注 加入關注 已關注

這場分享將帶領會眾進入 Grafana K6 工具的世界,並展示如何超越傳統監控的界限。議程中將介紹 Grafana K6 的基本概念和功能,深入探討其在應用程式壓力測試和監控方面的應用。透過實用的示例和最佳實踐,會眾將學到如何使用 K6 進行全面的壓力測試、模擬真實使用者行為、發現應用程式的性能瓶頸以及生成有價值的監控報告。

講者

Marcus

Marcus

打雜小弟

Let’s Read the Source Code 帶您讀源碼 MPL3HC general (30mins)