43
top 8 comments
sorted by: hot top controversial new old
[-] LastoftheDinosaurs@lemmy.world 6 points 1 year ago

Thanks, that was a good read. Can you explain what you meant by "feature flag / version system"? Is that like different branches in git?

[-] deltamaniac@programming.dev 4 points 1 year ago

Feature Flags is a concept that helps to enable or disable a feature on an app. Example you would want to roll out a new button on app for a certain set of users, A naive and simplified implementation would look like something below

flags = server.getFlags() // Fetch/Compute feature flags

if (flags.FeatureA == true) {
// show button
}
[-] Deely@programming.dev 5 points 1 year ago

Hm, I still not sure about this article lesson.

So, main issue is that users of old version can use new feature, but they should not? On a desktop app? But why they sould not be able to do it in the first place?

I mean idea is good, but situation described in article looks like completely fictitious or incomplete..

[-] ishanpage@programming.dev 5 points 1 year ago

The scenario is not ficticious. It's taken straight from my first job, but I had to leave out specific details. The application being developed had something to do with DRM, so that might explain the weird requirements.

The lesson is that sometimes business will require you to force users to update their version, and/or enable specific features for specific subsets of users. So you should have such a mechanism in place before it is required, otherwise you will end up doing hacky things like breaking the server to do what needs to be done.

Systems such as these are actually fairly common in enterprise, but since it was my first job, I had not planned ahead for this because I had no idea.

[-] Deely@programming.dev 2 points 1 year ago

Ah, thanks for explanation, if you implemented DRM/security then it all make sense.

[-] lascapi@jlai.lu 4 points 1 year ago

Thanks for the article!

Another use case: It could be useful for one software deployed in more than one server and if admins want to enable/disable features specifically for every server.

[-] iammike@programming.dev 3 points 1 year ago

Similarly, you can leverage this to wire traffic to DB replicas for instance. This if you need to handle traffic to DBs under specific scenarios (DB problems, burst of traffic, bugs, etc). So basically a purely technical feature flag (paying attention to authorization as always)

[-] PR_freak@programming.dev -2 points 1 year ago* (last edited 1 year ago)

I am not sure what your tech stack implies (I know nothing about it) but I think you don't really need feature flags, just better project planning and structure

this post was submitted on 26 Jul 2023
43 points (92.2% liked)

Programming

16670 readers
83 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS