• Web-геосервисы. Обзор современных решений



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

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

      Также рассчитываю на участие комментаторов — если заметите в обзоре неточность в описании, отсутствие вашего хорошего сервиса или вам просто есть что добавить к уже написанному — пишите в комментариях, я буду собирать всё в основной текст, чтобы на будущее всегда иметь под рукой хороший список инструментов на все случаи жизни.
      Читать дальше →
    • Еще один вариант среды для разработки WordPress (docker, wp-cli)

      • Tutorial

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


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


      Эта статья предлагает один из способов развертывания сайтов на WordPress.

      Читать дальше →
    • Спасение утопающих — наше дело: как бороться с демотивацией в команде

        Я 18 лет в IT. Последние 10 из них руковожу: под моим подчинением в разное время были 200 человек. 

        Интересно, что я помню каждого, кто из них уволился и по какой причине. Помню не потому, что у меня хорошая память, а потому, что увольнялись они очень редко. 

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



        С докладом на эту тему я выступал на Badoo TechLeads Meetup №4 (видео). Мой рассказ, скорее всего, не подойдёт тем, чья команда больше 100 человек: я буду рассказывать про уровень тимлида, техлида, технического директора небольшой компании. Сам я начинал с маленькой компании. Когда пришёл в команду mos.ru, у нас было три инженера. За год мы выросли до 40, за два года — до 80. Сейчас, в разное время дня и в зависимости от погоды, нас до сотни человек. 

        Про них я и расскажу.
        Читать дальше →
      • Как мы построили надёжный кластер PostgreSQL на Patroni



          На сегодняшний день высокая доступность сервисов требуется всегда и везде, не только в крупных дорогих проектах. Временно недоступные сайты с сообщением «Извините, проводится техническое обслуживание» ещё встречаются, но обычно вызывают снисходительную улыбку. Прибавим к этому жизнь в облаках, когда для запуска дополнительного сервера нужен лишь один вызов к API, причем думать о «железной» эксплуатации не надо. И уже не остается оправданий, почему критичная система не была сделана надежно с использованием кластерных технологий и резервирования.

          Мы расскажем, какие решения мы рассматривали для обеспечения надёжности баз данных в своих сервисах и к чему пришли. Плюс демо с далеко идущими выводами.
          Читать дальше →
        • Аналитика девушек с низкой социальной ответственностью (Заряжено Power BI, Qlik Sense, Tableau)

          Кто мы такие и какие были предпосылки проекта?


          Добрый день, меня зовут Лазарев Владимир, я руководитель BI-интегратора Аналитикс Групп. Мы делаем для бизнеса наглядные отчёты по маркетингу, продажам, финансам, логистике на базе ведущих аналитических платформ Qlik Sense, Power BI, Tableau.

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

          И желательно, чтобы данные были интересными… :-)

          Откуда появилась идея сделать этот отчёт?


          Несколько лет назад Высшая школа экономики опубликовала статью о формировании цен на услуги девушек низкой социальной ответственности в Москве. Это были агрегированные данные анализа 1.800 анкет. Нам показались интересными данные, которые стоят за этими выводами социологов ВШЭ. И мы решили проработать эту тематику.
          Читать дальше →
        • Обзор JavaScript-сканнеров штрихкодов

            Недавно появилась идея сэкономить на ТСД на складе и попробовать использовать вместо них обычные дешёвые мобильники (даже без пылезащиты). Интерфейс планирую реализовать в виде веб-приложения (обычные веб-странички, HTML + CSS + JS).

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


            Читать дальше →
          • Как за 1 день QA-инженеру получить оффер в Москве (и дорого ли тут жить)



              Всем привет!

              В последние годы российские компании перенимают западную практику «хайринг ивентов» (hiring event), когда кандидат проходит все этапы собеседования и получает финальный оффер за один день. С одной стороны, такой процесс требует большой единовременной мобилизации усилий ребят из разных команд, но с другой — даёт возможность быстрого большого найма. FunCorp организует такой Hiring event для QA-инженеров 16 марта в Москве, далее я расскажу об этом формате подробнее, а также коснусь вопросов стоимости жизни в Москве, чтобы заинтересованный читатель из других городов смог «прицениться».
              Читать дальше →
            • ASH Viewer: перезагрузка

                Что делать, если надо работать с данными, которые по объему еще не Big data, но уже больше того, что умещается в памяти компьютера и для которых достаточно возможностей Excel? Для любителей велосипедостроения ответ очевиден – нужно писать что-то свое (да, мы не ищем легких путей).

                Но как быть, если код, написанный тобой в прошлом, ужасен и не дает тебе возможности развивать проект? Отставить в сторонку старые наработки, дать дорогу новому, вечному и светлому (да-да, и тут тоже без вариантов).



                Цитата из кф Матрица: “Достаточно одной таблетки, Нео”. Режиссер: братья и сестры Вачовски. 1999. США
                Читать дальше →
                • +31
                • 4.2k
                • 9
              • Книги, которые стоит прочитать каждому продакт-менеджеру



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

                  Я на своем опыте узнал, как обидно потратить кучу времени и денег на что-то, а потом читаешь книгу, в которой описаны все совершённые мной ошибки. А если бы прочитал её раньше, мог бы избежать, всё могло сложиться по-другому. И если хочешь развиваться в своей профессии, то лучше не повторять чужих ошибок, либо делать это осознанно. И книги очень помогают в этом. Позвольте посоветовать вам книги, которые рекомендуется прочитать каждому продакт-менеджеру.
                  Читать дальше →
                  • +37
                  • 12.6k
                  • 4
                • Нейронные сети с нуля. Обзор курсов и статей на русском языке, бесплатно и без регистрации

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

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

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


                    Читать дальше →
                  • Мне не страшен ваш NDA

                      Это громкая и страшная аббревиатура из трёх неприличных букв. Хотите поучаствовать в тендере, устраиваетесь на работу, нужно получить данные — вам подсовывают эту бумажку, мол, подпиши сначала, а то нашли дураков без NDA тебе что-нибудь рассказывать. При этом в большинстве случаев вы ничего сверхсекретного или коммерчески важного не узнаете, но процедура подписания NDA стала неким таинством посвящения, которое стороны выполняют не особо задумываясь над смыслом.

                      Это так же как вы неизбежно получите требование вместе с учредительными документами предоставить выписку из ЕГРЮЛ не старше 30 дней. Хотя всё доступно в онлайне, все распечатывают эту выписку из интернета, заверяют её и передают контрагенту, который даже не смотрит её, потому что всё есть в интернете. Ну, вы поняли, короче, отечественную любовь к таинствам.

                      image
                      Читать дальше →
                    • Девять граблей Elasticsearch, на которые я наступил

                        Автор иллюстрации — Anton Gudim


                        «Подготовленный человек тоже наступает на грабли.
                        Но с другой стороны — там, где ручка.»


                        Elasticsearch — прекрасный инструмент, но каждый инструмент требует не только настройки и ухода, но и внимания к мелочам. Некоторые — незначительны и лежат на поверхности, а другие спрятаны так глубоко, что на поиск уйдет не один день, не один десяток кружек кофе и не один километр нервов. В этой статье расскажу про девять замечательных граблей в настройке эластика, на которые я наступил.
                        Давайте приступим
                      • Автоматизация мониторинга зарплат с помощью R

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


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



                          Посмотреть вживую (и даже понажимать кнопки) можно здесь.


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

                          Читать дальше →
                          • +13
                          • 4.9k
                          • 7
                        • Непрофессиональное видеонаблюдение квартиры занятно и недорого

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

                            Компания pgsentinel выпустила одноимённое расширение pgsentinel (репозиторий github), добавляющее в PostgreSQL представление pg_active_session_history — историю активных сессий (по аналогии с оракловой v$active_session_history).

                            По сути, это просто-напросто ежесекундные снимки из pg_stat_activity, но есть важные моменты:

                            1. Вся накопленная информация хранится только в оперативной памяти, а потребляемый объём памяти регулируется количеством последних хранимых записей.
                            2. Добавляется поле queryid — тот самый queryid из расширения pg_stat_statements (требуется предварительная установка).
                            3. Добавляется поле top_level_query — текст запроса, из которого был вызван текущий запрос (в случае использования pl/pgsql)
                            Читать дальше →
                          • Небольшие трюки с Elasticsearch

                              Небольшая заметка, скорее для себя, о мелких трюках по восстановлению данных в Elasticsearch. Как починить красный индекс если нет бэкапа, что делать если удалил документы, а копии не осталось — к сожалению в официальной документации об этих возможностях умалчивают.
                              Читать дальше →
                              • +13
                              • 7.3k
                              • 5
                            • Справа налево. Как перевернуть интерфейс сайта под RTL

                                image


                                Мы недавно перевели онлайн-версию 2ГИС на арабский язык, и в прошлой статье я рассказал о необходимой для этого теории — что такое dir="rtl", по каким правилам отображается текст смешанной направленности и как держать себя в руках.


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


                                В этой статье я расскажу, как быстро сделать прототип, что сделать со сборкой CSS и какие костыли разложить в JS, замечу немного об особенностях перевода и локализации, напомню про логические свойства CSS и затрону тему RTL в CSS-in-JS.

                                Переворачивай скорей
                                • +58
                                • 9.2k
                                • 6
                              • Решение больших проблем небольшим семантическим анализатором

                                  image


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


                                  Комиссия. Что значит “Тихо”? Они там в филиале пьяные что ли?
                                  Система. "Тихо" = Сила ветра в пределах нормы.
                                  Комиссия. Так это они о погоде. Система сдана в опытную эксплуатацию!


                                  Все события в статье вымышлены. Любые совпадения с реальностью случайны.


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

                                  Читать дальше →
                                • Наш опыт создания редактора блок-схем для веб приложения


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

                                    • Translation
                                    Всем доброго!

                                    Что ж, как и обещали, делимся с вами очередным материалом, который мы изучали в рамках подготовки нашего курса по PHP. Надеемся, что он окажется для вас и интересным, и полезным.

                                    Вступление

                                    В последнее время кажется, что все и каждый говорят о машинном обучении. Ваши ленты в социальных сетях забиты сообщениями об ML, Python, TensorFlow, Spark, Scala, Go и т. д .; и если у нас с вами есть что-то общее, то вы можете поинтересоваться, а что насчет PHP?

                                    Да, как насчет машинного обучения и PHP? К счастью, кто-то был достаточно сумасшедшим, чтобы не только задать этот вопрос, но и разработать универсальную библиотеку машинного обучения, которую мы можем использовать в нашем следующем проекте. В этом посте мы рассмотрим PHP-ML — библиотеку для машинного обучения на PHP — и мы напишем класс анализа тональности, который мы сможем позже использовать для нашего собственного чата или твит-бота. Основными задачами этого поста являются:

                                    • Изучение общих понятия, касающиеся машинного обучения и анализа тональности текста
                                    • Обзор возможностей и недостатков PHP-ML
                                    • Определение задачи, которую мы будем решать.
                                    • Доказательство того, что попытка машинного обучения на PHP не является абсолютно безумной целью (опционально)


                                    Читать дальше →
                                    • +34
                                    • 13.1k
                                    • 5