Pull to refresh
10
0
Роман Покровский @RomanPokrovskij

программист, фрилансер

Send message

Разработка простых современных JavaScript-приложений с использованием Webpack и прогрессивных веб-технологий

Reading time 19 min
Views 31K
Думали ли вы о том, чтобы воспользоваться при разработке своего очередного веб-проекта простейшим из существующих набором технологий? Если это так — значит материал, перевод которого мы публикуем сегодня, написан специально для вас.

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

image

В этой статье мы поговорим о применении современных технологий при разработке веб-приложений, возможности которых не ограничены возможностями фреймворков. Кстати, если вам это нужно, то вы, с использованием описываемых здесь технологий, сможете создать собственный узкоспециализированный фреймворк. Чистый JavaScript и другие базовые веб-технологии дают разработчикам возможность делать то, что им нужно, не ограничивая себя рамками применяемых ими инструментов.
Читать дальше →
Total votes 33: ↑30 and ↓3 +27
Comments 9

Близнецы получили «загадочные» результаты, проверив 5 сервисов поиска предков по ДНК

Reading time 6 min
Views 34K

Главный генетик популярной компании по поиску предков признал, что это «частью наука, частью искусство»



Слева — Чарлзи Агро, справа — её однояйцевая сестра-близнец Карли; проверка некоторых из результатов ДНК-тестирования

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

Прошлой весной Чарлзи Агро и её сестра-близнец Карли купили себе наборы для проверки ДНК от AncestryDNA, MyHeritage, 23andMe, FamilyTreeDNA и Living DNA, и по отдельности отправили образцы своей ДНК в каждую из компаний на анализ. И, несмотря на то, что их ДНК практически одинаковы, они не получили сходных результатов ни от одной из них.

В большинстве случаев одна и та же компания отслеживала предков близнецов до одинаковых частей света – с разной вероятностью. Но результаты от 23andMe дают понять, что у каждой из близняшек в родословной был неожиданный поворот. Если верить им, наследственность у Чарлзи на 10% менее «общеевропейская», чем у Карли. Также у неё есть предки из Франции и Германии (2,6%), которых нет у её сестры.
Читать дальше →
Total votes 46: ↑40 and ↓6 +34
Comments 110

Выбираем, наконец, бюджетный мультиметр с хорошим функционалом

Reading time 4 min
Views 95K
Два года назад был опубликован пост с тестированием мультиметров. Цена протестированной модели Fluke 87-V начинается от 40 тысяч рублей, что для рядового пользователя находится за пределами разумного, за что автора закономерно отругали. Более того, часть пользователей разумно заметила, что для проверки батареек хватит и DT 838 за 300 рублей. Таким образом, были охвачены два полюса цен, а есть ли что-то за промежуточные деньги, но с хорошей точностью, осталось неясным. Если интересно — давайте посмотрим.

image
Читать дальше →
Total votes 65: ↑56 and ↓9 +47
Comments 141

Оптимизация графики для веба: самое важное

Reading time 54 min
Views 93K
Автор электронной книги — Эдди Османи, один из руководителей разработки Google Chrome

tl;dr


Cжатие изображений всегда должно быть автоматизировано


Оптимизацию графики обязательно надо автоматизировать. О ней легко забыть, рекомендации меняются, да и сам контент может легко проскользнуть мимо конвейера сборки. Для автоматизации при сборке используйте imagemin или libvips. Есть и много других.

Большинство CDN (например, Akamai) и сторонних решений вроде Cloudinary, imgix, Fastly Image Optimizer, Instart Logic SmartVision и ImageOptim API предлагают комплексные автоматизированные решения для оптимизации изображений.

На чтение статей и настройку конфигурации вы потратите время, которое дороже оплаты их услуг (у Cloudinary есть бесплатный тариф). Но если всё-таки не хотите отдавать работу на аутсорсинг по соображениям стоимости или из-за дополнительной latency, то выбирайте приведённые выше варианты с открытым исходным кодом. Проекты Imageflow или Thumbor предлагают альтернативу на собственном хостинге.
Читать дальше →
Total votes 61: ↑61 and ↓0 +61
Comments 31

4 совета для оптимизации webpack-приложения

Reading time 4 min
Views 20K
Всем привет!

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

Кот-фронтендер смотрит на webpack и говорит 'Белиссимо'

Читать дальше →
Total votes 19: ↑19 and ↓0 +19
Comments 17

Промисы в ES6: паттерны и анти-паттерны

Reading time 10 min
Views 51K
Несколько лет назад, когда я начал работать в Node.js, меня приводило в ужас то, что сейчас известно как «ад коллбэков». Но тогда из этого ада выбраться было не так уж и просто. Однако, в наши дни Node.js включает в себя самые свежие, самые интересные возможности JavaScript. В частности, Node, начиная с 4-й версии, поддерживает промисы. Они позволяют уйти от сложных конструкций, состоящих из коллбэков.

image

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

Обратите внимание на то, что здесь я буду использовать стрелочные функции. Если вы с ними не знакомы, стоит сказать, что устроены они несложно, но в этом случае советую прочесть материал об их особенностях.
Читать дальше →
Total votes 33: ↑28 and ↓5 +23
Comments 63

Кому нужны флексы

Reading time 3 min
Views 21K


Кому нужны флексы, если на них не делают сайты?

Делают, 12% сайтов уже используют флексы. А нужны они всем нам, чтобы было удобнее верстать.

Давайте разберёмся.
Total votes 23: ↑19 and ↓4 +15
Comments 12

Как получить бесплатный SSL-сертификат от Amazon и переехать на HTTPS на Amazon S3

Reading time 7 min
Views 20K


В конце лета нам пришло сообщение от Google о том, что в Chrome будут появляться предупреждения о возможной опасности при переходе на наш сайт «Я люблю ИП». Это касалось страниц, где есть текстовые формы (<input type="text"> или <input type="email">). Изменения должны были вступить в силу с октября, и мы решили, что наконец пора осуществить переезд на HTTPS, который мы планировали уже давно.


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


Итак, вот краткое содержание статьи:


1) Подготовка сайта к переезду
2) Бесплатный SSL-сертификат от Amazon
3) Установка сертификата
4) Настройка домена
5) Редирект для домена на HTTPS без www
6) Рекомендации по SEO

Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Comments 11

Перевод двух статей: «О том, как коммитить измнения в Docker образ» и «Руководство по перемещению Docker контейнеров»

Reading time 5 min
Views 26K
(Примечание переводчика: для запуска Docker из-под текущего пользователя необходимы команды:
sudo usermod -aG docker $(whoami)
sudo usermod -aG docker your_current_username
)

О том, как коммитить изменения в Docker образ


Джек Уаллен, 27 апреля 2017

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

image
Читать дальше →
Total votes 15: ↑10 and ↓5 +5
Comments 8

Проблемы React UI Kit-а и единой дизайн-системы, о которых вы не знали

Reading time 8 min
Views 24K


2 сентября 2017 прошла конференция Moscow Frontend, где я на примере React UI Kit рассказывала о проблемах, которые встречаются при внедрении UI Kit в компании. Тема оказалась актуальнее, чем я могла предположить, поэтому решила опубликовать статью по этой же тематике, преследуя две цели: донести материал до людей, которые не смогли оказаться на конференции лично, и предоставить отличную возможность провести жаркую дискуссию на эту тему в комментариях.

Приятный бонус заключается в том, что после выступления и дискуссий в кулуарах в моем материале к докладу появились дополнения и нововведения. Поэтому, даже если вы были на конференции, вам все равно будет интересно прочитать статью. В конце материала я оставила несколько вопросов, на которые я попрошу ответить в комментариях. Приятного чтения!
Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Comments 39

Как я перестал любить Angular

Reading time 21 min
Views 114K

Вступление


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


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


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


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

Читать дальше →
Total votes 118: ↑112 and ↓6 +106
Comments 519

Полное руководство по переходу с HTTP на HTTPS

Reading time 36 min
Views 213K

В наше время HTTPS обязателен для каждого веб-сайта: пользователи ищут замочек в адресной строке, когда передают личные данные; Chrome и Firefox недвусмысленно помечают как небезопасные веб-сайты с формами на страницах без HTTPS; это влияет на позиции в поисковой выдаче и оказывает серьёзное влияние на приватность в целом. Кроме того, сейчас имеется несколько вариантов получить бесплатный сертификат, так что переход на HTTPS — всего лишь вопрос желания.


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

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

Сюда включены детальные инструкции для владельцев виртуального хостинга на cPanel, администраторов серверов Apache HTTP и nginx под Linux и Unix, а также Internet Information Server под Windows.
Читать дальше →
Total votes 67: ↑64 and ↓3 +61
Comments 53

Страх и ненависть в MiddleWare

Reading time 15 min
Views 29K
Мы были неподалёку от JavaScript, когда нами одолел php. Я помню сказал что-то вроде: Что-то у меня голова кружится. Может лучше тебе повести проект.



Внезапно, вокруг нас раздался ужасный бум… И весь WEB кишал этими статьями про LAMP…
Казалось, что они были написаны под любые нужды. Они разрастались и поглощали задачи для которых ранее пользовался perl, bash и даже С. Нет смысла говорить об этих статьях, подумал я. Все и так это знают.

У нас был пятый IE, немного Netscape, Opera и целое море разношёрстных cgi модулей на perl. Не то что бы это был необходимый стек технологий. Но если начал собирать дурь, становится трудно остановиться. Единственное что вызывало у меня опасение — это студент, употребляющий PHP. Нет ничего более беспомощного, безответственного и испорченного, чем это. Я знал, что рано или поздно мы перейдем и на эту дрянь.

Читать дальше →
Total votes 19: ↑13 and ↓6 +7
Comments 37

Replication Framework • глубинное копирование и обобщённое сравнение связных графов объектов

Reading time 12 min
Views 5.2K
Приветствую, читатель!

Хочу познакомить тебя с молодой, но многообещающей библиотекой Replication Framework для платформы .NET (возможно, при наличии достаточного интереса к теме в дальнейшем будет также реализована Java-версия). Библиотека является портабельной (portable) и может быть использована в любом проекте под Microsoft .NET или Mono.

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

image
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 9

Создание быстрых и более оптимизированных сайтов на WordPress

Reading time 14 min
Views 44K
Большинство потребителей имеют уже сложившееся мнение о том, что касается услуг web-хостинга. Если вы будете искать отзывы о любом хостинг-провайдере, вы обнаружите десятки результатов. И обычно, негативных отзывов там намного больше, чем положительных. Я думаю, я смогу это исправить, поэтому делюсь с вами задачами, с которыми мне приходится сталкиваться как оператору поддержки хостинга для WordPress, а также их решениями.

Я собрал список плохих web-решений, а также рекомендаций о том, чего делать на вашем сайте не стоит. Список основывается на тысячах часов общения с клиентами, а также поддержки и устранения неполадок, с которыми я сталкиваюсь ежедневно. Что-то из предложенного будет достаточно примитивным, а какие-то вопросы будут более продвинутого уровня. Многое из описанного может отделять успешный сайт на WordPress от провального. Ведь, несмотря на то, что выбор правильного web-хостинга очень важен, вы должны уделять достаточно времени оптимизации сайта на WordPress, чтобы он был успешным.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Comments 13

Роль платежного сервиса в онлайн-транзакциях

Reading time 6 min
Views 28K
В первой части истории, посвященной эволюции финансовой транзакции, мы показали отражение расчетов между продавцом и покупателем, начиная от чеков и заканчивая цифровыми новациями бесконтактных платежей. Энтропия возрастает, и схемы взаимодействия меняются. В цепочке появляется новое звено — платежный сервис, выполняющий функции обработки и маршрутизации транзакции от плательщика получателю. Эти задачи бизнеса выполняет и наша платежная платформа Fondy.

image

С появлением в онлайне нового участника — платежного шлюза или PSP Gateway (Payment Service Provider Gateway), схема эквайринга стала отличаться от традиционной.
Читать дальше →
Total votes 17: ↑17 and ↓0 +17
Comments 13

Больше, чем React: Почему не следует использовать ReactJS для сложных интерактивных фронтенд-проектов

Reading time 6 min
Views 50K
Перевод статьи, посвящённой использованию ReactJS для создания фронтенда.

React — отличный инструмент для реализации простых интерактивных веб-сайтов. Но насколько он применим в сложных фронтенд-проектах? Работает ли он там столь же хорошо?

В этой статье мы рассмотрим некоторые проблемы, с которыми можно столкнуться при использовании React во время веб-разработки. Также вы узнаете, почему автор статьи решил разработать новый фреймворк на Scala, благодаря которому удалось сократить количество строк кода с 30 тысяч (на React) до одной тысячи.
Читать дальше →
Total votes 65: ↑32 and ↓33 -1
Comments 169

Модальные окна на Angular, Angular 2 и ReactJS

Reading time 17 min
Views 48K

В этой статье мы рассмотрим, как создавать всплывающие и перекрывающие элементы на React, Angular 1.5 и Angular 2. Реализуем создание и показ модального окна на каждом из фреймворков. Весь код написан на typescript. Исходный код примеров доступен на github.

Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Comments 36

Information

Rating
Does not participate
Location
Вильнюс, Литва, Литва
Registered
Activity