company_banner
  • Тонкая настройка балансировки нагрузки

      В этой статье речь пойдет о балансировке нагрузки в веб-проектах. Многие считают, что решение этой задачи в распределении нагрузки между серверами — чем точнее, тем лучше. Но мы же знаем, что это не совсем так. Стабильность работы системы куда важнее с точки зрения бизнеса.



      Маленький минутрый пик в 84 RPS «пятисоток» — это пять тысяч ошибок, которые получили реальные пользователи. Это много и это очень важно. Необходимо искать причины, проводить работу над ошибками и стараться впредь не допускать подобных ситуаций.

      Николай Сивко (NikolaySivko) в своем докладе на RootConf 2018 рассказал о тонких и пока не очень популярных аспектах балансировки нагрузки:

      • когда повторять запрос (retries);
      • как выбрать значения для таймаутов;
      • как не убить нижележащие серверы в момент аварии/перегрузки;
      • нужны ли health checks;
      • как обрабатывать «мерцающие» проблемы.

      Под катом расшифровка этого доклада.

      Читать дальше →
    • Трайбы, гильдии, build train и никаких TDD: как устроена мобильная разработка в Uber, Spotify, «Одноклассниках» и Авито



        В преддверии AppsConf 2018 мы опросили специалистов из крупных компаний о том, какие отличительные черты и процессы есть у больших команд, занимающихся разработкой мобильных приложений. Какие подходы к работе применяются, какие подводные камни ждут гребцов, поступающих на громадную галеру. Накладывает ли иностранное происхождение компании отпечаток на рабочие процессы — о всем об этом читайте под катом.
        Читать дальше →
        • +33
        • 12,1k
        • 2
      • Клуб анонимных любителей DevOps

          Каждый вторник по вечерам собирается клуб анонимных любителей DevOps. Наши задачи намного амбициознее, чем просто поделиться своей проблемой и, возможно, получить совсет. Мы обсуждаем все тренды отрасли, чтобы на конференции и секции по DevOps самим было бы приятно прийти.

          С июля мы работаем над DevOpsConf Russia, профессиональной конференцией по интеграции процессов разработки, тестирования и эксплуатации, которая выросла из RootConf и пройдет 1 и 2 октября в Москве, в Инфопространстве.

          Сегодня я расскажу вам, как мы это делаем, какие доклады стараемся отбирать, о чем просим докладчиков.


          Читать дальше →
          • +37
          • 6,7k
          • 3
        • «Святой» Тимлид и его последователи

            До Saint TeamLead Conf, конференции про боли тимлида, осталось две недели. В этой конференции мы уже не хотели просто обозначить как можно больше проблем, а хотели раскрыть каждую тему с разных точек зрения. Мы с программным комитетом, основываясь в том числе и на февральской TeamLead Conf, собрали воедино все основные направления деятельности тимлида (не будем забывать, что пока все вкладывают в эту роль разное). Полученное обобщили, структурировали и использовали как кирпичики для построения программы: коммуникации; измерения и оценка; работа со знаниями; построение команды и выстраивание процессов; мотивация команды; и работа над собой, которая и включает то самое: «Я стал тимлидом, и что теперь».

            Расписание получилось, как мне кажется, очень взвешенное и сбалансированное, по каждому из 10 направлений есть несколько докладов, причем выступления внутри одной секции идут друг за другом и участнику не понадобится выбирать, какой доклад про коммуникации ему интереснее. Просто приходишь 24 сентября, в понедельник, во второй зал, удобно располагаешься, раскладываешь брошюру и блокнот — и впитываешь чужой опыт. В перерывах задаешь вопросы и общаешься с «коллегами по несчастью». Это будет удобно, и, мы надеемся, позволит каждому найти советы под свои задачи.

            Под катом коротко о каждой теме, чтобы показать вам нашу продуманную структуру конференции. Но доклада 32, поэтому в целом это длинно.



            TL;DR: Вот ссылка на расписание, можно потыкать только в отдельные доклады — в них всех много живого опыта, практики и вполне конкретных рекомендаций.
            Читать дальше →
          • OpenSource на Clojure

              В Run Loop приглашают тех, кто делает классные продукты своими руками. Никита Прокопов (tonsky) — человек и пароход, успел сделать несколько OpenSource проектов, которыми с удовольствием пользуются другие люди.

              В первую очередь поговорим о шрифте FiraCode, о Clojure, и совершенно разных проектах, например, обертке ClojureScript для React. А потом перейдем к более общим рассуждениям о хороших интерфейсах, здравом смысле, и моделях обучения программистов.



              О госте: Никита Прокопов примечателен тем, что создал FiraCode, внёс заметный вклад в развитие Clojure сообщества и опубликовал в OpenSource такие проекты как Datascript и Rum. Помимо этого он пишет на Objective-C под macOS: программа AnyBar подскажет о наступлении какого-либо события в statusbar, ой, menubar вашего компьютера.

              Ведущие: Роман Бусыгин (разработчик Яндекс.музыки для iOS) и Алексей Милеев (App in the Air).
              Читать дальше →
            • Как работает Headless Chrome

                Уже из названия понятно, что headless-браузер — это нечто без головы. В контексте фронтенда — это незаменимый инструмент разработчика, с помощью которого можно тестировать код, проверять качество и соответствие верстке. Виталий Слободин на Frontend Conf решил, что необходимо познакомиться с устройством этого инструмента поближе.

                Под катом компоненты и особенности работы Headless Chrome, интересные сценарии использования Headless Chrome. Вторая часть про Puppeteer — удобную Node.js-библиотеку для управления Headless-режимом в Google Chrome и Chromium.


                О спикере: Виталий Слободин — бывший разработчик PhantomJS — тот, кто закрыл его и похоронил. Иногда помогает Константину Токареву ( annulen) в «воскрешенной» версии QtWebKit — том самом QtWebKit, где есть поддержка ES6, Flexbox и многие других современных стандартов.

                Виталий любит исследовать браузеры, в свободное время копаться в WebKit, Chrome и прочее, прочее. Про браузеры сегодня и поговорим, а именно про безголовые браузеры и всю их семейку призраков.
                Читать дальше →
              • Масштабируем разработку: от стартапа до сотни инженеров

                  Многие другие крупные IT-компании, начиналась со стартапа, и Badoo не исключение. За последние годы компания прошла путь от нескольких десятков инженеров до нескольких сотен. Николай Крапивный был на передовой на большей части этого пути и принимал решения: что лучше делать, а что не делать, как справляться с проблемами. Его доклад на TeamLead Conf был посвящен этому опыту и картине мира, которая в результате сформировалась.

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



                  Рассказ состоит и трех частей. Первая — про коммуникации, про то, как они меняются с ростом компании. Вторая часть о том, как с увеличением количества инженеров в команде попытаться сохранить скорость разработки. И третья часть — от том, почему Badoo живет на два офиса, и как при этом справиться с проблемой общения.
                  Читать дальше →
                • Существует несколько распространенных стереотипов про IT-сферу. Например, что это отрасль молодых и рисковых (стартапы и вот это все), что каждый второй программист — фрилансер, на конференции ходят лишь те, кому нечем заняться, что адекватные люди на PHP не пишут, а джавистов можно считать отдельной сектой. Чтобы разобраться, так ли это на самом деле, взглянем на статистику одной из крупнейших IT-конференций — РИТ++
                  Смотреть в деталях
                • Тимлид — это сержант в IT-подразделении

                    Иной раз чудится, что тимлид — это кто-то или что-то вроде Снарка из поэмы Льюиса Кэрролла: точно существует, разносторонне и противоречиво описан в своих бытовых и деловых проявлениях, но при всем при том что представляет собой — загадка. Разобраться с тем, насколько значима эта (тимлида, не Снарка) роль в инженерных командах, кого правильнее на нее ставить и какие подводные камни скрыты в «тимлидстве», обещает помочь Saint TeamLead Conf 2018, которая пройдет 24–25 сентября в Санкт-Петербурге.

                    За месяц до мероприятия мы без лишних формальностей поговорили с техническим директором проекта Mos.ru Романом Ивлиевым, который возглавляет Программный комитет Saint TeamLead Conf 2018. В беседе: кто такие тимлиды, как их правильно готовить, кого и к чему должны готовить они, каким должен быть круг их обязанностей и многое другое.



                    Читать дальше →
                  • Android Jetpack: превращаем приложения в ракеты

                      Война… Война никогда не меняется. Так, война за красивый и работающий код идет постоянно. И на каждую сложную задачу рождается свое оружие: кто-то делает его под себя, а кто-то пользуется готовыми инструментами. Разработка под Android не исключение. На нашей конференции AppsConf 2018 мы обсудим, как и чем сейчас интереснее всего пользоваться, где можно споткнуться и что интересного есть в огромном арсенале средств разработки, который Google наконец начал приводить в порядок. Основные темы докладов можно посмотреть на нашем сайте, а пока мы попросили рассказать Google Developer Expert Дениса Неклюдова и Александра Смирнова о новом инструментарии Android Jetpack, который был представлен в мае этого года.


                      Читать дальше →
                    • Разбор доклада Дмитрия Столярова о мониторинге Kubernetes

                        Ох, больше года прошло с предыдущего разбора, но пришла пора возвращать традиции. Сегодня смотрим доклад Дмитрия distol Столярова «Мониторинг и Kubernetes», который был представлен в мае этого года на фестивале РИТ++, и пытаемся на его примере понять, почему людям обычно нравятся доклады Дмитрия.


                        Слайды (все 344 штуки) можно найти тут.
                        Дисклеймер: про мониторинг и Kubernetes не сама статья, а доклад, который в ней разбирается.
                        Читать дальше →
                        • +49
                        • 5,8k
                        • 3
                      • Бинарные модули для Python

                          Python — классный. Мы говорим «pip install» и скорее всего нужная библиотека поставится. Но иногда ответ будет: «compilation failed», потому что есть бинарные модули. Они практически у всех современных языков страдают какой-нибудь болью, потому что архитектур много, что-то нужно собирать под конкретную машину, что-то нужно линковать с другими библиотеками. В целом интересный, но малоизученные вопрос: а как же их делать и какие там проблемы? На этот вопрос постарался ответить Дмитрий Жильцов (zaabjuda) на MoscowPython Conf в прошлом году.


                          Под катом текстовая версия доклада Дмитрия. Ненадолго остановимся на том, когда бинарные модули нужны, а когда от них лучше отказаться. Обсудим правила, которые стоит соблюдать при их написании. Рассмотрим пять возможных вариантов реализации:

                          • Native C/C++ Extension
                          • SWIG
                          • Cython
                          • Ctypes
                          • Rust

                          О спикере: Дмитрий Жильцов занимается разработкой больше 10 лет. Работает в компании ЦИАН системным архитектором, то есть несет ответственность за технические решения и контроль сроков. В своей жизни успел попробовать и ассемблер, Haskell, C, а последние 5 лет активно программирует на Python.
                          Читать дальше →
                        • Шесть наиболее полезных докладов с Frontend Conf 2018

                            Друзья, с позиции главы программного комитета Frontend Conf поместил под катом краткий обзор шести самых полезных докладов с РИТ++ 2018 по фронтенду.

                            В подборке нашлось место рассказу про то, как настраивать PWA-приложения и делать их более нативными. Отдельно затронуты вопросы транспиляции, где на примере API Яндекс.Карт показано, как можно писать на ES2015, получая на выходе ES3, и обеспечить поддержку IDE и линтеров. Еще одна история — про популярные форматы хранения изображений, их сжатие и варианты загрузки на мобильные устройства. Не менее хардкорный доклад про то, как перенести нагрузку, связанную с расчетом анимации, с CPU на видеокарту. Плюс два отдельных доклада про секреты и лайфхаки CSS.

                            Все доклады — сугубо практические, а некоторые — вполне холиварные. Одним словом, именно такие, как мы любим, и отбираем для Frontend Conf Moscow.


                            Читать дальше →
                            • +45
                            • 16,5k
                            • 2
                          • Надёжность World of Tanks Server

                              Сегодняшняя тема — надежность World of Tanks Server — достаточно скользкая. Надежность игры — это trade off, потому в разработке игр все нужно делать быстро и быстро изменяться. Нагрузка на серверы большая, а пользователи склонны что-нибудь поломать просто из интереса. Левон Авакян на РИТ++ рассказал, что в Wargaming делают для обеспечения надежности.


                              Обычно, когда говорят про надежность, все время упоминают мониторинги, нагрузочное тестирование и прочее. В этом нет ничего сверхъестественного, а доклад был посвящен моментам специфичным именно для Танков.




                              О спикере: Левон Авакян работает в компании Wargaming в должности Head of WoT Game Services and Reliability и занимается проблемами надежности танкового сервера.


                              Читать дальше →
                            • Из закрытой касты в Servant Leadership: эволюция тимлида в Booking.com

                                На пути от традиционной иерархии developer – teamlead – CTO до загадочного Servant Leadership в booking.com проходили и автономию. Отличная идея, дать людям свободу, возможность развиваться, расти, самим достигать цели, должна была замотивировать сотрудников.

                                Георгий Могелашвили (glamcoder) на TeamLead Conf рассказал обо всех этапах, и в том числе о том, что нельзя просто так объявить автономию, а тимлидов отправить на мороз. Компания тестировала организационные изменения, проводила тренинги, и автономные команды таки сработали. Но только вовлеченность людей не выросла, а местами даже упала. Тогда процесс реорганизации начался с новой силой и тимлид вернулся, но уже с другой ролью.

                                Под катом подробности и современное устройство менеджмента в компании с 1500 сотрудников в IT.


                                О спикере: Георгий Могелашвили больше 10 лет в IT, последние четыре года работает в Booking.com в Амстердаме, 2 из них — тимлид.

                                Затронем три основные темы:

                                • Процесс эволюции (через что мы прошли за то время, пока я был в компании).
                                • Автономность — хорошо это или плохо, и почему у нас это было.
                                • Концепция Servant Leadership.
                                Читать дальше →
                              • Как устроен рабочий день членов ПК AppsConf

                                  В этом году в Программном комитете AppsConf супер классные специалисты по мобильной разработке. У всех за плечами большой опыт, работа в компаниях-лидерах и стартапах, корпоративные решения и свои продукты — они знают, что в тренде, и сами могут поделиться многими хитростями.

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



                                  В третий выпуск Run Loop — подкаста про тех, кто делает продукты своими собственными руками — ведущие решили никого не звать. А рассказать о себе, потому что они тоже делают полезные и крутые вещи.



                                  Роман Бусыгин ведущий разработчик Яндекс музыки для iOS.


                                  Илья Царев Head of iOS в Альфа-банке.


                                  Алексей Милеев Android разработчик App in the Air.
                                  Читать дальше →
                                • Nginx-переменные с njs: просто, безболезненно и через JavaScript

                                    njs — это JavaScript-интерпретатор в легковесном веб-сервере, с помощью которого можно создавать новые nginx-переменные и обработчики стадий запроса. Чем njs хорош? Чего не умеет? И зачем вообще его сделали? На эти и другие вопросы ответит Дмитрий Волынцев (xeioex), разработчик nginx и основной разработчик интерпретатора njs.



                                    — Дмитрий, зачем понадобился скриптинг в конфигах nginx?


                                    — Первая причина — директива if. Люди, которые первый раз ее увидели, думают, что можно использовать ее императивно. На самом деле это не так — конфигурация nginx является декларативной. В примере ниже можно подумать, что в ответе будут два header: X-First и X-Second. Но в ответ попадет только второй header, потому что так устроен nginx: если мы напишем две if-директивы, то выберется самая последняя.

                                    location /only-one-if {
                                        set $true 1;
                                    
                                        if ($true) {
                                            add_header X-First 1;
                                        }
                                    
                                        if ($true) {
                                            add_header X-Second 2;
                                        }
                                    Читать дальше →
                                  • Почему Moscow Python Conf теперь ++

                                      Собрались мы с Олегом Буниным (olegbunin) и Валентином Домбровским поговорить про то, как к осени вместе подготовим классную конференцию про Python, и записали видео.

                                      Под катом наша беседа в текстовом виде. В частности, ответ на самый главный вопрос, зачем вообще нужны конференции. И хочу заметить, не для того, чтобы чему-нибудь научиться – учатся сейчас в интернете (например на Хабре :).

                                      Мы немного поговорили о трендах в экосистеме Python, о темах будущей конференции и организационных фишках. Кстати, обсуждение тем открытое, и каждый может предложить нам позвать конкретного спикера или подсказать направление. Посмотрите, что у нас уже есть, и включайтесь.

                                      Читать дальше →
                                      • +18
                                      • 5,5k
                                      • 2
                                    • Иван Тулуп: асинхронщина в JS под капотом

                                        А вы знакомы с Иваном Тулупом? Скорее всего да, просто вы еще не знаете, что это за человек, и что о состоянии его сердечно-сосудистой системы нужно очень заботиться.

                                        Об этом и о том, как работает асинхронщина в JS под капотом, как Event Loop работает в браузерах и в Node.js, есть ли какие-то различия и, может быть, похожие вещи рассказал Михаил Башуров (SaitoNakamura) в своем докладе на РИТ++. С удовольствием делимся с вами расшифровкой этого познавательного выступления.



                                        О спикере: Михаил Башуров — fullstack веб-разработчик на JS и .NET из Luxoft. Любит красивый UI, зеленые тесты, транспиляцию, компиляцию, технику compiler allowing и улучшать dev experience.

                                        От редактора: Доклад Михаила сопровождался не просто слайдами, а демо-проектом, в котором можно понажимать на кнопочки и самостоятельно посмотреть за выполнением тасок. Оптимальным вариантом будет открыть презентацию в соседней вкладке и периодически к ней обращаться, но и по тексту будут даны отсылки на конкретные страницы. А теперь передаем слово спикеру, приятного чтения.

                                        Читать дальше →
                                        • +26
                                        • 29,7k
                                        • 4
                                      • Лучшие англоязычные доклады с HighLoad++ 2017

                                          В продолжение "разбора полетов" с HighLoad++ 2017 мы подготовили небольшой обзор пяти лучших (по мнению участников конференции) англоязычных докладов.

                                          Наивысших оценок удостоились темы, касающиеся использования ProxySQL (в ТОП-5 попало целых два доклада об этом инструменте), тестирования приложений в публичном облаке Amazon, а также принципы логгирования в масштабах, когда это становится проблемой, и мониторинг Apache Kafka.



                                          Видеозаписи всех докладов HighLoad++ 2017 мы только что выложили в свободный доступ. Полный список из 150 докладов на нашем YouTube-канале в этом плей-листе.

                                          Кроме этого плейлиста в канале несколько сотен видео по базам данных, архитектурам, масштабированию, очередям, машинному обучению и другим highload-премудростям :)
                                          Читать дальше →
                                          • +37
                                          • 5,3k
                                          • 2

                                        Самое читаемое