LabStore - Part 6 - Building an Object Store in Go: S3-Compatible TUI
Автор: Data Lab Tech
Загружено: 2026-02-24
Просмотров: 18
Описание:
Learn the basics of TUI building with lipgloss and bubbletea, from the Charm Stack. We'll cover the 'tea.Model' interface and its Init(), Update(), and View() methods. We'll look into the event loop, and the best way to setup messages and handle downstream/upstream updates. We'll show you how to use Go channels in a way that lets you track progress without affecting the performance of the underlying task. And we'll cover component design with lipgloss, using the bubbletea-overlay library, by rmhubbert, for compositing, a feature that is currently under development in the beta, coming in v2.0.0 as layers. We'll close by introducing the v0.1.0 release for LabStore, sharing a few notes on how to install and use it, either through a container, go install, or the precompiled binaries.
Embark in this series with IllumiKnow Labs, and let's see where this journey takes us. Hopefully you'll learn a lot along the way, and don't forget to comment below, if you have requests, suggestions, or feedback!
📺 Watch the full LabStore series here ► • LabStore
► In part 1, we present LabStore's backend as a Go project, and the S3 requests we prioritize.
► In part 2, we delve into SigV4, the authorization signature algorithm used by S3 to authenticate requests and individual chunks.
► In part 3, we test alternative open source solutions and setup a benchmark for these solutions, comparing them with LabStore.
► In part 4, we cover the implementation and integration of IAM (Identity and Access Management).
► In part 5, we delve into designing a command line interface to manage LabStore.
► In part 6, we explore TUI development in Go, building an S3 client and file explorer for the CLI.
"Go Gopher" by Renée French is licensed under CC BY 4.0
🔗 Resources:
💻 GitHub repo: https://github.com/IllumiKnowLabs/lab...
📝 Blog post: https://datalabtechtv.com/posts/labst...
🐹 Go: https://go.dev/
📚 Charm Stack: https://charm.land/libs/
📚 BubbleTea: https://github.com/charmbracelet/bubb...
📚 Bubbles: https://github.com/charmbracelet/bubbles
📚 LipGloss: https://github.com/charmbracelet/lipg...
🔔 Subscribe for more deep dives data science, data engineering, and all things data!
☁️ Follow the channel on Bluesky: https://bsky.app/profile/datalabtecht...
🎧 Join our community's Discord: / discord
👽 Join our subreddit: / datalabtechtv
💻 Check out the channel's GitHub: https://github.com/DataLabTechTV
🌐 Visit our website for blog posts: https://datalabtechtv.com
#softwareengineering #s3 #objectstorage #objectstore #aws #golang #go #tui
0:00 Intro
1:26 What We're Building
3:31 Standalone Progress Bar
4:32 BubbleTeam TUI Basics
5:44 Model: Data Structure
8:09 View: UI with LipGloss
11:57 Update: Event Loop & Messages
20:41 TUI Progress Bar
33:17 LabStore v0.1.0
39:32 Outro
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: