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

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

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

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

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

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

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

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

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

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

О чем речь 


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

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

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


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

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

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

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

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

Поехали
Рейтинг0
Комментарии0

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

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

Что такое Workbox?


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


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



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


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

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


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

Читать дальше →
Всего голосов 36: ↑27 и ↓9+18
Комментарии3

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

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

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

Читать далее
Всего голосов 22: ↑15 и ↓7+8
Комментарии14

Traefik, docker и docker registry

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 24: ↑19 и ↓5+14
Комментарии23

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

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

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

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

Приятного чтения!
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 10: ↑9 и ↓1+8
Комментарии6

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

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

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

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

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

Итак, поехали.
Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии135

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

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

Обычно в статьях такого рода даются полные ответы на вопросы, но если вы собеседуетесь на достаточно серьезную позицию, краткой выжимки будет явно недостаточно и необходимо довольно глубоко понимать сам вопрос, поэтому я в основном вставил ссылки на документацию или статьи по описываемым вопросам.
Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Комментарии18

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

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


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


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


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


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


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

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

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

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

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

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

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

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

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

Вообще-то я планировал начать со статьи про генераторы, но вскоре стало очевидно, что о них сложно рассказывать без хорошего понимания итерируемых объектов и итераторов. На них мы сейчас и сосредоточимся. Буду исходить из того, что вы ничего не знаете по этой теме, но при этом мы значительно углубимся в неё. Так что если вы что-то знаете об итерируемых объектах и итераторах, но не чувствуете себя достаточно уверенно при их использовании, эта статья вам поможет.
Читать дальше →
Всего голосов 42: ↑31 и ↓11+20
Комментарии5

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

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

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


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


***


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


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

Всего голосов 12: ↑9 и ↓3+6
Комментарии2

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

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


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

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

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

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

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

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

Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии26
1
23 ...

Информация

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