Библиотека Go-разработчика | Golang
23.3K subscribers
2.08K photos
42 videos
87 files
4.45K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
На языке С++ можно написать любое приложение для любой задачи. Правда, он настолько сложный, что освоить все тонкости довольно трудно.

Go — простой и удобный язык, который был создан в Google на замену C и C++. Если вы решили изучать Go, советую посмотреть бесплатное занятие Нетологии «Программирование на Go: практика для новичков», чтобы:

• узнать о специфике языка и библиотек,
• решить простую задачу и проверить Go в деле,
• выяснить, подходит ли Go для ваших задач.

Подробности и регистрация по ссылке: http://netolo.gy/faA
В статье приводятся ряд отличительных особенностей языка Go, выделяемых одним из разработчиков Google Cloud. Он объясняет причину перехода на Go с Python, Java и JavaScript в некоторых из своих проектов. Основные особенности: в Go уделяется особое внимание прямой совместимости и зависимости, у языка нет функциональных особенностей, которые ухудшают читабельность, а также он поставляется из коробки со всем, что действительно нужно (базовая библиотека тестов, надежные сетевые и синхронизирующие примитивы и шаблоны, и многое другое).

https://benjamincongdon.me/blog/2019/11/11/The-Value-in-Gos-Simplicity/
Как вы думаете, что выведет данный код? u := url.URL{Scheme: "http", Host: "localhost"} fmt.Printf("%s", u)
anonymous poll

Print http://localhost – 166
👍👍👍👍👍👍👍 73%

Нет правильного ответа – 39
👍👍 17%

Compile error – 13
👍 6%

Print http:localhost – 8
▫️ 4%

👥 226 people voted so far.
Ответ:
http://localhost

Пакет url (import "net/url") парсит URL-адреса и реализует экранирование запроса.
Нужные нам символы подставляются автоматически исходя из схемы: scheme://[userinfo@host]/path?query#fragment
Пример с официального сайта:

package main

import (
"fmt"
"log"
"net/url"
)

func main() {
u, err := url.Parse("http://bing.com/search?q=dotnet")
if err != nil {
log.Fatal(err)
}
u.Scheme = "https"
u.Host = "google.com"
q := u.Query()
q.Set("q", "golang")
u.RawQuery = q.Encode()
fmt.Println(u)
}

Ответ: https://google.com/search?q=golang
В связи с приближающимся Новым годом, оставим здесь основные слайды и сслыки 2019 года, связанные с Go.
Ускорить разработку. Гибко масштабировать. Обеспечить безопасную работу сайта… Если от этих фраз ты начинаешь гореть, тебе пора на онлайн-интенсив по Django Framework от GeekBrains. Научим быстро и качественно реализовывать веб-проекты, избегать распространенных ошибок при создании приложений с нуля.

Два продуктивных дня, две практические работы и собственный проект для портфолио — все это ты сделаешь под контролем эксперта-куратора. Каждому участнику выдаем именной сертификат.

До 16 декабря курс стоит на 40% дешевле!
Подробная программа, стоимость и условия по ссылке:
https://bit.ly/38uejp6
Довольно интересное чтиво о принципах управления версиями в Go.
Обфускация - это процесс приведения исходного или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции.

Обфускация, как правило, применяется для следующего: затруднения декомпиляции/отладки и изучения программ с целью обнаружения функциональности; затруднения декомпиляции проприетарных программ с целью предотвращения обратной разработки; оптимизации программы с целью уменьшения размера кода.

Применяйте обфускацию в своих проектах с помощью готовых решений.
Несколько месяцев назад была анонсирована версия 1.13 языка Go, но сейчас не за горами версия 1.14, которая уже наделала много шума.
Чтобы не вносить путаницу, сегодня речь пойдет о планах на грядущую версию, в слайдах.
Сегодня вспомним основы языка Go и пробежимся по более сложным вещам: данные, инициализация, интерфейсы, пустой идентификатор, многопоточность, ошибки и многое другое.
Обработка ошибок в любом языке программирования занимает особое место, Go не является исключением. Давайте подробнее разберемся с обработкой ошибок и в конечном итоге поймем, что ошибки в Go следует рассматривать не как причину боли, а как гибкий и мощный инструмент контроля.
Микросервисы набирают популярность. Сегодня познакомимся с практической стороной вопроса построения микросервисов с помощью Golang, Kafka и DynamoDB.

В первой статье автор расскажет об основных требованиях к созданию микросервиса с использованием Golang и Kafka. Вторая статья затрагивает вопросы интеграции с DynamoDB и масштабируемости.
Взгляд со стороны на некоторые особенности Go, которые всплывают в ходе практики.

Автор затрагивает вопросы стандартной библиотеки, управления зависимостями, типов данных, возвращаемых значений, а также интерфейсы.
Возможно не все знают, что для работы связки Docker-Golang, есть альтернатива Docker Hub - это GitHub Package Registry.

Обычно для любого языка программирования для запуска приложения необходимо создать пакет (npm для JavaScript, NuGet для C #, и т.д.), затем сохранить его где-нибудь. В случае с Docker люди просто загружают образы в Docker Hub, но теперь у разработчиков есть новая альтернатива. Ознакомьтесь с подробностями в статье.
Level.Travel — команда разработки сложного продукта в сфере путешествий.

За последние 8 лет мы с нуля создали и продолжаем развивать решение для онлайн-продажи путешествий. Нашу платформу используют лидеры рынка – Тинькофф Банк, OneTwoTrip, Сбербанк, TripAdvisor, Kayak, АК Барс Банк, Евросеть и многие другие.

Кого мы ищем:
Ruby on Rails / Back-end developer
Front-end developer
Android developer
Python / Back-end developer
UI/UX дизайнера
Продюсер проектов мобильной разработки
Продюсер команды Growth & Acquisition

У нас: белая зп, оф.трудоустройство, больничные, отпуска, ДМС со стоматологией. Оплата 50% профильных мероприятий. Геймификация процессов и несколько раз в год релокейты поработать в другую страну. Клевый молодой коллектив, интересные ивенты, насыщенная корпоративная жизнь. Пинг-понг, бильярд и другие активности в офисе. Скидки на путешествия!

О том, как мы живем и работаем, а также других наших вакансиях можно почитать тут: https://prglb.ru/30tqr

ap@level.travel / @anya_podlesnaya TG
Разработка высокомасштабируемого Golang API с помощью Docker Swarm (объединяет множество Docker хостов в один виртуальный хост) и Traefik (обратный прокси с поддержкой Docker)

Данная статья покажет вам, как настроить кластер Swarm, развернуть пару микросервисов и создать обратный прокси-сервис (с Traefik), отвечающий за маршрутизацию запросов по их базовым URL-адресам.
This media is not supported in your browser
VIEW IN TELEGRAM
Минутка российской статистики.

Всего 1% трудоспособного населения РФ работает удалённо. При этом они зарабатывают на 40% больше своих офисных коллег. Два вопроса: почему вы не переходите на удалёнку и как найти нужную вакансию?

Первый вопрос оставляем на вашей совести, а на второй отвечаем:
1. Следите за появлением вакансий в крупнейшем агрегаторе вакансий на удаленку
2. Занимайтесь самообразованием — курсы и статьи найдёте там же.

Вот так всё просто. Вступайте и работайте из любой точки мира (или с дивана): t.me/theyseeku
Разработка через тестирование - весьма спорная штука, которая в одном случае целесообразна, а в другом - нет. Но при грамотном подходе она может избавить разработчика от последующих проблем, которые могут возникнуть в ходе или после разработки. Давайте познакомимся с особенностями разработки через тестирование при работе с Go.