Как стать автором
Обновить
0
0
Максим @gvozd1989

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

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

История о CSS-сбросах и все, что о них нужно знать. Еще раз об этом

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

Небольшое вступление: меня заинтересовали CSS-сбросы по вполне практичной причине. Я инженер-консультант по программному обеспечению, поэтому работаю с разными клиентами и время от времени начинаю новые проекты.

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

Читать далее

Фасетные фильтры: как готовить и с чем подавать

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

О чем речь 


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

  1. как реагирует UI, когда пользователь использует фильтры;
  2. алгоритм формирования значений фильтров; 
  3. шаблоны запросов и структуры индекса ElasticSearch с пояснениями.

Здесь нет готовых решений. Скопировать и вставить не получится. Для решения собственной задачи придется вникнуть.


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

Фасетные фильтры: структура и взаимодействие компонент

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

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

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

Поехали

Идеальный инструмент для создания прогрессивных веб-приложений или Всё, что вы хотели знать о Workbox. Часть 1

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

Что такое Workbox?


Workbox (далее — WB) — это библиотека (точнее, набор библиотек), основной целью которой является "предоставление лучших практик и избавление от шаблонного кода при работе с сервис-воркерами" (далее — СВ).


Если вы впервые слышите о СВ, то перед изучением данного руководства настоятельно рекомендуется ознакомиться со следующими материалами:



WB предоставляет следующие возможности:


  • предварительное кэширование
  • кэширование во время выполнения
  • стратегии (кэширования)
  • обработка (перехват сетевых) запросов
  • фоновая синхронизация
  • помощь в отладке

На что похож WB API?


Ниже приведены примеры основных подходов к разработке прогрессивных веб-приложений (приложений, в которых используются возможности, предоставляемые СВ).

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

Как я сделал свою сборку Gulp для быстрой, лёгкой и приятной вёрстки

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

Серьёзно и профессионально я начал заниматься вёрсткой в 2019 году, хотя до этого интересовался данной темой как любитель. Поэтому новичком мне себя назвать сложно, но и профессионалом с опытом 5+ лет я тоже не являюсь.Тем не менее, я успел познакомиться со сборщиком Gulp, его плагинами и сделал для себя хорошую, как по мне, сборку для работы. О её возможностях сегодня и расскажу.

Читать далее

Traefik, docker и docker registry

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

Под катом вы увидите:

• Использования Traefik в качестве обратного прокси для маршрутизации трафика внутрь docker контейнеров.

• Использование Traefik для автоматического получения Let’s Encrypt сертификатов

• Использование Traefik для разграничения доступа к docker registry при помощи basic auth

• Все перечисленное выше будет настраиваться исключительно внутри docker-compose.yml и не потребует передачи отдельных конфигурационных файлов внутрь контейнеров.

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

Помимо этого в интернете мало информации на тему использования traefik для контроля доступа к docker registry. Описанную ниже технику можно использовать для контроля доступа к любому приложению, реализующему Rest API.

Читать далее

Вы можете создавать эти элементы, не используя JavaScript

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

Мы привыкли создавать некоторые элементы пользовательского интерфейса с помощью JavaScript, например аккордеоны, всплывающие подсказки (тултипы), усечение текста и т. д. Но, поскольку HTML и CSS постоянно получают новые функции, а старые браузеры больше не нужно поддерживать, мы можем использовать намного меньше JavaScript-кода для создания элементов пользовательского интерфейса и больше фокусироваться на логической части (проверки, обработка данных и т. д.). Специально к старту новых потоков по специализации Frontend-разработчик и Веб-разработчик делимся с вами несколькими хитростями.

Читать далее

Погружаемся в логические свойства CSS

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

Поддержка логических свойств CSS со временем становится лучше. Однако мне по-прежнему трудно запомнить их, когда использую их в проекте. Что означают start и end? Несколько сложно охватить все детали без проб и ошибок.

В этой статье я нацелен прокачать вас и пробежаться по использованию логических свойств, чтобы возникло твёрдое понимание, у дизайнеров, говорящих на английском и арабском языках. Я попытался придумать визуальное объяснение логических свойств, которое, надеюсь, будет понятным. Готовы? Погружаемся!

Приятного чтения!

Всё, о чём должен знать разработчик Телеграм-ботов

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

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?

Подробный гайд о том, как работать с ботами — под катом.

Читать далее

Как реализовать drag&drop на чистом JavaScript

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

В этом туториале мы рассмотрим, как реализовать эффект drag & drop на ванильном JavaScript. Дословный перевод с английского — «потяни и брось» — отражает суть эффекта, это хорошо знакомое любому пользователю перетаскивание элементов интерфейса. Drag & drop может понадобиться при сортировке карточек в таск-трекере, переносе между списками или вообще при перетаскивании файлов в окно браузера.

Мы разберём drag & drop на примере сортировки. Для этого создадим интерактивный список задач.

Читать далее

Настройка Xdebug3 для Laravel-приложения в Docker

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

Настройка локального отладчика Xdebug в IDE PhpStorm для Laravel-приложения в Docker.

Читать далее

70 вопросов по JavaScript для подготовки к собеседованию

Время на прочтение43 мин
Количество просмотров968K
Доброго времени суток, друзья!

Надеюсь, эта статья будет полезна как начинающим разработчикам, так и опытным.

В вопросах, которые показались мне сложнее прочих, приведены ссылки на дополнительную литературу.

Буду признателен за развернутые комментарии. Все замечания будут учтены при редактировании статьи.

Итак, поехали.
Читать дальше →

Собеседование php-developer (вопросы и ответы)

Время на прочтение10 мин
Количество просмотров271K
Так уж получилось, что в этом году я прошел ряд собеседований на позицию PHP разработчика, чего я не делал уже несколько лет. Будучи человеком ленивым практичным, перед собеседованием я попытался найти сборники вопросов-ответов, но все найденное было довольно старым, поэтому я решил сам подготовить список вопросов, которые встречал.

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

Ламповая self-hosted инфраструктура на Vultr

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


О чём, зачем и почему?


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


Здесь я расскажу, как развернуть сервисы для контроля финансов (FireFly3), заметок и чего покрупнее (BookStack) и контроля времени, уходящего на задачи в opensource проектах или на работе (Titra) — всё это на Vultr с защитой с помощью firewall групп и доступа только с нужных ip, например, домашней статики или vpn (ещё развернём для этого Pritunl).


Vultr я выбрал, так как достаточно давно с ним работаю и уже знаю, что он может, а что нет — в моём случае он подошёл идеально.


Надеюсь, что это окажется для кого-то полезным.

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

Обновление вашего PWA в продакшене

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

Вам больше не помогут no-cache или max-age заголовки, вы просто не знали и не могли узнать о механизме обновления SW. Потому что про него вам не говорили.

Читать далее

Итерируемые объекты и итераторы: углублённое руководство по JavaScript

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

Эта статья представляет собой углублённое введение в итерируемые объекты (iterables) и итераторы (iterators) в JavaScript. Моя главная мотивация к её написанию заключалась в подготовке к изучению генераторов. По сути, я планировал позднее поэкспериментировать с комбинированием генераторов и хуками React. Если вам это интересно, то следите за моим Twitter или YouTube!

Вообще-то я планировал начать со статьи про генераторы, но вскоре стало очевидно, что о них сложно рассказывать без хорошего понимания итерируемых объектов и итераторов. На них мы сейчас и сосредоточимся. Буду исходить из того, что вы ничего не знаете по этой теме, но при этом мы значительно углубимся в неё. Так что если вы что-то знаете об итерируемых объектах и итераторах, но не чувствуете себя достаточно уверенно при их использовании, эта статья вам поможет.
Читать дальше →

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

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

Известный за рубежом SEO-специалист Кевин Индиг подготовил подробное руководство, в котором объясняются все аспекты внутренней перелинковки сайтов, а также описал стратегии и методы оптимизации внутренних ссылок относительно высказываний и заявлений сотрудников Google и личного опыта продвижения сайтов.


Перевод материала подготовлен специалистами SiteAnalyzer.


***


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


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

Как быстро создать Bootstrap-сайт для бизнеса: 6 полезных инструментов

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


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

Большие данные: 70 невероятных бесплатных источников данных, которые вы должны знать к 2020 году

Время на прочтение10 мин
Количество просмотров36K
Вся отличная визуализация данных начинается с хороших, чистых данных. Большинство людей считают, что сбор больших данных будет трудной работой, но это просто неправда. На сайте доступны тысячи бесплатных наборов данных, готовых для анализа и просмотра любым пользователем. Здесь мы собрали 70 источников свободных данных к 2020 году на правительство, преступности, здравоохранения, финансовых и экономических данных, маркетинга и социальных сетей, журналистики и средств массовой информации, недвижимости, каталог, обзор бизнеса, и многое другое.
Читать дальше →

Решение проблемы N+1 запроса без увеличения потребления памяти в Laravel

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

Одна из основных проблем разработчиков, когда они создают приложение с ORM — это N+1 запрос в их приложениях. Проблема N+1 запроса — это не эффективный способ обращения к базе данных, когда приложение генерирует запрос на каждый вызов объекта. Эта проблема обычно возникает, когда мы получаем список данных из базы данных без использования ленивой или жадной загрузки (lazy load, eager load). К счастью, Laravel с его ORM Eloquent предоставляет инструменты, для удобной работы, но они имеют некоторые недостатки.
В этой статье рассмотрим проблему N+1, способы ее решения и оптимизации потребления памяти.

Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Украина
Зарегистрирован
Активность