[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-98ipki1AN9cH_l5GtHDiRlNl3HxFIQhkqjOfw9YI38s":3,"sanity-N40zAZXuKGLTjYDs6A8TPTW4oH3GbZII-AUweZaUo64":272},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":247},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"f83eb5f0-1237-487f-84d8-f7abf2318c39","2026-06-25T07:40:00.000Z",{"_type":10,"current":11},"slug","code-isnt-causing-your-production-failures",null,"Code isn’t the only thing causing your production failures",[15,21,27,33],{"_id":16,"publishedAt":17,"slug":18,"title":20},"eb5b66eb-9410-4329-83bb-22bbff39402a","2026-04-28T13:00:00.000Z",{"_type":10,"current":19},"turn-scattered-knowledge-into-trusted-intelligence","Turning scattered knowledge into trusted intelligence: Stack Internal 2026.3",{"_id":22,"publishedAt":23,"slug":24,"title":26},"369c2401-b62e-4a37-8ff8-bf603023ecad","2026-03-02T15:03:00.988Z",{"_type":10,"current":25},"what-s-new-at-stack-overflow-march-2026","What’s new at Stack Overflow: March 2026",{"_id":28,"publishedAt":29,"slug":30,"title":32},"5e9053a4-07ea-447c-91ea-29e0b6228537","2026-02-02T15:00:00.000Z",{"_type":10,"current":31},"what-s-new-at-stack-overflow-february-2026","What’s new at Stack Overflow: February 2026",{"_id":34,"publishedAt":35,"slug":36,"title":38},"a1b538eb-a8a6-46d0-80a1-ac70ec9bb935","2026-01-05T10:00:00.000-05:00",{"_type":10,"current":37},"what-s-new-at-stack-overflow-january-2026","What’s new at Stack Overflow: January 2026",{"_createdAt":40,"_id":41,"_rev":42,"_type":43,"_updatedAt":44,"author":45,"body":62,"comments":197,"dateUrl":198,"excerpt":199,"image":200,"product":12,"publishedAt":204,"slug":205,"sponsored":12,"tags":207,"title":246,"visible":197},"2024-07-29T19:08:05Z","699a2c40-381d-4427-8cbe-4e4c1638669f","XzVcPPDfPNmxxXS3zvDprH","blogPost","2025-10-31T17:26:43Z",[46],{"_createdAt":47,"_id":48,"_rev":49,"_type":50,"_updatedAt":51,"avatar":52,"employee":57,"name":58,"role":59,"slug":60},"2023-05-23T16:27:18Z","wp-author-295","3Bta4LYddh6s1g3ALChVvb","blogAuthor","2025-05-09T17:21:54Z",{"_type":53,"asset":54},"image",{"_ref":55,"_type":56},"image-d670f8093b43e483a52ba692d929578633f70eb5-1024x1024-jpg","reference","current","Eira May","B2B Editor",{"current":61},"emay",[63,67,101,127,146,186],{"_key":64,"_type":65,"markDefs":12,"url":66},"807f7c8c9869","embed","https://art19.com/shows/2355b740-4531-4071-a3ab-5907a95a36d3/episodes/7ebeacbc-5597-44fd-b493-b827944c4caa",{"_key":68,"_type":69,"children":70,"markDefs":94,"style":100},"530c3a2a69c9","block",[71,76,81,85,90],{"_key":72,"_type":73,"marks":74,"text":75},"47694fc7feaf0","span",[],"As Josh explains, ",{"_key":77,"_type":73,"marks":78,"text":80},"47694fc7feaf1",[79],"5ad4608bacee","DDoS attacks",{"_key":82,"_type":73,"marks":83,"text":84},"47694fc7feaf2",[]," aim to take down a website, while ",{"_key":86,"_type":73,"marks":87,"text":89},"47694fc7feaf3",[88],"82ab2c008fc3","bot scrapers",{"_key":91,"_type":73,"marks":92,"text":93},"47694fc7feaf4",[]," try to gather as much data as possible without getting caught.",[95,98],{"_key":79,"_type":96,"href":97,"reference":12},"link","https://www.cloudflare.com/learning/ddos/what-is-a-ddos-attack/",{"_key":88,"_type":96,"href":99,"reference":12},"https://www.cloudflare.com/learning/bots/what-is-content-scraping/","normal",{"_key":102,"_type":69,"children":103,"markDefs":122,"style":100},"0ce474ef6220",[104,109,113,118],{"_key":105,"_type":73,"marks":106,"text":108},"337ae0e5bcee0",[107],"3fbee93cf927","Josh Zhang",{"_key":110,"_type":73,"marks":111,"text":112},"337ae0e5bcee1",[]," is a staff site reliability engineer (SRE) at Stack Overflow. Connect with him on ",{"_key":114,"_type":73,"marks":115,"text":117},"337ae0e5bcee2",[116],"a902b69f3d88","LinkedIn",{"_key":119,"_type":73,"marks":120,"text":121},"337ae0e5bcee3",[],".",[123,125],{"_key":107,"_type":96,"href":124,"reference":12},"https://meta.stackexchange.com/users/784098/josh-zhang",{"_key":116,"_type":96,"href":126,"reference":12},"https://www.linkedin.com/in/josh-zhang-sre/",{"_key":128,"_type":69,"children":129,"markDefs":143,"style":100},"71e429838daa",[130,134,139],{"_key":131,"_type":73,"marks":132,"text":133},"4e219ed006000",[],"ICYMI: In 2022, Josh wrote ",{"_key":135,"_type":73,"marks":136,"text":138},"4e219ed006001",[137],"9b868b24ce8a","an article for our blog",{"_key":140,"_type":73,"marks":141,"text":142},"4e219ed006002",[]," about how Stack defends itself against DDoS attacks.",[144],{"_key":137,"_type":96,"href":145,"reference":12},"https://stackoverflow.blog/2022/05/16/stack-under-attack-what-we-learned-about-handling-ddos-attacks/",{"_key":147,"_type":69,"children":148,"markDefs":179,"style":100},"5b605f85a589",[149,153,158,162,167,171,176],{"_key":150,"_type":73,"marks":151,"text":152},"38dd693e2bf80",[],"Stack Overflow user ",{"_key":154,"_type":73,"marks":155,"text":157},"38dd693e2bf81",[156],"d2759b9346cc","Serge Ballesta",{"_key":159,"_type":73,"marks":160,"text":161},"38dd693e2bf82",[]," won a ",{"_key":163,"_type":73,"marks":164,"text":166},"38dd693e2bf83",[165],"cb5e5d749874","Lifeboat badge",{"_key":168,"_type":73,"marks":169,"text":170},"38dd693e2bf84",[]," for answering ",{"_key":172,"_type":73,"marks":173,"text":175},"38dd693e2bf85",[174],"90b5b15c38db","What does |= mean in c++",{"_key":177,"_type":73,"marks":178,"text":121},"38dd693e2bf86",[],[180,182,184],{"_key":156,"_type":96,"href":181,"reference":12},"https://stackoverflow.com/users/3545273/serge-ballesta",{"_key":165,"_type":96,"href":183,"reference":12},"https://stackoverflow.com/help/badges/8842/lifeboat",{"_key":174,"_type":96,"href":185,"reference":12},"https://stackoverflow.com/questions/31905898/what-does-mean-in-c",{"_key":187,"_type":69,"children":188,"markDefs":194,"style":100},"2156b0eb374d",[189],{"_key":190,"_type":73,"marks":191,"text":193},"84c4652deb4f",[192],"4aa367f6278d","TRANSCRIPT",[195],{"_key":192,"_type":96,"href":196,"reference":12},"https://the-stack-overflow-podcast.simplecast.com/episodes/how-stack-overflow-fends-off-scraping-bots/transcript",true,"2024/07/30","Josh Zhang, a staff site reliability engineer at Stack Overflow, tells Ryan and Eira how the Stack Exchange network defends against scraping bots. They also cover the emergence of human botnets, why DDoS attacks have spiked in the last couple of years, and the constant balancing act of protecting sites from attack without inhibiting legitimate users.",{"_type":53,"asset":201,"attribution":203},{"_ref":202,"_type":56},"image-56c6dab9c7d1b66bc662c5f43ea9573418d94d17-2400x1260-webp","Alexandra Francis","2024-07-30T07:40:00.000Z",{"_type":10,"current":206},"how-stack-overflow-fends-off-scraping-bots",[208,215,219,224,228,233,237,241],{"_createdAt":209,"_id":210,"_rev":211,"_type":212,"_updatedAt":209,"slug":213,"title":214},"2023-05-23T16:43:21Z","wp-tagcat-se-tech","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":214},"se-tech",{"_createdAt":209,"_id":216,"_rev":211,"_type":212,"_updatedAt":209,"slug":217,"title":218},"wp-tagcat-se-stackoverflow",{"current":218},"se-stackoverflow",{"_createdAt":209,"_id":220,"_rev":211,"_type":212,"_updatedAt":209,"slug":221,"title":223},"wp-tagcat-podcast",{"current":222},"podcast","The Stack Overflow Podcast",{"_createdAt":209,"_id":225,"_rev":211,"_type":212,"_updatedAt":209,"slug":226,"title":227},"wp-tagcat-sre",{"current":227},"sre",{"_createdAt":209,"_id":229,"_rev":211,"_type":212,"_updatedAt":209,"slug":230,"title":232},"wp-tagcat-ddos",{"current":231},"ddos","DDoS",{"_createdAt":209,"_id":234,"_rev":211,"_type":212,"_updatedAt":209,"slug":235,"title":236},"wp-tagcat-bots",{"current":236},"bots",{"_createdAt":209,"_id":238,"_rev":211,"_type":212,"_updatedAt":209,"slug":239,"title":240},"wp-tagcat-security",{"current":240},"security",{"_createdAt":209,"_id":242,"_rev":211,"_type":212,"_updatedAt":209,"slug":243,"title":245},"wp-tagcat-data-scraping",{"current":244},"data-scraping","data scraping","How Stack Overflow fends off scraping bots",[248,254,260,266],{"_id":249,"publishedAt":250,"slug":251,"sponsored":12,"title":253},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":252},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":255,"publishedAt":256,"slug":257,"sponsored":12,"title":259},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":258},"your-ai-shipped-a-backend-that-boots-that-is-the-whole-problem","Your AI shipped a backend that boots. That is the whole problem.",{"_id":261,"publishedAt":262,"slug":263,"sponsored":12,"title":265},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":264},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"_id":267,"publishedAt":268,"slug":269,"sponsored":12,"title":271},"30b995f7-7cb9-4dd8-bf71-d0685940a32b","2026-06-19T14:00:00.000Z",{"_type":10,"current":270},"dispatches-from-o-reilly-from-capabilities-to-responsibilities","Dispatches from O'Reilly: From capabilities to responsibilities",{"data":273,"sourceMap":-1},{"count":274,"lastTimestamp":12},0]