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

今日精选

HOT

最新资讯

共 27419 篇
第 633/1371 页
产品设计 Reddit r/programming

Beyond Happy Path Engineering: the Network

What happens when network calls stop behaving like clean request/response interactions. Timeouts, retries, duplicate side effects, idempotency, backoff, circuit breakers, load shedding, degraded states, observability, etc. submitted by /u/OtherwisePush6424 [link] [留言]

/u/OtherwisePush6424 2026-07-01 09:23 5 原文
AI 资讯 Dev.to

Maintaining WordPress sites behind HTTP Basic auth — Playwright, urllib, and encrypted credentials

It's pretty common to throw a layer of HTTP Basic auth on a WordPress site: a staging environment before launch, an internal test instance only employees should see, or any environment that wants an extra gate before the WordPress login screen itself. From a maintenance-tool point of view, this setup creates a peculiar "half-working, half-broken" asymmetry. The SSH/WP-CLI side runs fine. But everything HTTP-based — visual checks, thumbnail generation, browser-based fallback updates — hits 401 and dies. This post walks through how we resolved that asymmetry. What was breaking — two parallel paths, both blocked A maintenance tool actually touches a Basic-auth-protected site through two distinct paths: Playwright path : visual checks, thumbnail capture, browser fallback updates when SSH isn't available. browser.new_context() → navigation → screenshot urllib path : HTTP status checks (pre/post-update 200/5xx/4xx monitoring, rollback decisions) With no credentials, both paths see a 401 Unauthorized from the protected site. The Playwright symptom is the obvious one: the screenshot you save is the browser's "authentication required" dialog. The thumbnail grid fills with dark auth-prompt images, and you start wondering whether anything actually works. The urllib symptom is much worse — it silently breaks rollback decisions . A 401 baseline followed by another 401 after the update looks like "nothing changed = healthy." Real failures can hide behind that match, and the rollback that should have fired never does. The design — consolidate credential extraction into one helper When the same credentials need to flow through multiple code paths, picking them out of the site dict separately at each call site invites format-mismatch and missed-update bugs. So the first thing we did was build a small core/basic_auth_utils.py module that owns every form of credential extraction . # core/basic_auth_utils.py def get_basic_auth_tuple ( site ): """ Return (user, password), or None if not

Susumu Takahashi 2026-07-01 08:56 12 原文
AI 资讯 Dev.to

My Hackathon Journey: From Zero to Champion

My hackathon journey didn't start with winning. It started with losing. My first hackathon was BlueHacks 2025 . We spent almost all of our time building and very little time understanding the business side of our project. When it came time to pitch, we struggled to explain why our solution mattered. That experience taught me an important lesson: A great product means nothing if people don't understand its value. Next came GCash's invite-only hackathon . We didn't win, but I walked away with something more valuable than a trophy. I learned more about product thinking, working with data, and met someone named Neo, who would later become a key part of my hackathon journey. Then came the YSES Hackathon . Once again, we fell short. We believed we had built a strong solution, but we made the same mistake. We focused too much on the technology and too little on market validation, business models, and the value our product created. Everything changed during Based Space Batch 002 . It was my first international blockchain hackathon, and it completely changed how I approached building products. During the program, Sir Eli Becislao, then Country Lead of Base Philippines, emphasized the importance of storytelling, pitching, and business strategy. That was when I realized hackathons aren't just coding competitions. They're startup simulations. Our team eventually pivoted our idea and built NameThat , a Web3 platform on Base where users could earn rewards for creative names and ideas. Although we didn't win, we received the Most Pivoting Project Award , recognizing how much we improved our solution throughout the competition. That experience became a turning point. Next was the Philippine Blockchain Week ICP Hackathon . Simply being selected as one of the Top 50 teams in the Philippines already felt like an achievement. Then we were invited to present FarmChain on the Philippine Blockchain Week stage. When the results came out, we finished Top 6 out of 50 teams . To some, sixth p

Kurt Oswill McCarver 2026-07-01 08:45 13 原文
AI 资讯 Dev.to

Customizing D365 Sales — For Our Own Sales Team (Customer Zero) (2) Common Settings

This continues from Part ① . In Part ②, we'll configure the common settings and the internal-processing Power Automate flows. Common Settings Setting Up Connections Open Power Automate ( https://make.powerautomate.com ) Go to "Data" → "Connections" → "New connection" and create a Microsoft Dataverse connection Do the same to create an Office 365 Outlook connection Basic Flow Creation Steps Click "Create" → select "Automated cloud flow" (event-triggered) or "Scheduled cloud flow" (recurring) Name flows in the format [Zone]-[Number] [Description] (e.g., "A-1 Opportunity Stage Stall Alert") Always run a test after creating a flow to verify it works 2. Internal-Processing PA Flows — 4 Flows (Write-back portions of A-4, C-5, C-6, D-3) Once the common settings are done, it's time to build. A-4: Write Back Stage Changed Date Without this flow, the stall-day calculations in A-1 and B-1 will not work. Implement this first. In Microsoft Dynamics 365 (D365), a "stage" refers to a major milestone in a process — such as a sales deal or customer engagement — that guides the responsible person through what needs to happen next. It's how a series of activities is visualized and managed. From here, all work is done in Power Automate. Step Task Details 1 Create the flow "Automated cloud flow" → select trigger "When a row is added, modified or deleted (Dataverse)" 2 Configure trigger Table: Opportunities / Change type: Modified 3 Add condition Add a "Condition" action: "When Status Reason (statuscode) has changed" 4 Write-back action "Update a row (Dataverse)" → set cr917_stage_changed_date to utcNow() C-5: Auto-Set Renewal Date + Auto-Create Renewal Opportunity (on Won) On Won close, two things happen: ① auto-set the renewal date to close date + 365 days, and ② auto-create a new Opportunity for the renewal cycle and add it to the pipeline. Step Task Details 1 Create the flow "Automated cloud flow" → trigger "When a row is added, modified or deleted (Dataverse)" 2 Configure trigger Ta

Miwa J 2026-07-01 08:28 8 原文
AI 资讯 Dev.to

Aikido buys Root to patch open source in place, without the upgrade dance

Every open-source CVE backlog has that one line item you keep sliding into next quarter. The library is a couple of majors behind, the upgrade breaks four services, and the fix upstream ships against a version you cannot ride to. So you file the ticket again. (Everyone's doing great, thanks for asking.) On June 30, Aikido Security said it had acquired Root, whose whole pitch is to make that ticket go away by another route: patch the vulnerability directly into the version already resolved by your build, and skip the upgrade entirely. Per The New Stack, the deal is worth $70 million, and Root's patching technology gets folded into a new Aikido product. Let me phrase what has just moved as plainly as I can. A vendor now edits open-source packages on your behalf and hands you back a version string upstream never shipped. If that sentence made you flinch, hold the flinch. It is doing useful work. The problem this is actually solving The dirty secret of dependency remediation is that a lot of "known" CVEs sit unfixed because remediating them means a version bump that carries breaking changes. You do not get a security patch for the 2.x line, you get a "fixed in 4.0" release note and a laugh track. Backporting the fix is the right operational move: keep the API surface, change only the vulnerable bytes. Linux distributions have done exactly this for decades. The reason your app team is not doing it too is that nobody has the muscle to maintain a patched fork of every transitive dependency in a lockfile. If Aikido now makes that muscle available to the average CI/CD owner, teams get a lever they simply did not have. That is the honest upside. Own it. Who is signing what, exactly Here is the part I care about, which is trust. When your build resolves a package by name and version, you rely on a chain: the registry answers, the digest matches what upstream published, the SBOM you generate downstream still refers back to that same identity. A backported build breaks that chai

Leo 2026-07-01 08:24 8 原文
AI 资讯 Dev.to

How AI Assist Turns a Rough Draft into a Polished Document in Minutes

You've got a rough draft. Bullet points, half-finished paragraphs, maybe some notes you pasted from a meeting. It needs to become a real document — but rewriting takes time you don't have. That's exactly where AI Assist comes in. What AI Assist Does AI Assist lives inside PaperQuire's editor. Select any text, right-click, and choose an action: Rewrite — Rephrase your selection for clarity and tone, keeping the meaning intact Expand — Turn bullet points or short notes into full paragraphs Summarize — Condense a long section into a concise summary Fix grammar — Clean up spelling, punctuation, and awkward phrasing Translate — Convert your text to another language Custom prompt — Tell the AI exactly what you want ("make this more formal", "add examples", "simplify for a non-technical audience") Every action works on your selection — you stay in control of what gets changed and what doesn't. Bring Your Own Key PaperQuire doesn't route your content through our servers. You plug in your own API key from any supported provider: OpenAI (GPT-4o, GPT-4o mini) Anthropic (Claude Sonnet, Claude Haiku) Google (Gemini Pro) Local models (Ollama, LM Studio — for fully air-gapped workflows) Your documents, your key, your choice. Nothing leaves your machine unless you explicitly configure an external provider. A Real Workflow: Meeting Notes to Executive Summary Here's a concrete example. You come out of a 45-minute meeting with this: - Q2 revenue up 12% vs forecast - APAC expansion delayed, regulatory issues - New pricing tier launching Aug 1 - Customer churn down to 3.2%, lowest ever - Engineering headcount: 3 open roles, 2 offers out - Board meeting moved to July 18 Select all, click Expand , and AI Assist turns it into: Q2 revenue came in 12% above forecast, driven primarily by enterprise upsells in North America. The planned APAC expansion has been delayed due to unresolved regulatory requirements in two target markets; the team is working with local counsel to clear the path for a

paperquire 2026-07-01 08:22 4 原文
AI 资讯 Dev.to

Introducing PaperQuire — Markdown to Beautiful PDFs, 100% Offline

We're excited to launch PaperQuire — a desktop app that turns plain Markdown into professional, print-ready PDFs. No cloud uploads, no accounts, no subscriptions required for personal use. Why We Built PaperQuire If you write in Markdown, you've probably hit this wall: your content looks great in your editor, but the moment you need to share it as a polished document — a proposal, a report, a spec — you're stuck copy-pasting into Word or fighting with LaTeX. We wanted something simpler. Write in Markdown, click Export, and get a document that looks like a designer made it. No extra steps, no cloud dependency, no learning curve. What PaperQuire Does Live preview — See your formatted document side-by-side as you type. What you see is what you'll get in the PDF. Professional templates — Choose from templates designed for technical docs, proposals, reports, and more. Every template supports custom branding: your logo, your colors, your fonts. Offline-first — Your documents never leave your machine. PaperQuire runs entirely on your desktop — macOS, Windows, and Linux. Plugin system — Extend PaperQuire with plugins for diagrams (Mermaid), math (KaTeX), syntax highlighting, and more. AI Assist — Bring your own API key and get writing suggestions, grammar fixes, and content generation right inside the editor. How It Works Open PaperQuire and start writing Markdown — or open an existing .md file Choose a template and customize your branding (logo, colors, fonts) Click Export to generate a polished PDF instantly Share your document with confidence The entire process takes seconds, not minutes. Free for Personal Use PaperQuire is free for personal use with no restrictions on the core features. The Pro plan adds advanced exports (DOCX, HTML), batch processing, and priority support for teams that need more. Get Started Download PaperQuire for your platform: macOS (Apple Silicon) Windows (x64) Linux (x86_64) Check out the documentation for a quick walkthrough, or just start writi

paperquire 2026-07-01 08:21 9 原文
AI 资讯 Dev.to

Desenvolvedor: de técnico a arquiteto do produto

Existe um desconforto generalizado na área de desenvolvimento. Uma sensação de que o chão mudou, mas ninguém deu o mapa novo. A IA generativa entrou no dia a dia, e de repente aquilo que antes levava horas: escrever funções, montar queries, criar componentes, resolver bugs triviais. Agora passou a levar minutos. Às vezes, segundos. A reação mais comum é: ou "a IA vai substituir todo mundo", ou "não muda nada, é só mais uma ferramenta". As duas posições estão erradas. A primeira é alarmismo. A segunda é negação. O que aconteceu foi uma mudança de papel . O desenvolvedor não deixou de ser necessário. O tipo de contribuição que se espera de um desenvolvedor mudou. E entender essa mudança cedo, especialmente para quem está no início da carreira, é a diferença entre se tornar um profissional de pouco impacto e um profissional indispensável. O modelo que conhecíamos Durante muito tempo, a indústria funcionou com uma divisão razoavelmente clara de responsabilidades: O ciclo tradicional de uma demanda: Alguém identifica um problema → alguém de produto investiga e define o escopo → um arquiteto ou pleno projeta a solução → um desenvolvedor implementa. Cada etapa tinha suas pessoas, suas cerimônias, seus rituais. Refinamento, sprint planning, design review, code review. Não que isso fosse ruim, só era uma estrutura que fazia sentido quando cada etapa era custosa. Dentro desse modelo, a progressão de carreira era mais ou menos assim: Junior recebia tarefas pequenas e bem definidas. Codificava, testava, corrigia. A maior parte do tempo era gasto na execução: a parte braçal . Pleno pegava demandas mais complexas, começava a pensar em como o código se encaixa no sistema. Refatorava, participava de decisões técnicas . Senior definia arquitetura, avaliava trade-offs, mentorava. Codava menos, pensava mais . A IA comprimiu isso. Muito do trabalho braçal que servia como treinamento para o junior agora é automatizado. E isso gerou a pergunta que paira no ar: "Se a IA faz o que eu fazia

William Cunha Cardoso 2026-07-01 08:10 4 原文
AI 资讯 The Verge AI

Anthropic’s long-sidelined Fable 5 is greenlit to return

After weeks of negotiating with the Trump administration, Anthropic is finally going to be able to bring Claude Fable 5 back online. In a post on X, Anthropic said it plans to begin restoring access tomorrow. Anthropic: We've received notice that the Department of Commerce has lifted export controls on Claude Fable 5 and Mythos […]

Hayden Field 2026-07-01 08:03 6 原文
AI 资讯 Dev.to

"How to Stop AI Agent Skills, Hooks, and Cron Jobs from Silently Conflicting Over Where They Run and What Data They Trust"

Originally published on hexisteme notes . Make every skill, hook, and scheduled job declare four invariants before it ships — Locality (where it can run), Source-of-truth (which facts it owns or borrows), Cross-ref (what depends on it and what it depends on), and Trigger-measurability (whether its trigger is observable at runtime or hidden in external state) — and refuse to hand off any component that leaves one undeclared, because an undeclared assumption is exactly the seam where two components silently disagree. Two separate runtime leaks surfaced in a single audit session, and both traced back to the same root cause: a component that never declared its assumptions. One read configuration from a file that had stopped being the source of truth (so it always returned a stale default); the other was a scheduled job pointed at a remote sandbox while its prompt referenced local-only paths — caught minutes before registration, where any later and it would have billed compute and produced nothing. Neither was a coding bug. Both were missing declarations. The failure mode: components that work alone but leak when combined When you build an AI agent system out of small parts — skills the model loads on demand, hooks that fire on lifecycle events, cron jobs and scheduled routines that run unattended, helper scripts, config profiles — each part usually gets tested in isolation. It works. You move on. The trouble is that "it works" only proves single-shot correctness; it says nothing about whether the part's assumptions agree with the rest of the system. Every component carries hidden assumptions: where it runs (local machine vs. a remote sandbox), which facts it treats as authoritative, what other components it silently depends on, and what its trigger actually measures. When those assumptions go undeclared, conflicts stay invisible until they surface to the user as a flaky, hard-to-trace symptom — the kind that feels like a vicious cycle because every fix in one place re-o

John 2026-07-01 08:00 9 原文