Современная разработка на JavaScript часто сталкивается с задачами асинхронной работы и обработки ошибок. Как правило, для этих целей используются конструкции try-catch
и async-await
. Однако они могут утяжелять код и усложнять его восприятие. Чтобы решить эту проблему, был предложен новый оператор безопасного присваивания ?=
, который значительно упрощает обработку ошибок и улучшает читаемость кода. В этой статье мы рассмотрим, как работает этот оператор, его особенности и преимущества для разработчиков.
Пользователь
Веб-доступность. Бесконечная лента
Про то, что такое бесконечная лента (Infinity Scroll, Feed) - есть много статей, постов, гайдов по реализации самого функционала, и, кажется, рассказывать про то, как именно ее реализовать и что это такое - не идея этой статьи. Так же, как и рассказывать о плюсах и минусах этого подхода. Если Вы все же не знаете, что это за чудо инженерной мысли - можно ознакомиться тут.
Лично я хочу сосредоточиться на доступности такой ленты, а в конце - пример реализации на простом HTML/CSS/JS с поддержкой альтернативного управления, однако такой пример легко портировать на любой другой фреймворк/библиотеку.
Angular Signals Implementation
Сигнал — это значение, которое является «реактивным», то есть может уведомлять заинтересованных потребителей, когда оно изменяется. Существует множество различных реализаций этой концепции. В данной статье мы рассмотрим имплементацию команды Angular, углубимся в код и попробуем разобрать, как именно работает алгоритм сигналов изнутри.
Опять эти правки! Учимся общаться с разработчиками и добиваться внедрения правок
Привет! Я Илья Русаков — CEO impulse.guru. За годы практики заметил, что взаимодействие с ребятами-seoшниками не всегда проходит гладко. Сегодня разберёмся в нуждах и потребностях команд, посмотрим на примеры их «противостояния», и попутно я буду рассказывать, как облегчить взаимодействие между разработкой и SEO.
Что за противостояния, о чём вообще речь? Когда SEO-специалист приносит стопку правок, разработчик почему-то не торопится их брать в работу. И это не из вредности — часто бывает, что seошник не доносит ценность правок, поэтому те и не попадают в список первоочередных задач разработчика. SEO-специалист продолжает настаивать, и вот уже работа двух команд напоминает батл — кто кого переиграет.
Как я узнал номер паспорта и телефон премьер-министра по фото в Instagram*
Акт 1: полдень воскресенья
Я занимался домашними делами, ни о чём плохом не думал, пил водичку и ни в коем случае не имел никаких намерений заниматься подрывной деятельностью против Австралийского Союза.
А потом я получил сообщение в «групповом чате»1.
Милое сообщение от моего друга с фотографией посадочного талона. В сообщениях от друзей хорошо то, что они не несут за собой никаких катастрофических последствий
Обладателем талона был Тони Абботт, один из множества бывших премьер-министров Австралии.
Как улучшить производительность в Angular с помощью Memoize Pipe
Angular — это мощный инструмент для создания сложных веб-приложений. Но, как и в любом другом фреймворке, возникают свои сложности. Одна из таких проблем — это частые перезапуски тяжелых функций в шаблонах, что сильно бьет по производительности. Если приложение начинает тормозить, значит пора задуматься об оптимизации. И здесь на помощь приходит Memoize Pipe, способный спасти ваш интерфейс от лишних вычислений.
Как мы заработали 100 000 рублей за 3 месяца, запустив простой конвертер картинок в США
Что мы поняли, запустив простой конвертер картинок за 1 месяц в США. И как заработали 100 000 рублей за первые 3 месяца, хотя вокруг куча бесплатных аналогов.
Как работает фронтенд: от загрузки сайта до современных инструментов
Фронтенд — это то, что видит и с чем взаимодействует каждый пользователь интернета, но как он работает на самом деле?
Шаблоны для эффективной работы с DOM с помощью современного чистого JavaScript
В этой статье мы познакомимся с эффективными приемами работы с DOM, которые помогут минимизировать потребление памяти и обеспечить высокую производительность ваших приложений.
Обходим блокировку VPN
Мой провайдер помимо замедления (читай полная блокировка) YouTube так-же стали блокировать соединения с моими рабочими VPN. Работодатель не очень любит, когда на встречах на вопрос о прогрессе, я неделю отвечаю, что у меня не работает VPN! Своими действиями, мой провайдер сам меня подтолкнул к поиску обходных путей.
Сразу скажу, обходной путь придумал не сам, мне его подсказал автор проекта zapret, а точнее его комментарий, более того, я использую его проект, чтоб смотреть нормально YouTube. Спасибо огромное!
Добавлю, я использую nftables и nfqws, если этот вариант работает у меня — это не значит, что оно заработает и у вас! Возможно, вам придётся изменить некоторые параметры.
Мобильная разработка за неделю #552 (19 — 25 августа)
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
Telegram Mini App. Как создать Web App с нуля
Mini Apps (или же WebApps) - это относительно новый и удобный способ добавления веб приложения прямо в интерфейсе приложения Telegram. Используя JavaScript, становится возможным создавать бесконечное множество интерфейсов, которые смогут заменить полноценный веб-сайт.
Особенность MiniApps заключается в том, что они поддерживают авторизацию, платежи одной кнопкой и возможность работать с данными пользователя, открывшего мини-приложение.
И сегодня мы попробуем создать miniapp приложение, взаимодействующее с данными пользователя.
Приступим
Кайфовый дизайн: Как сделать приложение, которое не захочется удалить
Почему одни приложения мы обожаем, а другие не хотим лишний раз открывать? Почему заходим в Телегу 20 раз на дню, а английский изучаем именно через Дуолинго?
Эта статья для дизайнеров и продактов, которые хотят понять, чем их любимые цифровые продукты отличаются от просто удобных.
В этой статье:
• Когда юикса стало недостаточно?
• Что такое User Joy?
• Зачем нам думать про кайф?
• Как измерять кайфовость?
• С кого брать пример?
• 15 способов достижения кайфа.
• Что поменять в дизайн-процессе?
Динамический рендеринг Angular-компонентов
Привет Хабр. На связи Даня, Angular-разработчик из команды Т-Бизнеса.
У меня для вас статья по работе с динамическими компонентами. Мы подробно рассмотрим процесс создания этих компонентов, будут детальные примеры кода и пошаговое руководство всего процесса создания. Я добавил комментарии и описания, чтобы прояснить важные моменты и улучшить понимание концепций.
Добро пожаловать под кат!
Магия CSS на практике: советы по вёрстке от гика. Часть 3
Хабр, привет! Я снова пришёл к вам со статьёй, где показываю мои любимые техники вёрстки. Моя цель — поделиться опытом с вами. Я использую не только трюки известных экспертов, есть лично мои придумки. Но, пожалуйста, относитесь к этому контенту, как к просто альтернативному мнению. Мои техники не являются единственными правильными решениями.
Сегодня мы рассмотрим:
- подходы при стилизации элементов для вёрстки текста;
- какая может быть проблема с радиокнопками в вашем проекте;
- как задать размеры с использованием функций
min()
иmax()
; - CSS-наследование и свойство
line-height
; - для чего делать подсказки в имени класса.
Давайте посмотрим, что я вам подготовил.
Как подружить веб-компоненты и JS-фреймворки
Всем привет, я Роман Троицкий. Очень люблю веб-разработку; участвовал в проектах, попавших на Awwwards, Tagline и GoldenSite; помогаю организовывать митап Moscow CSS; участвовал в записи и разработке курса по фронтенду для Skillbox. На примере своего проекта я расскажу о сложившейся с Web Components ситуации, опишу их достоинства и недостатки.
Туннель IPv6 через IPv4 для обхода замедления Youtube на уровне роутера
Туннели IPv6 через IPv4 помогают получить доступ к сайтам и сервисам, которые используют новый протокол IPv6, даже если у вас старый IP‑адрес версии 4 (IPv4). Чтобы его настроить, нужно зарегистрироваться на сайте провайдера, который предоставляет такую услугу (его еще называют туннельный брокер), и использует технологию 6in4. После регистрации вы получите все необходимые данные для подключения.
Одно из преимуществ данного способа заключается в том, что не потребуется настраивать что-то дополнительно на других устройствах в локальной сети, не сломается работа на AndroidTV итд.
Туннель работает только с белым IP‑адресом (некоторые провайдеры выдают его бесплатно, некоторые за определённую сумму в месяц).
PWA вместо приложения: плюсы, минусы, подводные камни
Осенью прошлого года мы решили делать PWA для платформы: в нашем случае это оказалось существенно дешевле, проще и практичней. Решил поделиться, почему выбрали PWA, какие преимущества и недостатки нашел при сравнении технологий, что успели сделать с командой за полгода, и какие проблемы сейчас есть у технологии.
Computed сигналы и ChangeDetection — подробный разбор
Сигналы - новый реактивная модель для фреймворка Angular, который предлагает улучшение производительности, а также более простой подход к написанию реактивного кода.
Для многих моих коллег сигналы стали чем-то мистическим. С одной стороны, код с ними стал выглядеть элегантнее, с другой была обнаружена проблема с пониманием внутренних механизмов их работы. В частности, загадочно выглядели computed сигналы, в которых в отличие от хуков React не прописываются зависимости напрямую. Также возникали вопросы связанные с детекцией изменений. В отличие от Observable и async pipe, который использует напрямую ChangeDetectorRef, сигналы могут вызываться в шаблоне, вызывая, при этом, его изменения.
В этой статье мы погрузимся в исходный код сигналов и разберем детально их работу.
Docker для Angular-приложений: от простого к несложному
Привет, Хабр! Меня зовут Артём, я разрабатываю фронтенд систем управления сетью в YADRO. С Docker знаком давно и часто его использую. Но когда столкнулся с задачами, где недостаточно просто скопировать шаблонный Docker-файл и подправить пару строчек, решил больше погрузиться в эту тему.
В статье я разберу типовые вопросы, связанные с запуском Angular-приложений в контейнерах, — это поможет в дальнейшем справиться с более замысловатыми задачами. Текст будет полезен тем, кто уже что-то знает про Docker, но не углублялся в детали или хочет освежить знания на практике.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность