• Nuxt.js: Фреймворк для фреймворка Vue.js

    image


    Цитата с официального сайта:


    25 октября 2016 команда zeit.co анонсировала Next.js, фреймворк для приложений на React с серверным рендерингом. Через несколько часов после этого объявления родился Nuxt.js — воплощение аналогичной идеи для Vue.js.

    Nuxt.js — это фреймворк для создания универсальных приложений на Vue.js с использованием Node.js. С помощью него можно рендерить UI на сервере и генерировать статические сайты.

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

      Данный текст будет являться новой главой для учебного пособия по защите информации кафедры радиотехники и систем управления МФТИ (ГУ). Полностью учебник доступен на github. На хабре я же планирую выкладывать новые «большие» куски, во-первых, чтобы собрать полезные комментарии и замечания, во-вторых, дать сообществу больше обзорного материала по полезным и интересным темам.

      Когда у вас есть знания о том, что такое криптографически стойкая хеш-функция, понять, что такое blockchain («цепочка блоков») очень просто. Blockchain – это последовательный набор блоков (или же, в более общем случае, ориентированный граф), каждый следующий блок в котором включает в качестве хешируемой информации значение хеш-функции от предыдущего блока.

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

      В таких системах есть три группы действующих лиц:

      • источники событий (транзакций)
      • источники блоков (фиксаторы транзакций)
      • получатели (читатели) блоков и зафиксированных транзакций.

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

      Основное требование к таким журналам таково:

      • Невозможность модификации журнала: после добавления транзакции в журнал должно быть невозможно её оттуда удалить или изменить.
      Читать дальше →
    • Кейс: как организовать мультиканальную поддержку клиентов на примере одного хостинг провайдера

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

        Читать дальше →
      • Первая специализация Mail.Ru Group на крупнейшей образовательной платформе Coursera


          В апреле совместно с МФТИ и компанией Contented мы запустили вводный курс по дизайну интерфейсов на образовательной онлайн-платформе Coursera. На нее зарегистрировалось более 8000 студентов. И это вдохновило нас на создание полноценной специализации «Дизайнер интерфейсов», состоящей из пяти курсов и защиты дипломного проекта. Программа подойдет как новичкам, так и квалифицированным UI- и UX-специалистам. За время обучения студент может практически с нуля достигнуть middle-уровня в области дизайна интерфейсов.

          Читать дальше →
        • Руководство для начинающих по прогрессивным веб-приложениям и фронтенду

          • Перевод
          • Tutorial

          image


          Разрабатывать веб-фронтенд, придерживаясь JavaScript-экосистемы, всех этих новомодных штучек и пафосных фреймворков, может быть пугающим занятием, если не сказать больше. Я давно уже хотел окунуться в это, и наконец собрался с духом. К концу этой статьи, надеюсь, вы узнаете что-нибудь новое, или хотя бы чуть больше отточите свои навыки веб-разработки. Какая ирония, что длина статьи и обширное количество информации тоже могут отпугивать. Но я очень надеюсь, что вы найдёте время осилить хотя бы интересующие вас главы. В конце каждого раздела есть абзац TL;DR, так что вы можете быстро ориентироваться в содержании.

          Читать дальше →
        • Полезные функции Google Таблиц, которых нет в Excel

          • Tutorial
          Cтатья написана в соавторстве с Ренатом Шагабутдиновым.

          image

          В этой статье речь пойдет о нескольких очень полезных функциях Google Таблиц, которых нет в Excel (SORT, объединение массивов, FILTER, IMPORTRANGE, IMAGE, GOOGLETRANSLATE, DETECTLANGUAGE)

          Очень много букв, но есть разборы интересных кейсов, все примеры, кстати, можно рассмотреть поближе в Google Документе goo.gl/cOQAd9 (файл-> создать копию, чтобы скопировать файл себе на Google Диск и иметь возможность редактирования).
          Читать дальше →
        • Своя CRM система за 3 часа в Гугл-таблицах

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

          Я сразу отказался от всех полуготовых решений, типа amoCRM (удобная, но нам рановато пока), ShugarCRM (кривая и медленная, вызывает невроз) и др., потому что я люблю, чтобы софт подстраивался под мой бизнес, а не бизнес-процессы подстраивались под софт (да и на первых порах нужно что-то по проще с низкой стоимостью внедрения). Так что — только гугл-док, только хардкор!


          Читать дальше →
        • Организация бэкапов на разные аккаунты Я.Диска

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

          Типичная для многих админов ситуация:

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

          И почему бы не организовать бэкапы на Я.Диски наших клиентов? Бэкапы не только с файлами, но и с дампами баз данных? И проинструктировать их: не дай бог нам на встречку выедет Камаз, ваши сайты всегда у вас на Я.Диске.

          Т.к. мы говорим о Яндексе, мы конечно же делегировали наши домены, на нашем сервере, на Яндекс. Зачем грузить свой сервер? Пусть с почтой, по протоколу smtp, работает Яндекс. А заодно пусть Яндекс и управление NS-ами на себя возьмет. Удобно, на самом деле.

          Что нам нужно для организации бэкапов на разные аккаунты Я.Диска:

          • установить и настроить ssmtp на ваш сервер;
          • установить и настроить нужный клиент Я.Диска;
          • создать и настроить bash скрипт для бэкапа;
          • прописать задания в cron.

          Ну и конечно у нас есть заветная почта вида root@your-site.ru созданная в Яндексе. От имени root@your-site.ru нам будут приходить письма о бэкапах.

          Предложенный в статье алгоритм протестирован на сервере с Ubuntu 16.04 на борту.
          Читать дальше →
        • Легальный вывод средств с Upwork в РФ

          • Tutorial
          На Хабре уже написано достаточно много статьей по теме, в частности:


          В ответ на повторяющиеся просьбы написать статью, в которой:

          • разбросанные по разным статьям крупицы будут собранны в единое целое
          • всевозможные противоречия будут устранены
          • все сведения будут иметь актуальный характер
          • будут учтены пожелания такие как «а можно с картинками? :)»

          родилось следующее руководство.
          Читать дальше →
        • Эволюция модульного JavaScript



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

            Не будем лукавить: JavaScript никогда не был идеальным языком программирования. Одним из слабых мест в JS была модульность, а точнее её отсутствие. Действительно, зачем в скриптовом языке, который анимирует падающие на странице снежинки и валидирует форму, заботиться об изоляции кода и зависимостях? Ведь всё может прекрасно жить и общаться между собой в одной глобальной области — window.

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

            Эта статья появилась в результате общения с участниками TC39 и разработчиками фреймворков, а также чтения исходных кодов, блогов и книг. Мы рассмотрим следующие подходы/форматы: Namespace, Module, Detached Dependency Definitions, Sandbox, Dependency Injection, CommonJS, AMD, UMD, Labeled Modules, YModules и ES2015 Modules. Кроме того, мы восстановим исторический контекст их появления и развития.
            Читать дальше →