• Ozon go school: Как не нужно проводить отбор

      Go School


      Как вы знаете, в середине мая Ozon объявил о запуске школы программирования на языке Go. Обещали следующее:

      • бесплатное обучение
      • возможность получить знания по реальной разработке на Go от Ozon
      • возможность получить работу в Ozon

      Чтобы попасть в школу, нужно было:

      • иметь опыт промышленного программирования
      • пройти тестовые задания по программированию на платформе Яндекс.Контест
      • пройти skype-собеседования

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

      Тогда же было озвучено число студентов, которое готовы принять в Школу — около 40 человек.

      Так понемногу условия поступления прирастали новыми пунктами, среди добавленных также значилось:

      • желательно проживать в Москве
      • быть гражданином РФ
      • возраст старше 18 лет

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

      Вроде все выглядело неплохо, условия не такие сложные и вполне выполнимые.


      Читать дальше →
    • Разбираемся с артиклями: базовые правила

        Артикли в английском языке – одна из самых сложных тем. Если при изучении слов мы можем опираться на мнемотехнику, схожее звучание или даже написание слов, то в случае с артиклями нам деваться некуда: в русском языке их попросту нет. Так что придется изучать правила. Их довольно много, и лучше поделить их на категории базовых и продвинутых. В этой шпаргалке рассмотрим базовые правила.

        image
        Читать дальше →
      • Kubernetes на голом железе за 10 минут

        • Перевод


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


        По ходу этой статьи мы установим Kubernetes 1.6 на реальную (не виртуальную) машину под управлением Ubuntu 16.04 примерно за 10 минут. В результате у вас появится возможность начать изучать взаимодействие с Kubernetes посредством его CLI kubectl.
        Читать дальше →
      • Практики Continuous Delivery с Docker (обзор и видео)

          Свой блог мы начнём с публикаций, созданных по мотивам последних выступлений нашего технического директора distol (Дмитрия Столярова). Все они состоялись в 2016 году на различных профессиональных мероприятиях и были посвящены теме DevOps и Docker. Одно видео, со встречи Docker Moscow в офисе Badoo, мы уже публиковали на сайте. Новые будут сопровождаться статьями, передающими суть докладов. Итак…

          31 мая на конференции RootConf 2016, проходившей в рамках фестиваля «Российские интернет-технологии» (РИТ++ 2016), секция «Непрерывное развертывание и деплой» открылась докладом «Лучшие практики Continuous Delivery с Docker». В нём были обобщены и систематизированы лучшие практики построения процесса Continuous Delivery (CD) с использованием Docker и других Open Source-продуктов. С этими решениями мы работаем в production, что позволяет опираться на практический опыт.

          Дмитрий Столяров (Флант) на RootConf 2016

          Если у вас есть возможность потратить час на видео с докладом, рекомендуем посмотреть его полностью. В ином случае — ниже представлена основная выжимка в текстовом виде.
          Читать дальше →
        • Проверка связи: портативная рация от Xiaomi

            Привет, Geektimes! Сегодня, как вы догадались, поговорим не про мобильные телефоны. Нет, смартфоны-то нужны, но вот представьте такую ситуацию: вы отправились в автопробег по Европе двумя машинами, и связь между ними определенным образом нужно поддерживать. С разными тарифами и роумингом, тем более перемещаясь между странами, запросто можно разориться, а рация без проблем решит этот вопрос даже при отдалении на пару километров. И это лишь один из множества кейсов использования этого устройства: видимо поэтому в 2017 году Xiaomi решила выпустить именно рацию.


            Читать дальше →
          • Сравнение решений по балансировке высоконагруженных систем

              И вновь мы публикуем расшифровки выступлений с конференции HighLoad++, которая прошла в подмосковном Сколково 7—8 ноября 2016 года. Сегодня Евгений Пивень знакомит нас с решениями балансировки в облаках.



              Меня зовут Женя, я работаю в компании IPONWEB. Сегодня мы поговорим про развитие наших решений в балансировке высоконагруженных систем.

              Сначала я пробегусь по понятиям, которыми буду оперировать. Начнём с того чем мы занимается: RTB, Real Time Bidding — показ рекламы с аукционом в реальном времени. Очень упрощенная схема того, что происходит, когда вы заходите на сайт:
              Читать дальше →
              • +44
              • 21,2k
              • 9
            • Семь отличных ускорителей сайтов для Linux и Unix

              • Перевод
              «Производительность веб-проектов» — это, с точки зрения пользователя, скорость, с которой страницы загружаются и отображаются браузером. Что даёт повышение скорости работы некоего сайта? На самом деле – много всего. Здесь и увеличение продаж, и повышение лояльности клиентов, и улучшение впечатлений пользователей от работы с ресурсом. Скорость, с которой веб-ресурс реагирует на запросы, особенно важна для тех пользователей, которые сидят на медленных каналах связи или занимаются веб-серфингом со смартфонов или планшетов.

              Читать дальше →
            • NoSQL – коротко о главном



                Сергей Туленцев (TextMaster)


                Меня зовут Сергей Туленцев, я уже несколько лет интересуюсь NoSQL базами данных и сегодня попытаюсь поделиться с вами знаниями и опытом.

                Кому будет полезен этот доклад? Это обзорный доклад с претензией на структурированность. Если вы что-то где-то когда-то слышали про NoSQL, то через 40 минут вы будете знать гораздо больше, вы будете легче ориентироваться в терминах и более уверенно выбирать базы данных для своего проекта.

                Поговорим также про типичные примеры применения и как не надо применять NoSQL базы данных.
                Читать дальше →
              • История Half-Life 2



                  В понедельник, 9 ноября 1998 года, около четырёх часов вечера в обычном офисном комплексе где-то под Сиэттлом человек в синей рубашке берёт в руки монтировку. Он держит её обеими руками и встаёт в позу для атаки. Затем следует смачный удар по головокрабу. Набитая игровыми деньгами из «Монополии» и заводными игрушками с персонажами «Южного парка» пиньята падает на пол. Под ликование толпы краба добивает ещё один человек. Это Гейб Ньюэлл и Майк Харрингтон, основатели компании Valve Software, празднуют выход своей первой игры Half-Life на тиражирование.

                  В четверг, 14 октября 2004 года, в 12:15 дня после долгих уговоров толпы уничтожить цель пораньше церемония повторяется. На этот раз Гейб в красной поло обороняется от нападения сканера из Half-Life 2. Контрольные удары для болтающихся на верёвочке кусочков пиньяты выполняет сценарист игры Марк Лэйдлоу. На «золото» вышла вторая игра серии.

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

                  Не стала исключением Half-Life 2: игра была в разработке почти 6 лет. По меркам игровой индустрии — это эпоха. За шесть лет игровые консоли успевают разок обновиться. Как можно было так всё затянуть и опять сорвать срок релиза?
                  Читать дальше →
                • Резервное копирование виртуальных машин в среде гипервизора QEMU/KVM

                  • Tutorial
                  image

                  Как известно, бэкапы нужно делать, мало того, нужно делать их так, чтобы потом с них можно было развернуться. Особенно это касается виртуальных машин (ВМ). Рассмотрим, как можно сделать бэкап виртуальных дисков машины в среде QCOW/KVM. Основных проблем здесь две: во-первых, нужно получить консистентый (целостный) бэкап, т.е. если у нас есть СУБД или другое ПО, которое активно использует собственный кэш на запись, то перед бэкапом его нужно попросить сбросить кэш и заморозить запись на диск, иначе данные-то в снэпшот попадут, но не те, и при восстановлении СУБД может не понять такой финт. Второй вопрос — производительность ВМ в режиме снэпшота, неплохо было бы, что бы ВМ не слишком тормозила, когда мы снимаем копию, и не зависала бы, когда мы удаляем снэпшот.

                  Сразу дам ответ на первый вопрос — чтобы получить консистентный бэкап, нужно перед созданием бэкапа выключить ВМ средствами гостевой ОС, тогда бэкап точно получится целостным. Если вас устраивает такая ситуация — статью можно дальше не читать. Если же нет — прошу под кат.
                  Читать дальше →
                • Анонс бесплатного онлайн-курса DevOps: What, Why, and How



                    Друзья, мы приглашаем всех желающих пройти обучение в рамках бесплатного онлайн-курса для разработчиков DevOps: What, Why and How.

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

                    Обучение будет проводиться с помощью видеоуроков, выступлений преподавателей, текстовых материалов и практических занятий. Продолжительность курса — 5 недель. Начало занятий — 29 марта 2016.

                    • Первая неделя: Введение в DevOps.
                    • Вторая неделя: Введение в DevOps — методология.
                    • Третья неделя: Методики и инструменты — Agile-разработка и непрерывная интеграция.
                    • Четвёртая неделя: Методики и инструменты — непрерывная поставка и непрерывная разработка.
                    • Пятая неделя: Технологии развёртывания DevOps.

                    Читать дальше →
                    • +4
                    • 16,6k
                    • 4
                  • Вышел Zabbix 3.0

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


                      Читать дальше →
                    • Django Single Sign-On и Microsoft Active Directory

                      Начало


                      Однажды мне пришлось заняться разработкой Web-приложения для корпоративного использования на Python+Django. И самым первым вопросом, который пришлось решать — это прозрачная авторизация на сайте или Single Sign-On (SSO).

                      На предприятии широко используется служба каталогов на базе Microsoft Active Directory, и к настоящему моменту практически все корпоративные приложения позволяют использовать windows-авторизацию и не вводить постоянно логины/пароли, поэтому новое приложение просто должно было удовлетворять существующему положению вещей и реализовывать указанную выше возможность для «прозрачной» авторизации пользователей.

                      Хотя о вопросе реализации SSO для Django написано немало статей, однако для того, чтобы реализовать то, что мне было необходимо, пришлось затратить относительно много времени. Поэтому, чтобы избавить некоторых из вас от возможных долгих поисков информации и ее сборки в работающую схему, предлагаю вам свой мануал, как сделать прозрачную авторизацию в приложении Django с использованием учетных записей Active Directory.

                      Итак мы имеем:
                      Читать дальше →
                      • +15
                      • 29,3k
                      • 2
                    • Вы все еще храните 404backup.zip на сервере? Я на 200ДА

                      Сумеречными зимними вечерами под песнь вьюги, укутавшись в овечий плед с бокальчиком «яблочной самогонки», я люблю почитывать логи на сервере. Авторизация по ключам упрощает сие, так что если в публичное помещение меня и не пустят, то сервер всегда рад приютить, старый чертяга.

                      В мире много чего происходит, у кого счастливое 200, кто-то недоуменно смотрит на 301, кто-то царапает похабщину на 403.

                      Но самый ценных мех — это исследователи. Это те, кто открывает новый для себя мир на основе своих знаний путем проб и 404.
                      Читать дальше →
                    • Table bloat? Не, не слышал…



                        Думаю многим известна особенность PostgreSQL, которая приводит к эффекту раздувания таблиц, или table bloat. Известно что она проявляет себя в случаях интенсивного обновления данных, как при частых UPDATE так и при INSERT/DELETE операциях. В результате такого раздувания снижается производительность. Рассмотрим почему это происходит и как с этим можно бороться.
                        что?
                      • Технические рекомендации и ресурсы Google для мобильных сайтов



                          Предлагаем вашему вниманию материалы доклада Андрея Липатцева, Google, с последней конференции Bitrix Summer Fest. В своём выступлении Андрей рассказал о текущей ситуации с ранжированием и оценкой Google сайтов для мобильных устройств.
                          Читать дальше →
                          • +13
                          • 14,9k
                          • 1
                        • Последний шанс получить пожизненную Windows 10 Pro без участия в Insider программе

                          • Tutorial
                          UPD 2016: обновил инструкцию для тех, кто не успел в прошлый раз. image

                          Как многие знают, незадолго до финального релиза Microsoft сделала предложение всем пользователям Technical Preview присоединится к Insider программе. Подключиться к программе нужно было успеть до 29 июля. Тот поезд ушел. Сейчас поучаствовать в Insider можно только действующим пользователям Windows 10.

                          Для пользователей Windows 7 и 8 все еще есть бесплатный апгрейд до Windows 10, который действует до 29 июля 2016 года. А как быть остальным? Выход есть, но времени осталось лишь до 1 октября 2015 пока не отключат сервер активации.

                          image

                          Сегодня я расскажу, как получить пожизненную Windows 10 Pro, не имея при этом никакой из предыдущих версий Windows.

                          Бесплатно и без смс
                        • Фурье-вычисления для сравнения изображений

                            Традиционная техника “начального уровня”, сравнения текущего изображения с эталоном основывается на рассмотрении изображений как двумерных функций яркости (дискретных двумерных матриц интенсивности). При этом измеряется либо расстояние между изображениями, либо мера их близости.

                            Как правило, для вычисления расстояний между изображениями используется формула, являющаяся суммой модулей или квадратов разностей интенсивности:
                            d(X,Y) = SUM ( X[i,j] — Y[i,j] )^2

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

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

                            Наличие большого числа библиотек, реализующих Фурье преобразований (во всевозможных вариантах быстрых версий), делает реализацию алгоритмов сравнения изображений не очень сложной задачей для программирования.
                            Читать дальше →
                          • Поздравление с 1 сентября от Vert Dider



                              Сегодня важный для нас день, так как мы занимаемся популяризацией науки и в какой-то мере чувствуем себя причастными к этому празднику, мы решили сделать подборку видео, озвученных нашей студией, так как считаем, что эти идеи должны применяться на практике. Возможно, эту подборку увидят учителя или директора школ и возьмут идеи из этих видео себе на заметку. Далее под катом очень много видео, так что осторожнее, мы предупреждали.
                              Читать дальше →
                              • +11
                              • 9,9k
                              • 2
                            • Как подобрать платье с помощью метода главных компонент

                              • Перевод
                              Итак, кто не против, чтобы одежду ему подбирала программа, машина, нейросеть?

                              Любой набор изображений возможно проанализировать с помощью метода главных компонент. Этот метод уже довольно успешно применяется при распознавании лиц. Мы же попробуем использовать его на примере женских платьев.

                              image
                              Читать дальше →