Пользователь
Сделано в МТИ: система контроля версий Gitless

Все вы знаете систему Git. Хотя бы слышали — это наверняка. Разработчики, которые пользуются системой, ее или любят, или ругают за сложный интерфейс и баги. Система управления версиями Git де-факто является стандартом в индустрии. У разработчика могут быть мнения о преимуществах Mercurial, но чаще всего приходится мириться с требованием уметь пользоваться Git. Как у любой сложной системы, у нее множество полезных и необходимых функций. Однако, до гениальной простоты добираются не все, поэтому существующая реализация оставляла пространство для совершенствования.
Простыми словами — мудреным приложением было трудно пользоваться. Поэтому в лаборатории Массачусетского Технологического Института взялись за улучшения и отсекли все «проблемные элементы» (ведь то, что для одного проблема, для другого легко может быть преимуществом). Улучшенную и упрощенную версию назвали Gitless. Её разрабатывали с учетом 2400 вопросов, связанных с Git и взятых с сайта разработчиков StackOverflow.
Команда авторов вычленила самые проблемные места в Git, включая две концепции staging и stashing. Затем они предложили изменения, призванные решить известные проблемы.
Что случилось, когда мы устали смотреть на графики 5 000 серверов в мониторинге (и когда серверов стало более 10 000)

Мы в Одноклассниках занимаемся поиском узких мест в инфраструктуре, состоящей более чем из 10 тысяч серверов. Когда мы слегка задолбались мониторить 5000 серверов вручную, нам понадобилось автоматизированное решение.
Точнее, не так. Когда в седой древности появился примерно 20-й сервер, стали использовать Big Brother — простейший мониторинг, который просто собирает статистику и показывает её в виде мелких картинок. Всё очень, очень просто. Ни приблизить, ни как-то ввести диапазоны допустимых изменений нельзя. Только смотреть картинки. Вот такие:

Два инженера тратили по одному рабочему дню в неделю, просто отсматривая их и ставя тикеты там, где график показался «не таким». Понимаю, звучит реально странно, но началось это с нескольких машин, и потом как-то неожиданно доросло до 5000 инстансов.
Поэтому мы сделали новую систему мониторинга — и сейчас на работу с 10 тысячами серверов тратим по 1-2 часа в неделю на обработку алертов. Расскажу, как это устроено.
Как работает реляционная БД
Реляционные базы данных (РБД) используются повсюду. Они бывают самых разных видов, от маленьких и полезных SQLite до мощных Teradata. Но в то же время существует очень немного статей, объясняющих принцип действия и устройство реляционных баз данных. Да и те, что есть — довольно поверхностные, без особых подробностей. Зато по более «модным» направлениям (большие данные, NoSQL или JS) написано гораздо больше статей, причём куда более глубоких. Вероятно, такая ситуация сложилась из-за того, что реляционные БД — вещь «старая» и слишком скучная, чтобы разбирать её вне университетских программ, исследовательских работ и книг.На самом деле, мало кто действительно понимает, как работают реляционные БД. А многие разработчики очень не любят, когда они чего-то не понимают. Если реляционные БД используют порядка 40 лет, значит тому есть причина. РБД — штука очень интересная, поскольку в ее основе лежат полезные и широко используемые понятия. Если вы хотели бы разобраться в том, как работают РБД, то эта статья для вас.
Использование опыта тестирования реляционной СУБД для технологии NoSQL
В мои первые месяцы работы над Tarantool я попытался создать инструментарий тестирования, похожий на тот, что был в моём предыдущем проекте с открытым исходным кодом — MySQL.
Тысячелетние фичи карт

Карты — это продукт, над созданием которого бесчисленное множество людей работало более шести тысяч лет. Картография появилась раньше письменности, а методы начертания земной и морской поверхности менялись вместе со всей человеческой цивилизацией: от первых наскальных рисунков до цифровых онлайн и офлайновых карт, содержащих этнографические, экономические, социальные сведения о жителях.
С первого дня, когда карты стали использоваться для ориентации в мире, в них были выявлены недостатки: реки меняли русла, пожары уничтожали леса, поселения людей кочевали с места на место, затрудняя фиксацию объектов на карте. Так что история карт — это еще и древнейшая история исправления багов в попытках создать идеальный продукт.
Сегодня решим, получилось ли спустя столетия приблизиться к канонической схеме отражения мира.
В меру Универсальное Устройство Управления на Raspberry Pi + stratum1 NTP-сервер
$(любая картинка с баяном)
Disclaimer: я в курсе, что уже существует 1000+1 реализация stratum1 NTP-серверов на RasPi. Моя будет тысячевторой. Но всё равно очень хочется о ней поведать, тем более что в результате получилось устройство, которое (а) можно смонтировать в стойку, (б) выполняет чуть больше задач, нежели просто NTP-сервер, (в) потребовало некоторых затрат труда, который вполне может быть оценен публикой
Как я читал показания датчиков через SNMP (Python+AgentX+systemd+Raspberry Pi) и соорудил ещё одну мониторилку

С момента публикации статьи про «В меру Универсальное Устройство Управления» прошло немало времени (а если быть точным, больше года). Немало, но недостаточно много, чтобы я таки написал нормальную программную начинку для этого устройства. Ведь не для красоты ж оно есть — оно должно собирать данные с датчиков и делать так, чтобы эти данные оказывались в системе мониторинга (в моём случае Zabbix)
MariaDB на Google Summer of Code: Итоги GSoC16

Прошлый — 2015-й — GSoC у нас получился очень неудачный. Всего было восемь студентов, но многие провалились еще в середине лета (на midterm evaluation), причем трое были из одного университета в Камеруне (и явно с одного курса), с прекрасными заявками, но они дружно не сделали ничего, от слова «совсем», ну, может одну строчку комментария подправили за полтора месяца. А после провала на midterm они пытались опротестовать наше решение в Google, и даже прислали нам письмо с туманными угрозами. Мол, нехорошо столько студентов проваливать, имидж себе портить, в следующем году Google мест не даст.
Но Google их не послушался и дал. И этот год, наверное по контрасту, получился на редкость удачный.
Автоматизация тестирования вебсайта: Pytest, Allure, Selenium + несколько секретных ингредиентов

Сисадмин с манией автоматизации и большая переделка процессов

Пару недель назад в ИТ-отдел зашла сотрудница из опта и попросила доделать мелкую фичу к своему рабочему месту. Заявку вполне ожидаемо поставили в очередь.
Девушка немного обиделась и сказала:
— Это у вас сейчас несезон, и уже не успеваете. Посмотрю я на вас, что тогда к новому году будет!
Предполагалось, что под новогодний раш ИТ-отделу с такой постановкой дел хана. Никто не объяснил милой девушке, что сезон у нашего ИТ приходится на лето. Потому что потом, когда наступит сезон у розницы, будет вообще поздняк метаться.
А этим летом было жарко. Особый колорит процессам придал сисадмин Валера, помешанный на автоматизации. Настолько, что он даже курсы валют и погоду отслеживал Заббиксом. В общем, заходите, расскажу, как мы провели лето. И генеральную уборку. Ничего особо примечательного, но пара полезных грабель для среднего бизнеса у меня всегда найдётся.
Дональд Кнут и «Сюрреальные числа»: Я творил шесть дней, а на седьмой отдыхал (40,41,42/97)

Это уникальное событие в моей жизни. Оно произошло в ранних 70-ых. Я познакомился с Джоном Конвейем, вероятно с одним из величайших математиков. Я встретил его по пути в университет Калгари в 71-м и мы вместе пообедали. Он набросал на салфетке новую теорию, которая пришла ему в голову, и, на мой взгляд, она была действительно потрясающей. Это чисто математическая теория о новом способе определения чисел. Ее суть в том, что они могут быть не только целыми или дробными, но также бывают бесконечные числа, и квадратный корень из бесконечности, и бесконечность бесконечности, и бесконечность квадратных корней бесконечности и все это имеет смысл. Год спустя я был в отпуске в Норвегии и посреди ночи ко мне пришла мысль «Вау, эта теория так красива, что было бы интересно рассказать историю, написать книгу, в которой герои откроют теорию Конвея. Они найдут её правила на каменной скрижали, расшифруют её и смогут сами доказать все эти вещи о бесконечности и прочем».
Смысл в том, чтобы таким способом научить людей проводить исследования, чтобы студенты могли не только изучать то, что сделали другие люди, но и сами открывали что-то новое в математике. И всё это может быть представлено в форме истории, где персонажи выясняют все эти вещи самостоятельно. Поэтому я подумал, что из этого может получиться действительно классная книга, и она может быть использована в качестве дополнения. Я думал о том, что учителя в старших школах могли бы советовать её своим ученикам, чтобы они могли увидеть, как совершаются открытия в математике.
Стоит ли программисту ехать в Корею работать в Samsung (часть II)
Оборачиваясь назад и смотря на мои 2+ года в этой азиатской стране, я в целом считаю их не самыми продуктивными. На ум приходит много печального опыта от ужасного корейского национализма до невозможности получить нормальную задачу на работе. Но стоит отметить, что я очень активный по жизни человек и если бы все было плохо, я бы уехал оттуда через несколько месяцев. Значит, что-то меня там держало.
Цвета в web-дизайне: Выбор правильного сочетания для вашего сайта
Цвет, безусловно, является важным источником эмоции. Цвета могут устанавливать правильный тон и передавать необходимые эмоции посетителям, могут взволновать, вызвать множество чувств и стимулировать к действиям. Он является чрезвычайно мощным фактором воздействия на пользователей.Пара слов об интернационализации приложений
В этой статье я постараюсь на примере показать, как можно создать так называемый localization-friendly code, то есть, организовать ресурсы таким образом, чтобы существенно облегчить локализацию приложения, снизив избыточные временные и финансовые затраты.
Сразу же оговорюсь, что речь пойдёт в первую очередь об интернационализации, то есть, об учёте всех лингвистических особенностей на этапе разработки. Если же ресурсы вашего проекта изначально не подразумевали локализацию, а впоследствии вы решились на неё, то их «затачивание» под локализацию может выйти намного дороже, чем доход от неё.

Как применение кодов избыточности в SDS помогает Яндексу дёшево и надёжно хранить данные
Яндекс, как и любая другая большая интернет-компания, хранит много, а точнее очень много данных. Это и пользовательские данные из разных сервисов, и намайненные сайты, и промежуточные данные для расчёта погоды, и резервные копии баз данных. Стоимость хранения ($/ГБ) — один из важных показателей системы. В этой статье я хочу рассказать вам про один из методов, который позволил нам серьезно удешевить хранилище.
В 2015 году, как вы все помните, сильно вырос курс доллара. Точнее, расти-то он начал в конце 2014-го, но новые партии железа мы заказывали уже в 2015-м. Яндекс зарабатывает в рублях, и поэтому вместе с курсом выросла и стоимость железа для нас. Это заставило нас в очередной раз подумать о том, как сделать, чтобы в текущий кластер можно было положить больше данных. Мы такое, конечно, делаем регулярно, но в этот раз мотивация была особенно сильной.
Каждый сервер кластера предоставляет для нас следующие ресурсы: процессор, оперативную память, жёсткие диски и сеть. Сеть здесь — более сложное понятие, чем просто сетевая плата. Это ещё и вся инфраструктура внутри дата-центра, и связность между разными дата-центрами и точками обмена трафиком. В кластере для обеспечения надёжности применялась репликация, и суммарный объём кластера определялся исключительно через суммарную ёмкость жёстких дисков. Нужно было придумать, как обменять оставшиеся ресурсы на увеличение места. Кстати, если после поста у вас останутся вопросы, которые бы вы хотели обсудить лично, приходите на нашу встречу.
Как в Яндексе используют PyTest и другие фреймворки для функционального тестирования

В Python существует множество инструментов для написания тестов и выбор между ними неочевиден. Я опишу интересные варианты использования PyTest и расскажу о его [плюсах|минусах|неявных возможностях]. В статье вы найдёте развёрнутый пример использования Allure, который служит для создания простых и понятных отчётов автотестов. Также в примерах будет применяться фреймворк для написания матчеров — Hamcrest для Python. Надеюсь, что в итоге, те, кто сейчас в поиске инструментов для тестирования, смогут на основе изложенных примеров быстро внедрить функциональное тестирование в своем окружении. Те же, кто уже использует какой-то инструмент, смогут узнать новые подходы, варианты использования и концепции.
Сага о кластере. Все, что вы хотели знать про горизонтальное масштабирование в Postgres‘е

Олег Бартунов (zen), Александр Коротков (smagen), Федор Сигаев
Илья Космодемьянский: Сейчас будет самая животрепещущая тема по PostgreSQL. Все годы, что мы занимаемся консалтингом, первое, что спрашивают люди: «Как сделать мультимастер-репликацию, как добиться волшебства?». Много профессиональных волшебников будут рассказывать о том, как это сейчас хорошо и здорово реализовано в PostgreSQL — ребята из Postgres Professional в рамках этого доклада расскажут про кластер все. Название соответствующее — «Сага» — что-то эпическое и монументальное. Сейчас ребята из Postgres Professional начнут свою сагу, и это будет интересно и хорошо.
Итак, Олег Бартунов, Александр Коротков и Федор Сигаев.
Эволюция тестового окружения: Интервью с Игорем Хролом (Toptal) и Антоном Семенченко (COMAQA.BY и CoreHard)

Мы не любим ждать в очереди, хотим сделать заказ онлайн, мы не готовы покупать билет в кассе, пусть все будет в приложении, в электронном виде. И вот тут есть важное «Но»! Мы всё хотим здесь и сейчас, но чтобы это работало без сбоев, как часы. Доставку пиццы осуществили вовремя, место в кинотеатре совпало с полученным в подтверждении. Что во всем этом многообразии приложений и сервисов играет одну из ключевых ролей?
Конечно — это тестовое окружение, без чего невозможен быстрый выпуск качественного продукта! Современные инструменты тестирования ворвались в нашу жизнь как ураган и буквально за несколько лет изменили наши возможности. Мы семимильными шагами освоили виртуализацию и контейнеризацию, попробовали линейку Selenium-а, спорили о преимуществах и недостатках Docker-а.
Зачем все это было нужно и к чему мы пришли?
Какое будущее нас ждет?
Поговорим «за тестирование» с гуру профессии. Пройдёмся от А до Я по инструментарию. Помогут нам в этом Игорь Хрол и Антон Семенченко.
Запасаемся кофе, чаем, другими напитками и начинаем. Беседа будет долгой.
Итак, Игорь Хрол — специалист по автоматизации тестирования в Toptal. Игорь имеет большой опыт работы с большинством популярных инструментов (Selenium, HP QTP, TestComplete, JMeter). Кибербезопасность игр в Рио: как это было

Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Работает в
- Зарегистрирован
- Активность
