[{"data":1,"prerenderedAt":85},["ShallowReactive",2],{"content:\u002F05-web\u002F00-intro":3},{"title":4,"description":5,"path":6,"body":7},"Введение в web-разработку на Go","Этот модуль переводит знания языка в прикладной backend. Go часто выбирают для HTTP-сервисов, потому что стандартная библиотека уже даёт крепкую основу, а фреймворки вроде Echo добавляют удобство без полного скрытия механики запроса.","\u002F05-web\u002F00-intro",{"type":8,"value":9,"toc":78},"minimark",[10,14,17,20,23,28,49,51,55,58,61,63,67],[11,12,4],"h1",{"id":13},"введение-в-web-разработку-на-go",[15,16,5],"p",{},[15,18,19],{},"Задача здесь не в том, чтобы выучить один фреймворк. Важно понять путь запроса: от HTTP-метода и заголовков до handler, валидации, ответа, ошибок и границ между транспортом и бизнес-логикой.",[21,22],"hr",{},[24,25,27],"h2",{"id":26},"что-будет-внутри","Что будет внутри",[29,30,31,40,43,46],"ul",{},[32,33,34,35,39],"li",{},"пакет ",[36,37,38],"code",{},"net\u002Fhttp"," и базовая модель handler;",[32,41,42],{},"Echo: роутинг, middleware, binding, ответы;",[32,44,45],{},"REST API: ресурсы, методы, статусы, ошибки;",[32,47,48],{},"итоговый ToDo-проект как сборка нескольких тем в один сервис.",[21,50],{},[24,52,54],{"id":53},"как-понять-что-модуль-освоен","Как понять, что модуль освоен",[15,56,57],{},"Вы можете написать небольшой API без ощущения, что всё держится на магии фреймворка. Вы понимаете, где обработать транспортную ошибку, где провалидировать входные данные, а где вызвать бизнес-операцию. Ответы сервиса становятся предсказуемыми для клиента.",[15,59,60],{},"Ещё один признак: вы не кладёте всю логику в handler. Handler принимает HTTP, но не обязан знать все правила предметной области.",[21,62],{},[24,64,66],{"id":65},"рабочие-ориентиры","Рабочие ориентиры",[29,68,69,72,75],{},[32,70,71],{},"Handler — адаптер между HTTP и вашим приложением.",[32,73,74],{},"Статусы и формат ошибок — часть публичного контракта API.",[32,76,77],{},"Сначала сделайте понятный happy path, затем явно разберите ошибки и пограничные случаи.",{"title":79,"searchDepth":80,"depth":80,"links":81},"",2,[82,83,84],{"id":26,"depth":80,"text":27},{"id":53,"depth":80,"text":54},{"id":65,"depth":80,"text":66},1781022064469]