• Детекторы углов

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

      • Введение
      • Свойства особых точек
      • Детекторы углов
        • Moravec
        • Harris
        • Shi-Tomasi
        • Förstner
        • SUSAN
        • Trajkovic
        • FAST
        • CSS
        • Детектор, основанный на глобальных и локальных свойствах кривизны
        • CPDA
      • Выводы



      Читать дальше →
    • «Красная» корпоративная культура — главная проблема российского бизнеса (Часть 1)



        «— Скажите, пожалуйста, куда мне отсюда идти? — А куда ты хочешь попасть? — ответил Кот. — Мне все равно… — сказала Алиса. — Тогда все равно, куда и идти, — заметил Кот.» (С) «Алиса в стране чудес»

        Низкая производительность труда в России


        Думаю, что те из вас, кто был в Греции, ни за что не согласятся, что греки работают лучше россиян. Тем не менее, по исследованиям Организации экономического сотрудничества и развития (ОСЭР) Россия со своим показателем производительности труда на уровне $26,5 в час уступает всем странам ОЭСР (по сути все развитые страны), включая Грецию, кроме Мексики, где он составляет $21,6. Средний для ОЭСР показатель — $54,8, а у лидеров — Ирландии и Люксембурга — на уровне $99 в час.
        Читать дальше →
      • Микросервисная архитектура на современном стеке Java-технологий

        • Tutorial
        У нас были JDK 11, Kotlin, Spring 5 и Spring Boot 2, Gradle 5 с production-ready Kotlin DSL, JUnit 5, а ещё с полдюжины библиотек стека Spring Cloud для Service discovery, создания API gateway, клиентской балансировки, имплементации паттерна Circuit breaker, написания декларативных HTTP клиентов, распределённой трассировки и всего такого. Не то чтобы всё это было нужно для создания микросервисной архитектуры — only just for fun...
        Читать дальше →
        • +7
        • 28,2k
        • 8
      • Как в одиночку запустить продукт, если вы разработчик: советы от создателя Laravel Тейлора Отвела. Часть 1: Аудитория

        • Перевод

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


        Лучше брать пример с Тэйлора Отвела, который создавал Laravel в свободное от основной работы время. В ноябре он опубликовал мини-серию подкастов, в которой поразмыслил над успехом своих программных продуктов — за последние 5 лет они принесли ему больше 10 млн долларов. В четырех выпусках подкаста Тейлор поделился советами, которые затрагивают ряд тем от поиска идеи и формирования лояльной аудитории до сохранения мотивации и преданности качеству.


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

        Итак, поехали.

        Читать дальше →
      • Как в одиночку запустить продукт, если вы разработчик: советы от создателя Laravel Тейлора Отвела. Часть 2: Поиск идеи

        • Перевод
        В прошлом выпуске мы рассматривали различные способы формирования аудитории. Когда есть аудитория — есть потенциальные покупатели. Теперь осталось придумать, что им продавать.

        Откуда брать идеи для своего продукта?
        Читать дальше →
        • +25
        • 11k
        • 3
      • Против всех: in-app голосовые помощники


          Вы пользуетесь каждый день голосовыми помощниками? Я — нет. Хотя разрабатываю их уже более 7-ми лет!
          Такими словами открывалась девелоперская сессия нашей конференции по разговорным технологиям в Москве.

          А что, собственно, не так со всеми этими «Алисами», «Марусями» и «Google Ассистентами»? Почему пользователям с ними неудобно, а бизнесу — непонятно? И какая этому всему есть open source альтернатива?

          Давайте разбираться
        • «Где та молодая шпана, что сотрет нас с лица земли?»

            Экзистенциальным вопросом, вынесенными в заголовок в формулировке Гребенщикова, я задался после очередного раунда обсуждения в одном из сообществ на предмет того, нужны ли начинающему web backend девелоперу знания SQL, или ORM все и так сделает. Ответ решил поискать немного шире, чем просто про ORM и SQL, и в принципе постараться систематизировать, кто те люди, которые сейчас идут на собеседования на младшие и средние разработческие позиции, какова их история и в каком мире они живут. В целом-то мнение у меня было, но оно сформировано личным опытом найма и явно скорректировано под локальный рынок. В общем, стало любопытно. Вот что удалось найти.
            Читать дальше →
          • Не попадайте в ловушку преждевременной оптимизации

            • Перевод
            Дональд Кнут однажды сказал слова, ставшие впоследствии знаменитыми: «Настоящая проблема заключается в том, что программисты, не там, где нужно, и не тогда, когда нужно, тратят слишком много времени на заботу об эффективности. Преждевременная оптимизация — корень всех зол (или, по крайней мере, большей их части) в программировании».



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

              Синтаксический анализ текста всегда начинается с лексического анализа или tokenizing-а. Существует простой способ решить эту задачу практически для любого языка с помощью регулярных выражений. Еще одно применение старым добрым regexp-ам.

              Читать дальше →
            • Тюнинг производительности запросов в PostgreSQL

              Настройка производительности базы данных — разработчики обычно либо любят это, либо ненавидят. Я получаю удовольствие от этого и хочу поделиться некоторыми методами, которые я использовал в последнее время для настройки плохо выполняющихся запросов в PostgreSQL. Мои методы не является исчерпывающими, скорее учебником для тех, кто просто тащится от тюнинга.

              Поиск медленных запросов


              Первый очевидный способ начать тюнинг — это найти конкретные операторы, которые работают плохо.

              pg_stats_statements


              Модуль pg_stats_statements — отличное место для начала. Он просто отслеживает статистику выполнения операторов SQL и может быть простым способом поиска неэффективных запросов.

              Как только вы установили этот модуль, системное представление с именем pg_stat_statements будет доступно со всеми своими свойствами. Как только у него будет возможность собрать достаточный объем данных, ищите запросы, которые имеют относительно высокое значение total_time. Сначала сфокусируйтесь на этих операторах.

              SELECT *
              FROM
                pg_stat_statements
              ORDER BY
                total_time DESC;

              user_id dbid queryid query calls total_time
              16384 16385 2948 SELECT address_1 FROM addresses a INNER JOIN people p ON a.person_id = p.id WHERE a.state = @state_abbrev; 39483 15224.670
              16384 16385 924 SELECT person_id FROM people WHERE name = name; 26483 12225.670
              16384 16385 395 SELECT _ FROM orders WHERE EXISTS (select _ from products where is_featured = true) 18583 224.67

              Читать дальше →
              • +22
              • 9,9k
              • 6
            • Оптимизация запросов базы данных на примере B2B сервиса для строителей

                Как вырасти в 10 раз под количеству запросов к БД не переезжая на более производительный сервер и сохранить работоспособность системы? Я расскажу, как мы боролись с падением производительности нашей базы данных, как оптимизировали SQL запросы, чтобы обслуживать как можно больше пользователей и не повышать расходы на вычислительные ресурсы.
                Читать дальше →
              • Генерация больших объемов полезных данных

                Хочу поделиться опытом создания механизма генерации большой базы данных товаров. С его помощью наши пользователи могут за несколько минут сгенерировать более миллиона однотипных, но разных записей.
                Читать дальше →
                • +6
                • 11,9k
                • 2
              • Чиним автомобиль при помощи 3D принтера



                Вступление


                3D принтеры сейчас на слуху. Здесь, на Хабре, публикации 3д тематики появляются довольно часто. Идет активное формирование сообщества вокруг объемной печати, и нам еще предстоит понять зачем же простому человеку это все нужно. Некоторые производители и евангелисты технологий доступной 3д печати считают, что 3D принтер должен быть у каждой домохозяйки. Этим путем идет Makerbot, производитель самого раскрученного принтера Replicator 2 и партнер Microsoft. Компания активно инвестирует средства в свое сообщество Thingiverse, где пользователи могут делится своими моделями. Там уже сейчас можно найти много полезных моделей, в том числе и запчасти для самих принтеров. А включение поддержки Репликаторов в Windows 8.1 говорит о серьезном настрое Microsoft и Makerbot.
                Читать дальше →
              • Несколько интересностей и полезностей для веб-разработчика (выпуск 4)

                  Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

                  Pace.js — это самый простой способ (документация здесь) добавить к вашему проекту прогресс бар. Для Pace существует несколько тем, которые описываются только на CSS. От Hubspot есть еще два универсальных проекта на GitHub: Vex и Messenger — «Dialogs for the 21st century» и «Alerts for the 21st century» соответственно. Рекомендую.

                  imageFlat UI Free 2.1
                  Популярный информационный ресурс Designmodo опубликовал на GitHub обширный набор элементов интерфейса в стилей трендового плоского дизайна. Об этом еще в марте писал хабраюзер ilya42. А на этой недели проект обновился до версии 2.1. Теперь в Flat UI есть поддержка Bootstrap 3, появился ряд новых элементов, иконок, обновилились шрифты. Количество старов уже больше 5000.

                  Framer
                  Потрясающее изобретение разработчика Koen Bok. Framer — это бесплатный инструмент для прототипирования интерактивных и анимационных интерфейсов. Приложение синхронизируется с Photoshop, нарезает слои макета на .png (конечно же для верстки придется немного порезать руками, но все зависит от педантичности дизайнера к макету) и все верстает на z-index и trasnform matrix3d. А интерактив и анимацию дизайнеры добавят с помощью этого простого синтаксиса прямо в браузере (к сожалению только Chrome). PSD.Logo, PSD.OverviewButton — это имена PNG файлов. Говоря о разработчике Framer, хочется также упомянуть про его проект Cactus — генератор статистических сайтов на Python использующий Django template.
                  Читать дальше →