AI 资讯
The Missing Check After Your Database Query
We have tools for checking whether a query is injectable. We have linters, scanners, ORMs, parameterized queries, and database policies. But after the database returns rows, most applications simply trust that the result set matches the operation that asked for it. queryguard starts there. The query may be safe. The result may still be wrong. SQL injection taught us to distrust query construction. Parameterized queries answered the question: Did the user control the query structure? That question is well understood. The tooling is mature. But it is a different question from the one queryguard asks: Did this operation receive only the rows and fields it was allowed to receive? Those two questions are not the same. A perfectly safe parameterized query can still return the wrong row — because a predicate was dropped, a join widened the result, a developer selected a column they shouldn't have, or a query was rewritten without updating its scope contract. queryguard is not a database firewall. It is not a SQL injection scanner. It is not an ORM plugin. It is a contract check for observed result sets. Where it sits The hook position is the core design decision. queryguard sits immediately after cursor execution — before any result shaping, filtering, serialization, or response mapping. cursor = conn . execute ( sql , bindings ) rows = [ dict ( row ) for row in cursor . fetchall ()] evidence = queryguard . run_check ( contract , { " contract_id " : " user_profile_lookup " , " contract_version " : " 0.1.0 " , " params " : { " user_id " : user_id }, " session " : { " tenant_id " : tenant_id }, " result " : rows , }) if evidence [ " verdict " ] != " PASS " : raise QueryguardViolation ( evidence ) return rows Not at the HTTP layer. Not inside the ORM. Not at the API gateway. Immediately after the cursor returns rows — while the result is still raw, before anything shapes or discards it. This is intentional. If rows are shaped before queryguard sees them, queryguard cannot det
AI 资讯
What actually changed in two weeks
I built a large feature. That's not what this is about. What changed is the baseline — the standards, docs, and automation that exist now and didn't two weeks ago. Everything after this will be built on top of it. Automated tests now ship with new features QA testers were testing. The product was covered. What didn't exist was automation — no E2E suite, no unit tests for new work, no repeatable spec. Now it does. The manual QA cycle stays. The automation catches what humans miss on the tenth pass. Quality leap going forward. Human hours saved. The next feature ships with both. The baseline is set Knowledge lives in the repo. Bug catalog with root causes — so the same thing doesn't get fixed twice. Tech debt inventory with a phased plan. Testing strategy documented, not assumed. GraphQL schema committed and validated against — drift gets caught before it ships. Pre-commit hooks that enforce the standards automatically. The frontend and backend documentation are cross-referenced as single sources of truth. The agent instructions point to the right places. Everything new builds on what's already written. Schema-first development The workflow is now: if the schema accommodates the new field, reuse what exists. If it doesn't, the schema update creates the new structure, the data migrates, and everything stays consistent. No guessing. No drift. One source of truth for what the data looks like. The feature is what you see. The baseline is what you don't — and it matters more.
AI 资讯
How the World Cup became a US streaming success story
This is Lowpass by Janko Roettgers, a newsletter on the ever-evolving intersection of tech and entertainment, syndicated just for The Verge subscribers once a week. The 2026 World Cup is breaking streaming records around the world: Brazil's CazéTV YouTube livestream of that country's opening game against Morocco surpassed 12 million concurrent viewers, a new milestone […]
科技前沿
Stop Mowing Your Grass Forever With One of These Highly Rated Robot Mowers On Sale
You don't need to cut your own grass anymore. Most of the best robot mowers I've tested are on sale for Prime Day.
AI 资讯
Get MacBooks at a Prime Day discount before Apple’s new price hikes kick in
Apple just raised the prices on Macs and iPads in response to the rising costs of memory chips, right in the middle of Amazon Prime Day. That means existing discounts (even small ones) on Apple laptops like the MacBook Neo, MacBook Air, and MacBook Pro just became significantly better deals. As an example, the 13-inch […]
开发者
Domino Tiling: From Dynamic Programming to Finite Fields
https://www.omegasyntax.com/domino/ Series of articles about Domino Tiling problem. submitted by /u/eugene [link] [留言]
AI 资讯
Building an Entity Component System: Data Oriented Hierarchies
Data Oriented Design is the practice of building code that's optimized for the hardware it runs on. Entity Component Systems help writing DOD-friendly code by laying out otherwise allocation-heavy game data in contiguous arrays. A challenge in gamedev however is that lots of game data is stored and accessed as hierarchies that change frequently, which makes them notoriously difficult to store as contiguous arrays. This article goes over a number of techniques an Entity Component System can use to integrate hierarchies with the core datamodel in a way that improves the performance of the ECS. Written mostly for gamedev, but also applies to other hierarchy-heavy applications, like UI. submitted by /u/ajmmertens [link] [留言]
科技前沿
Sony A7R VI review: A huge speed boost makes this a nearly perfect high-resolution camera
Sony's A7R VI finally serves up speed and resolution together thanks to the new 67MP stacked sensor.
科技前沿
IBM says it has created the world's first sub-1 nanometer chip
IBM says it has created the world's first sub-1 nanometer chip
创业投融资
Trump admin bars Polestar from selling its new EVs in the US
The Department of Commerce declined to give the Chinese-owned automaker a special authorization to keep selling EVs in the U.S.
AI 资讯
Apple raises Mac and iPad prices, spares iPhone for now
Apple raises prices of MacBook Air and Pro along with iPad Air and Pro.
开发者
Apple hikes prices for most of its hardware
Macs, MacBooks, iPads and other Apple products just got more expensive.
AI 资讯
The dogma of entity-based Services and Repositories
Every day I see more projects where a layer-per-entity approach is created by default: UserService , UserRepository , OrderService , OrderRepository , and so on. My issue is not with layering itself, but with how these layers are used. In theory, a Service should represent application behavior: something that encapsulates real use cases or meaningful interactions with external systems (payments, emails, APIs, etc.). Something with enough significance to justify being isolated. A Repository , in theory, should exist when there is real complexity in data access: multiple data sources, non-trivial persistence logic, evolving storage mechanisms, etc. However, in practice, they often degrade into something else: services that simply delegate calls repositories that are thin wrappers around an ORM interfaces with no meaningful alternative implementation At that point, the abstraction starts to lose its purpose. Why not use the ORM directly when there is no real complexity to hide? Why do we default to intermediate layers that don’t truly represent either a service or a repository in their original sense? It often feels like they add files, indirection, and noise without improving clarity. I’m not saying these layers are inherently bad. I’m trying to understand why they are so often applied by default, even when they don’t serve their actual purpose. Does this approach really improve clarity, or does it just introduce unnecessary complexity? For example, instead of organizing code around generic services per model, we could structure it around explicit use cases for concrete system actions. These would still live within an application/service layer in the sense described by Fowler, but without forcing a generic ModelService structure for everything. The goal would be to design around intent rather than around structural templates—so the code reflects what the system does , not just how it is layered . submitted by /u/Character-Method-720 [link] [留言]
AI 资讯
Feds deny Polestar authorization to sell cars in US from model year 2027
Unlike with Volvo, there will be no authorization for Polestar to sell its cars here.
科技前沿
Kobo Libra Colour Sale (2026): The E-Reader Deal Worth Jumping on This Prime Day
The color e-reader that’s most worth your money this Prime Day isn't from Amazon.
AI 资讯
Repositioning retail for the AI era
Artificial intelligence is rapidly reshaping retail, but not in the ways consumers might immediately notice. The biggest transformation may not be flashy virtual try-ons or chatbot shopping assistants, but in how decisions are made behind the scenes: how products surface in search results, how inventory moves through supply chains, how engineers ship code faster, and…
科技前沿
Apple ratchets up prices, blames the cost of memory
Some Macs are hundreds of dollars more expensive today than yesterday.
科技前沿
21 Best Prime Day Beauty Deals of 2026 (We Sifted Through Hundreds to Pick Them)
It wouldn't be Amazon Prime Day without some beauty deals. Here's a roundup of all our favorites.
创业投融资
2 days left to save up to $190: Join 1,000+ founders and investors at TechCrunch Founder Summit
2 days left to lock in your spot at TechCrunch Founder Summit 2026 and save up to $190 before Early Bird rates expire on June 26 at 11:59 p.m. PT. Register here.
开发者
EverQuest Legends is a powerful nostalgia machine
I wasn't surprised when I got the call that my dad was dying, even though we'd been estranged for many years. He'd suffered addiction for decades and eventually ran out of time, which also meant he ran out of time to reconcile with me. About 15 years after we stopped talking, my aunt and uncle […]