• Асинхронное общение — вот настоящая причина, почему удалённая работа более эффективна

    • Translation

    Теперь асинхронную связь внедряют не только на удалёнке



    Иллюстрация: Yin Weihung

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

    Только не совсем понятно, почему.

    Да, люди сохраняют время (и рассудок), избегая пробок в час пик. На них не действуют отвлекающие факторы в офисе. Они обретают чувство контроля над рабочим графиком. Больше времени остаётся для семьи, друзей и хобби.

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

      image

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

      Мы торопимся исправить это годами длящееся недоразумение.

      Итак, мы предлагаем вашему вниманию набор данных из 4000 часов аннотированной устной речи, собранный из различных интернет-источников.

      Подробности под катом.
      Читать дальше →
    • Как обойти SMS-идентификацию при подключении к публичным Wi-Fi сетям?

      В 2014 году начали свое действие постановления правительства РФ №758 №801, обязывающие владельцев публичных WiFi сетей настроить на роутерах идентификацию пользователей через паспортные данные, sms или портал гос. услуг. Нежелание владельцев кафе тратиться за Captive portal'ы поспособствовало некоторым провайдерам в распространении своих точек доступа с платной sms-авторизацией. У меня возникло желание проверить, можно ли подобную sms-авторизацию обойти.

      image
      Читать дальше →
    • Делаем гирлянду с ребенком

      image

      Уровень сложности: для начинающих.

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

      1. Графическая среда разработки типа Scratch
      2. offline работа — возможность работы устройства при выключенном компьютере
      3. Работа по воздуху, без подключения провода
      4. Надежность — никакая загруженная программа не должна «повесить» устройство до необходимости перезагрузки

      Читать дальше →
    • Курс молодого бойца PostgreSQL

      • Tutorial


      Хочу поделиться полезными приемами работы с PostgreSQL (другие СУБД имеют схожий функционал, но могут иметь иной синтаксис).

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

      Данный материал будет полезен тем, кто полностью освоил базовые навыки SQL и желает учиться дальше. Советую выполнять и экспериментировать с примерами в pgAdmin'e, я сделал все SQL-запросы выполнимыми без разворачивания каких-либо дампов.

      Поехали!
      Читать дальше →
    • Web-Оповещения в нагруженных проектах

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

        Есть несколько вариантов решения такого класса задач. Наиболее оптимальное и распространенное решение – это подписка на события. Как это реализуется в нагруженных проектах?
        Читать дальше →
      • Полное практическое руководство по Docker: с нуля до кластера на AWS

        • Translation



        Содержание



        Вопросы и ответы


        Что такое Докер?


        Определение Докера в Википедии звучит так:


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



        Ого! Как много информации.

        Читать дальше →
      • CTRL + G — хоткей, полностью изменивший принцип моей работы



          В этой статье я расскажу об одном из очень важных и нужных хоткеев в Android Studio, который позволит вам значительно повысить вашу производительность. Кейсы, описанные здесь, встречаются наиболее часто при рефакторинге уже готового кода, поэтому рекомендую досконально изучить статью и выучить описанные хоткеи.

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

          Плохой программист Джон сделал ошибку в коде, из-за которой каждый пользователь программы был вынужден потратить в среднем 15 минут времени на поиск обхода возникшей проблемы. Пользователей было 10 миллионов. Всего впустую потрачено 150 миллионов минут = 2.5 миллиона часов. Если человек спит 8 часов в сутки, то на сознательную деятельность у него остается 16 часов. То есть Джон уничтожил 156250 человеко-дней ≈ 427.8 человеко-лет. Средний мужчина живет 64 года, значит Джон убил примерно 6 целых 68 сотых человека.

          Как тебе спится, Джон — серийный программист?

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

          Правила хорошего кода


          Простота-понятность-компактность, производительность, отсутствие дублирования.

          Если вы пишете что-то сложнее «hello world”, оно будет размещаться не в одном, а в нескольких файлах. Как правило, файлов бывает больше десятка. Всем им даются непонятные короткие имена (программисты любят сокращения) Человек, который попытается разобраться в вашем коде, будет плеваться, шипеть и проклинать вас. Ваша карма будет испорчена и следующие несколько жизней вы будете собакой в Корее.
          Читать дальше →
        • NGINX: Перехват ошибок 5хх с помощью отладочного сервера

          • Translation

          Является ли ошибкой ответ 5хх, если его никто не видит? [1]


          image

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

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

          Для облегчения процесса поиска и отладки могут быть использованы некоторые полезные приёмы в случае, когда NGINX используется для проксирования или балансировки приложения. В этой статье будет рассмотрено особое использование директивы error_page в применении к типичной инфраструктуре приложения с проксированием через NGINX.
          Читать дальше →
          • +45
          • 15k
          • 4
        • Способ быстрого измерения производительности случайного сервера

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

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

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

            В этой статье я хочу рассказать о тех приёмах и инструментах, которые мы используем для оценки производительности сервера.
            Читать дальше →
          • Грандиозное тестирование аккумуляторов AA/AAA

              После моего грандиозного тестирования батареек многие просили провести такие же основательные тесты NiMh-аккумуляторов. За четыре месяца я протестировал 198 аккумуляторов (44 модели AA и 35 моделей AAA).



              Читать дальше →
            • Первый взгляд на Scaleway

                Случайно попалось упоминание о хостинге Scaleway.

                Плюсы:
                • 4 ядра
                • 2 гигабайта оперативки
                • 50 гигабайт SSD диск
                • bare-metal! (то есть, нет никаких, даже чисто теоретических накладных расходов на виртуализацию)
                • за все это всего 3 евро в месяц! Очень дешево!

                Но есть особенность: это ARM процессор. Да-да! Это 4-ядерный ARM процессор.


                Любопытно же!?
              • Дайджест интересных материалов для мобильного разработчика #117 (17-23 августа)

                  На этой неделе получился большой дайджест – более 50 материалов про виртуальную реальность, про новый Android, который теперь маршмэллоу, про Sailfish OS, про борьбу с Google Play и поиск в магазине, про нестандартные способы монетизации приложений и 19 метрик, о которых вы, возможно, не знали.

                  Добро пожаловать!
                  • +17
                  • 11.9k
                  • 3
                • Лекции Техносферы. 2 семестр. Методы обеспечения качества и тестирования web-приложений

                    Лето только начинается, но это не повод прекращать учиться. Предлагаем вам ознакомиться с очередной порцией знаний в рамках проекта «Лекции Техносферы». Цель курса — ознакомить студентов с актуальными методологиями тестирования и обеспечения качества современных веб-приложений. Курс позволит слушателям получить достаточные знания для овладения и применения на практике эффективных приемов построения процесса тестирования и обеспечения качества.

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


                    Читать дальше →
                    • +16
                    • 66k
                    • 1
                  • Видео с очередной встречи PUG: Phalcon и Zephir



                      Привет, Хабр!

                      Сегодня хотим поделиться видео с пятой встречи днепропетровской PHP User Group. Александр Трищенко и Иван Стеценко рассказывали про Phalcon и Zephir. Информацию о спикерах и докладах можно найти под видео.


                      Читать дальше →
                    • Олимпиадное хобби. Размен монет

                        Размен монет Привет. Сегодня понедельник, поэтому я решил, что стоит начать свой рабочий день с разогрева пальцев и мозга. Для тех кто не в курсе: мое олимпиадное хобби состоит в решении олимпиадных задач по программированию, которые я беру с сайта http://uva.onlinejudge.org/. Сегодня нам предстоит решить задачу о размене монет из области динамического программирования. Задача не очень сложная, но есть над чем поразмыслить, поэтому заинтересовавшихся прошу под кат. К слову, это третья наша задача, но, безусловно, из всех самая интересная.
                        Читать дальше →
                      • Как я Asterisk'ом шлагбаумы открывал

                          image

                          Добрый день, жители хабра.

                          Хочу поделиться интересным, на мой взгляд, вариантом использования Asterisk.

                          Предисловие: у клиента имеются две парковки, въезд на которые регулируется шлагбаумами с gsm-модулями. То есть владелец парковочного места набирает номер сим-карты, установленной в модуле и въезжает на территорию. Но, как известно, если номер знает один — его знают все, поэтому платная парковка хаотично превращается в бесплатную. Особенность gsm-модуля заключается в том, что звонок проходит без поднятия трубки, соответственно оператор связи не может предоставить детализацию звонков по номеру.

                          Вот с такими исходными данными мне предстояло работать, что из этого вышло — под катом.

                          Читать дальше →
                        • PHP extension. Пишем простой массив с Traversable и ArrayAccess

                          • Tutorial
                          В этой статье предлагаю на примере простого массива рассмотреть как именно работают внутренние интерфейсы Traversable и ArrayAccess.

                          Сразу приведу список ресурсов, на которые далее по тексту будет множество ссылок.

                          И про платформу: я писал код по ubuntu, так что для других linux дистрибутивов (да и OS X) понадобится минимум изменений (поменять apt-get). Если хотите писать под Windows, то придется поискать информацию в других интернетах (все равно никто не пишет код по windows).

                          Картинки не будет. Приступаем.
                          • +29
                          • 9.3k
                          • 5