• Что происходит в рознице



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

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

      Потому что это интересно и внезапно.

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

      Читать дальше →
    • Что последует за вебом?

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

      Кое-кто решил, что я пишу слишком в негативном ключе и не обращаю внимания на положительные стороны веба. Так и есть: первая часть была в стиле «Обсудим факт, что мы попали в глубокую яму», а вторая часть — «Как разработать кое-что получше?» Это огромная тема, так что она на самом деле двумя частями не ограничится.

      Назовём нашего конкурента вебу NewWeb (э, брендингом можно заняться потом). Для начала нужно понять, почему веб изначально стал успешным. Веб обошёл другие технологии создания приложений с лучшими инструментами для разработки GUI, так что у него явно есть какие-то качества, которые перевешивают недостатки. Если мы не будем соответствовать этим качествам, мы обречены.
      Читать дальше →
    • Чеклист: как выбрать модель системы управления правами доступа и не прогадать

        С каждым годом парк информационных систем компаний все больше разрастается, вместе с ним пропорционально усложняются задачи управления, контроля и разграничения прав доступа сотрудников к информационным ресурсам. Наличие на рынке решений, частично перекрывающих функционал друг друга, дает плодотворную почву для новых и новых дебатов. Как должна быть реализована система управления доступом – через интеграцию с ITSM или внедрение отдельного IGA-решения?


        Читать дальше →
      • Страницы 404

          image


          404 страница. Это место для пасхалок, дурачества и креатива создателей сайтов. Про 404 ошибку есть даже выступление на TED.

          Первая «4» — означает, что ошибка на стороне клиента, «04» — означает конкретную ошибку «Not Found». В компании EDISON Software философски считают, что пользователь не может ошибиться, что он всегда прав, если он на сайте компании.

          Кому в пятницу нечего делать или кто в поисках вдохновения — добро пожаловать под кат, там подборка лучших (и худших) 404 страниц.
          Читать дальше →
        • Нагрузочное тестирование PostgreSQL, используя JMeter, Yandex.Tank и Overload

          Пару слов для начала


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


          1. Apache JMeter – инструмент для нагрузочного тестирования, который способен проводить тесты для JDBC-соединений, FTP, LDAP, SOAP, JMS, POP3, IMAP, HTTP и TCP из коробки и еще множество других протоколов и решений, используя различные плагины.
          2. Yandex.Tank – это облачный инструмент для нагрузочного тестирования, использует различные генераторы нагрузки, в том числе и JMeter.
          3. Yandex.OverLoad – сервис для удобного мониторинга и анализа серверов под нагрузкой.
          Читать дальше →
          • +7
          • 15,9k
          • 3
        • Доклады с Frontend Mix: оптимизация загрузки сайтов и дизайн-система на БЭМ и React


            Предлагаю всем близким к фронтенду посмотреть доклады с прошедшего в августе митапа Frontend MIX. Приглашенные спикеры из Альфа-Лаборатории, Яндекс.Денег и Epam делятся нюансами мобильной оптимизации и выбора между Npm v5, Yarn или pnpm, а также секретами построения дизайн-системы на БЭМ и React.


            Под катом вы найдете три видео.

            Читать дальше →
          • 67 полезных инструментов, библиотек и ресурсов для экономии времени веб-разработчиков

            • Перевод

            В данной статье я не буду вам рассказывать о больших веб-фреймворках, таких как React, Angular, Vue и т.д… не будет в ней и перечня наиболее популярных текстовых редакторов – Atom, VS Code, Sublime… В данной статье я поделюсь с вами инструментами, которые, по моему мнению, могут сделать рабочий процесс веб-разработчиков более простым и быстрым.

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

            Ниже представлены различные веб-ресурсы, которые я разбил по группам для большего удобства.
            Читать дальше →
            • +16
            • 33,8k
            • 6
          • Как я перестал любить Angular

            Вступление


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


            На дворе 2017ый год и для каждого нового продукта/проекта встает вопрос выбора фреймворка для разработки. Долгое время я был уверен, что новый Angular 2/4 (далее просто Angular) станет главным трендом enterprise разработки еще на несколько лет вперед и даже не сомневался что буду работать только с ним.


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


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

            Читать дальше →
          • Как перейти на gRPC, сохранив REST

            • Tutorial

            Многие знакомы с gRPC — открытым RPC-фреймворком от Google, который поддерживает 10 языков и активно используется внутри Google, Netflix, Kubernetes, Docker и многими другими. Если вы пишете микросервисы, gRPC предоставляет массу преимуществ перед традиционным подходом REST+JSON, но на существующих проектах часто переход не так просто осуществить из-за наличия уже использующихся REST-клиентов, которые невозможно обновить за раз. Нередко общаясь на тему gRPC можно услышать "да, мы у нас в компании тоже смотрим на gRPC, но всё никак не попробуем".


            Что ж, этой проблеме есть хорошее решение под названием grpc-rest-gateway, которое занимается именно этим — автогенерацией REST-gRPC прокси с поддержкой всех основных преимуществ gRPC плюс поддержка Swagger. В этой статье я покажу на примере как это выглядит и работает, и, надеюсь, это поможет и вам перейти на gRPC, не теряя существующие REST-клиенты.


            Читать дальше →
          • Быстрые релизы огромного масштаба

            • Перевод
            Со временем в софтверной индустрии придумали несколько способов более быстрого и безопасного выпуска качественного кода. Многие основаны на идеях вроде непрерывной интеграции, непрерывной поставки ПО, гибкой методологии разработки, DevOps и разработки через тестирование. Все эти методологии объединяет одно: они позволяют разработчикам быстро выпускать код безопасными, небольшими, последовательными шагами.

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

            В течение многих лет мы обновляли фронтенд Facebook трижды в день, используя простую стратегию веток master и release. Инженеры избирательно выбирали из ветви master изменения в коде, которые прошли ряд автоматизированных тестов, для включения в ветвь release, откуда происходили ежедневные обновления. В целом, таким способом выбиралось от 500 до 700 изменений в день. Раз в неделю мы отрезали новую ветвь release и собирали изменения, которые не отобрались в течение недели.


            Читать дальше →
            • +29
            • 18,7k
            • 7
          • Двойная бюстгалтерия* глазами программиста

            • Tutorial


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

            Статья не академическая, а отражает сугубо мой упрощенный взгляд, и для тех кто уже осилил академические статьи — будет неинтересной. Тех же кому интересно понять такой простой и мощный инструмент как «двойная запись» — прошу под кат.
            Читать дальше →
          • Управление разработкой технологически сложных интернет-приложений в условиях острой нехватки времени

            Вступление


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


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

            Читать дальше →
          • 3 основных процесса работы с клиентами, которые должна автоматизировать CRM система. Как не промахнуться с выбором. Ч.1

            Часть 1. Lead Generation


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

            Первый этап Lead Generation – создание потока потенциальных клиентов. Не все клиенты одинаково полезны для нашего бизнеса, тратить время на бесперспективных клиентов смысла нет. Не надо бежать за «бумажным зайцем», продавцы должны концентрироваться только на тех запросах, которые принесут выручку, это особенно важно в B2B продажах. Если у вас стоимость транзакции маленькая, и клиент достаточно быстро принимает решение, то скорее всего вам нужен один сквозной процесс заказа, где у продавца будут преднастроенные задачи, которые он должен выполнить, чтобы потенциальный клиент с максимальной долей вероятности конвертировался в клиента.
            Читать дальше →
          • Автоматические воронки продаж: техническая реализация

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

            Читать дальше →
          • Юнит тесты. Первый шаг к качеству

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


            Читать дальше →
          • Дайджест свежих материалов из мира фронтенда за последнюю неделю №276 (14 — 20 августа 2017)

              Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

              Читать дальше →
              • +22
              • 17,6k
              • 6
            • Система управления складом с использованием CQRS и Event Sourcing. Service Layer



                В данной статье будет рассмотрен Service Layer в Magento 2 и сервисы (API интерфейсы) для управления сущностями, которые были описаны в предыдущей статье, посвященной проектированию и выделению доменных сущностей для системы управления складом (Inventory).
                Читать дальше →
              • Что может чат-бот

                  Сначала мы выделили основные офисные процессы. Про чат-бота мы даже не говорили. Вот, например, заказ командировок. Сейчас я должна написать сотруднику службы деловых поездок в почту: «Я собираюсь в командировку в Сургут 5-го числа на три дня», а он: «Такой-то самолет и такая-то гостиница — всё подходит?», а я: «Да, давай». Дальше он пойдет согласовывать с руководством, забронирует сам билеты, спустя какое-то пришлёт мне подтверждение, что все Ок. Всё то же самое может делать бот.

                  Или если нужна справка для визы, то бот постучит в шину, шина постучит в кадровую подсистему и заберёт PDF, дальше отправит его на принтер отдела кадров и напишет письмо, что туда нужна печать. Затем уведомит меня, что можно подойти через пару часов. Если нужно оформить пропуск на гостя или забронировать переговорку для встречи, то достаточно поручить боту эту задачу, и он её выполнит.



                  Теперь давайте покажу пример чуть посложнее.

                  Читать дальше →
                • Партиционирование в postgres 9.x. Использование pg_pathman для оптимизации вставки и отсечения (pruning) партиций

                    Здравствуйте! Хочу рассказать про особенности партиционирования в текущей postgresql 9.х и его улучшении с помощью расширения pg_pathmanвот), созданного парнями из Postgres Professional. Статья предназначена для знакомых с партиционированием разработчиков, которым понадобилось разбить большую БД в postgres, или для тех, кто хочет оценить сложность переноса уже партиционированной не postgres БД на postgres.

                    Сначала мы создадим схему БД, затем партиционируем её двумя способами(«штатным» и pg_pathman), после чего наполним данными и проверим, как работают запросы по партиционированным таблицам.

                    Также я расскажу, как это замечательное расширение внедрить в схему данных, уже побитую на партиции «штатным» способом.
                    Читать дальше →
                    • +21
                    • 6,1k
                    • 6
                  • Часть 2. Сначала они воруют, а когда ты побеждаешь, то тебя убивают

                      Часть 1. Сначала они воруют, а когда ты побеждаешь, то тебя убивают

                      Реакция на первую статью была очень сильной. Во-первых, на неё отреагировал ДИТ. Их представитель появился в комментариях, а затем ответ на статью дал руководитель ДИТ. Во-вторых, на нее отреагировал интернет. Большое количество СМИ рассказали об этой истории своим читателям.

                      В этой статье будет разбор ответа ДИТ, парочка «ужастиков» со стороны ДИТ, раскрытие деятельности ООО «Альтарикс» и 1000 отзывов от детей и родителей. И да, у меня хорошие новости — заявление в ФАС подано.


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