Основные принципы построения веб серверов
Автор Derek Jensen
Время урока 2,2 часа
Язык Английский
В  современной индустрии программного обеспечения мы постоянно стремимся создавать надежные и высокопроизводительные приложения. Вот где сияет язык Go. Go - это невероятно мощный язык программирования, созданный Google, который обеспечивает отличную производительность независимо от того, работаете ли вы на компьютере, в Интернете или даже в облаке.

В этом курсе автор научит вас основам языка программирования Go, чтобы вы могли не только писать простые утилиты, но и выходить за пределы консоли и создавать масштабируемые, гибкие веб-серверы.

Введение

В этом курсе я научу вас основам языка программирования Go, чтобы вы могли писать быстрые и гибкие настольные и веб-приложения, даже если вы никогда не видели этот язык раньше. К концу курса мы начнем использовать язык Go для написания веб-серверов.

Чтобы следовать этому курсу, вам понадобится компьютер для разработки под управлением Windows, OS X или Linux. Вам также понадобится текстовый редактор, который вам удобен. Я буду использовать Atom, но вы можете следовать за любым редактором.

Прежде чем вы сможете написать какой-либо код Go, вам, очевидно, потребуется установить его поддержку на вашей платформе. Хорошая особенность Go в том, что у него есть версии для Windows, OS X и Linux. Так что независимо от того, какую операционную систему вы используете, Go предоставит вам все необходимое. На этом уроке я покажу вам, как настроить.

Основы

Как и большинство других языков до этого, Go построен на основе базовых типов данных, которые вы можете использовать в своих приложениях. Список основных встроенных типов довольно мал, и с ними легко ознакомиться. Это именно то, что мы будем делать на этом уроке.

Effective Go: переменные

Есть моменты, когда вы пишете приложения, когда вы хотите сохранить часть информации, которую вы не хотите изменять. Хотя вы можете определенно использовать переменную для хранения этих данных, очень легко забыть, ошибиться и изменить ее значение. Вот тут и вступают константы. На этом уроке я покажу вам, как строятся эти маленькие драгоценные камни для такой ситуации.

Как разработчики программного обеспечения, одна из наших самых больших любимцев - повторяться. В коде повторение - это очень плохая привычка, которая затрудняет чтение, исправление и изменение кода. Функции - один из лучших способов уменьшить это дублирование, и Go поможет вам. На этом уроке вы узнаете, как функции в Go являются первоклассными гражданами, а это означает, что они могут использоваться как типы, храниться в переменных и передаваться как аргументы или как возвращаемые типы.

Effective Go: функции

Данные вокруг нас. В мире разработки программного обеспечения нам постоянно приходится копаться в больших объемах данных в самых разных формах. Одна из наиболее распространенных форм - это коллекция, будь то массив или другая форма. В этом уроке я покажу вам, как использовать циклическую конструкцию Go - forцикл. Я также покажу вам, как Go избавляется от whileциклов с помощью специального forсинтаксиса цикла.

Effective Go: For

Зачастую в нашем коде нам необходимо принимать решения о том, что делать на основе входных данных. Языковые особенности, которые позволяют нам это делать, называются «условными». Go предоставляет несколько условных выражений, и в этом уроке я расскажу о двух наиболее распространенных: ifи switch.

На высоком уровне, одна из моих любимых особенностей Go - это то, что он также использует возможности языков прошлого, которые большинство современных языков высокого уровня не раскрывают. В этом уроке мы обсудим указатели. Это тема, которая может показаться пугающей, но, потратив немного времени и подумав, вы будете использовать указатели как профессионал.

Effective Go: Pointers vs. Values

Часто мы хотим сгруппировать вместе, как фрагменты данных, чтобы мы могли либо перебирать их, либо обрабатывать их как единое целое. В Go, как и в большинстве языков, для этого есть тип массива. Одно из ограничений массива в Go состоит в том, что после его создания вы не можете изменять его размер. Но не бойтесь. Существует также способ обойти это, известный как ломтик. В этом уроке я расскажу о массивах и срезах.

Создание веб-серверов в Go

В качестве учебного упражнения по Go мы создадим собственный базовый веб-сервер. С нуля. Это может показаться сложной задачей, но, используя некоторые из навыков, которые вы уже изучили в предыдущих уроках, и добавив несколько новых концепций, вы сможете начать получать и обрабатывать запросы из веб-браузера в кратчайшие сроки.

На предыдущем уроке мы узнали, как создать базовый веб-сервер, который будет получать веб-запросы из браузера и возвращать данные. Проблема заключалась в том, что эти данные были неструктурированными и представляли собой строку. В этом уроке я покажу вам пару способов вернуть реальную разметку обратно в браузер, и я расскажу о плюсах и минусах каждого из них.

Теперь, когда мы узнали, как разделять код сервера и клиента, пришло время сделать этот код клиента или разметку более гибкими и легко изменяемыми. Для этого мы будем использовать шаблоны Go. Эти шаблоны позволят нам отделить данные от разметки и значительно упростят обновление нашего контента, поскольку мы начинаем делать наше веб-приложение более динамичным.

Чтобы завершить наше обсуждение Go и веб-приложений, мы узнаем, как использовать шаблоны в последнем уроке и расширить их, чтобы создать блог, в котором у нас есть неизвестное количество постов, и необходимо, чтобы наш шаблон корректировался соответствующим образом. Мы также рассмотрим концепцию маршалинга данных, которая на самом деле является просто причудливым способом десериализации данных JSON из файла в пользовательский тип приложения.

Заключение

Мы изучили основы языка программирования Go и обнаружили, как мы можем использовать Go для создания простых веб-приложений.

Скрытый контент

  • Вы не зарегистрированы
  • Вы не вошли как пользователь
  • У Вас просрочена подписка
  • Ваша подписка не даёт вам право скачивать данный раздел