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

今日精选

HOT

最新资讯

共 36392 篇
第 1093/1820 页
AI 资讯 Dev.to

I spent a week trying to make AI-assisted development less chaotic.

Hi, I’m David. I’m close enough to middle age that I have no interest in pretending I discovered the future of software development in a week. What I did do was spend one serious week building a small local app with AI assistance, while trying to keep the project understandable. That turned out to be harder, and more interesting, than I expected. The coding agent could move quickly. Sometimes very quickly. It could generate code, refactor, write boilerplate, and help move the project forward. But it could also widen scope, preserve the wrong assumption, “helpfully” redesign something I wanted to keep boring, or act on context that was never meant to become implementation work. The main lesson I took from that week was simple: AI-assisted development is not only a coding problem. It is a context management problem. So I started using a lightweight loop: Task Brief -> think through the problem Codex Contract -> give the coding agent a bounded instruction set Final Review -> test, inspect, patch, and update project memory The result was not perfect AI coding. The result was reviewable AI coding. That distinction felt important enough to write down. The three articles I published three companion articles from that first week. They are meant to stand on their own, but together they describe the workflow, the memory system, and the objections I think are worth taking seriously. 1. Vibe Coding Done Right This is the accessible starting point. It explains how I used a lightweight, spec-driven workflow as a solo developer working with ChatGPT, Codex, VS Code, PowerShell, and a local LLM through LM Studio. The point is not the exact stack. The point is the separation: one place for thinking, learning, and review; another place for bounded implementation; documentation as the memory that keeps the next task grounded. 2. Documentation as Project Memory in AI-Assisted Development This is the more technical case-study piece. The part that surprised me most was documentation. Not

davidvk89 2026-06-30 20:52 4 原文
AI 资讯 Dev.to

Nobody Gets Paid for Knowing Syntax. They Get Paid for Solving Problems.

When I first started programming, I thought the best developers had one superpower. They remembered everything. Every function. Every method. Every API. Every piece of syntax. So I spent hours trying to memorize things. JavaScript methods. SQL queries. Regex. CSS properties. I thought that would make me valuable. I was wrong. The Day Everything Changed One day I watched a senior developer solve a difficult production issue. They opened Google. They opened the documentation. They searched Stack Overflow. They experimented. They tested. They failed. Then they fixed it. That's when I realized something. They weren't valuable because they remembered everything. They were valuable because they knew how to solve problems. Google Doesn't Make You Less of a Developer For a long time I felt guilty every time I searched for something. "Real developers shouldn't need Google." That's what I believed. Then I realized... Even experienced engineers search for documentation every day. Not because they're bad. Because technology changes constantly. Nobody remembers every detail. Syntax Is Temporary Think about the last five years. How many frameworks have changed? How many libraries disappeared? How many APIs were deprecated? Technology moves fast. Problem-solving doesn't. If you know how to think... You can learn any syntax. Companies Don't Hire Human Compilers Nobody pays you because you know where to put a semicolon. Nobody promotes you because you memorized every React hook. Companies pay developers who can: understand problems communicate clearly debug effectively make good decisions work with people deliver reliable software Those skills don't disappear when a framework becomes outdated. The Questions That Matter Instead of asking: "Do I know this syntax?" I started asking: Can I understand the problem? Can I break it into smaller pieces? Can I explain my thinking? Can I find reliable information quickly? Can I learn something new when I need it? Those questions changed the wa

Mohit Patel 2026-06-30 20:44 7 原文
AI 资讯 Dev.to

Cutting Idle Agent Costs by 90% with Agent Substrate

Cost is everything. In just about every agentic conversation, the three things that come up for enterprises implementing AI workloads are: Cost Observability Security and as AI continues to throw everyone for a loop when it comes to cost management (e.g - Uber running out of the yearly token budget in one quarter), the ability to shrink resource (like hardware) usage will be crucial moving forward. In this blog post, you will learn how to cust costs by 90% using Agent Susbtrate in comparison to Agents running in k8s Deployments/Pods. The Cost Comparison Agents need a place to run. The "place to run" needs to be a platform that's easily managed, orchestrated, and has the ability to cluster resources. Resources like CPU, GPU, and memory need to be able to scale and expand. Without this, it's a matter of manually managing servers that Agents are running on and clients to interact with said server. That's why so many organizations choose Kubernetes to run Agentic. When running Agents per Pod, however, that can get costly very quick in terms of hardware (GPU, CPU, memory) and performance (can your cluster scale up and down quickly based on resource needs when it comes to Agents coming up and going down per use?). The tests in this blog post show: Always-on Agents running in k8s. Actors running in Workers via Agent Substrate And the comparison will be 50 always-on Pods in comparison to 50 Actors across 5-7 Workers (Pods). If there are 50 Agents running per Pod and 50 Agents running per Worker with 5-10 Actors per Pod, you can already imagine the hardware resource savings that can be accomplished. Right now, the majority of organizations start off with the "one Agent per Pod" approach as that's the fastest way to show value and get up and running. For the future, however, Agents in Actors via Agent Substrate will be how organizations deploy when they care about efficiency, optimization, and managing cost. Let's dive in from a hands-on perspective. Prerequisites To follow a

Michael Levan 2026-06-30 20:40 12 原文
AI 资讯 Dev.to

From one blocking accept() to epoll: a C TCP server up the I/O ladder, measured

I connected one client to a blocking TCP server and held the socket open without sending a single byte. Then I connected a second client and sent it a line of text. The second client sat there for 1.51 seconds with no reply. It got its echo back one millisecond after I closed the first connection. That 1.51 seconds is the reason the other six versions of this server exist. Last week I wrote up why I rebuilt this server seven times : framework knowledge resets every few years, the layer underneath it compounds. That piece stayed at the level of outcomes. This one goes the other way, down into the code and the numbers. The claims that matter here are the kind you can read a hundred times without being able to derive them. "select is O(n)." "epoll only hands you the ready fds." I had read both for years. I wanted to make my own machine say them out loud. The target the whole exercise is built around is Dan Kegel's old C10K problem : how do you serve ten thousand clients at once on one server? Each of the seven versions hits a wall, and the wall is what names the next one. The whole thing is one echo server written seven times, no libraries beyond libc, on GitHub . Every number below is from running it on macOS (Apple clang 21, darwin 25.4) on 2026-06-29. The binaries are built with AddressSanitizer and UBSan on, so read the absolute microseconds loosely. The structure is what holds. Phase 01: blocking, and the 1.5 second stall The first server is the one everybody writes first. Accept a connection, talk to it, close it, accept the next. for (;;) { int client_fd = accept ( server_fd , NULL , NULL ); if ( client_fd == - 1 ) { perror ( "accept" ); continue ; } handle_client ( client_fd ); close ( client_fd ); } handle_client loops on read until the client hangs up. Both accept and read block: when there is nothing to do, the thread sleeps in the kernel. That is good for idle cost and fatal for everything else. While the server is parked in read waiting on client A, client

Valentyn Kit 2026-06-30 20:36 9 原文