IT Kniga
Интернет-магазин компьютерной литературы

HTML, CSS, Javascript

Разработчики dzen.ru, что с вами не так?

JavaScript - habr.ru - Ср, 09/10/2024 - 20:14

Приветствую, Хабравчане!

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

Читать далее
Категории: HTML, CSS, Javascript

[Перевод] 10 концепций JavaScript, которыми должен овладеть каждый разработчик Node.js

JavaScript - habr.ru - Ср, 09/10/2024 - 15:09

Данная статья является переводом

Node.js быстро стал стандартом для создания веб-приложений и системного ПО благодаря возможности использовать JavaScript на серверной стороне. Популярные фреймворки, такие как Express, и инструменты вроде Webpack способствуют его широкому распространению. Несмотря на существование конкурентов, таких как Deno и Bun, Node остается ведущей платформой для серверной разработки на JavaScript.

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

Статья предлагает глубже погрузиться в 10 ключевых концепций JavaScript, которые необходимы каждому разработчику Node.js. Вы узнаете о замыканиях, прототипах, приватных свойствах, обработке ошибок и других важных аспектах, которые помогут сделать ваш код более эффективным и масштабируемым. Эти концепции не только улучшат ваше понимание языка, но и откроют новые возможности для разработки на Node.js.

Читать далее
Категории: HTML, CSS, Javascript

Посмотрим на never с разных сторон?

JavaScript - habr.ru - Ср, 09/10/2024 - 14:00

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

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

Хотите знать больше?
Категории: HTML, CSS, Javascript

Content Security Policy (CSP) защитит от js-снифферов и утечек?

JavaScript - habr.ru - Ср, 09/10/2024 - 12:24

Довольно часто встречаю утверждение о том, что настроенная Content Security Policy (CSP) – достаточное и надежное средство защиты frontend-приложений от большинства существующих угроз.

Поговорим о задачах CSP и на практике проверим, защитит ли CSP от кражи данных с web-страницы js-сниффером.

Читать далее
Категории: HTML, CSS, Javascript

[Перевод] Откройте для себя весь потенциал AbortController

JavaScript - habr.ru - Ср, 09/10/2024 - 08:05



В этой статье я расскажу об одном из стандартных API JavaScript, о котором, вы, возможно не слышали. Это AbortController.


❯ Что такое AbortController?

AbortController — это глобальный класс в JS, который можно использовать для прерывания любых асинхронных операций.


const controller = new AbortController() controller.signal controller.abort() Читать дальше →
Категории: HTML, CSS, Javascript

Что нас ждет в Next.js 15: обзор заявленных новинок

JavaScript - habr.ru - Втр, 08/10/2024 - 06:53

Привет, на связи Майя из Spectr. Сегодня я поделюсь обзором последней, пятнадцатой версии Next.js. В статье мы разберем интересные улучшения: React Compiler, улучшенные сообщения об ошибках гидрации в ‘use-client’, исправление поведения кэширования, Partial Prerendering (PPR), API next/after, обновленный дизайн create-next-app и оптимизацию бандлинга внешних пакетов.

Узнать о функциях Next.js 15
Категории: HTML, CSS, Javascript

Веб-доступность. Бесконечная лента

JavaScript - habr.ru - Втр, 08/10/2024 - 00:09

Про то, что такое бесконечная лента (Infinity Scroll, Feed) - есть много статей, постов, гайдов по реализации самого функционала, и, кажется, рассказывать про то, как именно ее реализовать и что это такое - не идея этой статьи. Так же, как и рассказывать о плюсах и минусах этого подхода. Если Вы все же не знаете, что это за чудо инженерной мысли - можно ознакомиться тут.

Лично я хочу сосредоточиться на доступности такой ленты, а в конце - пример реализации на простом HTML/CSS/JS с поддержкой альтернативного управления, однако такой пример легко портировать на любой другой фреймворк/библиотеку.

Читать далее
Категории: HTML, CSS, Javascript

Bootstrap или свое решение

Хекслет и все его сайд-проекты: code-basics.com, codebattle.hexlet.io, guides.hexlet.io реализованы с помощью Bootstrap. Причем, в основном, это стандартный бутстрап, иногда расширенный с помощью его встроенных механизмов (theming).

Почему мы это делаем?

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

Это особенно важно, учитывая, что для современных it-бизнесов наиболее критичная метрика — time to market, то есть скорость, с которой изменения доставляются до пользователей. Быстрые и частые релизы позволяют не тратить время на ненужные вещи и делать только то, что пользователям нужно по-настоящему.

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

С плюсами понятно, а что насчет минусов? Ведь сайт выглядит не “круто”.

Как показывает практика, влияние дизайна на успешность продукта нередко переоценивается. Более того, на Хекслете происходит ровно наоборот. Сейчас дизайн более стандартный для Bootstrap, чем был в начале 2018 года (у нас была попытка сделать что-то совсем своё), и мы получаем много положительных отзывов:

Читать далее
Категории: HTML, CSS, Javascript

Как я решил вернуться в алготрейдинг после 10 летнего перерыва

JavaScript - habr.ru - Пнд, 07/10/2024 - 00:31

Самое главное, что никакого отношения к слову алко это не имеет.
В течении нескольких лет я торговал в связке программы технического анализа AmiBroker + торговый терминал QUIK через .tri и .trr файлы в основном на фьючерсах на срочном рынке.
Не могу сказать что это было неудачным опытом, но со временем я узнал про распределение активов (Asset allocation) и понял что очень сложно соревноваться с бенчмарком в виде фондового индекса.

В теории это означает что можно купить индекс и забыть об этом, заниматься своими делами, бизнесом, семьёй - а индекс растёт (ну или падает, смотря какое время) и для этого не нужно прикладывать никаких действий.
А за связкой AmiBroker + QUIK постоянно нужно было присматривать, следить не отвалился ли адаптер импорта через .tri файл. А ещё иметь несколько виртуальных машин с установленными копиями Windows на каждой виртуалке на одном физическом компьютере для разных брокеров. Ведь возможна была установка только одной пары AmiBroker + QUIK на одну винду.
Всё это мне не особо нравилось.

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

???? ФИНАМ
???? Алор
???? Тинькофф Инвестиции
???? (на полноту сведений не претендую и буду рад узнать ещё варианты брокеров с АПИ)

По субъективным причинам я выбрать работать с T‑Bank Invest API (это бывший Тинькофф) через среду выполнения JavaScript Node.JS.

В статье ссылка на GitHub с кодом робота.

Самые первые шаги ????
Категории: HTML, CSS, Javascript

Vike — современный SSR-фреймворк

JavaScript - habr.ru - Вс, 06/10/2024 - 11:16

Всем привет. Я являюсь ведущим frontend-разработчиком компании 21Yard. Мы разрабатываем сервис для поиска строительных подрядчиков. На проект я пришел желторотым масленком, который мало смыслил в seo-продвижении продукта, но жизнь внесла свои коррективы, и сейчас я хочу рассказать, как я vike покорял.

Придя на проект, я с энтузиазмом взялся за дело. На момент старта моей работы у нас уже существовал интернет-портал, написанный на php. К сожалению, он был написан на устаревшем фреймворке, поэтому было принято решение переписать его с нуля на чем-то современном - выбор пал на React. Однако, параллельно кодингу шел и маркетинг. К работе был привлечен seo-специалист, по указаниям которого мне нужно было вносить микро-правки в старый портал. Тогда я узнал, что такое seo, и что для него нужен ssr...

Читать далее
Категории: HTML, CSS, Javascript

Inertia 2.0: Новые возможности для разработчиков

JavaScript - habr.ru - Вс, 06/10/2024 - 06:25

На конференции Laracon Тэйлор Отвел, создатель популярного PHP-фреймворка Laravel, представил Inertia.js версии 2.0 — самое крупное обновление с момента запуска этого пакета. Новая версия приносит множество полезных функций, которые значительно упростят разработку приложений на Laravel и Inertia.js.

Читать далее
Категории: HTML, CSS, Javascript

[Перевод] Эффективное использование фикстур в Playwright: полное руководство

JavaScript - habr.ru - Сб, 05/10/2024 - 14:10

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

Читать далее
Категории: HTML, CSS, Javascript

Многопоточность в NextJS: как запустить и нужно ли?

JavaScript - habr.ru - Сб, 05/10/2024 - 09:00

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

Читать далее
Категории: HTML, CSS, Javascript

Как нарисовать квадрат 3 × 3 см на веб-странице*

* Не привлекая внимания санитаров

Меня зовут Илья, я занимаюсь фронтенд-разработкой вот уже 10 лет. Представьте, что вам нужно сделать стили для печати документов, а бегать к принтеру с линейкой, чтобы убедиться в корректности фактических размеров отдельных элементов, очень не хочется. Было бы куда проще иметь возможность приложить ту же линейку к экрану. Но размеры элементов на экране почти всегда не соответствуют их физическим размерам при печати. Казалось бы, зачем это вообще может быть кому-то нужно. Но это бывает важно. Например, в типографиях.

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

Что ж, вызов был брошен. И я поставил себе задачу (вы же тоже сами ставите себе задачи?) — нарисовать красивый красный квадратик размером 3 × 3 см. Тому, что у меня в итоге получилось, и посвящён мой необычный рассказ. 

Читать далее
Категории: HTML, CSS, Javascript

Автогенерация функций выборки данных и всей сопутствующей типизации с помощью Orval

JavaScript - habr.ru - Пт, 04/10/2024 - 08:51

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

Читать далее
Категории: HTML, CSS, Javascript

Что интересного в React 18

JavaScript - habr.ru - Чт, 03/10/2024 - 13:02

Привет! Я Дима, фронтенд-разработчик в Surf. Сегодня рассмотрим самую популярную библиотеку для фронтенда — React. Что было в React18? Давайте узнаем!

Читать дальше
Категории: HTML, CSS, Javascript

Книга: «Паттерны проектирования JavaScript»

JavaScript - habr.ru - Чт, 03/10/2024 - 10:53
Привет, Хаброжители!

Раскройте потенциал паттернов проектирования JavaScript. Найдите структурированные решения распространенных задач разработки, пригодные для многократного использования и повышающие масштабируемость, производительность и удобство сопровождения кода. Узнайте, как применение этих паттернов позволяет создавать более чистый и понятный код, способствует организации совместной работы в команде, сокращает количество ошибок и экономит время и силы.Автор дает исчерпывающее представление о паттернах проектирования в современном JavaScript (ES6+) и приводит практические примеры их применения. Сначала вы познакомитесь с порождающими, структурными и поведенческими паттернами проектирования в идиоматическом для JavaScript стиле, а затем переключитесь на архитектурные паттерны и паттерны пользовательского интерфейса. Вы узнаете, как применять паттерны, характерные для таких библиотек, как React, и распространять их на фронтенд и микрофронтенд. В последней части книги представлены и проиллюстрированы паттерны улучшения производительности и безопасности, включая обмен сообщениями, события и стратегии загрузки ресурсов, а также паттерны высокопроизводительных асинхронных вычислений. В издании приводятся примеры использования React и Next.js, а также JavaScript и Web API. Они помогут выбрать и внедрить проверенные паттерны проектирования в различных веб-экосистемах и изменить ваш подход к разработке. Читать дальше →
Категории: HTML, CSS, Javascript

Как правильно запрещать индексацию страниц в Google

JavaScript - habr.ru - Чт, 03/10/2024 - 08:44

Данная ошибка "Indexed, though blocked by robots.txt" появляется тогда, когда бот Google индексирует страницы, несмотря на то, что вы запретили это в файле robots.txt. Это происходит потому, что бот часто игнорирует запреты и добавляет эти страницы в индекс, хотя по правилам они не должны были туда попасть. Чтобы решить эту проблему, можно воспользоваться несколькими методами, например, скорректировать настройки robots.txt, использовать мета-теги noindex для выбранных страниц или обратиться в поддержку Google для получения рекомендаций.

Читать далее
Категории: HTML, CSS, Javascript

Мемоизация в HMPL. DevBlog №1

JavaScript - habr.ru - Чт, 03/10/2024 - 08:19

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

Мемоизация запроса - это один из отличнейших способов оптимизации в программировании. «Что это? Как оно работает?» - на эти вопросы я постараюсь ответить в данной статье.

Читать далее
Категории: HTML, CSS, Javascript

DRY-фреймворк: продолжение

Идея нехитрая, но очень заманчивая — пишешь CSS, пишется и CSS и HTML одновременно.
В этой статье разбирается воплощение идей akopyl в виде JS-фреймворка.

Особая благодарность автору идеи akopyl.

Читать ещё один JS-фреймворк
Категории: HTML, CSS, Javascript

Большая распродажа компьютерной литературы

Полный список здесь

RSS-материал