Как стать автором
Обновить
0
0
Евгений @bywanted

Пользователь

Отправить сообщение

Трюки CSS, которые сделают из вас ниндзя верстки

Время на прочтение5 мин
Количество просмотров51K

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


Многие свойства, о которых пойдет речь, являются экспериментальными. Большинство из них поддерживаются всеми современными браузерами, однако, если вы решите использовать какое-либо из названных свойств в продакшне, не поленитесь зайти на Can I use и уточнить поддержку (недавно сильно расстроился, обнаружив, что Safari не поддерживает атрибут loading="lazy").


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


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


Итак, вы готовы к нашему небольшому путешествию в удивительный и почти безграничный мир CSS? Тогда вперед.


grid + place-items


Здесь вы найдете полное визуальное руководство по Grid и Flexbox.


Данная техника позволяет выравнивать элементы по горизонтали и вертикали при помощи всего лишь двух строк кода.

Всего голосов 28: ↑26 и ↓2+33
Комментарии8

RxJS Challenge: Неделя 1

Время на прочтение5 мин
Количество просмотров13K

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

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

Решить челлендж!
Всего голосов 14: ↑14 и ↓0+14
Комментарии9

Рецепты: как преодолеть ступор при собеседовании на Backend Developer?

Время на прочтение8 мин
Количество просмотров11K

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

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

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

Читать далее
Всего голосов 16: ↑9 и ↓7+8
Комментарии24

Наследование компонентов в Angular: простой способ решить проблему с Dependency Injection

Время на прочтение2 мин
Количество просмотров8K

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

Но есть один нюанс: эти злосчастные конструкторы. Нужно в каждом наследуемом компоненте передавать все DI в конструктор родителя.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии7

Лучшие сайты для практики автоматизации тестирования

Время на прочтение3 мин
Количество просмотров62K

Зачем использовать демо сайты для автоматизации тестирования

Прежде чем тратить время на изучение и создание набора тестов для нового фреймворка автоматизации, рекомендуется попробовать его на различных типах веб-сайтов, чтобы убедиться, что фреймворк работает надежно и с ней легко работать. Например, если вы в настоящее время используете Selenium, но хотите попробовать Cypress, Nightwatch, WebDriverIO или Playwright, попробуйте сделать больше, чем простой пример на этих сайтах. Таким образом, вам не придется обнаружить, что выбранный вами фреймворк автоматизации не работает в какой-то важной области, для которой вам нужно писать автоматизацию.

Скорее всего, вы захотите опробовать свой фреймворк автоматизации тестирования на таких объектах, как:

Читать далее
Всего голосов 4: ↑3 и ↓1+4
Комментарии1

Как разобраться в API HTML?

Время на прочтение8 мин
Количество просмотров21K
Автор статьи, перевод которой мы сегодня публикуем, решил разобрать несколько HTML5-API  и поговорить об их возможностях, о том, для чего они созданы, об особенностях их использования и об их ограничениях.


Читать дальше →
Всего голосов 25: ↑23 и ↓2+33
Комментарии8

CSS: полное руководство по функции calc()

Время на прочтение11 мин
Количество просмотров101K
В CSS есть особая функция calc(), применяемая для выполнения простых вычислений. Вот пример её использования:

.main-content {
  /* Вычесть 80px из 100vh */
  height: calc(100vh - 80px);
}

Здесь с CSS-кодом, в котором используется calc(), можно поэкспериментировать.



Автор статьи, перевод которой мы сегодня публикуем, хочет рассказать обо всём, что стоит знать об этой весьма полезной функции.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+39
Комментарии9

Обзор новых функций NestJS 6

Время на прочтение4 мин
Количество просмотров7.7K
Мы в TestMace активно используем NestJS для разработки наших сервисов. Сегодня вашему вниманию представляется перевод статьи, посвященной обзору фич новой мажорной версии NestJS.



Сегодня я рад представить официальный релиз Nest 6 — прогрессивного Node.js фреймворка для создания эффективных корпоративных серверных приложений.


Для нашего сообщества последний год не прошёл бесследно: популярность выросла почти на 300%, что в 4 раза больше, чем у какой-либо из существующих HTTP-библиотек. О Nest рассказывали на большом количестве конференций по всему миру, было создано множество статей и видеоматериалов. 2018 год был невероятным, а 2019 будет ещё лучше!

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии7

30 полезностей для Firefox Developer Tools

Время на прочтение3 мин
Количество просмотров26K


Ниже приведены фичи и советы по использованию Firefox Developer Tools. Некоторые из них аналогичны возможностям инструментов в Chrome, для некоторых аналоги в других браузерах отсутствуют.


Осторожно, под катом много тяжёлых гифок!

Осторожно, под катом много тяжёлых гифок!
Всего голосов 29: ↑28 и ↓1+36
Комментарии6

Angular: авторизация, рефрешим токен и HttpInterceptor

Время на прочтение11 мин
Количество просмотров47K
Доброго времени суток.

Опишу процесс авторизации с использованием некоторого сервера авторизации и интерфейса HttpInterceptor, который стал доступен с версии Angular 4.3+. С помощью HttpInterceptor`a будем добавлять наш токен в Header запроса перед отправкой каждого запроса. Так же, по истечению срока действия токена, получая 401ую ошибку, будем восстанавливать токен и повторять запросы, которые не прошли авторизацию пока ждали рефреша.

Начнем с конфигурации Interceptor`ов:


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

Пока писал статью ресурс на angular.io по CoreModule исчез
Коротко говоря, это такой модуль, который должен содержать глобальные сервисы. Преимущество в том, что этот модуль импортируется в модуле приложение (AppModule). Все экспортированные Core модулем сервисы гарантированно будут иметь только один инстанс на все приложение, включая lazy loaded модули.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии9

30 секунд CSS

Время на прочтение11 мин
Количество просмотров57K


Предлагаем вашему вниманию коллекцию полезных CSS-сниппетов, в которых вы можете разобраться за 30 секунд, а то и быстрее.

Читать дальше →
Всего голосов 64: ↑59 и ↓5+54
Комментарии52

Angular 5: Unit тесты

Время на прочтение10 мин
Количество просмотров54K
С помощью unit тестов мы можем удостовериться, что отдельные части приложения работают именно так, как мы от них ожидаем.

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

Даже существует мнение, что сложно тестируемый код — претендент на переписывание.

Цель данной статьи — помочь в написании unit тестов для Angular 5+ приложения. Пусть это будет увлекательный процесс, а не головная боль.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии21

Как смартфон может подслушать, подсмотреть и отследить

Время на прочтение7 мин
Количество просмотров78K
Недавно в СМИ разошёлся интересный факт: при общении с репортёром Wired сотрудник Facebook попросил отключить смартфон, чтобы соцсети было сложнее зафиксировать факт их общения. Для этого в Facebook могли бы использовать спутниковую навигацию или микрофон, хотя для предотвращения слежки достаточно было бы их отключить. Вероятно, в телефоне есть что-то ещё, чего стоит бояться. Современный смартфон напичкан сенсорами: 2-3 камеры, датчик освещённости, акселерометр, гироскоп, GPS и ГЛОНАСС, магнитометр и другие. Как исследователи из НАСА, использующие для удалённого ремонта космических аппаратов датчики не по назначению, злоумышленники могут много узнать о владельце смартфона, получив доступ к одному или нескольким сенсорам. Речь идёт не о случаях физического взлома гаджетов с помощью установки чипов или добавления проволоки, а о решении сенсорами таких задач, как слежка за пользователями, прослушка или получение пинкода.

image
Иллюстрация к приложению PlaceRaider, создающему 3D-модель помещения из сделанных без ведома пользователя кадров

Всего голосов 30: ↑30 и ↓0+30
Комментарии35

[в закладки] Инструменты для тестирования JavaScript-проектов

Время на прочтение17 мин
Количество просмотров43K
Автор материала, перевод которого мы публикуем сегодня, сотрудник Welldone Software, говорит, что если в двух словах рассказать об инструментах для тестирования JavaScript-проектов, то для модульного и интеграционного тестирования рекомендуется использовать Jest, а для тестов пользовательского интерфейса — TestCafe. Однако каждый конкретный проект может нуждаться в чём-то особенном. Лучший способ найти именно то, что нужно — взять несколько инструментов, которые, как кажется, подойдут, и испытать их в действии. Эксперименты подскажут — на чём именно стоит остановиться.



Представляем вашему вниманию обзор наиболее широко используемых инструментов тестирования для JS-проектов, на которые стоит обратить внимание в 2018-м году.
Читать дальше →
Всего голосов 53: ↑48 и ↓5+43
Комментарии8

Вопросы для собеседования бэкенд-разработчика

Время на прочтение16 мин
Количество просмотров194K
Этот список появился как личная памятка по темам, которые я обсуждал с коллегами и друзьями и в которых хотел разобраться поглубже…

Я не большой любитель задавать технические вопросы на собеседованиях: по мне так лучше посидеть с кандидатом (или кандидаткой) за клавиатурой над каким-то реальным кодом, реальной проблемой — и целый день заниматься парным программированием, желательно поочерёдно с остальными членами команды. Но я считаю, что некоторые технические вопросы могут быть хорошей отправной точкой для начала увлекательного и приятного разговора и позволят глубже узнать друг друга.

В этом репозитории собран ряд вопросов, связанных с серверной частью, которые можно использовать при проверке потенциальных кандидатов. Ни в коем случае не рекомендуется задавать все вопросы одному кандидату: это займет несколько часов и вообще не имеет смысла, потому что они охватывают слишком широкий спектр тем. Никто не может знать всего. Выберите наиболее актуальный раздел и самые интересные вопросы, чтобы развернуть беседу.
Читать дальше →
Всего голосов 83: ↑61 и ↓22+39
Комментарии274

Создание динамического tooltip в Angular2+ приложениях

Время на прочтение8 мин
Количество просмотров12K

В нашем приложении передо мной встала задача о создании красивого тултипа, в Angular Material таблице. Дизайн нам нарисовали, и я начала поиск в интернете нужных материалов. Но натыкалась уже или на готовые решения(библиотеки) или на очень простые решения, которые мне не подходили. В итоге объединив кучу статей и каких то заметок, я сделала тултип который при наведении рассчитывает высоту строки таблицы, длину от места наведения до конца и показывает список из людей. Для чего такие сложности? Да просто потому что, количество человек может быть разным и всех надо отобразить без "наезда" друг на друга, ну и сама иконка с количеством человек(при наведении на которую показывается тултип) может находиться в разных метах
Итог выглядит так:


image

Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии8

Система сбора данных на ESP. Часть I. CO2

Время на прочтение5 мин
Количество просмотров48K
Доброго времени суток! В данной статье хочу рассказать о реализации устройств на модулях ESP. Тема похожих девайсов уже раскрыта в интернете, но не перестает быть актуальной.
Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии161

Полезное дизайнеру / разработчику. Свежие утилиты и инструменты для ускорения работы. Выпуск № 8

Время на прочтение6 мин
Количество просмотров14K
В этом выпуске Вы найдете 34 ссылки на свежие и полезные релизы, авторы которых вносят значительный вклад в развитие профессионального сообщества дизайнеров whи разработчиков, так как делают это безвозмездно. В сегодняшнем выпуске будет summary того, что я уже публиковал на канале «Полезное дизайнеру» и кое-что еще…


Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии5

Неявное преобразование типов в JavaScript. Сколько будет !+[]+[]+![]?

Время на прочтение13 мин
Количество просмотров102K
Приведение типов — это процесс преобразования значений из одного типа в другой (например — строки в число, объекта — в логическое значение, и так далее). Любой тип в JavaScript, идёт ли речь о примитивном типе, или об объекте, может быть преобразован в другой тип. Напомним, что примитивными типами данных в JS являются Number, String, Boolean, Null, Undefined. К этому списку в ES6 добавился тип Symbol, который ведёт себя совсем не так, как другие типы. Явное приведение типов — процесс простой и понятный, но всё меняется, когда дело доходит до неявного приведения типов. Тут то, что происходит в JavaScript, некоторые считают странным или нелогичным, хотя, конечно, если заглянуть в стандарты, становится понятно, что все эти «странности» являются особенностями языка. Как бы там ни было, любому JS-разработчику периодически приходится сталкиваться с неявным приведением типов, к тому же, каверзные вопросы о приведении типов вполне могут встретиться на собеседовании.

image

Эта статья посвящена особенностям работы механизмов приведения типов в JavaScript. Начнём мы её со списка выражений, результаты вычисления которых могут выглядеть совершенно неожиданными. Вы можете испытать себя, попытавшись найти значения этих выражений, не подглядывая в конец статьи, где будет приведён их разбор.
Читать дальше →
Всего голосов 24: ↑22 и ↓2+20
Комментарии31

Реактивные формы (reactive forms) Angular 5 (2+). Часть 2

Время на прочтение6 мин
Количество просмотров37K


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

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

В первой части речь шла о том, как начать работать с реактивными формами. В данной статье рассмотрим валидацию форм, динамическое добавление валидации, написание собственных синхронных и ассинхронных валидаторов.

Код примеров прилагается.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии6

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность