Обновить
323.02

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

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

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

Триллионы RWA ликвидности TradFi заходят в Solana. Как это изменит рынок DeFi?

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.6K

Представьте, что в Solana начинают заводить не только токены и мемкоины, а реальные финансовые активы — от гособлигаций до золота.

На днях у меня было интервью с одной любопытной Web3-компанией, которая работает на стыке блокчейна и традиционных финансов. И вот сейчас они готовят протокол для вывода триоллионов RWA ликвидности в DeFi Solana.

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

Читать далее

Даже силачи пишут костыли

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров992

На каждом созвоне слышно одни и те же правильные слова:
Надо думать наперед,
Архитектура должна быть мощной,
Давайте писать с запасом на рост.

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

Читать далее

React Custom Hook: useDebounce

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров1.7K

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

Читать далее

Полезные конструкции Python, которые упростят работу с данными

Уровень сложностиПростой
Время на прочтение25 мин
Количество просмотров17K

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

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

Читать далее

Не просто ещё один органайзер: Как я создал универсальную платформу для управления знаниями и данными

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7K

Всем привет!

Хочу поделиться историей создания проекта, над которым я работал последние несколько лет — foxBase (https://fox-base.ru).

Как часто вам приходилось переключаться между десятком приложений для управления разными аспектами вашей работы и жизни? Блокнот для заметок, Excel для финансов, Trello для задач, отдельные инструменты для хранения кода и документации... Знакомая ситуация?

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

Что это такое?

foxBase — это веб-приложение для создания универсальных баз знаний и данных. Его ключевая особенность — невероятная гибкость. Это не жёсткий конструктор, а скорее «цифровой конструктор ЛЕГО», где вы сами решаете, как структурировать информацию.

Для кого это?

Читать далее

Циклы в JavaScript: полный обзор функции

Время на прочтение6 мин
Количество просмотров4.6K

Привет! Я — Александр Дудукало, автор базового курса по JavaScript. Продолжаем погружение в этот язык — на этот раз поговорим про циклы. Обсудим, зачем они нужны, какими бывают и как с ними работать.

Читать далее

Написал кастомную альтернативу Google таблице и Excel

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров7.5K

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

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

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

В качестве стека я выбрал Vue3 и TypeScript, а в качестве табличного редактора – проверенный Handsontable.

Читать далее

ГОСТ 57580 без головной боли: инструкция по автоматической оценке и отчетности

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров719

ГОСТ Р 57580.1-2017, как и любой другой стандарт на территории Российской Федерации, не является обязательным для применения. Однако Банком России выпущены нормативные акты, устанавливающие необходимость применения ГОСТ Р 57580.1-2017. В статье мы расскажем, как можно автоматизировать и упросить процесс проведения оценки соответствия требованиям ГОСТ Р 57580, используя SECURITM.

Под ГОСТом 57580 подразумевается набор критериев, благодаря которым определяется уровень защиты информации в соответствии с требованиями. 

Проверка на соответствие требованиям ГОСТ 57580 в финансовых организациях основывается на том, насколько организация придерживается мер для защиты данных.

Из значимых особенностей ГОСТ 57580, следует отметить выделение стандартом трех направлений оценки:

Читать далее

Почти ультимативный гайд по Criteria API с продвинутыми возможностями Hibernate

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров3.7K

Вам нужно создать сложный запрос к реляционной БД с изменяющимися параметрами?

В этой статье рассмотрим основные возможности Criteria API. Также рассмотрим более продвинутые вещи, например создание CTE и оконных функций, которые есть у Hibernate Criteria API. В статье много примеров, которые смогут помочь при написании запросов Criteria API на практике.

Читать далее

Единый код валидаторов на фронте и бэке (PHP + FFI + Go + JS)

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.3K

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

Если фронт и бэк написан на одном языке (привет js+node), то мы можем напрямую использовать один код валидатора и там и там.

В остальных случаях (js+php, java, python, go, dotnet) есть проблема. Во-первых, придётся два раза писать примерно одно и то же на двух языках, во-вторых, нужно убедиться, что написанное работает одинаково. Особенно печальны случаи, когда фронт ошибочно зарезает данные, валидные с точки зрения бэка и логики приложения.

Читать далее

Рассуждение о Легаси

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.6K

Сегодня хотелось бы поговорить с вами о такой теме как Легаси.

Давайте дадим определение, что такое легаси.

Легаси - это тот код, который писали до нас и который пришел нам от других.

Легаси - это не всегда «плохой» код, а просто код, который устарел по технологии, по структуре или по пониманию.

Почти любой проект со временем превращается в легаси, если его не обновлять.

На своем опыте разработки я могу классифицировать легаси на три категории. Опять же я не претендую на абсолютную объективность. Это только моя классификация, на основе того, с чем лично я столкнулся.

1) Технологии, которые еще работают, но есть обновленные версии пакетов, фреймворков и инструментов. Просто в данный момент код работает на предыдущих версиях. Самый очевидный пример  проект написанный на Vue2, когда есть Vue3. Переписать его на новую версию с одной стороны не так уж и трудно. А с другой это связано с подводными камнями. Если мы переходим с Option Api на Composition Api то простой заменой одного кода на другой не обойтись. Некоторые вещи работают иначе. И придется отлавливать локальные проблемы. Если проект небольшой и сложной логики там мало, то это делается быстро. Если же она есть то проблемы точно будут. Кроме того не стоит забывать, что часть пакетов и библиотек, которые работают с Vue2, не работают с Vue3. Следовательно придется искать аналоги. В целом проблемы и способ перехода здесь прозрачны и это самый легкий вариант.

2) Нельзя переписать, но можно работать. Это проекты написанные на старых технологиях, как jquery и других. Они не могут быть быстро и легко переведены на современные инструменты. Так как для этого придется все писать заново. Однако код, который был написан, достаточно понятен и его не так сложно поддерживать. А переезд на новый вариант это параллельная разработка нового. Здесь тоже все понятно. Мы не имеем возможности бесшовно перейти на новые версии, потому что их просто может не быть. Поэтому приложение пишется с нуля на новом стеке. 

Читать далее

103 Early Hints в NGINX: как выжать бесплатный прирост LCP без переписывания бэкенда

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.2K

Привет, Хабр!

Вы, наверно, привыкли к стандартным HTTP-ответам – 200, 301, 404, 500 и т. д. А тут подкрался новый статус 103 – Early Hints. Это небольшой пинок браузеру: сервер шлет код 103 с заголовками Link: rel=preload ещё до того, как сформировал основной HTML. Пока бэкенд думает над ответом, браузер параллельно начинает грузить критические ресурсы (CSS, JS, шрифты и т. д.). Звучит просто, но эффект на производительность и LCP может быть весьма значительным.

Читать далее

Core Web Vitals-2025: как управлять скоростью и стабильностью сайта

Время на прочтение10 мин
Количество просмотров1.9K

Салют, Хабр! 

Меня зовут Паша, я вхожу в группу обеспечения производительности интерфейсов; неформально это команда «Скорость» SberDevices. Мы с коллегами отвечаем за то, чтобы сайты sberdevices.ru, giga.chat, developers.sber.ru и другие быстро работали и красиво выглядели. Если пользователю неудобно использовать сайт, он быстро с него уйдёт (и не станет ничего читать и покупать).

Как только потребовалась оценка качества веб-страниц, появилось и множество подходов к ним. Но в итоге индустриальным стандартом стали методы, предложенные Google и реализованные на уровне браузерных API. Чтобы понять, как сайты стоит оптимизировать и что влияет на их быстродействие, Google оперирует тремя метриками — Core Web Vitals. Две из них действуют с мая 2020 года, а третьей не исполнилось и года. Сегодня расскажу, как разработчик может оценить их и улучшить без консультации команды скорости (если она есть). А ещё благодаря оптимизации метрик Core Web Vitals сайт ранжируется в поисковиках выше. Поехали!

Читать далее

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

Универсальный парсинг сайтов на Python: requests vs headless, токены, куки, прокси и ротация IP

Время на прочтение7 мин
Количество просмотров12K

Вы когда-нибудь радовались идеальному прототипу парсера, который у вас летал на демо-странице, а в проде внезапно начал ловить 403, 429, пустые HTML и «куда-то делись карточки»? Контент отрисовывается на JS, сервер требует токен, после смены IP, старая сессия перестаёт работать.

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

Читать далее

Упрощаем работу с БД с помощью Drizzle ORM — как выжать максимум из инструмента

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров1.9K

Привет, я Сергей Маркизов, разработчик диджитал-продакшна Далее. В наших проектах часто использую Drizzle — современную, типобезопасную ORM для TypeScript, которая не усложняет базовую задачу: читать и писать данные. В этой статье расскажу, чем библиотека отличается от других и как с ней работать.

Читать далее

Не откладывайте на завтра, что можно сделать сегодня

Время на прочтение3 мин
Количество просмотров2.9K

Не откладывайте на завтра то, что можно сделать сегодня. Именно эта мысль для меня стала одной из ключевых в разработке приложений. «Почему?» — спросите вы.

Все очень просто. Говорите себе: «Это я потом поправлю, а это я потом перепишу. А вот это пока подождет. А файловую систему я потом продумаю»? Так вот это «потом» может так и не наступить. А ваш проект превратится в мусор. А даже если вы и вспомните о том, что пора что-то куда-то переносить, вместо двух файлов у вас будет 100 или больше. И вы уже не будете помнить, что за что отвечает и где лежит. В итоге вместо одного часа вы потратите день или больше на рефакторинг, которого можно и нужно было избежать.

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

Читать далее

Вебмастеры и реликтовый веб

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров2.9K

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

Читать далее

Создание чата на api2app + n8n

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.2K

В этом уроке расскажу как можно использовать n8n (платформу для автоматизации рабочих процессов) в связке с api2app. Создам виджет чата с ИИ для встраивания на сайт. У n8n есть свой виджет для встраивания, но возможностей кастомизации маловато.

Читать далее

HTML- и CSS-советы для джуниор фронтенд-разработчиков

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров11K

Привет, Хабр!

Я начинал изучать вёрстку в 2010 году. Я не знал английский, поэтому у меня был ограниченный набор материала. Кто помнит видеоуроки Попова?

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

Я собрал несколько советов. По моей задумке, если вы обратите внимание на эти аспекты, то ваш код будет лучше.

Давайте посмотрим, что я вам подготовил.

Читать далее

Мощь Intl API: подробное руководство по встроенной в браузер интернационализации

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.3K

В двух словах: интернационализация — это не только перевод текста. Она включает в себя форматирование дат, правильное образование множественного числа, сортировку имен и многое другое с учетом конкретных локалей. Вместо тяжелых сторонних библиотек современный JavaScript предлагает Intl API — мощный встроенный инструмент для работы с i18n. Еще одно напоминание о том, что веб действительно глобален.

Существует распространенное заблуждение, что интернационализация (i18n) сводится лишь к переводу интерфейса. Перевод, конечно, важен, но это лишь одна из частей. Настоящая сложность — в адаптации информации под культурные особенности.

Читать далее

Вклад авторов