stackdcoder's profile picture. ship, learn, repeat (skill issue edition)

Moon

@stackdcoder

ship, learn, repeat (skill issue edition)

🚀 PostgreSQL pro tip: You can make columns auto-compute themselves 👇 CREATE TABLE users ( first_name text, last_name text, full_name text GENERATED ALWAYS AS (first_name || ' ' || last_name) STORED ); 💡 Auto-updates when data changes ⚡ Indexable 🧠 No triggers


API design is 70% planning and structuring the database, 20% implementing the routes, and 10% testing to make sure everything actually works. #APIs


App idea: A simple notes app that fits your lifestyle, summarizes your thoughts, reminds you when needed, and helps you learn in your own way. No matter if you're a programmer, student, designer, or just trying to stay organized, it's made for you. #ai #startupcommunity


wake up babe, new rest client just dropped and it’s actually pretty good @RequestlyIO

stackdcoder's tweet image. wake up babe, new rest client just dropped and it’s actually pretty good

@RequestlyIO

0.1 + 0.2 in JavaScript 👀 console.log(0.1 + 0.2) // 0.30000000000000004 ⚠️ Binary floats can't store 0.1 exactly ⚠️ Happens in most languages, not just JS ✅ For money: use integers (cents) ✅ For comparisons: check if difference < 0.00001


PostgreSQL MONEY type 👀 ⚠️ Formatting depends on locale settings ⚠️ Only handles one currency per database ⚠️ Limited math operations NUMERIC(19,4) is more common now: ✅ Precision control ✅ Works with any currency ✅ Better for calculations


EXCLUDED in PostgreSQL 👀 References the row you tried to insert during conflicts: INSERT INTO stats (id, views) VALUES (1, 5) ON CONFLICT (id) DO UPDATE SET views = stats.views + EXCLUDED.views; ✅ Increment instead of replace ✅ Cleaner upserts ✅ Access attempted values


satisfies in TypeScript 👀 Checks types but keeps literal values: const routes = { home: '/', user: '/user' } satisfies Record<string, string> ✅ Type validation ✅ routes.home stays '/' not string ✅ Better than 'as' casting


Gapless IDs 👀 ✅ Ticket table with SELECT ... FOR UPDATE    Example: UPDATE tickets SET id = id + 1 RETURNING id; ✅ Manage sequencing in application logic with proper locking (e.g. Redis INCR or a mutex) ⚠️ Keep in mind: gapless IDs = higher contention + slower writes

PostgreSQL SERIAL creates gaps when transactions fail 😵 If you need gapless IDs, don't use SERIAL 🚫 Only use it when gaps are fine 👍 Next: better ways to handle sequential IDs 👀



PostgreSQL SERIAL creates gaps when transactions fail 😵 If you need gapless IDs, don't use SERIAL 🚫 Only use it when gaps are fine 👍 Next: better ways to handle sequential IDs 👀


if you vibe with typescript + backend + postgresql, hit follow 👀 posting dev stuff from tomorrow, let’s ship 🚀 #typescript #OpenSource


United States 趨勢

Loading...

Something went wrong.


Something went wrong.