One of the major problems we face with tech adoption is language barriers. That is why I built LearnPython! An app that teaches coding to young learners in English, Yoruba, Igbo, & Hausa with interactive lessons, audio explanations, & progress tracking. Powered by @spitch_app
Funny how 90% of techies never learnt this:
^(?:(?:https?|ftp):\/\/)?(?:www\.)?(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(?:\/[^\s]*)?(?:\?[a-zA-Z0-9=&_%+-]*)?(?:#[a-zA-Z0-9_-]*)?$|^(?:[a-fA-F0-9]{32}|[a-fA-F0-9]{40}|[a-fA-F0-9]{64})$|^(?:\+?[0-9]{1,3})?[-.\s()]*(?:[0-9]{3})[-.\s()]*(?:[0-9]{3})[-.\s()]*(?:[0-9]{4})$|^(?:(?:0?[1-9]|1[0-2])\/(?:0?[1-9]|[12][0-9]|3[01])\/(?:19|20)\d{2})$|^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d@$!%*#?&]{8,}$
To some its jargons but to you what’s it ?
Many engineers default to using UUIDs as primary keys in PostgreSQL without considering the trade-offs.
The problem?
Traditional UUIDs are random.
And random values don't play nicely with B-Tree indexes.
Every new insert can land in a completely different part of the index, causing page splits, fragmentation, and more work for PostgreSQL as your table grows.
At a few thousand rows, you'll never notice.
At 10 million+ rows, you probably will.
That's why many teams are moving towards ULIDs and UUIDv7.
You still get globally unique identifiers.
But you also get time-based ordering.
New records are inserted closer together in the index, which means less fragmentation and more predictable write performance.
Small change.
Big impact.
Especially when you're operating at scale.