Обновить
512K+

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

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

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

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

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


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

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

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

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

Лурк, великий и ужасный: восход и закат энциклопедии рунета

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

Шёл далёкий уже 2006 год: время мемной революции, удешевления доступа к сети и стремительного роста населения рунета. Из «сделанной из разного и палок пристройки к настоящей англоязычной сети» рунет на глазах превращался в самобытное информационное пространство. Медвед и Ктулху были повсюду, расцветали ЖЖ, дайри, бесконечные форумы на всевозможные темы. Имиджборды бурлили уходящими в небытие тредами, полными контркультурного андерграунда и всевозможной дичи, превращаясь в реакторы самого неожиданного и яркого контента.
Что же с ним стало?

Разработка чат-бота федеральной сети аптек

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

Бизнесу нужно идти в ногу с пользователем. Сейчас потенциальному клиенту недостаточно только сайта, а теперь ему нужны еще и SMM-сообщества, E-mail и SMS-рассылки, мобильное приложение и, конечно же, общение в мессенджерах.

В связи с этим появились чат-боты.

Читать далее

Как я в 15 лет взломал хостинг

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

Был тёплый, солнечный обед, все шло своим чередом.

Я писал колесо фортуны в интернет-магазине для сети магазинов мяса, в котором можно выиграть продукт...

Я писал колесо фортуны в интернет-магазине для сети магазинов мяса, в котором можно выиграть продукт...Я писал колесо фортуны в интернет-магазине для сети магазинов мяса, в котором можно выиграть продукт...

Читать!

JavaScript: как из Fetch сделать Axios?

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


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


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


С чего все началось?


Прочитал статью Kent C. Dodds "Replace axios with a simple custom fetch wrapper", изучил несколько аналогичных утилит других разработчиков и решил, что могу сделать лучше. О том, насколько мне это удалось, судите сами.


Ссылки


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


Обертка в виде npm-пакета — very-simple-fetch (хотел назвать пакет просто simple-fetch, но это название оказалось занято).


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


Что насчет Axios?


Наша обертка будет сильно похожа на axios. Это объясняется тем, что axios — лучший из известных мне инструментов для отправки HTTP-запросов. Он одинаково хорошо работает как в браузере, так и в Node.js. Безусловно, разработчики axios проделали большую работу. Однако в большинстве случаев нам для решения повседневных задач, связанных с разработкой веб-приложений, не требуется весь функционал, предоставляемый этим инструментом. Если в цифрах, то размер axios составляет 371 Кб, а размер very-simple-fetch — 9.33 Кб.

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

Пришло время избавиться от Angular и сэкономить миллиарды долларов

Время на прочтение6 мин
Охват и читатели60K
Я знаю, что эта статья вызовет поток гневных комментариев, но… так тому и быть. Кто-то должен наконец озвучить то, о чём уже некоторое время размышляют программисты, обладающие некоторым опытом.

Я занимаюсь программированием более 20 лет, работал в некоторых из самых приличных североамериканских компаний. Вот уже несколько лет я наблюдаю за тем, что происходит в сфере разработки интерфейсов. Ситуация здесь постоянно ухудшается. В частности, я говорю о «модных технологиях», о довольно крупных фрагментах JS- и CSS-кода, претендующих на остроумное исполнение, которые вроде как должны пользоваться неистовой популярностью у толп новичков. Теперь в эти толпы включают даже и опытных разработчиков, которым полагается что-то понимать в том, чем они пользуются.



Количество случаев практического применения фреймворков, выдающих подобный код, наподобие Angular, растёт как снежный ком. В результате разработчиков подхватила лавина, ввергнувшая их в настоящий «ад программного кода». При этом события развиваются по нарастающей. Сейчас нельзя заметить даже признаков того, что всё это безумие хотя бы выходит на какой-то постоянный уровень.

Каждый день мне на почту приходят вакансии. Компании всех размеров и мастей рыщут в поисках ОПЫТНЫХ Angular 4, 5, 6, 7, 8, 10, 12-разработчиков, которые как минимум 5 лет занимались разработкой и поддержкой того дурдома, который все называют «современнейшими пользовательскими интерфейсами».

Это — не нечто «современнейшее». Это — дурдом.

Несколько лет назад я был на собеседовании в EA (Electronic Arts). Там мне сказали, что компания избавляется от всех своих UI-фреймворков и возвращается к написанию кода на чистом JavaScript (речь идёт о модулях, или о том, что тот, кто работает с jQuery, назвал бы JS-плагинами). Я был удивлён и заинтригован.

Теперь о причинах подобного хода знают не только в EA, но и во всех остальных компаниях.
Читать дальше →

Как сделать магический шар на Three.js

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

Конечно же, после смерти Flash веб не превратился в простую, скучную плоскость. К старту курса по фронтенду показываем, как при помощи Three.js и технологии WebGL создать магический шар с анимацией внутри объёма. Автор статьи не только опубликовал код на CodePen для удобной демонстрации, но и добавил на страницу ползунки, чтобы вы могли экспериментировать с шаром и сразу видеть результат. В конце вы найдёте ссылку на исходный код на Github и демонстрацию не на CodePen.

Читать далее

NEST-NEXT: Best Practices — Часть 2

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

Это вторая часть статьи о применении комбинации технологий nest.js и NEXT.js. В первой части был создан и настроен проект, а также выбран способ отправки данных для SSR, в результате чего проект уже удовлетворял большинство потребностей при разработке простого сайта. В этой части можно узнать о том, как выжать максимум пользы из nest-next: Hot Module Replacement, CDN, удобный SSR и разворачивание "за слешом".

Читать далее

Приёмы ускорения кода на JS и других языках: подборка от разработчика поиска Яндекса

Время на прочтение17 мин
Охват и читатели74K
Привет! Меня зовут Виктор Хомяков, в Яндексе я работаю над скоростью страниц поиска. Однажды мне в голову пришла идея обобщить свой опыт и систематизировать приёмы ускорения работы кода на JavaScript. То, что получилось в итоге, собрано в этом материале.

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


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

Будущее Web это HTML через WebSockets

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

Будущее веб архитектуры  программного обеспечения уже обретает формы и на этот раз server-side рендеринг (опять). Но есть кое-что новое,  а именно передача HTML по WebSocket.

Подход с использованием SPA(Single Page Appllication) и JSON API привел к тому, что многие команды разработки погрязли в бесконечных спорах о структуре данных и ошибках синхронизации между этими двумя слоями. Это увеличивает стоимость разработки, замедляет релизный цикл и сокращает время, которое можно было бы потратить на инновации.

Читать далее

Как называть функции во фронтенде

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

Тут нет правильного варианта ответа, это вкусовщина. Единственная цель этой статьи – узнать ваше мнение по этому вопросу и окончательно сформировать своё, потому что сейчас я в сомнениях.

Не знаю, какие там проблемы в других сферах программирования, мой вопрос касается фронтенда.

Независимо от того, каким фреймворком вы пользуетесь, и пользуетесь ли вообще, у нас есть HTML-шаблон и JavaScript-код. Код частично залезает в шаблон, и тут и появляется наша проблема. От чего отталкиваться при названии функций?

Читать далее

Контейнер LXC для веб-разработки как альтернатива Docker

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

Разговоров о Docker очень много, а вот про LXC гораздо меньше шума. А ведь у LXC есть свои области применения, где он может оказаться удобнее.

Изначально мы применили LXC для контейнеризации нашего массивного веб-приложения с длинной историей разработки с 2006 года. И с этой задачей он справился очень хорошо, нам удалось довольно быстро создать образ и упаковать всё в контейнер.

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

Читать далее

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

Обзор Codelobster — Удобная кроссплатформенная IDE

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

Полноценная мультплатформенная (включая Мак, Линукс и т.д.) IDE с нормальным автокомплитом для Друпала, JavaScript и TypeScript.

Читать обзор

Обезболиваем RegEx

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

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

Можно ли вообще не использовать регулярные выражения? А в каких случаях нельзя? Что делать, если использовать все-таки приходится? Предлагаю разобраться с этим. Определим ситуации, когда регулярные выражения можно не использовать, когда нужно использовать и как сделать так, чтобы не было мучительно больно к ним возвращаться.

Читать далее

NEST-NEXT: Best Practices — Часть 1

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

Это первая часть статьи о применении комбинации технологий nest.js и NEXT.js, где будет рассмотрено создание проекта, подключение фреймворков и выбор эффективного способа работы с SSR. Во второй части можно узнать о HMR, использовании данных при SSR и разворачивании "за слешом".

Читать далее

Важность человеческого фактора UX-дизайне

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

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

Возможно, вы уже встречали термин «human factors design» в прошлом. Но что это такое?

Читать далее

Дайджест свежих материалов из мира фронтенда за последнюю неделю №479 (26 — 31 июля 2021)

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

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

Как составить ТЗ, чтобы не пришлось икать?

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

Техническое задание - если говорить простым языком, это перечень пожеланий заказчика, обернутый в более или менее понятную оболочку. Бывают случаи, когда клиент совсем не знает, что он хочет, но хочет. В этом случае, обычно, он высказывает общие пожелания в свободной форме - и далее отдаёт работу на усмотрение заказчика. А бывает наоборот - клиент отлично знает что он хочет, разбивает информацию на блоки, даёт ссылки на информацию для создания уникального текста, или на источники для его рерайта, чётко, или более или менее чётко определяет структуру и порядок блоков.

Рассмотрим оба варианта:

Пример №1: ТЗ в виде неструктурированного потока сознания

Я хочу продать собственную книгу по кулинарии! В ней я собрал авторские рецепты со всего мира и добавил собственные фишки! Хочу, чтобы клиенты заходили на сайт и понимали, какие-же классные там рецепты - и что они обязательно должно её купить/заказать. Вот тут все картинки из книги, а тут тексты. Сделайте, чтобы прям было очень красиво и сочно. Желательно в тёмной гамме.

_____________

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

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

Дальше