Alexey Inkin | Flutter GDE

Description
Advertising
We recommend to visit

Community chat: https://t.me/hamster_kombat_chat_2

Twitter: x.com/hamster_kombat

YouTube: https://www.youtube.com/@HamsterKombat_Official

Bot: https://t.me/hamster_kombat_bot
Game: https://t.me/hamster_kombat_bot/

Last updated 3 months, 2 weeks ago

Your easy, fun crypto trading app for buying and trading any crypto on the market.

📱 App: @Blum
🆘 Help: @BlumSupport
ℹ️ Chat: @BlumCrypto_Chat

Last updated 3 months, 1 week ago

Turn your endless taps into a financial tool.
Join @tapswap_bot


Collaboration - @taping_Guru

Last updated 5 days, 5 hours ago

4 months, 2 weeks ago
What do you think is the …

What do you think is the world's single most fundamental problem that all others are induced by? The one you can't ask "why?" to get closer to the root.

If you have Twitter, please reply there. Otherwise, here in a comment.

https://x.com/alexeyinkin/status/1820797300588884114?s=46

5 months ago

A first hands-on with custom macros: https://medium.com/@alexey.inkin/creating-your-own-macro-instead-of-code-generation-in-dart-3-5-27274f8a5bf6

Medium

Deep dive into writing macros in Dart 3.5

I spent a month’s vacation full-time playing with macros, and here’s all you need to start fast.

A first hands-on with custom macros: https://medium.com/@alexey.inkin/creating-your-own-macro-instead-of-code-generation-in-dart-3-5-27274f8a5bf6
5 months, 2 weeks ago

Every time I think something is too trivial to go with classes I end up rewriting it with classes. Tomorrow I will lose 1 hour changing List<double> into TimeSeries because it "suddenly" needed to be aware of timestamps.

There is "Domain-Driven Development" (DDD) principle. It says to create a classes for logically distinguished things. For instance, you should have classes Password, Url, Username, etc. and not use just String for them. If I followed it and created TimeSeries from the beginning since I was dealing with a time series, I would have saved 1 hour of my life.

Don't neglect DDD.

6 months, 4 weeks ago
6 months, 4 weeks ago
Playing with Dart 3.5 macros already? …

Playing with Dart 3.5 macros already? I made a CLI tool to show augmentation for a given source file if your IDE is buggy or does not yet support macros:

https://pub.dev/packages/show_augmentation

7 months ago

My new article: The 2 new lints in Dart 3.4.
https://medium.com/p/5596edbf3746

Medium

The 2 new lints in Dart 3.4

Improve your documentation formatting and clean up deprecated ‘part of’ directives.

My new article: The 2 new lints in Dart 3.4.
8 months, 4 weeks ago
***❓*** What would be the best …

What would be the best way to implement CI/CD for flutter apps?

?️ The most tricky part in CI/CD is automated testing. Otherwise, just building and deploying is relatively easy. Then, testing on the Flutter's part isn't hard. In most apps, all you need is click through some use cases. Much harder is the backend to which your app talks. You typically need a copy of the system with its storage, message queues, and all the rest. What of that you can isolate or mock varies widely. So start your CI/CD with the backend. When it's done, its specific architecture usually will hint a straightforward way to add Flutter or any other client on top of it.

See the recent article for the example for the backend.

9 months ago

Part 2. Earlier we made a simple container and deployed it manually. Time to automate things and take it to the production level:

https://medium.com/@alexey.inkin/making-github-workflows-to-deploy-to-gke-with-terraform-and-workload-identity-federation-074ac83b899c

This tutorial:
- Creates persistent environments.
- Uses Terraform for declarative management of cloud resources.
- Uses GitHub Workflows to automate deployment.
- Creates transient copies of the system to run tests on them.
- Uses Workload Identity Federation to avoid any use of service account keys.

DevOps is surprisingly hard, and it took me 1.5 months to learn and write this. These GitHub workflows failed 108 times for me while debugging, so this should save you tons of try and errors.

9 months, 1 week ago

My 24th Dart package:
https://pub.dev/packages/wif_workaround

A workaround to use Workload Identity Federation with googleapis_auth, calls gcloud CLI to get the access token.

You normally use googleapis_auth package to connect to Google Cloud services. It works with service account keys and metadata server, but not with local keys obtained with Workload Identity Federation.

This package allows you to use Workload Identity Federation if you have locally installed gcloud CLI.

Dart packages

wif_workaround | Dart package

A workaround to use Workload Identity Federation with googleapis\_auth, calls gcloud CLI to get the access token.

My 24th Dart package:
9 months, 3 weeks ago
We recommend to visit

Community chat: https://t.me/hamster_kombat_chat_2

Twitter: x.com/hamster_kombat

YouTube: https://www.youtube.com/@HamsterKombat_Official

Bot: https://t.me/hamster_kombat_bot
Game: https://t.me/hamster_kombat_bot/

Last updated 3 months, 2 weeks ago

Your easy, fun crypto trading app for buying and trading any crypto on the market.

📱 App: @Blum
🆘 Help: @BlumSupport
ℹ️ Chat: @BlumCrypto_Chat

Last updated 3 months, 1 week ago

Turn your endless taps into a financial tool.
Join @tapswap_bot


Collaboration - @taping_Guru

Last updated 5 days, 5 hours ago