Привет! Меня зовут Андрей Литвиненко и я имею почти 15-летний опыт разработки на PHP. Уже около трех месяцев я активно пишу на Go и хочу поделиться наблюдениями, которые отметил для себя. Возможно, этот текст будет полезен тем, кто сейчас знаком с PHP и подумывает познакомиться с Go.
Рубрика «Go» - 20
Впечатления о Golang от разработчика на PHP
2021-11-25 в 11:28, admin, рубрики: Go, golang, php, мнение, Программирование, сравнениеКак я на порядок ускорил переподключение к мастер-узлу в Redis Sentinel
2021-11-17 в 9:19, admin, рубрики: Go, redis, Sentinel, Администрирование баз данных, Блог компании Флант, Серверное администрирование, системное администрированиеНе так давно, развернув в Kubernetes уже привычный инфраструктурный компонент в виде кластера Redis Sentinel + redis-sentinel-proxy, мы столкнулись с интересными проблемами. При тестировании времени переключения мастера выяснилось, что оно составляет полторы минуты. Это очень долго.


Свежая подборка новостей и материалов
Интересное в этом выпуске
-
Выпущены Go 1.17.2 и Go 1.16.9
-
Выпущен Ebiten 2.2.0 с поддержкой Nintendo Switch
-
Анонс опроса разработчиков Go в 2021 году
-
Какой роутер Go мне использовать?
-
GoPlus (Go +)
Приятного чтения!
Новости, события
Перестаньте врать себе. Я middle, а вам нужен senior
2021-10-17 в 12:10, admin, рубрики: Go, golang, Карьера в IT-индустрии, собеседованиеПредисловие
HR-ы в последнее время активизировались и активно долбят своими предложениями.
Во-первых, господа, какого рожна лешего моё старое резюме с hh оказалось у вас? Мои данные видимо слили на huntflow или еще куда-то.
Во-вторых, вы умеете читать? Я middle! middle! Или вы думаете, что у меня низкая самооценка? я скромный senior с всего-то 5-летним опытом? Да у меня в резюме написано 2 года на golang. 2 года, Карл!
Вы думаете я ведущий, потому что вам так захотелось? Я могу быть ведущим ну разве что свадеб!
Сборка собственного RPM-пакета, содержащего простую Go-программу
2021-09-05 в 14:00, admin, рубрики: Go, rpm, ruvds_перевод, Блог компании RUVDS.com, Программирование, разработкаА именно, в мире Linux уже довольно давно существуют менеджеры пакетов. Например — это RPM и YUM. Они упрощают установку, обновление и удаление программ в Linux-системах. Собственно говоря, в этой статье я хочу рассказать о том, как создать собственный простой RPM-пакет, хочу показать, что это совсем несложно.
Надо отметить, что во многих организациях менеджеры пакетов используются лишь для установки программ, предлагаемых разработчиком используемого этими организациями дистрибутива Linux. Для управления развёртываниями собственных программ менеджеры пакетов не применяются. Тому, кто попытается собрать свой первый RPM-пакет, может показаться, что это не так уж и просто. Но обычно тот, кто учится создавать такие пакеты, тратит время с пользой. Дело в том, что соответствующие знания способны помочь ему в деле оптимизации его рабочих процессов. Здесь мы рассмотрим процесс создания RPM-пакета, содержащего простую программу, написанную на Go.
Читать полностью »
Разработка REST-серверов на Go. Часть 5: Middleware
2021-07-05 в 13:02, admin, рубрики: Go, ruvds_перевод, Блог компании RUVDS.com, Программирование, разработка, Серверное администрированиеЭто — пятый материал из серии статей, посвящённой разработке REST-серверов на Go. Здесь мы поговорим о middleware. У меня есть материал, посвящённый жизненному циклу HTTP-запросов в серверах, написанных на Go. Для того чтобы разобраться в том, о чём пойдёт речь ниже, вам нужно ориентироваться в этой теме.
Разработка REST-серверов на Go. Часть 3: использование веб-фреймворка Gin
2021-06-17 в 13:01, admin, рубрики: Go, ruvds_перевод, Блог компании RUVDS.com, веб-фреймворк, Программирование, разработка, Разработка веб-сайтов, Серверное администрирование, системное администрированиеСегодня, в третьей части серии материалов, посвящённых разработке серверов на Go, мы займёмся реализацией нашего REST-сервера с использованием Gin — одного из самых популярных веб-фреймворков для Go. Вот код, который мы будем тут обсуждать.
Перевод предыдущих частей:
❒ Разработка REST-серверов на Go. Часть 1: стандартная библиотека.
❒ Разработка REST-серверов на Go. Часть 2: применение маршрутизатора gorilla/mux
Разработка REST-серверов на Go. Часть 2: применение маршрутизатора gorilla-mux
2021-06-06 в 10:04, admin, рубрики: Go, ruvds_перевод, Блог компании RUVDS.com, Программирование, разработка, Серверное администрированиеПеред вами второй материал из серии статей, посвящённой разработке REST-серверов на Go. В первом материале этой серии мы создали простой сервер, пользуясь стандартными средствами Go, а после этого отрефакторили код формирования JSON-данных, вынеся его во вспомогательную функцию. Это позволило нам выйти на достаточно компактный код обработчиков маршрутов.
Там мы говорили об одной проблеме нашего сервера, которая заключается в том, что логика маршрутизации разбросана по нескольким местам нашей программы.
Это — проблема, с которой сталкиваются все, кто пишет HTTP-сервера, не используя зависимости. Если только сервер, принимая во внимание систему его маршрутов, не является до крайности минималистичной конструкцией (например — это некоторые специализированные серверы, имеющие лишь один-два маршрута), то оказывается, что размеры и сложность организации кода маршрутизатора — это нечто такое, на что очень быстро обращают внимание опытные программисты.
Читать полностью »
Дженерики в языке Go
2021-06-02 в 10:30, admin, рубрики: generics, Go, Блог компании Karuna, Программированиеfunc Map[F, T any](s []F, f func(F) T) []T {
r := make([]T, len(s))
for i, v := range s {
r[i] = f(v)
}
return r
}
Как вы уже наверняка знаете, proposal по дженерикам в Golang принят (официально это называется type parameters) и будет имплементирован в go 1.18. Бета будет доступна уже в конце этого года. А это значит, что пора разобраться, на чём в итоге остановились разработчики языка — ведь черновик type parameters постоянно менялся в течение последних лет.
Технология новая, на практике толком никто не использовал. Поэтому если увидите какую-то неточность в статье, не стесняйтесь указать это в комментариях.
Самостоятельно поиграться с дженериками можно здесь
Итак, поехали.
Разработка REST-серверов на Go. Часть 1: стандартная библиотека
2021-05-28 в 13:02, admin, рубрики: Go, ruvds_перевод, Блог компании RUVDS.com, Программирование, разработка, Серверное администрированиеЭто — первый материал из серии статей, посвящённой разработке REST-серверов на Go. В этих статьях я планирую описать реализацию простого REST-сервера с использованием нескольких различных подходов. В результате эти подходы можно будет сравнить друг с другом, можно будет понять их относительные преимущества друг перед другом.

Первый вопрос разработчиков, которые только начинают применять Go, часто выглядит так: «Какой фреймворк стоит использовать для решения задачи X». И хотя это — совершенно нормальный вопрос, если задавать его, имея в виду веб-приложения и серверы, написанные на многих других языках, в случае с Go при ответе на этот вопрос нужно принять во внимание множество тонкостей. Существуют серьёзные аргументы как «за», так и «против» использования фреймворков в Go-проектах. Я, работая над статьями из этой серии, вижу своей целью объективное разностороннее исследование этого вопроса.
Читать полностью »




