Size: a a a

2020 January 08
4gophers
Занятная статейка о том, как написать свой торрент клиент на Go. 🤝

https://blog.jse.li/posts/torrent
источник
2020 January 09
4gophers
6я серия, посмотрим на ring buffers в Go.
Немного очевидно, но с атомиками можно и ошибиться. Вернее часто можно их использовать неоптимально.

https://www.youtube.com/watch?v=lLlAFvhNEN8&feature=youtu.be
источник
4gophers
ХАКАТОН ПРОФУНКТОРА 17-19 ЯНВАРЯ

Словарь определений:
Команда — от 1 до 5 человек пилящих один проект, из них один капитан
Капитан — автор идеи, презентует проект на демо
Чекпоинт — команда сабмитит текущий прогресс судьям
Судьи —  админы профунктора
Проект — что угодно что можно задеплоить или по тегам: telegram, memes, profunctor api, ML, dev tools, whatever

Формат:
17-ого (ПТ) в 21-00 МСК дедлайн заявок команд, LIVE где пересчитываем тимы и стартуем
18-ого (СБ) в 15-00 МСК первый чекпоинт
19-ого (ВС) в 12-00 МСК второй чекпоинт
19-ого в 20-00 Финиш, публикуем ссылки на проекты, LIVE где капитаны презентуют проекты
22-ого  судьи совещаются и объявляют победителей

Как подать заявку (идею) ?
Через бота @libmustdie_hackaton_bot

Где?
Все онлайн и ремоут. Команды сами координируют действия и пользуются удобными тулами.

Как найти проект/команду?
Зайти в чат и выбрать идеи из запиненного поста: https://t.me/joinchat/DWka6hBjhmayFl3g0_wv9A

Какие призы?
Уникальные.

Сode of Conduct:
В случае неадеквата: БАН БАН БАН

Еще вопросы:
https://t.me/joinchat/DWka6hBjhmayFl3g0_wv9A
источник
2020 January 13
4gophers
Перевод "Building a BitTorrent client from the ground up in Go"

Что происходит с момента визита на thepiratebay и появлением mp3 файла на вашем компьютере? В этом посте мы реализуем BitTorrent протокол на достаточном для скачивания образа Debian уровне.

https://4gophers.ru/articles/bittorrent/
источник
2020 January 16
4gophers
Хотите увеличить производительность бэкенда в 3 раза?

На этом курсе расскажут, как построить на Golang микросервисную архитектуру, на примере Почты Mail.Ru.

В ходе обучения вы:
— разберёте основы Golang;
— узнаете, как писать сервисы с помощью Golang;
— познакомитесь с асинхронной работой сервисов;
— на практике научитесь повышать их производительность.

Записывайтесь: http://bit.ly/36TTMsN

16 января 20:00 будет бесплатный вебинар, успейте зарегистрироваться.
источник
2020 January 22
4gophers
А еще есть https://goplay.space/ - тож с подсветкой и плюшками
источник
4gophers
Ребят, зацените 😲, @x1unix сделал альтернативу Go Playground! Выглядит очень круто! 👍 Поддержите звездочкой! ⭐️

URL: http://goplay.x1unix.com
GitHub: https://github.com/x1unix/go-playground
источник
2020 January 23
4gophers
Богдан, Олег и Искандер опять собрались поговорить.

https://soundcloud.com/generictalks/0007-vashi-benchmarki-skoree-vsego-nichego-ne-znachat

Хотим напомнить, что лента подкаста находится в Телеграме, как и чат, где можно добавить вопросы и набросы: t.me/generictalks (инвайт в чат в описании)

00:00:00 - Посчитать размер объекта в Go. Что может быть проще? Зачем вообще это делать?
00:12:22 - Как ограничивают память другие известные проекты на Go. Разбираем подходы.
00:17:00 - Как понять что мы достигли предела по оптимизациям и пора внедрять другие подходы. Шипилев и его график)
00:20:22 - В бар заходит Искандер. Unsafe.Sizeof и отдельный пропозал.
00:29:40 - Рекурсивный обход структур в хипе для расчета размера, потенциальные использования рантайма и сборщика мусора.
00:33:46 - Как возможность расчета размеров в рантайме может открыть возможность для других оптимизаций.
00:47:11 - Pluggable GC в Go стоит ли форкать стандартный компилятор и рантайм?
00:50:11 - Говяжий язык. Beef - шаг вперед или очередной велосипед?
01:02:30 - Actix-web - open source, восприятие критики и мнения которые ничего не значат.
01:13:03 - Spinlock vs Mutex почему все так получилось? Почему так сложно правильно бенчмаркать?
01:24:00 - Erlang vs Go vs Java vs NodeJS бенчмарк серверов который не смог. Как сделать adaptive capacity limiter вручную для того чтобы выровнять latency. Говорим о том как анализировать результаты бенчмарков, делать выводы и проверять гипотезы.
01:37:25 - Затравочка будущих выпусков
источник
4gophers
И послушать можно прям в телеге
источник
4gophers
источник
2020 January 26
4gophers
источник
2020 January 30
4gophers
12 февраля в 20:00 мск OTUS приглашает на бесплатный вебинар онлайн-курса «Разработчик Golang» — «Пишем 12-факторное приложение на Go»: https://otus.pw/0HDi/

📌Методологию двенадцати факторов (12factor net) часто выбирают в качестве базовых технических требований к распределённым системам.

На бесплатном вебинаре мы посмотрим, как может выглядеть минимальный Go-сервис, удовлетворяющий таким требованиям. Начнем с простейшего «Hello, World!» приложения и пройдем путь до сервиса, удовлетворяющего двенадцати факторам и готового к релизу на платформу Heroku.

— Урок проведёт преподаватель-практик курса Елена Граховац (руководит командой автоматизации TechOps-процессов в немецком финтех-стартапе и программным комитетом конференции GolangConf, соведущая подкаста GolangShow. 5 лет на Go, 12 лет в IT).

Чтобы попасть на курс с welcome-скидкой прямо сейчас, пройдите вступительный тест: https://otus.pw/q1IV/
источник
2020 February 01
4gophers
Перевод “Inlined defers in Go”. https://4gophers.ru/articles/defer/
источник
4gophers
источник
2020 February 05
4gophers
Богдан, Олег и специальный гость Роман Хавроненко из Cloudflare.

https://soundcloud.com/generictalks/0009-kogda-servisu-khvatit-nasypat-v-gostyakh-roman-khavronenko

00:00:00 - Вводная. Патроны. Гость Роман из Cloudflare.
00:02:21 - С места в карьер. Есть ли замена ClickHouse? Druid, Redshift и ручные поделки. Как работать с большим количеством выборок в ClickHouse.
00:13:55 - Отказоустойчивость. Минутка SRE. Graceful degradation. Планирование и внедрение SLA и SLO. Зачем нужен Error Budget. Травим байки.
00:29:51 - Обузданый хаос. Как заставить своих программистов правильно обрабатывать ошибки и не падать по первому чиху. Поможет ли нам service mesh?
00:37:25 - Где предел паранойи? Можно ли отхендлить какую угодно ошибку? Когда пора остановится?
00:46:44 - Пытаемся разобрать конкретный пример и паттерны которые можно использовать.
00:55:45 - Графиков так много что глаза разбегаются. Автоматический корреляционный анализ. Metrics Driven Development.
01:07:58 - Adaptive capacity limiting и smart load balancing. Как косвенно или напрямую измерять загруженность сервера и почему мерять CPU load не всегда правильно.
01:18:08 - Приоритизация трафика и load shedding. Как работать с запросами произвольной сложности. Event sourcing and CQRS.
01:34:10 - Экзотические техники работы с перегрузками: батчинг, агрегация, сэмплирование.
источник
4gophers
источник
2020 February 07
4gophers
Note #60: GoWeekly and FOSDEM

Как я уже писал в https://t.me/golang_for_two/82 в этом году я выступал на FOSDEM 2020 в потоке Go, кстати это был мой первый FOSDEM =).
Видео моего выступления с FOSDEM попало в рассылку GoWeekly 🎉

https://golangweekly.com/issues/298

P.S.
[1] slides: bit.ly/adv_debug_goF0SD3M
[2] video: https://www.youtube.com/watch?v=2kjmLQY8RJk
источник
2020 February 08
4gophers
И видосы с FOSDEM 2020 можно смотреть прям у них на сайте https://fosdem.org/2020/schedule/track/go/
источник
4gophers
Важное объявление.

С этого момента канал будет не только про Go. Мы все растем, развиваемся, у нас появляются новые интересы. Поэтому, теперь в канале будут публиковаться материалы не только про Go. Добавятся новости про ios разработку, swift, дизайн, тестирование и другие околопрограммистские темы.
источник
4gophers
#mobile

https://habr.com/ru/company/jugru/blog/352914/

Доклад старый, но все еще актуальный. Если вы хотите чтобы пользователи легко устанавливали ваше приложение и обменивались в чатиках и социалках ссылками, то вам необходимо знать как правильно работать с универсальными ссылками

Универсальные ссылки, схемы URI и ссылки приложений — это различные технические стандарты для реализации мобильных прямых ссылок, позволяющие соединять пользователей напрямую с содержимым в приложениях.
источник