Всем привет. Меня зовут Нещадин Иван, и я расскажу про оптимизацию одного из микросервисов Авито на Go. История построена вокруг различных инструментов, которые доступны в языке, и пойдёт от простых примеров к более сложным.
Пользователь
Как я ищу себе сотрудников в команду DevSecOps и AppSec
Привет! Меня зовут Михаил Синельников. Я DevSecOps TeamLead в РСХБ‑Интех. Тружусь в ИТ‑сфере уже 25 лет, немалую часть из которых — на руководящих должностях. Сегодня расскажу, как я ищу специалистов к себе в команду DevSecOps и AppSec, на что обращаю внимание и как общаюсь с соискателями, которые на собеседовании пытаются приукрасить собственные достижения.
Мое первое знакомство с интернетом: диалап, ностальгия, подключение через таксофон и «рыбалка» со спутников
Всем привет! 7 апреля будет день рождения Рунета. Именно в этот день в 1994 году появился первый сайт в домене .RU. 30 лет назад! Как же давно это было. Такие даты навевают множество воспоминаний, в том числе о том как мы подключались к интернету через таксофон на улице. Предлагаю вам сегодня погрузиться в ностальгию вместе со мной.
Цифровые решения в АПК: классы систем, импортозамещение и факторы цифровизации
Цифровая трансформация сельского хозяйства стала одним из государственных приоритетов. В 2018 году Минсельхоз прогнозировал пятикратный рост рынка ИТ-решений для агросектора к 2026 году. По оценкам Института стратегических исследований и экономики знаний ВШЭ, цифровая трансформация может обеспечить дополнительный рост производительности труда в сельском хозяйстве на 15,6% к 2030 году.
Привет! Я Артем Кудряшов, продакт-менеджер R-Style Softlab. Я занимаюсь развитием цифровых сервисов в АПК и хочу поделиться с вами кратким обзором ИТ-решений в этой отрасли.
Российский ноутбук Ricor Compi 100: привет из 90-х
Сегодня предлагаю совместить ностальгию и экскурс в историю с компьютерной некромантией. На днях мой коллега Михаил Синельников @m_sinelnikov поделился интересным образцом истории отечественного ИТ — Ricor Compi 100. Явно старый компьютер, больше похожий на игрушечные китайские пластиковые телефоны‑раскладушки, продававшиеся ближе к 2000-годам, или на «чемоданчики» iBook.
Копнув чуть глубже, я узнала, что это учебный ноутбук, выпускавшийся с 1996 года. Но информации в сети о нем мало, и нет как таковых цельных историй и обзоров, кроме одного единственного. Решили с Михаилом объединить усилия и написать расширенный материал‑оду этому забавному образцу российского ИТ.
Развитие медийности – нужен ли инженеру личный бренд?
Всем привет! Я Анжелика, работаю ведущим инженером в РСХБ‑Интех. В последнее время все чаще задумываюсь про медийность и важность ее развития для ИТ‑специалистов. Поговорим про это в сегодняшнем материале.
Подборка книг для менеджеров и тимлидов, которые развивают команды в России
Возможно, в новый год вы вступаете в роли техлида, тимлида или менеджера команды. А может, вы хотите сделать следующий шаг в профессиональном развитии в новом году? Собрали для вас несколько полезных книг, которые помогут начинающим и опытным лидерам команд (да и линейным сотрудникам) разобраться в тонкостях работы с людьми. Особенность подборки в том, что она состоит исключительно из книг российских авторов, которые учитывают особенности менталитета людей и контекст, актуальный для компаний в нашей стране.
Вся подборка основана на рекомендациях Оксаны Нечитайловой, руководителя отдела сервисного дизайна продуктов YADRO, — в IT-сфере она уже 15 лет и имеет богатый опыт управления командами и построения процессов. Каждую книгу подборки Оксана сопроводила развернутыми комментариями, которые помогут вам понять, стоит ли вам тратить на нее время.
PostgreSQL Antipatterns: обновляем большую таблицу под нагрузкой
Newbie Guide: разбираемся с MVCC на простых примерах
Изоляция транзакций в СУБД — важный механизм, который позволяет пользователю получить согласованное состояние данных и работать с ними, не допуская конфликтов и снижения производительности. Организовать изоляцию нужного уровня можно несколькими способами, один из которых — MVCC (Multiversion Concurrency Control, многоверсионное управление конкурентным доступом).
Все что вам нужно знать о таймаутах
Как установить оптимальное значение таймаутов в микросервисной архитектуре, чтобы достичь максимальной производительности и отказоустойчивости.
Под катом вы узнаете как установить оптимальные значение connection и request timeout, стоит ли повторять запрос при ошибке или лучше избегать этого.
В конце статьи есть небольшая шпаргалка и куча полезных ссылок. Приятного чтения.
Проектирование аналога Google Docs
Google docs – это сервис для совместного редактирования документов. В целом подобные сервисы можно спроектировать двумя способами:
- В качестве централизованного ресурса, использующего клиент-серверную архитектуру для предоставления возможности редактирования документа всем пользователям.
- На базе одноранговой архитектуры, позволяющей разным людям совместно работать над одним документом.
Большинство коммерческих решений ориентированы на клиент-серверный подход ввиду предоставляемого им более детального контроля. Так что и мы в этой статье разберём проектирование сервиса с использованием именно клиент-серверной архитектуры.
Потрошим golang: как устроена память
Привет, меня зовут Стас Иванкевич, и я работаю в VK Cloud над разработкой облачных сервисов в команде Data Masters. Сервисы, запрошенные клиентами, так или иначе должны развернуться в том виде, в котором клиенты их запросили, в адекватные сроки и без ошибок. Существует множество механизмов, позволяющих этого достичь, и еще больше существует ошибок и проблем, которые мешают в достижении этих целей.
Для любого специалиста, наверное, самой грустной ошибкой будет та, которая рождается из его незнания используемого инструмента. Наверняка практически каждый разработчик со сколь-нибудь большим опытом работы не раз сталкивался с такими проблемами хотя бы раз.
Единственным надежным решением таких проблем является глубокое погружение в теорию и исследования инструмента, которым решаются поставленные проблемы. В нашем случае таким инструментом является язык Go. И как же замечательно, что исследование его внутренностей — совсем легкое дело. В том числе когда дело касается использования памяти.
Как менять подход к управлению с ростом команды и проекта
Когда в команде больше семи человек, а руководитель продолжает ежедневно писать код и настраивать серверы — это настораживает. В большинстве ситуаций такой подход к управлению не идёт на пользу проекту. А ещё это выглядит как отсутствие доверия к сотрудникам, что тоже не очень хорошо.
За 20 лет я успел поработать и в стартапах, и в IT-гигантах, с командами из трёх человек и из сорока. Каждая новая конфигурация требовала менять подход к управлению — то, что работало вчера, переставало работать сегодня. В этой статье поделюсь своим взглядом, как подходить к управлению командой в зависимости от её размера и этапа развития проекта.
Go и кэши CPU
Источник: unsplash.com
По словам Джеки Стюарта, трехкратного чемпиона мира по гонкам Формулы-1, понимание автомобиля помогло ему стать лучшим пилотом: «Гонщику не обязательно быть инженером, но нужен интерес к механике».
Мартин Томпсон (создатель LMAX Disruptor) применил эту концепцию к программированию. Если в двух словах, то понимание базового оборудования улучшит ваши навыки, когда речь заходит о разработке алгоритмов, структур данных и так далее.
Команда Mail.ru Cloud Solutions перевела статью, автор которой углубился в устройство процессора и рассмотрел, как понимание некоторых концепций CPU помогает принимать оптимальные решения.
Пакет context в Go: взгляд профессионала
А вы часто читаете реализацию стандартной библиотеки своего любимого языка?..
Меня зовут Константин Соколов, и мы с Сергеем Мачульскисом, моим коллегой из бэкенд-разработки в Positive Technologies, хотим с вами поделиться вдохновением. Давайте вместе посмотрим на пакет context с последними обновлениями. На наш взгляд, он идеально выражает философию языка Go! Образцовый интерфейс, постоянное развитие пакета и использование самых распространенных приемов Go — все это говорит о том, что наш материал будет полезен не только новичкам, но и знатокам.
Что такое CDN и как это работает?
Цифры и факты (вместо введения)
- В 2010 году средний размер веб-страницы составлял 481 кБ. В 2019 — уже 1936.7 кБ (подробная статистика). За последние три года значение этого показателя выросло на 314.7%. Как показывают исследования, тенденция к увеличению размера веб-страниц сохраняется.
- В настоящее время набирают популярность стриминговые аудио- и видеосервисы. По состоянию на апрель 2019 года число подписчиков популярного сервиса Spotify составило 217 миллионов.
- По данным опросов 25% пользователей уходят с веб-страницы, если она загружается дольше 4 секунд. 74% пользователей, загружающих сайт с мобильного устройства, предпочитают не ждать, если загрузка длится более 5 секунд. 46% пользователей отказываются иметь дело с веб-сервисом, если он медленно работает.
Рекурсивные запросы в PostgreSQL (WITH RECURSIVE)
Как ни странно, чтобы понять рекурсию, в PostgreSQL не надо понимать рекурсию. Потому что WITH RECURSIVE, который присутствует в посгресе (и в других серьёзных базах) — это скорее вычисление чего-то итерациями до того, как будет выполнено некоторое условие.
Тем не менее это очень полезный функционал базы, который можно использовать, например, чтобы вывести все подкатегории заданной категории, если таблица задана в виде (id, parent_id, ...)
SQL HowTo: TOP-N на субинтервалах
Периодически сталкиваюсь с однотипными задачами вида "показать TOP-N позиций на каждом из вложенных интервалов некоторого периода".
Это может быть "5 лучших по успеваемости студентов в каждом семестре за последний учебный год", или "помесячная динамика позиции 10 наиболее продающихся товаров", или, как у нас в сервисе визуализации PostgreSQL-планов explain.tensor.ru, "3 наиболее активных страны за каждый день":
Производительность базового поиска в Ozon как культурный феномен
В этой статье я расскажу вам о том, как мы в Ozon оптимизируем базовый поиск: как у нас выстроены процессы, как найти бутылочное горлышко, конкретные рекомендации по написанию горячего кода, реальные примеры значимых оптимизаций и что делать, когда все низко висящие фрукты уже сорваны, а хочется ещё.
Моя любимая задача для собеседований по программированию
В сети есть уйма постов и видео, где разбираются ответы на вопросы LeetCode. Но обычно рассмотрение в них происходит с позиции соискателя, а не работодателя. В этой же статье я приведу разбор собственной задачи по программированию, которую использовал при приёме людей на работу в Amazon, Google и Microsoft.