Приложения для веб-разработки в программировании на Go - Добро пожаловать в мой следующий блог, коллеги по программированию. В этом блоге мы поговорим об удивительном языке Google Golang. В моем предыдущем блоге вы, возможно, видели, как Golang развивался годами и жестко конкурировал с Java и C ++. Но в этом блоге мы будем говорить о его реальных приложениях. Голанг является официальным языком программирования Google.

Google сохранил свою лицензию с открытым исходным кодом. Это означает, что любой может изменить, скопировать, вставить или изменить его в соответствии со своими потребностями. Golang - это язык программирования высокого уровня. Хотя Go имеет много характеристик, похожих на C или Java, его вряд ли можно сравнить с C или Java.

Официальный логотип Go Lang

Фактически, Go Programming был задуман как язык, который мог бы быть комбинацией Python, C и Java. Несмотря на то, что он никогда не сможет заменить эти языки, но все же другие языки не могут делать то, что может Go, и, по правде говоря, это на самом деле намного быстрее, чем C или Python. Достаточно о том, как сейчас работает GO-программирование, давайте рассмотрим его реальные приложения, помимо того, что он очень помогает Google, и как оно фактически доминировало в мире веб-разработки.

В этом блоге я буду предполагать, что у вас есть базовые знания по программированию на C, Java или, по крайней мере, на Django. Если нет, вы можете прочитать мои другие блоги, чтобы получить более глубокое понимание этого, а затем вернуться сюда и продолжить этот.

Примеры языков программирования Go

Происхождение GO

Помните, я говорил вам, что Go получил свои характеристики от языков веб-разработки, таких как C и python, но на самом деле он позаимствовал гораздо больше, чем просто характеристики. Он обладает гибкостью скорости компиляции Python без потери безопасной полярности C. На миниатюрных сборках GO точно, например, вы можете скомпилировать большие программы за считанные секунды. Скорости этих байт-кодов почти аналогичны C.

Основная причина GO Programming была разработана потому, что у Google были очень большие критически важные серверы данных, и программисты инвестировали, или лучший срок был бы потрачен впустую, долгое время ожидания компиляции программ. Несмотря на то, что код был скомпилирован и распараллелен, создание единой программы заняло очень много времени.

Даже инкрементные сборки были медленными (инкрементные сборки означают просто обновление старых сборок новыми функциями или удаление ошибок). Тогда они поняли, что им нужно что-то другое, что-то с силой C и скоростью Python. Они также решили, что инструменты, используемые в этих основных системах языка, были медленными.

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

Веб-разработка, параллелизм и GO

Теперь дело в том, как веб-разработка работает с GO? Как это получить от своего параллелизма. Дело в том, что при параллельной обработке ресурсы сервера могут быть использованы более эффективно. Например, если вы запустите 2 независимых SQL-запроса параллельно, это даст быстрый ответ. Разве это не удивительно?

Теперь давайте посмотрим на это с другой стороны

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

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

Теперь давайте посмотрим, как GO отличается от других языков. Итак, что нам нужно сделать, это шаг первый: выбрать любое глобальное изменяемое состояние, которое вы хотите изменить, затем шаг два: реализовать блокировку. Теперь это сочетание двух правильных шагов и двух неправильных вещей. Разработчики, которые имеют приличный опыт, согласятся со мной, что глобальное изменчивое состояние - это плохо.

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

Таким образом, языки такого типа могут иметь один http-запрос, читающий определенную переменную, и другой, пишущий ее. Что случилось когда? Это достаточно важно? Нужен ли порядок для чтения и записи? Есть ли в вашем коде такая логика? Если так, то почему?

Рекомендуемые курсы

  • Профессиональный Linux с Python Training
  • Программа управления уровнем сервиса
  • Сертификационный онлайн-курс в jQuery Mobile
  • Завершить тренинг по бизнес-аналитике

Путь к GO

Потоки GO - это не то, к чему вы могли бы привыкнуть при написании этих ядер. Они на самом деле чем-то похожи на процессы Эрланга. Они очень легкие и имеют схожие цели. Это не говорит о том, что GO и Erlang одинаковы, поскольку они имеют много собственных различий.

Параллелизм и каналы; оба идут рука об руку в программировании GO. Тем не менее, можно сказать, что эти каналы имеют реальную мощность для работы нашей автоматики. И из-за этой природы они предотвращают дублирование процедур в GO. Нуф сказал, теперь вы можете запускать свои коды без помощи блокировок и мьютексов. Если у вас есть время, которое нужно погуглить, то вы найдете множество людей, которые пробуют те же методы в виде каналов UNIX.

Создание собственных GO-приложений

Теперь, когда мы знаем, как работает GO, давайте взглянем на создание некоторых базовых приложений в GO. Давайте сначала пройдем предварительные условия:

  1. Загрузите установщик go с официального сайта go (вы можете получить его, выполнив поиск по ссылке «скачать golang»)
  1. Установите GOPATH (это самая сложная часть, если вы никогда не устанавливали переменные окружения в своей жизни)

а. Для пользователей Windows:

установить GOROOT = C: \ go

установить GOPATH = C: \ Users \ testdir

установить GOBIN = % GOPATH% \ bin

установить PATH = % PATH%; c: \ go \ bin;% GOBIN%

cd % GOPATH% \ src

В параметре testdir, указанном выше, установите каталог, который вы хотите использовать (назовите его как хотите) в качестве рабочего каталога. Это установит все каталоги, и когда вы наберете последнюю команду cd (change firectory), она приведет вас к рабочему каталогу по умолчанию, т.е. в нашем случае его testdir. Если это так, значит, это работает.

б. Для пользователей Linux:

экспорт GOROOT = / usr / local / go

экспорт GOPATH = $ HOME / go

экспорт PATH = $ PATH: $ GOROOT / bin: $ GOPATH / bin

Ниже приведены требуемые пакеты, которые вам нужно будет загрузить (они необязательны, зависит от того, что вам нужно собрать):

Вы можете установить (или обновить) эти пакеты, выполнив в консоли следующую команду:

иди -u

Например, если вы хотите установить Negroni, вы можете использовать следующую команду:

иди -u github.com/codehub/negroni

Для меня создание веб-приложений означает создание серверов Http. Протокол Http или Hypertext Transfer - это протокол, изначально созданный для передачи только пользовательских HTML-документов с определенного сервера в веб-браузер на стороне клиента. На сегодняшний день Http используется для транспортировки не только простых текстов.

Я не буду вдаваться в подробности, вы можете обратиться к github, где вы можете найти более подробную информацию об этом проекте.

Теперь, чтобы начать, давайте начнем с создания нового проекта в нашей GOPATH.

CD GOPATH / SRC

mkdir testserver

cd testserver

Теперь мы можем создать main.go, набрав:

основной пакет

импорт «net / http»

func main () (

)

Теперь, когда все настроено, все, что нам нужно сделать, это импортировать пакет http, и тогда он будет работать. А теперь пришло время написать код нашего тестового сервера:

http.ListenAndServe («: 2964», http.FileServer (http.Dir («.»)))

Http.ListenAndServer - это функция, используемая для запуска сервера. В этом случае он будет работать по указанному ему адресу, т.е. порту 2964, и когда он получит ответ, он передаст ему http.handler, который мы указали в качестве второго аргумента, который снова в этом случае является встроенным http -Файловый сервер.

Мы создали http.Handler с http.FileServer, который будет действовать как сервер для всей директории файлов и автоматически ответит файлом, который должен быть указан в пути запроса. Что касается этого фрагмента кода, который мы запускали выше, мы попросили сервер ответить текущим рабочим каталогом, то есть http.Dir («.»)

Вся программа будет выглядеть так:

основной пакет

импорт «net / http»

func main () (

http.ListenAndServe («: 2964», http.FileServer (http.Dir («.»)))

)

Теперь, чтобы запустить и запустить наш файловый сервер, мы можем запустить его, когда захотим, набрав:

иди строить

./testserver

И теперь, если мы откроем это в нашем браузере localhost: 2964 / main.go или http: // 127.0.0.1:2964/main.go, мы сможем увидеть пакеты внутри нашего файла main.go в нашей сети. браузер. Самое приятное то, что мы можем запустить эту программу из любого места на нашем компьютере и использовать этот каталог в качестве основной домашней страницы для localhost. Все это возможно только в одной строке программирования Go.

Говоря об этом, вы должны на самом деле проверить веб-приложения, разработанные на GitHub, и вы будете удивлены, увидев, что все приложения, которые люди разработали с помощью GO-программирования. GO language - это больше, чем просто обычное программирование. Как только вы освоите этот язык, очень маловероятно, что вы действительно вернетесь к своему обычному C, C ++ или Java. Так будет и сейчас. Оставайтесь с нами, чтобы узнать больше о программировании GO.

Первый источник изображения: pixabay.com

Статьи по Теме:-

  1. Вы должны узнать о вопросах и ответах на вопросы веб-служб
  2. Лучшие и полезные вопросы об интервью Web-сервисов Java
  3. Новые 10 инструментов веб-разработки для начинающих (бесплатно)
  4. Важно На примерах программирования нуля
  5. Как создать превосходную карьеру в качестве разработчика программного обеспечения для веб-разработки?
  6. Разработка программного обеспечения против веб-разработки