Search
Write a publication
Pull to refresh
19
0
Vladimir @mvs

Creator, founder, developer

Send message

Облачный чек-лист, или как нас оценивал заказчик

Reading time9 min
Views6.4K

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

Переносили все системы: тестовые среды, тест + прод, препрод, все виртуальные машины, виртуальные сервера плюс все системы виртуальной инфраструктуры. Даже поддержка у них своя появилась в России. От нас — только аренда ресурсов.

Проверяли они нас знатно, по масштабам: почти полный аудит ЦОДа. Но они смотрели не железо и теххарактеристики в основном, а то, как выстроены процессы ИБ и как соблюдаются разные SLA. С их точки зрения, именно процессы по стабильности SLA указывают на качество работы компании. И мы им рассказывали про каждый из компонентов детально.

Я хочу поделиться списком критериев к проверке. Потому что появилась хоть какая-то методология, ведь до этого мало какой заказчик так системно подходил к вопросу.
Читать дальше →

Оптимизация сайта для GooglePage Speed (учтены все особенности после его обновления) Часть 1

Reading time4 min
Views53K
Эта статья будет интересна, кто столкнулся с разного рода проблемами после обновления Google PageSpeed и претензиям со стороны заказчиков или начальника, почему упал бал или возникло такое количество замечаний. А так же тем, кто производит оптимизацию сайтов.
В первую очередь стоит упомянуть, что вот в этой статье, на мой взгляд, всё очень грамотно и доступно расписано.

Я же от себя добавлю больше практических советов, а так же будет интересно послушать вашу точку зрения и увидеть ваши наработки.
Читать дальше →

Перед вами — React Modern Web App

Reading time21 min
Views36K

Перед тем как начать собирать с нуля Modern Web App нужно разобраться, что такое — Современное Веб-Приложение?


Modern Web App (MWA) — приложение, придерживающееся всех современных веб-стандартов. Среди них Progressive Web App — возможность скачивать мобильную браузерную версию на телефон и использовать как полноценное приложение. Так же это возможность листать сайт в оффлайне как с мобильного устройства, так и с компьютера; современный материальный дизайн; идеальная поисковая оптимизация; и естественно — высокая скорость загрузки.



Вот что будет в нашем MWA (советую использовать эту навигацию по статье):



Люди на Хабре деловые, поэтому сразу ловите ссылку на GitHub репозиторий, архив с каждой из стадий разработки и демо. Статья рассчитана на разработчиков, знакомых с node.js и react. Вся необходимая теория представлена в необходимом объеме. Расширяйте кругозор, переходя по ссылкам.


Приступим!

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

10 перспективных поисковых роботов для улучшения SEO

Reading time5 min
Views11K
Выполните тщательную SEO проверку своего сайта для улучшения ранжирования в поиске.

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



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

Разработка прогрессивного веб-приложения Nothing за 15 минут

Reading time5 min
Views15K
В Google Play есть одно приложение, разработанное Chilango Lab, у которого больше миллиона загрузок и довольно высокий рейтинг. Называется оно Nothing, что можно перевести как «Ничто», и замечательно оно тем, что не делает абсолютно ничего. В нём, правда, спрятана приятная пасхалка, но это не меняет дела. Если проанализировать это приложение, то окажется, что его размер — 14 Мб, при установке оно занимает 19,24 Мб.


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

Ему это удалось. А именно, он воссоздал функционал Nothing, используя HTML, CSS и JavaScript, оформив его в виде прогрессивного веб-приложения (PWA, Progressive Web App). Оно работает без подключения к интернету, вызывать его можно, как и обычное приложение, с главного экрана. Основная разница между обычным Android-приложением и его PWA-копией заключается в размерах. Первое, напомним, занимает на устройстве 19,24 Мб. Второе — 205 Кб.
Читать дальше →

Непрерывная инфраструктура в облаке

Reading time15 min
Views7.1K
Демонстрация использования инструментов с открытым исходным кодом, таких как Packer и Terraform, для непрерывной поставки изменений инфраструктуры в любимую пользователями облачную среду.


Материал подготовлен на основе выступления Пола Стека (Paul Stack) на нашей осенней конференции DevOops 2017. Пол — инфраструктурный разработчик, который раньше работал в HashiCorp и участвовал в разработке инструментов, используемых миллионами людей (например, Terraform). Он часто выступает на конференциях и доносит практику с переднего края внедрений CI/CD, принципы правильной организации operations-части и умеет доходчиво рассказать, зачем вообще админам этим заниматься. Далее в статье повествование ведется от первого лица.

Микросервисный фронтенд — современный подход к разделению фронта

Reading time6 min
Views40K
too FAT SPA


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

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

Сегодня я расскажу вам, как мы делали микросервисный фронт в нашем SaaS-решении и с какими проблемами столкнулись.
Подробнее под катом

Кастомный подход для нормализации и сброса стилей (custom-reset.css)

Reading time9 min
Views28K


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

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

Надеюсь вы подчеркнете для себя что-то полезное, здесь вы можете ознакомиться с ним.
custom-reset.css
Читать дальше →

Онлайн-конференции: стриминг vs вебинар

Reading time7 min
Views9.8K

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


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

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

Создание пользовательских компонент для Bootstrap 4

Reading time10 min
Views15K


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


И о том как развивается JavaScript код фреймворка тоже полезно иметь представление. Архитектура jQuery плагинов все еще используется но с 4ой версии это завернутые Rollup'ом в пакет классы ES6 транспиленные при помощи Babel6. jQuery вероятно скоро и не будет вовсе — об этом позже — а пока, на примере создания собственного плагина BsMultiSelect, на том же стёке что и Boostrap 4, будут раскрыты особенности развития фреймворка.

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

МИС. Хранение медицинских данных

Reading time9 min
Views8.5K


Автоматизация… Сегодня уже никого не удивишь этим словом. С каждым годом создается всё больше и больше различных программ и механизмов, призванных помочь человеку в его работе. Одни организации оснащены лучше, другие – хуже, но все без исключения стремятся к сокращению производственных затрат, увеличению прибыли и улучшению качества конечного продукта. Не обошла эта тенденция и область медицины. Вместе с количеством диагностических центров растет и спрос на соответствующее программное обеспечение. В одних центрах используют ЛИС (лабораторная информационная система), в других – РИС (радиологическая информационная система), а третьих во всю эксплуатируют МИС (медицинская информационная система), хотя есть и те, что работают по старинке со всеведущей тётушкой, указывающей тебе – неприкаянному пациенту – в какой кабинет держать свой путь.

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

Angular cli 6: зачем нужен и как использовать

Reading time5 min
Views22K


Всем привет!

Версия Angular 2.0.0 вышла в сентябре 2016 г. И сразу же появилось большое количество подходов к построению и сборке приложений на этом фреймворке. На просторах интернета можно найти Angular seed на любой вкус.

Мы тоже создали свой Angular seed: создали общий project-template, обязали все команды, разрабатывающие фронт-энд, использовать одну структуру приложений.

А уже через полгода, в марте 2017 года, увидела свет версия Angular cli (cli – command-line interface) 1.0.0. Идея, взятая за основу, просто отличная: систематизировать подход к разработке приложений на Angular 2+. Стандартизовать структуру приложения, создание сущностей внутри приложения, а также автоматизировать сборку приложения. Эти задачи и позволяет решить Angular cli, значительно экономя ваше время.

В статье я покажу, как перейти на Angular cli 6
Читать дальше →

Первый взгляд на геймерский смартфон ASUS ROG Phone

Reading time6 min
Views22K
Republic of Gamers — всемирно известный бренд компании ASUS, который на протяжении 12 лет задает тренды в мире компьютерного железа для игр. Миссия Republic of Gamers сегодня проста и понятна — это создание эко-системы для геймеров. За время существования бренда ROG, продуктовый портфель от материнских плат и ноутбуков пополнился видеокартами, мониторами, десктопами, игровыми девайсами и роутерами. Сегодня на пресс-конференции на Тайване перед началом выставки компьютерной электроники Computex 2018 компания ASUS начала новую главу в истории создания геймерских продуктов, представив свой первый смартфон для геймеров под брендом Republic of Gamers — ASUS ROG Phone.

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

Bigdata, машинное обучение и нейросети – для руководителей

Reading time11 min
Views15K

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


"AlphaGo обыграл чемпиона по Go" впервые за всю историю человечества, скоро наши улицы заполонят беспилотные автомобили, распознавание лиц и голоса теперь в порядке вещей, а в квартиру к нам завтра постучатся AI-секс-куклы с грудью наивысшего размера с шампанским под мышкой и настраиваемым уровнем интенсивности и продолжительности оргазма.


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


Постараюсь дать исчерпывающие ответы на все мучающие вас вопросы, «вскрыть» подводные камни и, главное — здраво оценить риски в AI и научиться ими правильно управлять. Ведь то, что не понимаем, то и не “танцуем”.

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

ICANN вновь обновила политики работы с WHOIS — ими снова недовольны

Reading time4 min
Views12K
Корпорация ICANN продолжает попытки сделать так, чтобы работа системы WHOIS, предоставляющей открытый доступ к данным о владельцах доменных имен, удовлетворяла требованиям GDPR. GDPR уже вступил в силу, а пока ни одна из предложенных ICANN инициатив не была одобрена Европейским союзом. Об этом мы писали в нашем блоге на Хабре.

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

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

CI/CD-пайплайн на примере одного небольшого проекта Уральской Дирекции ИТ

Reading time11 min
Views55K
Действующие лица (Команда): разработчиков – 2 человека, админ – 1 человек.

Статья повествует об использовании таких технологий, как Ansible, Docker Swarm, Jenkins и Portainer для реализации CI/CD-пайплайна с возможностью контроля за ним с помощью красивого веб-интерфейса.



Вступление


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

С другой стороны, есть бизнес, который хочет денег, да побольше, и поэтому постоянно думает о снижении времени вывода продукта на рынок. Другими словами, бизнес мечтает об ускорении получения MVP (a.k.a. Minimum Viable Product) в новых продуктах или при обновлении существующих.

Ну а чего же хочет админ? А админ – человек простой, он хочет, чтобы сервис не падал и не мешал играть в Кваку Танки и чтобы его пореже дергали разработчики и бизнес.
Поскольку для реализации желаний админа, как показывает правда жизни, его силами должны реализоваться и мечты других героев, представители ИТ-тусовки много работали над этим. Часто получалось достичь желаемого, придерживаясь методологии DevOps и реализуя принципы CI/CD (Continuous Integration and Delivery).

Так получилось в одном небольшом новом проекте в Уральской Дирекции ИТ, в которой удалось в весьма сжатые сроки реализовать полный пайплайн от публикации изменений исходников в системе контроля версии разработчиком до автоматического запуска новой версии приложения в тестовой среде.
Читать дальше →

Как ускорить мобильный поиск в два раза. Лекция Яндекса

Reading time11 min
Views8.3K
На телефоне веб-страницы часто загружаются дольше, чем на десктопе. Разработчик Иван Хватов рассказывает о причинах отставания и о том, как с ним справляться. Лекция состоит из нескольких частей: первая — про основные этапы загрузки страницы на мобильных устройствах, вторая — про техники, которые мы применяем для ускорения загрузки, третья — про наш метод адаптации верстки под разную скорость.


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

11 лучших шрифтов для программирования

Reading time3 min
Views287K
Много статей и сайтов сравнивают шрифты для программирования — всё это отличные ресурсы. Так зачем я опять поднимаю эту тему? Потому что сам всегда терялся в десятках шрифтов и не мог понять, какой лучше. Так что я опробовал много шрифтов и выбрал следующие для вас. Они довольно популярны и их легко получить. И самое главное, все эти шрифты бесплатны!

Я ранжировал шрифты по следующим показателям:

  • Насколько различимы схожие символы, такие как 0O, 1lI.
  • Легко ли читается шрифт (ширина строк, ширина/высота символов).
  • И мои личные предпочтения!

Все скриншоты сделаны в VSCode на одном фрагменте кода. Если не обозначено иное, то везде установлен размер "editor.fontSize": 14.
Читать дальше →

Особенности разработки API: какой API является хорошим?

Reading time21 min
Views24K
Наверное, абсолютно все читатели используют API, работая с фрэймворками, библиотеками, виджетами, как некий язык общения между сущностью и основным приложением. И вы наверняка замечали, что некоторыми API удобнее пользоваться, а в некоторых есть явные проблемы. Всеволод Шмыров (@vsesh) в своем докладе на Frontend Conf, расшифровку которого вы найдете под катом, постарался ответить на вопрос, какой API является хорошим.

Рассказ опирается на опыт разработки АPI Яндекс.Карт, и хотя это и JavaScript-библиотека, многие принципы и особенности его разработки применимы и к другим типам АPI, к примеру, к серверным API и Standalone библиотекам. Все то, о чем пойдет речь, относится именно к публичному АPI. Если к API вашей библиотеки обращаются только ваши коллеги, которым вы можете легко рассказать, что где-то что-то надо поменять, то вы, скорее всего, не столкнетесь с теми проблемами, с которыми сталкиваются разработчики публичного АPI.

image

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


Information

Rating
Does not participate
Date of birth
Registered
Activity