今日已更新 421 条资讯 | 累计 25080 条内容
关于我们

标签:#Web

找到 1957 篇相关文章

AI 资讯

6 Months later: A comparison site for VPS and Dedicated Servers

A lot has changed since I posted this 6 months ago. serverlist.dev is a comparison tool for VPS, Dedicated and GPU Servers. I fetch data multiple times a day and present it fairly with no prioritization or hidden advertisement. You decide which columns to sort, which values to filter and which product matters most to you. When I last posted this on r/webdev I got five main pieces of feedback: We would like a "Compact view" option --> Done Some CTA and other strings seem pushy ("Claim Deal") --> Improved The site is lacking any additional value beside being a data catalogue --> read more below The filter need debounce and the whole table has very bad performance --> I significantly imrpoved the table performance by using tanstack virtualization. Sorting and filtering anything is now instant! We would like cPanel, Plesk, Managed properties --> still working on that. I am also thinking of "support IaC" what other information might be relevant for you? Since the last time I also worked on many new features: Hourly Pricing where applicable I now show the hourly price of a product. You can also filter for "Hourly price available" In-Table Comparison (desktop version only) when you select one product with the checkbox on the left, all other product's values are either green or red depending on their relative performance. Helping you to quickly identify if there might be a better deal that you overlooked. Product specific page clicking the compare button on a product or clicking its name now brigns you to a more detailed page showing the historical price change of that product and also two categories "What you get for a similar price" and "Similar servers by specs" where differences are also marked in green or red colour. Price Index alongside the product specific historical data I am also collecting averages for the entire industry so you can compare all providers at once. Right now I have "RAM per 1€", "CPU Cores per 1€" and the average price for generic SKU tiers like 4G

2026-06-06 原文 →
开发者

Understanding Consistent Hashing Correct Me If I'm Wrong

Why we need it ? Suppose we have multiple databases and want to distribute data among them. Instead of searching every database when we need some data, we use a rule that tells us exactly which database should store a particular record. Method 1: Modulo Based Distribution Imagine we have 3 databases DB-A , DB-B , DB-C Each record has a unique ID. Now We decide the database using ID % Number_of_Databases for e.g. 16 % 3 = 1 So record 16 goes to database index 1 (DB-B). This works fine until we add another database. The same record becomes 16 % 4 = 0 Now record 16 should be stored in DB-A instead of DB-B. The problem is that when the number of databases changes, a huge amount of data gets remapped to different databases. This can cause Massive data migration , Increased CPU and network usage Method 2: Consistent Hashing Instead of using modulo, imagine a circular ring numbered from 0 to 99. We place our databases on the ring: DB-A -> 0 DB-B -> 25 DB-C -> 50 DB-D -> 75 Now we pass the data unique id through a hash function and it will give the location of that data on the ring for e.g. User ID = 12345 hash(12345) = 42 now we get the position we Move clockwise. Store the data in the first database you encounter This means we store the 42 position data at the DB-C Now What Happens When We Add a New Database? Suppose we add DB-E -> 37 now only the data between 26 to 37 needs to move from DB-C to DB-E. The rest of the data stays exactly where it was. This is the biggest advantage of Consistent Hashing much less data migration , easier scaling , lower operational cost Now there is one more thing in this method which is Virtual Nodes One issue is that some databases may receive much more traffic than others. To balance the load, the same database can appear multiple times on the ring. DB-A -> 0, 40, 80 DB-B -> 25, 65 DB-C -> 13, 50, 90 DB-D -> 75 These extra positions are called virtual nodes. Any corrections? Is there anything else I should know about this topic? Please let

2026-06-06 原文 →
AI 资讯

I built a microservice in C, because why not!

I had an interview with a big observability company and I wanted to impress the interviewer, with my recent interest in development with C, I built a simple microservice project using golang and created a fully usable C microservice that has Redis and an HTTP server included, and more.. It was very fun seeing this side of C and to know my personal limits and challenge them. It was a cool project and I learned a lot :) btw; I got rejected and didn't even have the chance to show my project in the interview :( You can checkout the project on github: https://github.com/AhmedAbouelkher/micro_market/tree/main/invoice-service Happy to hear your thoughts. submitted by /u/AhmedMahmoud201 [link] [留言]

2026-06-06 原文 →
开发者

I built a black-and-white e-ink display so I'd stop checking my phone 60 times a day

I was unlocking my phone 60 times a day just to see my todos, calendar, and unread counts. Every unlock pulled me out of whatever I was doing. So I built a black-and-white display that shows it all at a glance. It sits on my desk like a picture frame. No backlight. No notifications. No sounds. How it works: Raspberry Pi driving a 7.5" Waveshare e-ink panel Server renders the whole screen as an 800×480 1-bit PNG with node-canvas The Pi just fetches the image and draws it (e-ink hates fast refreshes, so this keeps it sipping power) Pulls from Todoist, Google Calendar, weather, and RSS Updates every 30 minutes Now, phone unlocks dropped from 60 a day to about 15. The info didn't go anywhere, it just stopped living behind a lock screen. It is completely free and open-source (still in wip) https://quietdash.com EDIT: wrong title, I didn't build the eink display, I built the dashboard that lives on it submitted by /u/InnerPhilosophy4897 [link] [留言]

2026-06-06 原文 →
AI 资讯

[Showoff Saturday] Built a circular habit tracker with animated Clockwork Orbit

Hey r/webdev , I recently built Cyclic Habits, a habit tracker that replaces traditional checklists with a living circular clock face where your habits appear as glowing orbit rings. This lets you see your daily momentum and balance at a glance in a more intuitive and visual way. It features an immersive Focus Mode, satisfying haptics, clean analytics, full offline support. The web app is live here: https://cyclichabits.vercel.app submitted by /u/A_J07 [link] [留言]

2026-06-06 原文 →
AI 资讯

🚨 CSS Specificity — The Hidden Reason Your UI Breaks

Most developers learn CSS specificity once. They remember: #id > .class > div Then move on. Until one day… Everything looks correct. The CSS is present. The selector is correct. The z-index looks higher. And yet the UI is broken. That’s when CSS specificity stops being a beginner topic and becomes a production debugging problem. The Production Incident That Started This Recently, I was working on a microfrontend application. Everything worked fine initially. I opened a page, launched a modal and the UI looked correct. Then I navigated to another microfrontend. Its CSS got loaded. After returning to the original microfrontend, suddenly: ❌ Modal appeared behind page content ❌ Overlay behaved incorrectly ❌ z-index looked correct but wasn't working DevTools showed my CSS rule still existed. Yet another CSS rule was winning. The culprit? CSS Specificity. 🧠 What is CSS Specificity? CSS specificity is the algorithm browsers use to decide: Which CSS rule wins when multiple rules target the same element. Browsers don't simply apply: "The last CSS rule." That's one of the biggest misconceptions. Specificity is calculated first. Only when specificity is equal does source order become important. ⚔️ Example .modal { z-index : 9999 ; } .some-library .modal { z-index : 100 ; } HTML: <div class= "some-library" > <div class= "modal" ></div> </div> Many developers expect: .modal to win because the value is larger. But CSS doesn't compare values first. It compares selectors. 🧮 How Specificity Works Specificity is usually represented as: ID - CLASS - TYPE Specificity Table Selector Specificity * 0-0-0 div 0-0-1 .modal 0-1-0 [type="text"] 0-1-0 :hover 0-1-0 #dialog 1-0-0 Inline Style Highest MDN defines specificity as the weight browsers calculate to determine which declaration gets applied when multiple selectors match the same element. Example Calculation Selector: button .primary Contains: button → 0 -0-1 .primary → 0 -1-0 Total: 0-1-1 Another selector: #header button .primary Contai

2026-06-06 原文 →
AI 资讯

Freelancers with small business clients - what's your stack?

I'm a frontend developer (react) with about 7 years experience working on design systems, component libraries, and static site generators integrated with CMS. I've been out of work for months now and am finding it really difficult to land interviews let alone job offers, and am considering going freelance with the aim of building basic websites for small businesses. I'll be targeting physio/wellness businesses, so wiring up contact us forms and integrating booking systems is about as complicated as it'll get on a technical level. The client should be able to make basic content updates like adding blog posts or updating employee profiles on a "meet the team" page. Even if I manage to get clients on retainer I want to do what's right by them, so while I'd be most at home building a site with Astro and hooking it up to Contentful, I doubt that's the most client-friendly offering. I've been playing around with WordPress but on first impressions it feels very cumbersome. So it got me thinking what other freelance developers use and feel works well for them and their clients. submitted by /u/TheCowardlyPickle [link] [留言]

2026-06-06 原文 →
开发者

Updated imagor 1.9.1 benchmark results for dynamic image processing

I’ve been improving imagor’s handling of streamed image sources and its libvips image loading path, and updated the benchmark page with current releases. If you work on image delivery, dynamic resizing, or URL-based image processing in web stacks, the updated benchmark summary is here: Benchmark page: https://docs.imagor.net/benchmarks imagor repo: https://github.com/cshum/imagor These results use released versions of imagor, imgproxy, and thumbor. The benchmark page includes summary charts, and the benchmark repo includes committed result summaries for anyone who wants to inspect the setup more closely. Happy to discuss the implementation changes, benchmark setup, or what additional scenarios would be useful to measure. submitted by /u/cshum [link] [留言]

2026-06-06 原文 →
开发者

[Showoff Saturday] Sharing my Drake Equation interactive exploration: 3D galaxy, real-time sliders, vanilla JS

Just wanted to share this Drake Equation exploration I've been working on. You tweak the parameters and it updates the civilization count instantly, with a 3D Milky Way you can explore, charts, NASA exoplanet data, and bilingual EN/ES. Built with vanilla JS + Three.js, no frameworks. https://mendiak.github.io/drake.equation/ submitted by /u/mendiak_81 [link] [留言]

2026-06-06 原文 →
AI 资讯

DIFP Nostr: Fitting 6,000+ Products into a Single 64 KB Event

TL;DR — The DIFP protocol was designed to be data-compact and geo-aware from day one. We recently discovered it maps almost perfectly onto the Nostr event format. Here's how, and why it matters for decentralized food infrastructure. Background: What Is DIFP? DIFP (Djowda Interconnected Food Protocol) is an open protocol designed to sync food product data across distributed nodes — compactly, efficiently, and with geo-location awareness built in by default. One of its core design decisions is the PAD system (Preloaded Asset Distribution): Apps ship with a preloaded asset pack — item metadata, compressed images, category structure — all bundled at install time. Only price and availability need to travel over the wire during sync. This means the data footprint per product is tiny. Very tiny. Enter Nostr Nostr is a simple, open protocol for decentralized communication. One of its key specs: events support up to 64 KB of content . When we started exploring Nostr as a potential transport layer, we ran the numbers — and the fit was surprisingly clean. The Math: Products Per Event Baseline encoding A product represented with three fields: { "id" : 500 , "available" : true , "price" : 30000 } At this level of verbosity, a single 64 KB Nostr event can hold approximately: ~1,500 – 2,000 products Already useful. But we can do better. Optimized encoding Two key optimizations: 1. Drop the availability key — If a product entry exists in the JSON, it's available. If it's absent, it's not. No boolean needed. 2. Drop the field names — Instead of {"id": 500, "price": 30000} , just store: 500,30000 Field mapping is handled at the app level, not the protocol level. The device knows position 0 is the product ID, position 1 is the price (in smallest currency unit, e.g. cents). Result ~6,000 – 7,000 products per single Nostr event Possibly more, depending on the price distribution and ID ranges in a given catalog. Geo-Discovery: MinMax99 Cells DIFP uses a geo-cell system called MinMax99 to

2026-06-06 原文 →
AI 资讯

I built a free SQL practice game where you work at a fictional Singapore bank

I've been frustrated with SQL learning resources for a while. Most are either: Dry reference docs Toy exercises with no context ("SELECT * FROM employees") Paid platforms with paywalls after level 3 So I built SQLwak — a free, browser-based SQL game where you're hired as a Graduate Analyst at Lion City Bank , a fictional Singapore bank. How it works Instead of abstract exercises, every challenge is a real business request from a colleague: "The Operations team needs all Central region branches for an upcoming audit." "Risk wants customers with credit scores below 600 who have active loans." "Finance needs vessels ranked by cargo revenue — use window functions." You write actual SQL against a realistic 9-table banking database and get immediate feedback. 57 levels across 4 tiers Tier Skills 🟢 Foundational SELECT, WHERE, ORDER BY, LIMIT 🟡 Intermediate JOINs, GROUP BY, HAVING, subqueries 🔴 Advanced CTEs, multi-table aggregations ⚫ Expert Window functions (RANK/DENSE_RANK OVER PARTITION BY), UNION ALL, compound CTEs The database schema Lion City Bank has two divisions: Retail Banking: customers, accounts, transactions, loans, branches, products Maritime Trade Finance (Advanced/Expert levels): vessels, cargo_shipments, trade_finance_facilities — covering voyages between Singapore, Port Klang, Bangkok, Jakarta, and Ho Chi Minh City. The maritime division exists because Singapore is a major trade hub. It makes the Expert levels genuinely interesting — you're ranking vessels by cargo revenue and analyzing trade finance utilisation rates, not just counting rows. Technical details Next.js 15 + TypeScript + Tailwind CSS SQLite via WebAssembly — all query execution is client-side, no backend needed Deployed on Vercel Fully open source: github.com/martinl5/sqlwak No signup. No download. Just SQL. Open the link and start writing queries: sqlwak.vercel.app Would love feedback on difficulty progression, new level ideas, or schema additions. What SQL concepts do you wish you'd pract

2026-06-06 原文 →
开发者

[Showoff Saturday] Website where you can browse DJ sets by city on a map

Been DJing for years and always wanted a way to explore what people are playing in specific cities. Couldn't find anything like that, so I had a crack at it. Click a country, pick a city, and browse DJ sets recorded there. Uses Mixcloud sets and you can browse and play them in browser. https://setatlas.app Happy to hear any feedback or suggestions. submitted by /u/Leather_Catch2136 [link] [留言]

2026-06-06 原文 →
开发者

Finding a article about new algorithm on web rendering

Sorry to bother you guys, I just cannot remember or find about an article which about a developer find a new way to make thing faster on frontend (html or something) rendering about serveral months or last year. Anyone remember it? Please tell me. Thank you. submitted by /u/Full_Environment_205 [link] [留言]

2026-06-06 原文 →
AI 资讯

I made a website that let's you edit any supported image on the internet for free

I've been building an image editor that basically lets you edit images, on the fly. Just paste the URL, and you can start editing the image pretty much instantly. Essentially removing the need to download, upload etc. It's very convenient for those who want to quickly make edits. Completely free to use, no login or signup required to use. You can see it here: canvix.me I officially got approved for by google for my official chrome extension, which allows you to right-click any supported image on the internet (png jpg webp etc), Edit image with Canvix option. Right away, you can start editing the image. You can see how it works by screenshot posted on the chrome extension page https://chromewebstore.google.com/detail/edit-image-with-canvix/akjooicgafjjcnpjdfnaajkipciedbco I especially made this for users who constantly need to edit images like me. This in beta testing still, any feedback would be greatly appreciated to improve it. submitted by /u/Filerax_com [link] [留言]

2026-06-06 原文 →
AI 资讯

Building letterbookd

i deleted my earlier post because yeah, it sounded too ai/slop. fair criticism tbh. english is not my first language, so i used ai/translation to explain the project better, but it made the whole thing sound fake and too polished. my bad. so i’ll try to explain it myself this time. so, pardon the wording... i like tracking what i read. i like ratings, reviews, shelves, seeing what other people are reading, making lists, all that stuff. but goodreads always feels weird for me to use. not because the idea is bad, actually the idea is great, but the app/site feels old, messy and not really social enough for something that supposed to be about taste. so i started building my own book tracking app. it’s called Cilt (NOT CLIT!!!!!!!!) for now: https://cilt.app/ the basic idea is kind of “letterboxd for books”, but i know that sentence is overused as hell. what i mean is, i want logging books to feel simple and a bit fun, and after some time your profile should feel like an archive of your reading taste, not just random database list. right now / planned features are: - log the books you read -rate and review them -make shelves like reading, want to read, favorites etc. -create public lists -follow other readers -see what people with similar taste are reading -discover books from reviews/lists, not only generic ratings -track reading goals and stats -search books by title, author, isbn, publisher -have a profile that feels more personal i know there are already apps for this. i’m not saying i invented the wheel or anything. my problem is most alternatives either feels too old, too plain, or they don’t really have the social/taste part that makes letterboxd or even steam fun. also fyi: i didn’t use vibe coding for the whole project. i used it mostly on the frontend side, and when i use it i prefer to say it openly. it’s still very early, so feedback would be really useful. especially from people who still use goodreads even they hate it, or people who tried storygraph/fable

2026-06-06 原文 →
AI 资讯

Drift Protocol $285M Exploit - North Korean APT Attack on Solana

On April 1, 2026, Solana's largest decentralized perpetual futures exchange Drift Protocol suffered an attack, losing approximately $285 million . This is the second-largest DeFi hack of 2026 (behind KelpDAO's $292M attack the same month). Together, these two incidents totaled $577M — 76% of all DeFi stolen funds in 2026 . Key Finding : This was not a smart contract vulnerability. The attacker penetrated protocol personnel through social engineering , used Solana's durable nonce feature to pre-sign malicious transactions, and drained the entire treasury in 12 minutes . Mandiant confirmed the attacker as North Korean state-sponsored APT group UNC6862. ⏱️ Attack Timeline Time Event 6 months prior North Korean hackers establish fake trading company identities, attend crypto industry events Weeks prior Operatives attend crypto conferences in person, build deep trust with Drift contributors Late Feb - Early Mar Telegram group discussions about trading strategies, posing as partners Dec 2025 - Jan 2026 Fake company "Ecosystem Vault" builds partnership with Drift, deposits $1M+ Feb - Mar Attackers gain access to some contributors' code repositories Mar 23 Create 4 malicious wallets using Solana durable nonce feature Mar 27 Security Council migrates to 0-second timelock , removing safety buffer Apr 1, 16:06:09 UTC Execute pre-signed malicious transactions 16:06 - 16:18 UTC Treasury completely drained in 12 minutes Post-Apr 1 Funds swapped via Jupiter, bridged to Ethereum via CCTP, mostly dormant 🔧 Attack Technical Analysis Initial Penetration The attackers used a multi-layered social engineering + technical infiltration combination: HUMINT Operation Spent months building credible identities, attending global industry events Used intermediaries rather than direct contact (classic Lazarus tactic) ZachXBT noted this layered identity structure is a hallmark of Lazarus operations Malicious Code Injection Shared code repositories containing malicious code Exploited unpatched VSCo

2026-06-06 原文 →
AI 资讯

Astro + Cloudflare Pages: 3 Deploy Bugs You'll Probably Hit

I've been building a static Astro site on Cloudflare Pages over the last few weeks. Sharing the 3 deployment bugs that cost me the most time, in case they save anyone else the same loop. Setup Astro 5 + Cloudflare Pages + Tailwind 4. Content lives in a few JSON files; each page is a dynamic route mapped over the data. Free-tier hosting, no backend. Standard static-first stack. Bug 1: Trailing-slash 307 chain I started with trailingSlash: 'never' in Astro config. Build output went to dist/foo/index.html . Result: Astro emitted canonical tags as /foo (no slash), but Cloudflare Pages served /foo/ (auto-adding the slash via 307). Google Search Console flagged pages as "Redirect error" because the canonical URL pointed at a redirect chain instead of a real 200. I first tried build.format: 'file' to get flat dist/foo.html output, hoping that would bypass the trailing slash. That made it worse — Cloudflare still 307-stripped, but now to a non-existent .html file → 404. Fix: stop fighting the platform. ​ js // astro.config.mjs export default defineConfig({ trailingSlash: 'always', // ... }); ​ trailingSlash: 'always' plus default directory build aligns the canonical URL with what Pages actually serves. The redirect errors resolved on next re-crawl. Bug 2: _redirects rejected at deploy I tried to do a www → apex 301 in public/_redirects : https://www.example.com/* https://example.com/:splat 301! Cloudflare rejected the deploy with three validation errors: ​ Line 13: Only relative URLs are allowed. Line 22: Duplicate rule for path /foo. Line 23: Duplicate rule for path /bar. ​ Pages tightened _redirects validation — absolute-URL sources aren't accepted anymore. The duplicate errors were because Astro's own redirects config in astro.config.mjs generates HTML meta-refresh files that Pages parses as implicit redirect rules — conflicting with my explicit ones. Fix: delete _redirects entirely. Use a Cloudflare Redirect Rule from the dashboard for cross-host 301s (Wildcard pattern,

2026-06-06 原文 →
AI 资讯

I Benchmarked Lynkr Against LiteLLM on the Same Backends.

I Benchmarked Lynkr Against LiteLLM on the Same Backends. Lynkr Was Cheaper for Tool-Heavy Workloads Founder disclosure: I built Lynkr, so take this as a technical benchmark write-up, not a neutral industry report. The numbers below come from the same backend providers on both gateways. If you're routing AI coding traffic through a gateway, just switching providers is not enough. The real savings come from reducing the tokens that ever reach the model in the first place. I ran Lynkr and LiteLLM against the same backends — Ollama locally, Moonshot, and Azure OpenAI — across 9 scenarios. On the scenarios that actually look like agentic coding work, Lynkr was cheaper because it does three things before forwarding the request upstream: smart tool selection, TOON compression, and semantic caching. The short version Lynkr was measurably better on the cost-sensitive parts of the workload: Smart tool selection: 53% fewer input tokens, 52% lower cost TOON JSON compression: 87.6% fewer billed tokens on a large tool result, 50% lower cost Semantic cache: 171ms cache-hit response vs 3,282ms on the repeat query path Tier routing: escalated hard prompts to stronger models instead of blindly sending everything to the cheapest route Area Lynkr result Why it mattered Tool selection 53% fewer tokens Removes irrelevant tool schemas TOON compression 87.6% fewer tokens Shrinks large JSON tool outputs Semantic cache 171ms cache hit Avoids repeat model calls Tier routing Escalates hard prompts Doesn’t over-optimize for cheapest path This matters if you're running Claude Code, Codex, Cursor, or similar agent workflows where tools, file reads, grep output, and repeated context dominate your token bill. Setup Same benchmark inputs, same providers, same request shape. Machine: macOS on Apple Silicon Lynkr: v9.3.2 on Node 20 LiteLLM: v1.87.1 on Python 3.12 Backends used: Ollama local, Moonshot, Azure OpenAI Scenarios: 9 total across simple prompts, tools, history, cache, and routing Each scena

2026-06-06 原文 →