Skip to content

hoc081098/hoc081098

Repository files navigation

Hi there, I'm Petrus Nguyễn Thái Học 👋

A self-taught Senior Engineer (Android, iOS, Flutter, NestJs, ...) with 7+ years of experience (since 2018 Summer)

Facebook LinkedIn Twitter StackOverflow Email Medium

Portfolio ReactiveX Buy Me A Coffee


🚀 About Me

⭐ Featured Projects

  • PostgresPatroniHaproxyEfcoreDemo — Production-minded PostgreSQL HA demo with Patroni, HAProxy, etcd, and EF Core (automatic failover, read/write split, and read-your-writes edge case).

🛠️ Tech Stack

Kotlin Android Swift iOS Flutter Dart C# .NET

Hits


📦 Libraries & Packages

🟣 Kotlin Multiplatform
Library Description
FlowExt Maven Central Kotlinx Coroutines Flow Extensions. Extensions to the Kotlin Flow library.
kmp-viewmodel Maven Central 🔆 Kotlin Multiplatform ViewModel - A KMP library that provides shared MVVM for UI applications.
solivagant Maven Central 🔆 Compose Multiplatform Navigation - Pragmatic, type safety navigation. Based on Freeletics Khonshu.
kotlin-channel-event-bus Maven Central A KMP event bus using Kotlinx Coroutines Channels. Multi-keys, multi-producers, single-consumer.
🤖 Android
Library Description
ViewBindingDelegate JitPack Simple one-liner ViewBinding in Fragments and Activities with Kotlin Property Delegates.
Khonshu Contributed to Freeletics Khonshu navigation library.
🍎 iOS/Swift
Library Description
PhDownloader CocoaPods Simple, reactive and functional downloader for iOS Swift with RxSwift & RxAlamofire.
🎯 Dart/Flutter
# Library Description
1 🏆 RxDart Pub Official maintainer - ReactiveX implementation for Dart Streams. My commits
2 rx_shared_preferences Pub Reactive shared preferences for Flutter.
3 rx_redux Pub Redux implementation based on Dart Stream with RxDart.
4 disposebag Pub Cancel StreamSubscriptions and close Sinks easily.
5 flutter_disposebag Pub Auto-dispose subscriptions when disposing State.
6 sqlbrite Pub Reactive stream wrapper around sqflite.
7 stream_loader Pub Loading content asynchronously with Dart stream.
8 rxdart_ext Pub Extension methods and classes built on top of RxDart.
9 rx_storage Pub Reactive storage for Dart/Flutter.
10 listenable_stream Pub Convert Listenable/ValueListenable to Stream.
11 distinct_value_connectable_stream Pub Distinct value connectable stream for BLoC pattern.
12 did_change_dependencies Pub Stream for didChangeDependencies lifecycle.
13 dart_either Pub Either monad for Dart with monad comprehensions.
14 flutter_bloc_pattern Pub BLoC pattern base class and rxdart builder.
15 flutter_provider Pub Generic provider using InheritedWidget.
16 cancellation_token_hoc081098 Pub Cancellation Token inspired by C#.
17 http_client_hoc081098 Pub Simple and powerful HTTP client.

📊 GitHub Stats

GitHub Streak

📈 More Stats

Profile Summary


Wakatime Stats

Wakatime Languages


github-snake

generated with Platane/snk

Activity Graph

Commits

Commits

Git Artwork


📝 Notes / Blog Posts

🚀 Notes and blog posts have moved to portfolio.hoc081098.dev/articles — all future articles will be published there!

# Title Description
1 Looking at Dp class in Jetpack Compose Why do @Composable functions use Dp.Unspecified as default? The optimization under the hood.
2 Bàn về Subject trong Rx Serially rule in RxSwift, RxJava, RxKotlin and more.
3 Grouping trong Kotlin groupingBy, groupBy, reduce, lazy-evaluation in Kotlin.
4 Rate limiting strategies Rate limiting for Nginx, API Gateway (YARP), and service layers in ASP.NET Core.
5 Union Types in C# (en) / Union Types in C# (vi) Union types in C# 15 / .NET 11 — syntax, pattern matching, and use cases.

🌐 Open Source Organizations

Kotlin Android Open Source Kotlin Multiplatform Foundation Flutter Dart Open Source

About

Hi there 👋, I'm Petrus Nguyễn Thái Học

Topics

Resources

License

Stars

9 stars

Watchers

3 watching

Forks

Packages

 
 
 

Contributors