Обновить
512K+

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

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

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

Добавить две кнопки — почему так дорого?

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

Если у вас есть свой бизнес или вы работаете в бизнес-подразделении более-менее крупной компании, особенно на руководящей позиции, вы, скорее всего, сталкивались с заказной разработкой программного обеспечения или столкнетесь с ней, когда захотите улучшить свои результаты. Под заказной разработкой я подразумеваю не только контрактные отношения с подрядной организацией, но ваших собственных штатных IT-шников.

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

— Два месяца? На простейший функционал? Это неприемлемо! — вы пытаетесь давить, пугать, просить, торговаться; разработчики явно нервничают, но сроки не двигают. В итоге вы приходите к какому-то компромиссу, который не нравится никому, злые и недовольные. 

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

Читать далее

Хостинг для нагруженного сайта с читателями по всему миру. Быстро и без падений

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели7.8K

У меня несколько сайтов со статьями. Есть трафик и даже какие-то деньги я с них зарабатываю. Как раз тот случай, когда “просто закинуть на хостинг” - уже мало, а нанимать целую команду толковых программистов - ещё дорого.

Пишу о путешествиях. Летом - самый сезон. Солнце припекает, народ едет на море. А заодно от жары разогреваются дата-центры. Надоело “падать” каждый сезон по нескольку часов. Поэтому, пришлось соорудить вот такого Франкенштейна, как на обложке.

Читать далее

Критерии качества вёрстки 2021

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

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

С тех пор в разработке интерфейсов произошло море изменений: сначала в продакшн пришли флексы, потом подтянулись гриды, умер IE, все переехали из Фотошопа в Фигму, и много чего ещё. Каждое это изменение влияло на наши критерии, и мы постоянно их дорабатывали.

Сейчас пришло время обсудить с сообществом обновлённые критерии.

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

Читать далее

PHP Дайджест № 209 (1 – 16 августа 2021)

Время на прочтение4 мин
Охват и читатели11K
Фото: Florian Engelhardt.

Подборка свежих новостей и материалов из мира PHP. В выпуске: вторая бета PHP 8.1 и много материалов об этой версии, два свежих RFC для PHP 8.2, ReactPHP и Amphp объединяют усилия над базой для асинхронного PHP. А также другие новости и релизы, порция полезных инструментов, статьи и видео.

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

JavaScript: об очистке данных, хранящихся на стороне клиента, по сигналу сервера и немного о карте импортов

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


Введение


Привет, друзья!


Представляю вашему вниманию результаты небольшого исследования, посвященного очистке данных, хранящихся на стороне клиента по сигналу сервера. Речь идет об относительно новом HTTP-заголовке Clear-Site-Data. Также в этой статье мы немного поговорим про карту импортов (imports map).


Статья состоит из двух частей: теоретической и практической.


В теоретической части мы кратко рассмотрим карту импортов и более подробно Clear-Site-Data.


В практической части мы поднимем два сервера — один будет запускаться локально и, помимо прочего, обслуживать статические файлы нашего приложения, другой мы развернем на Heroku. Сначала мы запросим данные (включая куки) от серверов, сохраним эти данные в браузере с помощью трех наиболее популярных механизмов (локальное хранилище, индексированная база данных и интерфейс кеширования), затем попробуем очистить их с помощью заголовков Clear-Site-Data. Для разрешения путей импортируемых в приложении модулей мы будем использовать карту импортов.


Исходный код проекта находится здесь.

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

Повышение скорости написания кода: Emmet и его использование в VSCode

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

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

Читать далее

Генерация документации с использованием JSDoc

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

JSDoc - это язык разметки, используемый для аннотирования исходного кода JavaScript с использованием комментариев. Аннотации обрабатывается различными инструментами для создания документации в доступных форматах, таких как HTML и Rich Text Format.

Читать далее

Особенности миграции на фронтенде: итоги панельной дискуссии с экспертами Wrike, Яндекс, Kaspersky и Leroy Merlin

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

Привет, Хабр! Несколько месяцев назад Wrike публично объявил об отказе дальнейшей разработки на Dart и переходе на новый стек.

Это было сложное решение. И, как это часто бывает во времена больших перемен, нам захотелось сравнить и провести параллели. А как происходила миграция у других компаний? Чем она была вызвана, и удалось ли завершить процесс перестройки без серьезных потерь? Мы попросили коллег поделиться своим опытом миграции на фронтенде, рассказать о всех сомнениях и трудностях, что встретились на этом пути. 

В этом тексте мы подведем итоги панельной дискуссии в виде небольшого конспекта: тезисно и с цитатами. Полную видеозапись встречи вы найдете в конце статьи.

Читать далее

Dependency Injection в React — максимально просто

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

В интернете немало публикаций на тему реализации Dependency Injection (далее - DI) в React, также существует немало сторонних npm-пакетов, таких как inversify-react, react-simple-di и других. Но, по моему мнению, DI настолько просто реализуется средствами самого React, без дополнительных выкрутасов и boilerplate-кода, что никакая сторонняя библиотека во многих случаях попросту не нужна. В данной небольшой статье я постараюсь обосновать это свое мнение. Примеры кода будут приведены на TypeScript.

Читать далее

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

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

Предприниматель на старте своего дела не располагает большими деньгами. А самым доступным для него способом продвижения является Интернет. Как получить эффективный сайт и не прогадать?

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

Читать далее

Руководство по инструментам доступности

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

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

Это перевод статьи Nic Chan «A Complete Guide To Accessibility Tooling» из журнала Smashing Magazine.

Читать далее

Личный кабинет: обрабатываем жалобы клиентов B2B и B2C

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

Бизнесы работают с клиентами через встречи, звонки, SMS, сайты и сообщения в социальных сетях. Чем больше этого общения вынесено в онлайн — тем оно быстрее для клиента и дешевле для бизнеса.

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

Читать далее

Адаптивные изображения. Что использовать: img или picture?

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

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

Читать далее

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

Redux Vs Vuex. Часть 2

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


Привет, друзья!


Предлагаю вашему вниманию результаты небольшого исследования, посвященного сравнению Redux и Vuex. Это вторая часть статьи, вот ссылка на первую.


Введение


Redux и Vuex — это библиотеки для управления состоянием приложений, написанных на React и Vue, соответственно. Каждая из них по-своему реализует архитектуру для создания пользовательских интерфейсов, известную под названием Flux.

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

Как я написал веб-синтезатор без сэмплов и зависимостей

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

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

Читать далее

Мониторинг пет-проектов на коленке: Netdata, Monitoror, N8N

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

Привет, я Паша из Ozon. В рабочее время занимаюсь тестированием поиска, а по вечерам надеваю маску инди-разработчика. И моя самая частая задача — написать скрипт → залить его на сервер → периодически мониторить, что сервер доступен. Эта статья как раз и будет строиться вокруг последнего пункта.

Вы наверняка в курсе, что существуют Grafana, Prometheus, Kibana, LogDNA и другие инструменты для мониторинга, визуализации и анализа данных. C первыми двумя я вплотную познакомился в Ozon, а про Kibana слышал когда-то давно и только в паре со словом «логи». Чтобы графики в Grafana рисовать — придется штат аналитиков нанять (ба-дум-тсс). Для пет-проекта это перебор, нужно что-то сильно проще (с точки зрения стоимости, простоты настройки и удобства). Ниже расскажу, какие готовые инструменты для мониторинга небольших пет-проектов я нашёл в пучинах интернета, а также оставлю комментарии и рекомендации по использованию.

Читать далее

Real-time мониторинг тормозящих запросов PostgreSQL своими руками за полчаса

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

В моей практике не раз были ситуации, когда хотелось посмотреть, какие именно запросы долго тупили в базе в определённый (конкретный) момент времени. А может, запросы не тупили, но каких-то запросов было слишком много.


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


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


На удивление, сделать такой мониторинг самому занимает всего полчаса времени, буквально с помощью нескольких строк Go-кода и палок.

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

Грядущие изменения в сертификатах TLS: удаление поля OU, сокращение сроков, ротация центров, автоматизация

Время на прочтение4 мин
Охват и читатели9.5K
Как мы помним, в 2018 году максимальный срок действия публичных сертификатов SSL/TLS уменьшили до 825 дней, а в 2020 году — до 398 дней (13 месяцев). Соответствующие решения в 2018−2020 годы принял Форум CA/B (CA/Browser Forum) — добровольный консорциум удостоверяющих центров, разработчиков браузеров, ОС и других приложений с поддержкой PKI. Хотя многие участники голосовали против такого предложения, но впоследствии им пришлось пересмотреть своё решение с учётом общественного мнения. Даже опрос GlobalSign на Хабре показал, что 72,7% респондентов «скорее поддерживают» сокращение срока действия сертификатов.

Это не единственная новация в порядке обращения сертификатов. В 2021−2022 гг нас ожидает ещё несколько изменений.
Читать дальше →

PhpStorm 2021.2: дженерики, перечисления, array shapes, новые инспекции и рефакторинги

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


Вышел второй мажорный релиз PhpStorm в этом году. Под катом подробный разбор всех изменений и новых возможностей с кучей гифок.

Дайджест свежих материалов из мира фронтенда за последнюю неделю №480 (2 — 8 августа 2021)

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

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