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

标签:#c

找到 31113 篇相关文章

AI 资讯

I Spent 40 Minutes at 11pm Debugging a Deploy That Wasn't Broken

I once spent forty minutes at eleven at night debugging a deploy that wasn't broken. The release script ran the database migration, the migration threw connection refused , the script exited non-zero, the deploy rolled itself back, and I got paged. So I did the things you do. I read the migration. I read the logs. I checked the database — it was up, it was healthy, it accepted my connection instantly. I re-ran the deploy and it worked. I chalked it up to gremlins and went to bed, which is the part I'm not proud of, because it happened again two days later. That time I watched the timing: the script brought up a fresh database container and started the migration about six seconds before Postgres finished initializing and began accepting connections. The migration was racing the database's boot. Most of the time it won. The times it lost, I lost forty minutes. The script wasn't wrong about anything except one assumption: that a dependency is ready the instant you ask for it. In production, dependencies are eventually ready That's the mental model shift. Networks blip. A service you call returns a 503 for the two seconds it takes to finish a rolling restart. An API rate-limits you with a 429 it fully expects you to retry. A fresh container's database isn't accepting connections for its first few seconds. Treating the first failure as fatal turns every one of these normal, transient conditions into a paged engineer — and the script that handles them isn't smarter — it declines to give up on the first try. But retrying naively is its own trap. Retry instantly and you hammer a recovering service into staying down. Retry forever and a genuinely dead dependency hangs your script indefinitely. Retry a 404 and you wait a minute to confirm what you already knew. Good retries are bounded, backed off, and selective. A retry function you can reuse anywhere #!/bin/bash # Purpose: survive transient failures instead of dying on the first error set -euo pipefail CHECK = "✓" CROSS = "

2026-07-02 原文 →
开发者

How I Built a Zero-Friction Browser Gaming Platform (Zero Sign-Ups, Zero Downloads)

I built GameDeck — a gaming platform where you pick a badge, type a name, and play. That's it. No accounts, no launcher downloads, no tracking. Here's how I built it and what I learned. The stack Frontend : Pure browser-based, vanilla JS Deployment : Google Cloud Run i18n : 3 languages (EN, 简体中文, 繁體中文) with instant switching Identity : Emoji badge system — no usernames, no passwords The architecture The entire app is a single-page browser app. No backend for user auth (because there is no auth). Sessions are ephemeral — nothing is stored. Multi-language i18n Adding 3 languages was the #1 feature request within 24 hours of launch. Simple key-value translation maps, no framework needed. The badge identity system Instead of usernames, users pick an emoji badge (🎮 ⚡ 🦊 🐉 🐼 🚀 🐱 🐯 🌟 🍿). This turned out to be the most talked-about feature. It's fun, zero-friction, and surprisingly expressive. Privacy by default No data collected. No cookies. No analytics. Just the game. Privacy isn't a feature — it's the absence of features that invade privacy. What I'd do differently Multi-language from day 1 More game variety before launch Better mobile responsiveness Try it : https://gamedeck-804028808308.us-west2.run.app Source : Built solo, open to questions! Would love feedback from the dev community — especially on the browser game architecture and i18n approach.

2026-07-02 原文 →
AI 资讯

العودة إلى Fable 5: كيفية إعادة توجيه أحمال عمل API بأمان

عندما توقف Claude Fable 5 عن العمل في 12 يونيو 2026 بموجب ضوابط التصدير الأمريكية، فعل فريقك ما فعلته أغلب الفرق: أعاد توجيه الإنتاج إلى Claude Opus 4.8 أو Sonnet 4.6، أصلح الأوامر المعطلة، وتجاوز الانقطاع. رُفعت الضوابط في 30 يونيو، وعاد Fable 5 للعمل اعتبارًا من 1 يوليو عبر Claude.ai ، وواجهة برمجة التطبيقات API، وClaude Code، وCowork. أكدت Anthropic إعادة النشر الكامل في إعلانها الرسمي . جرّب Apidog اليوم الخطوة السهلة هي التراجع عن آخر تغيير في التكوين واعتبار المشكلة منتهية. لا تفعل ذلك. الخدمة التي تعود إليها ليست بالضرورة مطابقة سلوكيًا لما استخدمته قبل الانقطاع: أُعيد تدريب طبقة الأمان، وقد تختلف جاهزية المنصات السحابية حسب المنطقة، وأصبح Opus 4.8 الذي استخدمته لثلاثة أسابيع خط الأساس العملي للمقارنة. تعامل مع العودة إلى Fable 5 كترحيل إنتاجي: تحقق، اختبر، قارن، ثم اطرح تدريجيًا. جرد ما تغير أثناء غيابك بين 12 يونيو و1 يوليو، تغيرت ثلاثة أشياء. وشيء واحد بقي كما هو. 1. أُعيد تدريب مصنف الأمان يأتي Fable 5 المعاد نشره مع مصنف أمان أُعيد تدريبه لاستهداف تقنية كسر حماية أُبلغ عنها أثناء الانقطاع. تقول Anthropic إنه يحظر أكثر من 99% من محاولات استخدام هذه التقنية. النقطة المهمة للتطبيقات الإنتاجية: الطلبات المصنفة لا تفشل بالضرورة. تُعاد توجيهها تلقائيًا إلى Claude Opus 4.8. الرد يحمل إشعارًا بذلك. أكثر من 95% من الجلسات لا ترى أي تراجع. هذا يعني أن أوامرك تعمل الآن أمام طبقة أمان مختلفة قليلًا. لا تفترض أن نتائج أوائل يونيو ما زالت صالحة؛ أعد الاختبار. 2. تحقق من حالة المنصة السحابية أعاد Amazon Bedrock دعم Fable 5 في 1 يوليو، في نفس يوم واجهة برمجة التطبيقات الأساسية، لكن ملفات تعريف الاستنتاج الإقليمية قد تُطرح بشكل غير متساوٍ. قد يكون Google Vertex AI وMicrosoft Foundry ما زالا في مرحلة اللحاق. توجيه Anthropic للمنصات المعلقة هو "بأسرع وقت ممكن"، بدون تاريخ محدد. إذا كنت تستخدم موفرًا سحابيًا، لا تغيّر الإنتاج قبل التحقق من: توفر Fable 5 على المنصة. توفره في المنطقة التي تستخدمها. توافق اسم النموذج أو ملف تعريف الاستنتاج مع تكوينك الحالي. 3. خطط الاشتراك لها تاريخ يجب مراقبته إذا كان أعضاء الفريق يستخدمون Claude عبر خطط الاشتراك بدلًا من مفاتيح API، فهناك تغ

2026-07-02 原文 →
AI 资讯

How I Optimized My Portfolio Website: Fast Loading, SEO-Friendly, and Easy to Maintain published: true tags: webdev, portfolio, seo, performance

Your portfolio is often the first impression a recruiter, client, or fellow developer gets of you. If it loads slowly, ranks nowhere on Google, or is a pain to update, it's working against you instead of for you. Here's how I approached optimizing mine — covering performance, SEO, and everyday usability. 1. Start With a Lightweight Foundation The biggest performance wins come before you write a single line of custom code. Pick a lean stack. Static site generators (Astro, Next.js with static export, Hugo, or even plain HTML/CSS/JS) ship far less JavaScript than a full SPA framework for a mostly-static portfolio. Avoid unnecessary UI libraries. A heavy component library for a five-page site adds kilobytes you don't need. Hand-roll simple components instead. Use system fonts or self-host web fonts. Pulling fonts from a third-party CDN adds an extra DNS lookup and render-blocking request. Self-hosting with font-display: swap avoids layout shift and speeds up first paint. 2. Optimize Images (This Is Usually the Biggest Win) Images are almost always the heaviest assets on a portfolio site. Convert images to WebP or AVIF — typically 30–50% smaller than JPEG/PNG at the same visual quality. Resize before upload. Don't serve a 4000px-wide photo in a 600px container. Use loading="lazy" on below-the-fold images so the browser doesn't fetch them until needed. Add explicit width and height attributes to prevent layout shift (this also helps your Cumulative Layout Shift score). <img src= "/project-thumb.webp" alt= "Project screenshot" width= "600" height= "400" loading= "lazy" /> 3. Minimize and Defer JavaScript Ship only the JS a page actually needs — code-split per route if your framework supports it. Defer non-critical scripts (analytics, chat widgets) with defer or load them after the page is interactive. Audit your bundle with a tool like source-map-explorer or your framework's built-in bundle analyzer to catch unexpectedly large dependencies. 4. Nail the SEO Basics Good perf

2026-07-02 原文 →
AI 资讯

Show HN: Meow – The 4th and final JavaScript runtime and toolchain

Yes, I said final. Fight me in the comments. But seriously: there are basically exactly 3 serious JS runtimes in the world. (Now 4... or 1, idk). Why? Because the modern JS ecosystem is a fragmented, bloated nightmare. Node, pnpm, tsc, eslint, prettier, vite. Each spins up its own V8 instance, parses your codebase from scratch, and leaves a graveyard of .json configs in your root directory. meow squishes it all into one cute 82MB binary. It’s a drop-in Node replacement, ultra-fast package manage

2026-07-02 原文 →
AI 资讯

[D] Self-Promotion Thread

Please post your personal projects, startups, product placements, collaboration needs, blogs etc. Please mention the payment and pricing requirements for products and services. Please do not post link shorteners, link aggregator websites , or auto-subscribe links. -- Any abuse of trust will lead to bans. Encourage others who create new posts for questions to post here instead! Thread will stay alive until next one so keep posting after the date in the title. -- Meta: This is an experiment. If the community doesnt like this, we will cancel it. This is to encourage those in the community to promote their work by not spamming the main threads. submitted by /u/AutoModerator [link] [留言]

2026-07-02 原文 →
AI 资讯

Making Optimization Work When Labels Are Scarce [R]

https://www.gnosyslabs.com/case-studies/safety-classifier-sparse-labels Gnosys is an autonomous model engineer: it improves prompts and classifiers when ground truth is too sparse for conventional optimization. On ToxicChat, a public safety benchmark, under realistic label scarcity, it improved a classifier past both the team's starting point and GEPA (a standard prompt optimizer), across two runs of our current method. This note describes what we did, what we found, and where the method underperformed. Results We report harm caught : the share of harmful messages flagged, holding the false positive rate fixed at 5% (one in twenty) for every method, so a difference reflects additional harm caught at the same cost rather than a change of threshold. Both runs below are scored on a held-out set the system never saw. Headline run (3,000) Prior run (1,000) Gnosys 0.777 0.909 Starting classifier 0.731 0.788 GEPA 0.702 0.848 In both runs, Gnosys improved on both the starting classifier and GEPA. In the headline run GEPA not only trailed Gnosys but fell below the starting classifier (0.731 to 0.702); in the prior run it improved on the starting point. This inconsistency is the central difficulty under sparse labels: optimization sometimes helps and sometimes harms, and without trustworthy measurement there is no way to tell which has happened. The comparison is intentionally conservative: both approaches use the same underlying optimizer. The only difference is that Gnosys engineers the objective the optimizer works against. The problem Teams running high-stakes AI classifiers, in content moderation, fraud, claims review, and risk scoring, share one constraint: the ground truth they need is a human judgment that is expensive, slow, and sometimes never arrives. They can verify only a small set of examples while decisions accumulate on everything else. Tuning the model against the few labels on hand is where the difficulty concentrates. Here "few" is literal: about 200 verifi

2026-07-02 原文 →
AI 资讯

How I Built an Ultra-Fast Bilingual Dictionary Handling 293,000+ Words on the Edge

Every developer has that one project. The passion build that sits in the back of your mind for months—or even years—before you finally sit down, crack your knuckles, and make it a reality. For me, that project was building a modern, open-access bilingual digital lexicon bridging English and Assamese: AssameseDictionary.org . While it started as a personal milestone dream, it quickly turned into a massive data engineering and architecture challenge. Here is how I tackled parsing a massive vocabulary database and serving it globally with near-zero latency. 🏗️ The Core Challenge: Scale vs. Speed A dictionary isn't like a standard SaaS app or landing page. It lives and dies by its database depth. To make this a truly definitive tool, I compiled, cleaned, and programmatically validated an extensive vocabulary index mapping over 293,000 words . The dataset doesn't just hold simple translations; it maps complex bidirectional lookups, phonetic transliterations, advanced English definitions, context usage examples, and cross-linked synonym tokens. If I threw this massive dataset into a traditional relational database hooked up to a standard server setup, I ran into immediate roadblocks: Latency: Heavy search queries on a dataset this size can cause noticeable lag. Cost/Overhead: Maintaining and scaling database servers for unpredictable public traffic gets expensive fast. I wanted the search utility to snap back instantly. To achieve that, I had to ditch traditional server paradigms entirely. ⚡ The Architecture: Serverless Edge Caching To keep things ultra-lightweight, highly cost-effective, and blazing fast, I built the platform around an edge-computing topology: The Runtime: I offloaded the backend logic entirely to Cloudflare Workers . Instead of routing traffic to a centralized origin server, queries are intercepted and executed at serverless edge locations physically closest to the user. The Data Layer: Instead of an active SQL database bottleneck, I mapped the data mat

2026-07-02 原文 →