Как стать автором
Обновить
19
11

Пользователь

Отправить сообщение

Мапы в Go: уровень Pro

Время на прочтение16 мин
Количество просмотров21K

Подробный туториал по процессам записи и чтения данных в мапах Go. Объясняем проблемы переполнения, эвакуации элементов; важность передачи количества элементов при создании мапы. Рассказываем, почему в Go нельзя обращаться к ключу или значению по адресу.

Читать далее
Всего голосов 19: ↑17 и ↓2+15
Комментарии10

Обобщённые типы. Часть 2/3. Классы типов и контейнеры

Уровень сложностиСредний
Время на прочтение38 мин
Количество просмотров1.7K

Это вторая часть обзора обобщённых типов, в которой мы расскажем о классах типов и типах-контейнерах.

Читать вторую часть обзора
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Обобщённые типы. Часть 3/3. Применение контейнерных типов

Уровень сложностиСложный
Время на прочтение46 мин
Количество просмотров2.3K

В последней третьей части обзора продемонстрировано, как на основе обобщённых типов-контейнеров реализуются различные ФП-техники “чистого” построения “эффективных” программ. В заключении будет отмечена роль теории категорий в обосновании важности абстракций, построенных над обобщёнными типами.

Читать третью часть обзора
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Tcpdump на разных уровнях

Время на прочтение4 мин
Количество просмотров8.8K

Утилита Tcpdump знакома любому сетевому администратору, с ее помощью мы собираем трафик для последующего анализа. Типичная история – собираем траффик, приходящий на нужный интерфейс и затем уже анализируем его Wireshark. Подход практичный, ведь Wireshark Действительно очень мощный и полезный инструмент и о нем мы напишем еще не одну статью, но сегодня речь пойдет про Tcpdump. Не секрет, что утилита Tcpdump не интерпретирует протоколы прикладного уровня, ограничиваясь работой с транспортным уровнем. Однако, в этой статье мы рассмотрим различные варианты использования утилиты Tcpdump для более глубокой фильтрации трафика.

Итак, Tcpdump - утилита UNIX, позволяющая перехватывать и анализировать сетевой трафик, проходящий или приходящий через компьютер, на котором запущена данная программа.

Читать далее
Всего голосов 20: ↑19 и ↓1+18
Комментарии4

Майские мини-ПК: мощные, дорогие и не очень. Весенние новинки 2023 года

Время на прочтение4 мин
Количество просмотров30K
Fotoram-io-22

Весна в самом разгаре, скоро лето, но производители «железа» не отдыхают. Наоборот, разные компании выпускают все больше интересных моделей миниатюрных ПК, которые могут использоваться как для решения домашних задач, так и для работы в офисе. Под катом — подборка наиболее интересных моделей мая. Поехали!
Читать дальше →
Всего голосов 65: ↑61 и ↓4+57
Комментарии41

А в чем проблема работать с файлами?

Уровень сложностиСредний
Время на прочтение53 мин
Количество просмотров27K

Данные - это важный компонент системы. Приложение может хранить их где угодно, но в результате все сводится к файлам. Файлы - это хорошая абстракция, но она протекает: если не знать того, как работают ОС или гарантии файловой системы, то легко выстрелить себе в ногу.

Меня увлекла тема отказоустойчивости, а конкретно - отказоустойчивой работы с файлами. В этой статье я попытался соединить все полученные знания:

Кто участвует в процессе записи

Ошибки, которые могут произойти

Что от нас зависит, а что нет

И самое главное - как это этого защититься

Читать далее
Всего голосов 170: ↑169 и ↓1+168
Комментарии23

Kafka за 20 минут. Ментальная модель и как с ней работать

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров74K

Привет! Меня зовут Глеб Гончаров, и я руковожу подгруппой ИТ-инфраструктуры в СберМаркете. В работе мы широко используем Kafka как шину данных для микросервисов и не раз убедились на практике, что к инструменту важно подобрать правильный подход. Об этом сегодня и поговорим в двух частях — сначала обсудим основы, а в конце статьи будет ссылка на практические задания.

Читать далее
Всего голосов 41: ↑41 и ↓0+41
Комментарии15

Февральские мини-ПК: 5 разных моделей для работы и развлечений

Время на прочтение3 мин
Количество просмотров20K

Продолжаем мониторить рынок миниатюрных ПК, стараясь выбрать наиболее интересные модели. Часть подходит лишь для офисных задач, часть — вполне себе производительные, их можно использовать и для игр. Под катом — подборка устройств, которые нам понравились больше всего. Если у вас есть, что порекомендовать помимо представленных моделей — пишите в комментариях, обсудим.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Комментарии15

Всё, о чём должен знать разработчик Телеграм-ботов

Время на прочтение15 мин
Количество просмотров597K

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?

Подробный гайд о том, как работать с ботами — под катом.

Читать далее
Всего голосов 127: ↑127 и ↓0+127
Комментарии73

Делим монорепозиторий библиотеки Go на отдельные модули и адаптируем их для локальной разработки

Время на прочтение3 мин
Количество просмотров4.6K

Библиотека Go в Авито увеличилась с 4 драйверов до 7, и на всё стало не хватать единого модуля. Рассказал, как разделил монорепозиторий на отдельные модули и адаптировал его для разработки в локальной среде.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии1

Разработка простого DNS сервера на Go, согласно RFC

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров11K

Привет, Хабр!

В этой статье я хочу рассказать о своем опыте создания DNS сервера. Разрабатывал я его "чисто повеселиться", при разработке будем придерживаться спецификации RFC.

Читать далее
Всего голосов 42: ↑39 и ↓3+36
Комментарии10

Huginn. Мозговой центр PaaS

Время на прочтение17 мин
Количество просмотров1.6K

Привет, Хаброжители! Я Саша, Go-разработчик в компании Сбермаркет. Я со своей командой работаю над созданием инструментов PaaS.

PaaS для нас — это не просто микросервисная архитектура. Это целый мир, в котором с самого начала мы почувствовали потребность в создании эффективного хранилища для всех сервисов, чтобы все было наглядно. Именно так началась наша увлекательная история…

Мы автоматизировали процесс регистрации сервисов при их деплое. Теперь каждый раз, когда новый сервис запускается, он регистрируется в нашей системе. Более того, мы расширили этот процесс, чтобы Huginn собирал важные данные о каждом сервисе, такие как манифест приложения при каждом деплое. Вдруг что-то изменится — мы об этом сразу же узнаем и отображаем!

Итак, мы автоматизировали сбор ключевых метрик и метаданных о каждом сервисе в единую систему Хугин. Теперь давайте разберёмся, что именно она умеет и какие проблемы решает.

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии1

Как использовать ресурсы Kubernetes по максимуму для работы с Go-приложениями

Время на прочтение12 мин
Количество просмотров7.5K

Привет! Меня зовут Антон Жуков, я руковожу группой разработки в Сбермаркете. В профессии я уже более 12 лет, с Golang работаю с 2016 года, а с Kubernetes — с 2018 года.

В этой статье расскажу об основах Kubernetes, возможных проблемах и решениях, а также о том, как грамотно использовать ресурсы этой платформы, чтобы выжать максимум из Go-приложений. Кроме того, в конце статьи я опишу кейс настройки GOMAXPROCS на примере нашего приложения и расскажу, как нам удалось повысить его производительность на 20-50%.

Читать далее
Всего голосов 24: ↑23 и ↓1+22
Комментарии3

Как подключить технику Xiaomi к локальному серверу на Node.js: первый шаг к настройке своего Умного дома

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8.2K

Инструкция для получения доступа к устройству в целях получения и хранения данных с него удобным образом. Зачем? Чтобы в перспективе настроить свой Умный Дом без ограничений приложений, которые предоставляют производители. 

Читать далее
Всего голосов 10: ↑7 и ↓3+4
Комментарии5

Как я чуть не выкинул 150к на ветер или история установки приточной вентиляции в квартире

Время на прочтение19 мин
Количество просмотров622K

Как я пришел к покупке приточной вентиляции для квартиры с готовым ремонтом. Как купил ее за 150к и чуть не потратил деньги зря. Статья будет полезна тем, кто планирует купить очиститель воздуха, бризер или приточку.


Читать дальше →
Всего голосов 375: ↑370 и ↓5+365
Комментарии595

Хороший ретрай, плохой ретрай, или История одного падения

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров37K

Порой простое и очевидное решение может потянуть за собой хвост проблем в будущем. Например, добавление ретраев.

Меня зовут Денис Исаев, и я работаю в Яндекс Go. Сегодня я поделюсь опытом решения проблем с отказоустойчивостью из-за ретраев. Основано на реальных инцидентах в системе из 800 микросервисов.

Этот пост — продолжение вымышленных историй о разработчике Васе, который несколько лет назад разбирался с идемпотентностью в распределённых системах. Теперь перед ним новые задачи — получится ли справиться с ними в этот раз? Давайте узнаем.

Читать далее
Всего голосов 152: ↑152 и ↓0+152
Комментарии32

Conc: новая библиотека для управления конкурентностью в Go

Время на прочтение3 мин
Количество просмотров6.4K

Одной из главных фишек языка Go является удобная работа с конкурентностью. Однако, в больших проектах всё равно возникают такие проблемы как утечка горутин, некорректная обработка паник в горутинах, плохая читаемость кода.

Как указывает автор библиотеки в своей статье, он часто сталкивается с подобными проблемами и связанными с ними ошибками при работе с горутинами, что побудило его создать свою библиотеку conc.

Давайте посмотрим, на что она способна.

Читать далее
Всего голосов 17: ↑14 и ↓3+11
Комментарии10

4k @ 144Hz: DP, HDMI, USB-C Alt-Mode & cables…

Время на прочтение11 мин
Количество просмотров59K

Я недавно сделал себе небольшой апгрейд и у меня появился монитор 4k@144Hz. Разумеется, на 144Hz он не заработал. Потому что нюансы. Мне пришлось в это нырнуть глубже, чем хотелось бы...

Спойлеры: DP, USB-C Alt-mode, Thunderbolt, USB4 3x2, 40Gbps, HDMI.
Оглавление: кабели, протоколы, режимы.

Лыдыбр: Моя старая видеокарта на компьютере сумела завести его на 4k @ 60Hz с помощью Display Port. (Либо 2k @ 144Hz). Это её техническое ограничение, больше она не может. Дальше я попытался воткнуть в монитор ноутбук (все 5 шт, какие нашлись у меня и знакомых) и обнаружил, что всё настолько сложно, что мне потребовалось несколько заходов чтения спецификации, пока я "это завёл". Выписываю свои наблюдения и эксперименты. Актуальность - первая половина 2022 года. Монитор under study - Gigabyte M32U, хотя, в принципе, это не существенно для обсуждаемого вопроса. У монитора разъёмы HDMI, DP, USB-C.

Разбирать проблему я буду слоями. Начём с физики.

Читать далее
Всего голосов 143: ↑143 и ↓0+143
Комментарии135

JsonDiscovery: Меняем опыт просмотра JSON в браузере

Время на прочтение3 мин
Количество просмотров34K

Сегодня я хочу рассказать о JsonDiscovery, браузерном расширении для просмотра JSON. Возможно вы скажете: «у нас и так полно подобных расширений!». Да, полно, но фичи JsonDiscovery отличают его от других и делают его действительно мощным.


Давайте же взглянем поближе...


Всего голосов 75: ↑74 и ↓1+73
Комментарии32

Go scheduler. Простыми словами

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров19K

В данной статье расскажу о планировщике Go. Основу материала взял из книги Уильяма Кеннеди Ultimate Go. Вначале поговорим о планировщике OS, после перейдем к планировщику Go и сравним их.

Читать далее
Всего голосов 13: ↑11 и ↓2+9
Комментарии4
1
23 ...

Информация

В рейтинге
517-й
Откуда
Россия
Зарегистрирован
Активность