Обновить
512K+

Веб-разработка *

Делаем веб лучше

361,93
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

У нас появился новый образ в маркетплейсе: VPS с Joomla 3.9 на Centos 8

Время на прочтение7 мин
Охват и читатели3.4K


Joomla — третья по популярности (после Wordpress и Shopify) система управления контентом, написанная на языке PHP и использующая в качестве хранилища данных реляционные базы данных.

Как и многие другие CMS, Joomla полностью бесплатна для использования и имеет открытый код. Система шаблонов легко позволяет менять внешний вид сайта, а огромный каталог расширений, позволяет так же легко дополнять функциональность сайта нужными модулями.
Читать дальше →

Примеры использования наблюдателей в JavaScript

Время на прочтение8 мин
Охват и читатели32K


Наблюдатель (observer) — это объект, который следит за состоянием определенного элемента и регистрирует происходящие в нем изменения. Элемент, который находится под наблюдением (чуть не написал «за которым организована слежка»), называется целевым. Наблюдатель может следить за состоянием как одного, так и нескольких элементов, а в некоторых случаях также и за потомками целевого элемента.

В JavaScript существует три основных вида наблюдателей:

  1. ResizeObserver
  2. IntersectionObserver
  3. MutationObserver

В данной статье я предлагаю сосредоточиться на практической реализации каждого наблюдателя.

Перевод: Кто такой Full Stack разработчик?

Время на прочтение4 мин
Охват и читатели49K

Привет, Хабр! Представляю вашему вниманию перевод статьи "What is a Full Stack developer?" автора Laurence Gellert.


image


Кто такой Full Stack разработчик?


Разумно ли ожидать, что простые смертные будут владеть всеми аспектами разработки? Скорее всего нет, но в Facebook могут попросить об этом. На OSCON (O’Reilly Open Source Convention — ежегодный съезд, посвящённый обсуждению открытому и свободному программному обеспечению) один из сотрудников Facebook сказал, что они нанимают только Full Stack разработчиков. Что это значит?


Для меня Full Stack разработчик — это человек с хорошим пониманием каждого уровня разработки и искренне интересующийся всеми программными технологиями.

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

Отзывчивый веб-дизайн и учёт высоты окна браузера

Время на прочтение9 мин
Охват и читатели17K
Знаю, что у многих появится вопрос о том, почему у этой статьи такой необычный заголовок. Как связаны «отзывчивый веб-дизайн» и «высота окна браузера»? Пожалуй, этот заголовок кажется необычным из-за того, что под «отзывчивым дизайном», как правило, понимают проектирование страниц таким образом, чтобы они подстраивались бы под ширину области просмотра, чтобы они хорошо бы выглядели на разных устройствах. Сайты всегда тестируют, уменьшая ширину браузера и наблюдая за происходящим. Но я практически никогда не сталкивался с некими указаниями по тестированию какого-то проекта, в которых сказано, что страницы исследуют путём уменьшения высоты окна браузера. Возможно, вы когда-нибудь ловили себя на такой мысли: «Надо ли проверять страницы в окнах браузера разной высоты?». Я полагаю, что делать это надо, и собираюсь убедить в этом всех, кто прочитает эту статью.



При работе над веб-сайтом не очень правильно делать некие предположения, не опираясь на реальные данные. Поэтому очень важно брать на себя ответственность по проверке сайтов в окнах браузеров разной ширины и разной высоты.
Читать дальше →
Летом этого года мы в Россельхозбанке запустили платформу «Своё.Фермерство» с цифровыми сервисами для сельского хозяйства. Сервисы в основном бесплатные и ориентированы на то, чтобы за счёт технологий максимально облегчить жизнь небольшим фермерским хозяйствам. У платформы большой потенциал: об этом говорят и сами пользователи, и Gartner, включившая «Своё.Фермерство» в short-лист конкурса Gartner Eye on Innovation Awards в номинации «Финансовые сервисы — 2020».

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

Пара слов о хитростях работы со временем, пример регламента обработки ошибок в микросервисах и немного DDD

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


Вот плеер трансляции: помните, что 11 утра субботы в Самаре — это 10 по Москве/Киеву/Минску. Детали об оффлайн-участии можно найти тут.

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

Адаптивный дизайн высоты

Время на прочтение7 мин
Охват и читатели32K

Возможно, вы думаете о том, почему я выбрал такой заголовок. Адаптивный дизайн высоты, серьезно? Ну, термин адаптивный веб-дизайн часто описывается как проверка браузера на нескольких вариантах ширины области просмотра и размеров устройств. Сайт всегда тестируется горизонтально — на уменьшение ширины, но я редко вижу какие-то соображения для тестирования вертикально — на уменьшение высоты. В глубине вашего сознания возникает вопрос: нужно ли уменьшать высоту браузера? Да, и я буду убеждать вас в этом здесь. Когда мы работаем над реализацией веб-сайта, делать предположения вне зависимости от данных реального мира нехорошо. Крайне важно взять на себя ответственность за тестирование как по горизонтали, так и по вертикали.
Приятного чтения!

Как привести проект в чувство

Время на прочтение5 мин
Охват и читатели14K


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

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

Почему российские сайты не будут соответствовать ГОСТу по доступности

Время на прочтение7 мин
Охват и читатели5.5K

Закончив перевод Руководства по обеспечению доступности веб-контента (WCAG) 2.1 на русский язык, захотелось поговорить о языкознании, правоприменении, и поднять вынесенный в заголовок вопрос: почему российские сайты могут соответствовать WCAG, разработанным на его основе стандартам по доступности Евросоюза, США и даже Китая, но не национальному стандарту – ГОСТу?
Читать дальше →

Давайте сделаем переиспользуемый компонент tree view в Angular

Время на прочтение6 мин
Охват и читатели11K

Я разрабатываю несколько Angular-библиотек, поэтому люблю делать простые и легко переиспользуемые решения для разработчиков. Недавно один из подписчиков в Твиттере спросил меня, как сделать компонент, который выводил бы его данные в виде иерархического дерева — tree view. 

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

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

Давайте сделаем

Дайджест свежих материалов из мира фронтенда за последнюю неделю №438 (19 — 25 октября 2020)

Время на прочтение3 мин
Охват и читатели9.8K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

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

Что происходит, когда вы выполняете manage.py test?

Время на прочтение11 мин
Охват и читатели11K

Перевод статьи подготовлен специально для студентов курса «Python Web-Developer».

Вы запускаете тесты командой manage.py test, но знаете ли вы, что происходит под капотом при этом? Как работает исполнитель тестов (test runner) и как он расставляет точки, E и F на экране?

Когда вы узнаете, как работает Django, то откроете для себя множество вариантов использования, таких как изменение файлов cookie, установка глобальных заголовков и логирование запросов. Аналогично, поняв то, как работают тесты, вы сможете кастомизировать процессы, чтобы, например, загружать тесты в другом порядке, настраивать параметры тестирования без отдельного файла или блокировать исходящие HTTP-запросы.

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

Читать далее

Ближайшие события

Откуда берется заголовок Content-Type: nginx + php-fpm

Время на прочтение5 мин
Охват и читатели11K
Rocket science не будет. Если вы используете php-fpm, то скорее всего в связке с nginx. Простой вопрос: как в PHP получить значения HTTP заголовков запроса клиента?

  1. Например, стандартные Accept, Host или Referer?
  2. Знаете? Здорово! А как получить значение Content-Type, Content-Length?
  3. Ничем вас не удивить, а как получить значение произвольного заголовка, например X-Forwarded-For?

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

Обновление роадмапа AngularDart

Время на прочтение4 мин
Охват и читатели4.7K


Недавно команда языка Dart опубликовала важный анонс про обновление роадмапа AngularDart. Мы решили перевести эту новость на русский язык и добавить свой комментарий о том, что это сообщение будет значить для Dart-сообщества.
Читать дальше →

Создание шаблона VPS с Drupal 9 на Centos 8

Время на прочтение7 мин
Охват и читатели3.8K
Мы продолжаем расширять наш маркетплейс. Недавно мы рассказывали, как сделали образ Gitlab, а на этой неделе в нашем маркетплейсе появился Drupal.

Рассказываем, почему выбрали именно его и как создавался образ.



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

Drupal 9 включает в себя все особенности реализованные в версии 8.9. Ключевое отличие версии 9 от версии 8 состоит в том, что для платформы будут выпускаться обновления и исправления безопасности и после ноября 2021 года. Также в версии 9 упростили процесс обновления, делая процесс обновления с версии 8 еще проще.
Читать дальше →

Как ELK помогает инженерам по ИБ бороться с атаками на сайты и спать спокойно

Время на прочтение6 мин
Охват и читатели9K
Наш центр киберзащиты отвечает за безопасность веб-инфраструктуры клиентов и отбивает атаки на клиентские сайты. Для защиты от атак мы используем файрволы веб-приложений FortiWeb (WAF). Но даже самый крутой WAF – не панацея и не защищает «из коробки» от целевых атак. 

Поэтому в дополнение к WAF мы используем ELK. Он помогает собирать все события в одном месте, копит статистику, визуализирует ее и позволяет нам вовремя видеть направленную атаку.

Сегодня расскажу подробнее, как мы скрестили «ёлку» с WAF и что из этого получилось.


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

Как я структурирую CSS

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

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

В статье автор делится своим текущим принципом структурирования CSS. Он не полностью придерживается какой-либо определённой методологии, а адаптирует её под себя.

Читать далее

NetSarang xShell — мощный клиент SSH

Время на прочтение3 мин
Охват и читатели36K
image

Всё ещё пользуетесь Putty + WinSCP/FileZilla?

Тогда рекомендуем обратить внимание на такое ПО как xShell.

  • Он поддерживает не только SSH протокол, но и другие. Например, telnet или rlogin.
  • Одновременно можно подключаться к нескольким серверам (механизм вкладок).
  • Нет необходимости каждый раз вводить данные, их можно запомнить.
  • Начиная с 6-й версии появился русский интерфейс, понимает все русские кодировки, в том числе и UTF-8.
  • Поддерживает как подключение по паролю, так и подключение по ключу.

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

Исключительно быстрая валидация UTF-8

Время на прочтение4 мин
Охват и читатели9.9K
Текстовая строка — один из самых распространённых «типов данных» в программировании. Когда программисты думают о строке, то представляют список или массив символов. Это «достаточно хорошее» приближение, но реальность сложнее.

Символы должны быть каким-то образом закодированы в биты. Большинство строк в интернете, включая этот пост на Хабре, закодированы в UTF-8. Формат UTF-8 представляет «символы» в одном, двух, трёх или четырёх байтах. Это обобщение для стандарта ASCII, использующего только один байт на символ. То есть строка ASCII также является строкой UTF-8.

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