Програми веб-розробки в програмуванні Go - Ласкаво просимо до мого наступного блогу, колеги, програмісти. У цьому блозі ми поговоримо про дивовижну мову Golang від Google. У моєму попередньому блозі ви, можливо, бачили, як Golang розвивався протягом багатьох років, і жорстко конкурував з Java та C ++. Але в цьому блозі ми б говорили про його додатки в реальному світі. Golang - офіційна мова програмування Google.

Google зберігає свою ліцензію з відкритим кодом. Це означає, що кожен може змінювати, копіювати, вставляти або змінювати його відповідно до своїх потреб. Golang - мова програмування високого рівня. Хоча Go має багато характеристик, схожих на C або Java, навряд чи це схоже ні на C, ні на Java.

Офіційний логотип Go Lang

Насправді, програмування Go повинно було бути мовою, яка може бути комбінацією Python, C та Java. Незважаючи на те, що він ніколи не може замінити ці мови, але все ж інші мови не можуть зробити те, що може, і якщо говорити правду, це насправді набагато швидше, ніж C або Python. Достатньо про те, як працює програмування GO, давайте побачити реальні додатки цього світу, окрім того, що вони дуже допомагають Google, і як він насправді домінував у світі веб-розробки.

У цьому блозі я буду припускати, що ви маєте деякі базові знання з програмування на C, Java або принаймні Django. Якщо ні, ви можете прочитати інші мої блоги, щоб глибше зрозуміти це, а потім повернутися сюди і продовжити цей.

Приклади мови Go програмування -

Походження ГО

Пам'ятайте, я казав вам, що Go отримав свої характеристики від таких мов веб-розробки, як C та python, але правда полягає в тому, що він фактично запозичив багато, а не просто характеристики. Він володіє спритністю швидкості компіляції пітона, не втрачаючи безпечної полярності C. Мініатюрні складання GO помітні, наприклад, ви можете складати великі програми за лічені секунди. Швидкість цих байт-кодів майже схожа на швидкість C.

Основна причина програмування GO була розроблена через те, що Google мав дуже великі сервери з критичними даними, і програмісти вклали кошти, або кращий термін був би витрачений даремно, довго чекаючи, коли програми скомпілюються. Незважаючи на те, що код був складений і паралельний, для створення єдиної програми все-таки знадобилося дуже багато часу.

Навіть інкрементальне нарощування було повільним (нарощування означає просто оновлення старих збірок за допомогою нових функцій або очищення помилок). Саме тоді вони зрозуміли, що їм потрібно щось інше, щось із силою С та швидкістю пітона. Вони також вирішили, що інструменти, які використовуються в цих основних системах, мови є повільними.

Тож вони хотіли почати щось з нуля, щось написати ті програми, які їм потрібно писати в Google таким чином, щоб збірки могли бути справді розумними та короткими, не втрачаючи своєї ефективності.

Веб-розробка, паралельна валюта та GO

Тепер справа в тому, як працює веб-розробка з GO? Як це отримує від своєї одночасності. Теоретично справа в тому, що при паралельній обробці ресурси сервера можуть бути використані для кращого використання. Наприклад, якщо ви запускаєте 2 незалежні запити sql паралельно, це дасть швидку відповідь. Хіба це не дивно?

Тепер давайте поглянемо на це навпаки

Зазвичай, почувши слово паралельність, ви починаєте думати, що ви можете працювати над декількома потоками одночасно. Але ми не є крайніми професіоналами, щоб наш фрагмент коду був ідеальним. Отже, більш точним способом цього було б те, що замість того, щоб виконувати кілька завдань, ви насправді могли закінчитися просто маніпулюючи речами навколо вас.

Таким чином, це, на жаль, розвиває багато гикавок на нашому шляху, що насправді не добре, оскільки паралельність може призвести до кращого візуального розташування та більш чіткого коду. Коротше кажучи, на нього можна покластися з однієї причини, якої ви не хотіли б: низькопродуктивна. Але, незважаючи на все це, ми фактично ігноруємо основну частину. Якщо ми насправді маємо гарний набір апаратних засобів або більш швидкі методи обчислення, щоб бути точнішими, GO дійсно працював би швидше в багатоядерному процесорному середовищі.

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

Власне кажучи, багато кодери намагаються усунути це найкращим чином. Тож найголовніший факт, що у вас є крок перший, схожий на деякий рефакторинг, для початку. Крок другий, з іншого боку, тобто блокування, здатний досягти своєї мети, але в той же час він вводить гігантські кількості котлоагрегату, що вкрай важко записати його належним чином, а потім відладкувати його правильно.

Таким чином, у таких мовах може бути один http-запит, який читає певну змінну, а інший пише її. Що сталося коли? Це досить важливо? Чи потрібне наказ на читання та запис? Чи має ваш код така своєрідна логіка? Якщо так, то чому?

Рекомендовані курси

  • Професійний Linux з навчанням Python
  • Програма управління рівнем обслуговування
  • Онлайн-курс сертифікації в jQuery Mobile
  • Повне навчання бізнес-аналітиці

Шлях до ГО

Нитки GO - це не те, до чого ви могли використовуватись при написанні цих ядер. Вони насправді дещо схожі на процеси Ерланга. Вони надзвичайно легкі і обидва мають подібні цілі. Це не говорить про те, що GO та Ерланг однакові, оскільки у них багато власних відмінностей.

Паралельність і канали; обидва йдуть разом рука об руку в програмуванні GO. Однак можна сказати, що ці канали мають реальні кінські сили для того, щоб наші автоматики працювали. І через таку природу вони перешкоджають дублюванню підпрограм у GO. Нуф сказав, що тепер ви можете запускати свої коди без допомоги замків і мютексів. Якщо у вас є час, який варто погуглити, то ви знайдете безліч людей, які намагаються однакові методи у вигляді труб UNIX.

Створення рідних GO Apps

Тепер, коли ми знаємо, як працює GO, давайте поглянемо на створення основних програм у GO. Давайте спочатку переглянемо попередні реквізити:

  1. Завантажте інсталятор go з офіційного веб-сайту go (ви можете отримати його, пошукаючи завантаження golang)
  1. Встановити GOPATH (Це найскладніша частина, якщо ви ніколи в житті не встановлювали змінні середовища)

а. Для користувачів Windows:

встановити GOROOT = C: \ іти

встановити GOPATH = C: \ Користувачі \ testdir

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

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

cd % GOPATH% \ src

У верхньому варіанті testdir встановіть каталог, який ви хочете використовувати (назвіть його все, що вам потрібно) як робочий каталог. Тут буде встановлено всі каталоги, і коли ви вводите останню команду cd (змінити вогненну), вона повинна перенести вас у робочу директорію за замовчуванням, тобто в нашому випадку її testdir. Якщо це робить, значить, працює.

б. Для користувачів Linux:

експортувати GOROOT = / usr / local / go

експортувати GOPATH = $ ГОЛОВНА / йти

експортувати PATH = $ PATH: $ GOROOT / bin: $ GOPATH / bin

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

Ви можете встановити (або оновити) ці пакети, виконавши в консолі наступну команду:

йти дістати -у

Наприклад, якщо ви хочете встановити Negroni, ви можете використовувати таку команду:

перейти get -u github.com/codehub/negroni

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

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

Тепер для початку роботи почнемо зі створення нового проекту в нашій GOPATH

cd GOPATH / src

mkdir testserver

CD тестувальник

Тепер ми можемо створити main.go, ввівши:

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

імпортувати "net / http"

func main () (

)

Тепер, оскільки все налаштовано, все, що нам потрібно зробити, це імпортувати http-пакет, і тоді він буде працювати. А тепер прийшов час написати наш тестовий серверний код:

http.ListenAndServe (": 2964", http.FileServer (http.Dir (".")))

Http.ListenAndServer - це функція, що використовується для запуску сервера. Він буде працювати за вказаною йому адресою, тобто портом 2964 в цьому випадку, і коли він отримає відповідь, він передасть йому http.handler, який ми надали як другий аргумент, що в цьому випадку знову є вбудованим http -FileServer.

Ми створили 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 - це не просто звичайне програмування. Щойно ви побачите цю мову, навряд чи ви повернетесь до звичайних C, C ++ або Java. Отже, це буде так, як зараз. Слідкуйте за новими програмами GO.

Перше джерело зображення: pixabay.com

Схожі статті: -

  1. Вам слід дізнатися про запитання та відповіді щодо інтерв'ю веб-служб
  2. Найкращі та корисні моменти запитань щодо інтерв'ю веб-служб Java
  3. Нові 10 переваг Інструменти веб-розробки для початківців (безкоштовно)
  4. Важливо на прикладах програмування скретчів
  5. Як побудувати чудову кар'єру як професіонала програмного забезпечення для веб-розробок?
  6. Розробка програмного забезпечення проти веб-розробки