#beginner #best_practices
Немного лучших практик по Go начинающим разработчикам.
https://prglb.ru/4edc3
Немного лучших практик по Go начинающим разработчикам.
https://prglb.ru/4edc3
peter.bourgon.org
Peter Bourgon · Go best practices, six years in
Generally good things to do when writing Go code, in 2016 and beyond.
На языке С++ можно написать любое приложение для любой задачи. Правда, он настолько сложный, что освоить все тонкости довольно трудно.
Go — простой и удобный язык, который был создан в Google на замену C и C++. Если вы решили изучать Go, советую посмотреть бесплатное занятие Нетологии «Программирование на Go: практика для новичков», чтобы:
• узнать о специфике языка и библиотек,
• решить простую задачу и проверить Go в деле,
• выяснить, подходит ли Go для ваших задач.
Подробности и регистрация по ссылке: http://netolo.gy/faA
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/
https://benjamincongdon.me/blog/2019/11/11/The-Value-in-Gos-Simplicity/
benjamincongdon.me
The Value in Go's Simplicity
After using Go for a couple years, I’ve really come to appreciate its
simplicity. I started writing Go at work a couple months ago, and have found it
really easy to iterate on – much more so than Python and Java.
simplicity. I started writing Go at work a couple months ago, and have found it
really easy to iterate on – much more so than Python and Java.
Как вы думаете, что выведет данный код? 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.
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
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
Bing
dotnet - Bing
Intelligent search from Bing makes it easier to quickly find what you’re looking for and rewards you.
В связи с приближающимся Новым годом, оставим здесь основные слайды и сслыки 2019 года, связанные с Go.
Ускорить разработку. Гибко масштабировать. Обеспечить безопасную работу сайта… Если от этих фраз ты начинаешь гореть, тебе пора на онлайн-интенсив по Django Framework от GeekBrains. Научим быстро и качественно реализовывать веб-проекты, избегать распространенных ошибок при создании приложений с нуля.
Два продуктивных дня, две практические работы и собственный проект для портфолио — все это ты сделаешь под контролем эксперта-куратора. Каждому участнику выдаем именной сертификат.
До 16 декабря курс стоит на 40% дешевле!
Подробная программа, стоимость и условия по ссылке:
https://bit.ly/38uejp6
Два продуктивных дня, две практические работы и собственный проект для портфолио — все это ты сделаешь под контролем эксперта-куратора. Каждому участнику выдаем именной сертификат.
До 16 декабря курс стоит на 40% дешевле!
Подробная программа, стоимость и условия по ссылке:
https://bit.ly/38uejp6
Довольно интересное чтиво о принципах управления версиями в Go.
Обфускация - это процесс приведения исходного или исполняемого кода программы к виду, сохраняющему её функциональность, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции.
Обфускация, как правило, применяется для следующего: затруднения декомпиляции/отладки и изучения программ с целью обнаружения функциональности; затруднения декомпиляции проприетарных программ с целью предотвращения обратной разработки; оптимизации программы с целью уменьшения размера кода.
Применяйте обфускацию в своих проектах с помощью готовых решений.
Обфускация, как правило, применяется для следующего: затруднения декомпиляции/отладки и изучения программ с целью обнаружения функциональности; затруднения декомпиляции проприетарных программ с целью предотвращения обратной разработки; оптимизации программы с целью уменьшения размера кода.
Применяйте обфускацию в своих проектах с помощью готовых решений.
GitHub
GitHub - mvdan/garble-fork: *fork* of https://github.com/burrowers/garble
*fork* of https://github.com/burrowers/garble. Contribute to mvdan/garble-fork development by creating an account on GitHub.
Несколько месяцев назад была анонсирована версия 1.13 языка Go, но сейчас не за горами версия 1.14, которая уже наделала много шума.
Чтобы не вносить путаницу, сегодня речь пойдет о планах на грядущую версию, в слайдах.
Чтобы не вносить путаницу, сегодня речь пойдет о планах на грядущую версию, в слайдах.
Google Docs
What's coming in Go 1.14
What's coming in Go 1.14 GoSheffield, 2019 - Daniel Martí
Сегодня вспомним основы языка Go и пробежимся по более сложным вещам: данные, инициализация, интерфейсы, пустой идентификатор, многопоточность, ошибки и многое другое.
Blogspot
Основы Go
Основы Go: список статей
Обработка ошибок в любом языке программирования занимает особое место, Go не является исключением. Давайте подробнее разберемся с обработкой ошибок и в конечном итоге поймем, что ошибки в Go следует рассматривать не как причину боли, а как гибкий и мощный инструмент контроля.
evilmartians.com
Errors in Go: From denial to acceptance—Martian Chronicles, Evil Martians’ team blog
Practical advice on getting the most out of handling errors "the Go way" from the creator of imgproxy and Overmind.
Микросервисы набирают популярность. Сегодня познакомимся с практической стороной вопроса построения микросервисов с помощью Golang, Kafka и DynamoDB.
В первой статье автор расскажет об основных требованиях к созданию микросервиса с использованием Golang и Kafka. Вторая статья затрагивает вопросы интеграции с DynamoDB и масштабируемости.
В первой статье автор расскажет об основных требованиях к созданию микросервиса с использованием Golang и Kafka. Вторая статья затрагивает вопросы интеграции с DynamoDB и масштабируемости.
Medium
Building a microservice with Golang, Kafka and DynamoDB — Part I
Making Golang and Kafka work together
Взгляд со стороны на некоторые особенности Go, которые всплывают в ходе практики.
Автор затрагивает вопросы стандартной библиотеки, управления зависимостями, типов данных, возвращаемых значений, а также интерфейсы.
Автор затрагивает вопросы стандартной библиотеки, управления зависимостями, типов данных, возвращаемых значений, а также интерфейсы.
dev-gang.ru
Что я узнал нового, изучая Go
Блог о программировании. Python, Flask, PostgreSQL, MongoDB, PHP, JavaScript, Angular, React, Vue. Статьи, примеры программ.
Возможно не все знают, что для работы связки Docker-Golang, есть альтернатива Docker Hub - это GitHub Package Registry.
Обычно для любого языка программирования для запуска приложения необходимо создать пакет (npm для JavaScript, NuGet для C #, и т.д.), затем сохранить его где-нибудь. В случае с Docker люди просто загружают образы в Docker Hub, но теперь у разработчиков есть новая альтернатива. Ознакомьтесь с подробностями в статье.
Обычно для любого языка программирования для запуска приложения необходимо создать пакет (npm для JavaScript, NuGet для C #, и т.д.), затем сохранить его где-нибудь. В случае с Docker люди просто загружают образы в Docker Hub, но теперь у разработчиков есть новая альтернатива. Ознакомьтесь с подробностями в статье.
martinheinz.dev
Setting up GitHub Package Registry with Docker and Golang
<p>
Generally, for any programming language, to run your application you need to create some kind of package (<code class="inline">npm</code> for <i>Ja...
Generally, for any programming language, to run your application you need to create some kind of package (<code class="inline">npm</code> for <i>Ja...
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
За последние 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-адресам.
Данная статья покажет вам, как настроить кластер Swarm, развернуть пару микросервисов и создать обратный прокси-сервис (с Traefik), отвечающий за маршрутизацию запросов по их базовым URL-адресам.
Hackernoon
Architecting a Highly Scalable Golang API with Docker Swarm & Traefik | HackerNoon
This post will show you how to setup a <strong>Swarm Cluster</strong>, deploy a couple of microservices, and create a Reverse Proxy Service (with <a href="https://traefik.io/" target="_blank"><strong>Traefik</strong></a>) in charge of routing requests on…
Сегодня разберёмся с основными проблемами, с которыми сталкиваются разработчики на Go при работе с одной из самых популярных СУБД - Postgres
YouTube
Практики, особенности и нюансы при работе с Postgres в Go / Артемий Рябинков (Авито)
Saint HighLoad++ 2019
Тезисы и презентация:
https://www.highload.ru/spb/2019/abstracts/4678
В докладе расскажу о практиках работы с Postgres в сервисах на Go. Поговорим о преимуществах и недостатках основных инструментов, которые принято использовать при…
Тезисы и презентация:
https://www.highload.ru/spb/2019/abstracts/4678
В докладе расскажу о практиках работы с Postgres в сервисах на Go. Поговорим о преимуществах и недостатках основных инструментов, которые принято использовать при…
This media is not supported in your browser
VIEW IN TELEGRAM
Минутка российской статистики.
Всего 1% трудоспособного населения РФ работает удалённо. При этом они зарабатывают на 40% больше своих офисных коллег. Два вопроса: почему вы не переходите на удалёнку и как найти нужную вакансию?
Первый вопрос оставляем на вашей совести, а на второй отвечаем:
1. Следите за появлением вакансий в крупнейшем агрегаторе вакансий на удаленку
2. Занимайтесь самообразованием — курсы и статьи найдёте там же.
Вот так всё просто. Вступайте и работайте из любой точки мира (или с дивана): t.me/theyseeku
Всего 1% трудоспособного населения РФ работает удалённо. При этом они зарабатывают на 40% больше своих офисных коллег. Два вопроса: почему вы не переходите на удалёнку и как найти нужную вакансию?
Первый вопрос оставляем на вашей совести, а на второй отвечаем:
1. Следите за появлением вакансий в крупнейшем агрегаторе вакансий на удаленку
2. Занимайтесь самообразованием — курсы и статьи найдёте там же.
Вот так всё просто. Вступайте и работайте из любой точки мира (или с дивана): t.me/theyseeku
Разработка через тестирование - весьма спорная штука, которая в одном случае целесообразна, а в другом - нет. Но при грамотном подходе она может избавить разработчика от последующих проблем, которые могут возникнуть в ходе или после разработки. Давайте познакомимся с особенностями разработки через тестирование при работе с Go.
GitHub
GitHub - quii/learn-go-with-tests: Learn Go with test-driven development
Learn Go with test-driven development. Contribute to quii/learn-go-with-tests development by creating an account on GitHub.