• Зарплаты ИТ-специалистов на середину 2018 года

      image

      Публикуем второй отчет зарплатного сервиса «Моего круга». Отчёт построен на данных по 7900+ зарплатам, внесенных нашими пользователями за последние полгода. 70% зарплат внесено разработчиками, остальные — администраторами, тестировщиками, менеджерами, аналитиками, дизайнерами, эйчарами, маркетологами и специалистами поддержки.

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



        Многие люди мечтают, что при их жизни найдут способ остановить старение. Теперь можно перестать мечтать. Реальная жизнь переплюнула научную фантастику. Исследователи смогли не только остановить, но и обратить процесс старения – вернув человеческие клетки обратно к их «молодому» состоянию. Правда, пока что только в лаборатории. Ученые рассчитывают, что скоро их открытие позволит создавать лекарства против естественной дегенерации тканей. И указывают на то, какие продукты нам нужно употреблять, чтобы достичь похожего эффекта в своём организме.

        Читать дальше →
      • PHP, YII2 и формирование больших excel-файлов

        Начало


        Одна поддерживаемая нашей компанией учетно-отчетная система начала очень быстро разрастаться в количестве хранимых данных. Система написана на PHP с использованием фреймворка Yii2. Изначально отчеты строились через библиотеку PhpSpreadsheet, которая пришла на смену, уже давно ставшему deprecated, PhpExcel.

        Среди разного вида отчетности был один очень крупный – фактически полный набор всех хранящихся в БД данных должен выгружаться в одну excel-таблицу. На начальном этапе проблем не возникало, но когда объем стал превышать многие сотни тысяч записей, то скрипт формирования выгрузки стал отваливаться в timeout limit.
        Читать дальше →
      • Автоматизация в сфере финансов: сотрудники банков могут остаться без работы из-за роботов



          Из-за развития финансовых технологий множество специалистов, работающих в банковской сфере, могут стать невостребованными. Журналисты Bloomberg проанализировали результаты крупного скандинавского банка, проводящего масштабную кампанию по сокращению штата и автоматизации процессов: по итогам второго квартала 2018 года Nordea Bank AB стал единственным шведским банком ощутимо сократившим расходы. Успех Nordea вдохновляет и других участников рынка.
          Читать дальше →
        • Непрофессиональное видеонаблюдение квартиры занятно и недорого

          С момента как у меня в квартире на страже появилась GSM сигнализация, появилась мысль о том, что неплохо бы иметь в мое отсутствие в квартире и «глаза» в случае срабатывания датчиков сигнализации (а может срабатывание ложное?). Поскольку я инженер в области информационных технологий, ни о каком профессиональном решении в виде регистратора и кучи камер речь не шла — только все сам, своими руками. Бюджет тоже сразу было решено обнулить ограничить, а в случае успешности проекта уже думать о его дальнейшем улучшении и модернизации.
          Читать дальше →
        • Как отбрасывать 10 миллионов пакетов в секунду

          • Перевод
          В компании нашу команду по противостоянию DDoS-атакам называют «отбрасыватели пакетов» (the packet droppers — прим. пер). Пока все остальные команды делают клёвые штуки с проходящим через нашу сеть трафиком, мы развлекаемся поиском новых способом избавиться от него.


          Фотография: Brian Evans, CC BY-SA 2.0

          Умение быстро отбрасывать пакеты очень важно в противостоянии DDoS-атакам.

          Отбрасывание пакетов, достигающих наших серверов, может быть выполнено на нескольких уровнях. Каждый способ имеет свои плюсы и минусы. Под катом мы рассмотрим всё, что мы опробовали.
          Читать дальше →
        • Удаленная работа, как это работает

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

            Начинал я свою карьеру в IT с работы в 1С-франчайзи, где получал средние деньги для моего небольшого городка, потом меня потянуло на что-то более «трушное», я стал учить Python/Java. Это позволило мне создать несколько проектов, которые по сей день приносят мне среднюю зп для моего города, но круто выстрелить не получилось. Яиц и денег для открытия чего-то более серьезного и рискованного у меня не нашлось, поэтому я стал искать другую работу. Как оказалось, в городе ничего не было (да и сейчас нет), поэтому стал рассматривать варианты переезда в другой город, заодно читал разные книжки. Так в знаменитой книге «Remote. Офис не обязателен», я узнал о возможности работать на удаленке, после чего и начал поиск. Спустя 2 месяца, посылая каждый день по 30 заявок в разные компании, я нашел работу тестера на удаленку, потом дорос до QA-Automation, а потом перешел уже в отдел разработки, где и нахожусь по настоящий момент.

            Читать дальше →
          • Что не так с популярными статьями, рассказывающими что foo быстрее чем bar?

            • Перевод

            Примечание переводчика: я тоже думал, что время статей "Что быстрее — двойные или одинарные кавычки?" прошло еще 10 лет назад. Но вот подобная статья ("What performance tricks actually work") недавно собрала на Реддите относительно большой рейтинг и даже попала в PHP дайджест на Хабре. Соответственно, я решил перевести статью с критическим разбором этих и подобных им "тестов".


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


            Главная проблема


            Такие тесты являются неверными по многим причинам, начиная с постановки вопроса и заканчивая ошибками реализации. Но что важнее всего — подобные тесты бессмысленны и в то же время вредны.


            • Бессмысленны потому, что никакой практической ценности не несут. Ни один реальный проект еще никогда не был ускорен с использованием методов, приводимых в таких статьях. Просто потому, что не различия в синтаксисе имеют значение для производительности, а обработка данных.
            • Вредны потому, что они приводят к появлению дичайших суеверий и — что еще хуже — побуждают ничего не подозревающих читателей писать плохой код, думая при этом что "оптимизируют" его.

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

            Читать дальше →
          • Сверхновые нейтрино. Как они рождаются, как мы их ждем, и почему это интересно

              image

              Физика нейтрино стремительно развивается. Месяц назад было объявлено о регистрации нейтрино от вспышки гамма-излучения в активном ядре далекой галактики — ключевом событии в нейтринной астрофизике.
              В данной статье же мы поговорим о регистрации нейтрино от сверхновых. Один раз человечеству уже повезло их задетектировать.

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

              По ходу дела узнаем что такое «урка-процесс» — кто у кого что ворует и почему.
              Читать дальше →
            • Обзор моих любимых фич PHP7

              • Перевод


              Когда люди обсуждают изменения в PHP7, самое распространенное что вы слышите — это значительно улучшенный движок, который может похвастаться более быстрой скоростью выполнения и значительно меньшим объемом памяти при сравнении обычных приложений PHP, таких как Drupal, WordPress и MediaWiki.


              Не поймите меня неправильно, это все конечно здорово! Мне удалось перенести несколько устаревших приложений CodeIgniter на PHP7 и достигнуть гораздо более высокой производительность с небольшими изменениями в кодовой базе. Тем не менее, PHP7 также добавляет несколько новых функций, которые могут помочь оптимизировать существующий код или повысить качество написания нового кода. Здесь я изложил несколько моих избранных фич.

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

              • Перевод


              Никлаус Вирт, швейцарский ученый-информатик, в 1976 году написал книгу под названием «Алгоритмы + Структуры данных = Программы».

              Через 40 с лишним лет это тождество остается в силе. Вот почему соискатели, желающие стать программистами, должны продемонстрировать, что знают структуры данных и умеют их применять.

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

              Иногда в вопросах на интервью прямо упоминается та или иная структура данных, например, «дано двоичное дерево». В других случаях задача формулируется более завуалированно, например, «нужно отследить, сколько у нас книг от каждого автора».

              Изучение структур данных — незаменимое дело, даже если вы просто стараетесь профессионально совершенствоваться на нынешней работе. Начнем с основ.

              Переведено в Alconost
              Читать дальше →
            • Роскомнадзор и Генеральная прокуратура превысили полномочия при блокировке Telegram

                6 августа состоялось судебное заседание (рекомендую почитать трансляцию, местами смешно) по иску компании «Живая фотография» к Роскомнадзору и Генеральной прокуратуре. Роскомнадзор, в попытках, нарушить работу Telegram на территории России, массово блокировал миллионы адресов популярных хостингов, отчего пострадал и сайт «Живой фотографии». Основание для блокировки — знаменитое «резиновое» постановление Генпрокуратуры.

                Результат немного предсказуем — требования истца (признать блокировку незаконной, что открывало возможность взыскать упущенную прибыль) суд не удовлетворил.

                Интереснее то, что Роскомнадзор вынужден вытащить на свет божий само постановление. Которое до этого момента отказывался предъявить публике, ссылаясь на то, что не обязан этого делать. Правда и при этом ведомство умудрилось смухлевать. До 17 мая сети блокировалось по постановлению 27-31-2015/Ид4082-15, а с 17 мая номер документа в реестре внезапно изменился на 27-31-2018/Ид2971-18. Риторический вопрос — а что так можно было?
                Читать дальше →
              • UI-автотесты: как делать не стоит

                  Здравствуй, Хабр. Меня зовут Виталий Котов, я работаю в отделе тестирования компании Badoo. Я пишу много UI-автотестов, но ещё больше работаю с теми, кто занимается этим не так давно и ещё не успел наступить на все грабли.

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

                  Статья будет интересна начинающим авторам UI-тестов, но и старожилы в этой теме наверняка узнают что-то новое, либо просто улыбнутся, вспомнив себя «в молодости». :)

                  Поехали!



                  Читать дальше →
                • Год со Scrum или способы профессионального роста разработчиков

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

                  Agile стал требовать от команды самостоятельного принятия решения, непрерывного улучшения. Тут мы и столкнулись с проблемой развития членов команд. В результате у нас постепенно появилось 14 способов развития, про 6 из которых расскажу в этой статье. Часть из этих способов инициировала компания, но большую часть мы придумали сами или подсмотрели и адаптировали под себя.
                  Читать дальше →
                • Власть, деньги и open source. Рассказываем, как работает сообщество на примере Apache Ignite



                    На последней встрече сообщества Apache Ignite в Москве я рассказывал про:

                    • Open source-сообщество;
                    • Власть и деньги в open source;
                    • Как стать контрибьютором и коммитером, и зачем это нужно.

                    Ограниченное время доклада не позволило привести больше примеров, поэтому расширенную версию выкладываю на Хабре. Всё изложенное основано на моем личном опыте и не является официальной позицией какой-либо компании или организации.
                    Читать дальше →
                    • +27
                    • 3,8k
                    • 2
                  • Цена JavaScript в 2018 году

                    • Перевод
                    Процесс работы пользователей с интерактивными веб-сайтами может включать в себя шаг отправки им JavaScript-кода. Часто — слишком большого объёма такого кода. Если на сайте используется очень много JavaScript, это особенно сильно сказывается на мобильных пользователях. Например, вам случалось бывать на мобильных веб-страницах, которые, вроде бы, выглядят как уже готовые к работе, но не реагируют на щелчки по ссылкам или на попытки прокрутить страницу?


                    JavaScript-код, который попадает в мобильные браузеры, всё ещё остаётся самым дорогостоящим ресурсом, так как он, многими способами, может задержать переход страниц в состояние, в котором с ними можно взаимодействовать. Какую нагрузку на системы создаёт JavaScript в наши дни? Как анализировать сайты? Как ускорить загрузку и обработку браузерами интерактивных веб-страниц? Эдди Османи, перевод материала которого мы сегодня публикуем, решил найти ответы на эти и на многие другие вопросы, встающие перед теми, кто пользуется JavaScript для разработки веб-сайтов в 2018 году.
                    Читать дальше →
                  • Пишем CSS лучше и красивее

                    • Перевод


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

                    Когда при разработке приложений приходилось браться за CSS, это была не самая радостная часть работы. Но ее ведь не избежать, верно? Сегодня порадовать пользователя дизайном приложения настолько важно, что без CSS — никак.

                    Когда проект только начинается, все идет хорошо. У вас всего пару селекторов: .title, input, #app — проще простого.

                    Но постепенно приложение разрастается, и заглядывать в CSS становится страшновато: во всех этих селекторах разобраться уже не так просто. Вы начинаете писать что-то вроде div#app .list li.item a, какие-то куски кода повторяются снова и снова, а всю свою писанину сваливаете в конец файла: вам уже плевать, потому что CSS — отстой. Итог — 500 строк CSS-кода, поддерживать который невозможно.


                    Это я, когда сражаюсь с CSS

                    Переведено в Alconost
                    Читать дальше →
                  • Как научить Zabbix отправлять уведомления о проблемах прямо на рабочий стол


                      Картинка: источник

                      Привет, Хабр! Меня зовут Илья Аблеев, я работаю в отделе мониторинга Badoo.

                      Можно долго холиварить на тему того, какая система мониторинга круче. Основным инструментом для реакции на проблемы в Badoo является Zabbix, и мы неоднократно делились опытом его кастомизации.

                      «Из коробки» узнавать о новых проблемах можно либо через веб-интерфейс, либо по почте/SMS. Это хорошо работает и до определённого момента нас устраивали эти способы.

                      На сегодняшний день в нашей системе несколько инстансов сервера, тысячи хостов, сотни тысяч проверок и примерно столько же триггеров, на которые нужно как можно более оперативно реагировать. После ряда инцидентов, когда только на обнаружение проблемы мы тратили до десяти минут (что совершенно недопустимо), мы осознали, что нам жизненно необходимы другие способы уведомления о проблемах. Тогда, возможно, наша реакция была бы быстрее.

                      Оптимальным решением, на наш взгляд, был бы вывод важных уведомлений поверх всех окон (браузеров, чатов, консолей). В этой статье речь пойдёт о том, как мы допилили Zabbix, научив отправлять их прямо на рабочий стол.

                      Кому подойдёт данное решение:

                      • дежурным администраторам, которые не только круглосуточно смотрят в монитор, но и занимаются решением других задач;
                      • всем остальным администраторам, которым не нравится просматривать простыню PROBLEM и OK`ов в почте или SMS, но которые хотят своевременно узнавать о критичных проблемах.

                      Придётся потратить время на установку, но, думаю, если вы используете Zabbix и уже использовали кастомные скрипты, для вас это не составит труда.
                      Читать дальше →
                    • Первые впечатления и действия после обновления MySQL с версии 5.7 до 8.0.11

                      Решение об обновлении базы данных MySQL принял после того, как прочитал на сайте разработчика, что в восьмой версии внедрена более полная поддержка UTF. В частности в MySQL 8.0.11 используются регулярные выражения на базе ICU, International Components for Unicode.

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

                      SELECT 'слово' REGEXP '[[:<:]]слово[[:>:]]'; 

                      Границы слова в новой версии обозначаются таким образом:

                      '\\bслово\\b'
                      Читать дальше
                    • Почему Telegram Passport — никакой не End to End

                        Привет, %username%!



                        В обсуждении новости про Passport разгорелись жаркие дискуссии на тему безопасности последней поделки от авторов Telegram.

                        Давайте посмотрим, как он шифрует ваши персональные данные и поговорим о настоящем End-To-End.
                        Читать дальше →