Все потоки
Поиск
Написать публикацию
Обновить
352.39

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

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

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

Управление bluetooth из js или как я реверсинжинирил умный чайник

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

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

Читать далее

Локаторы. Стратегии поиска веб-элементов

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

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

Читать далее

Обсуждаем изменения в Go 1.24, мьютексы и пакет unsafe — открытие сезона митапов для гоферов в Москве

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

С приходом весны из-под сугробов снова начинают прорастать полезные митапы. На первой в сезоне Go-сходке от YADRO предлагаем присоединиться к обсуждению изменений Go 1.24. Эксперты из AvitoTech, Yandex и YADRO подискутируют, как обновления повлияют на код разработчиков. Также вы узнаете, как обеспечить высокопроизводительную конкурентность в Go и с умом применять пакет unsafe. 

Офлайн-участников ждет демозона с оборудованием для ЦОД и телеком-операторов, технические интерактивы и подарки. Регистрация открыта!

Читать далее

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

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

Примерно два года назад я начал изучать Python и Django. В течение этого времени сохранял ссылки, которые считал полезными. Недавно решил структурировать их. Также стало интересно, а какие ресурсы считают полезными другие разработчики. В данной статье я собрал разнообразные ссылки по Python, которые сохранял, либо которые меня заинтересовали (внимание больше на web). Буду благодарен, если в комментариях поделитесь своими полезными ссылками.

Мои изыскания показали, что меня и большинство других людей (чьи статьи я нашел) во-первых интересует обучение. Таких ссылок получилось больше всего. На втором месте - сообщества и мероприятия. На третьем -  поиск работы. Еще меня интересовала тема наставничества и менторства, нашел несколько ссылок и на эту тему.

Читать далее

Serverless-трекер поездов метро

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

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

График поездов метро Нью-Йорка можно посмотреть на mta-trmnl.pages.dev. Исходный код моего проекта выложен на GitHub: фронтенд, бэкенд.

▍ Я безголовый


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

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

tabs-broadcast — библиотека для синхронизации вкладок

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

tabs-broadcast — это открытая библиотека JavaScript, предназначенная для удобной коммуникации между вкладками браузера в одном приложении. Она решает распространенную проблему: как синхронизировать состояние и события между несколькими вкладками без лишних запросов к серверу и без сложных обходных путей. С помощью этой библиотеки разработчики могут организовать обмен сообщениями между вкладками так, будто это единое приложение, обеспечивая согласованность данных и оптимизируя нагрузку.

Какие задачи помогает решить tabs‑broadcast? В современных веб-приложениях пользователь нередко открывает одну и ту же страницу в нескольких вкладках. Без координации эти вкладки работают изолированно: могут дублировать дорогостоящие операции (например, загрузку одних и тех же данных), создавать конфликты состояний (например, разные вкладки по-разному отображают авторизацию или настройки) и увеличивать нагрузку на сервер (несколько соединений от одного пользователя). Библиотека tabs-broadcast предоставляет механизм единого центра управления для таких случаев. Она позволяет одной «главной» вкладке выполнять критичные задачи (синхронизация с сервером, получение обновлений, запись в хранилище и т.п.), а другим вкладкам — получать результаты и уведомления от неё. Для разработчиков это означает более простой код для синхронизации вкладок и избавление от ручного использования низкоуровневых API.

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

Читать далее

«Идти в программисты сегодня — большая ошибка»: откровения техноблогера Михаила Ларченко

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

Что общего между космонавтом и программистом? Скоро эти профессии станут в равной степени бессмысленным выбором для карьеры. В интервью Youtube-каналу Ai4dev автор одного из самых интеллектуальных IT-каналов на YouTube, Fullstack-разработчик Михаил Ларченко рассказал, как искусственный интеллект уже переворачивает индустрию с ног на голову, почему европейские модели могут оказаться лучше американских, и что делать разработчику, чтобы не оказаться выброшенным на обочину технологического прогресса. 

Читать далее

Ramda.js — библиотека, которая избавит вас от reduce и map-каши

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

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

Если вас когда-либо раздражало, что Array.prototype.map нельзя использовать для объектов или reduce постоянно требует передавать начальное значение, Ramda.js решает эти проблемы, делая код чище, декларативнее и удобнее.

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

Читать далее

Web 3 как замена Web 2 в стандартных задачах и есть ли в этом смысл

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

В этой статье я не буду говорить про NFT, про Ethereum и т.п. Я сосредоточусь на возможности и смысле перенести все доступное нам сейчас с Web 2 на Web 3.

Читать далее

GPT-4.5 для разработчиков: что нового, как интегрировать и использовать в бизнесе

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

GPT-4.5 – новейшая модель OpenAI GPT-серии, являющаяся самой крупной и «знающей» на сегодняшний день. Это трансформер-архитектура, масштабированная за счёт увеличения числа параметров и объёма обучающих данных по сравнению с предыдущими версиями. Модель обучена на суперкомпьютерах Azure с применением новых методов оптимизации архитектуры​. В результате GPT-4.5 получила более широкий world model – обширную базу знаний и глубокое понимание мира, что уменьшает случаи галлюцинаций и повышает надежность ответов по разным тематикам​. OpenAI отмечает, что GPT-4.5 не является принципиально новой «фронтирной» моделью, а скорее развитием идей GPT-4: она не добавляет совершенно новых возможностей, но значительно усиливает общую производительность и качество взаимодействия​.

Ключевые особенности GPT-4.5 включают:

Читать далее

Общий обзор Telegram Mini App: особенности, преимущества, ограничения и примеры

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

Telegram Mini App — встроенное в мессенджер веб-приложение, которое дает возможность пользоваться сервисом без установки отдельных программ. Это позволяет иметь удобный сервис, интегрированный с экосистемой мессенджера, будь то интернет-магазин, система бронирования и др.

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

Читать далее

Virtual generated columns в PostgreSQL 18

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

В PostgreSQL 18 добавят виртуальные сгенерированные столбцы (комит).


Ранее PostgreSQL уже поддерживал сгенерированные столбцы (начиная с версии 12), но только в варианте STORED, когда результат вычислений сохраняется в таблице. Теперь появилась возможность вычислять значения "на лету" при чтении, что экономит место и даёт больше гибкости в проектировании схем данных.


Как создать виртуальный столбец?

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

WebSocket для начинающих системных аналитиков: просто о сложном. Часть 1

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

Эта статья для начинающих системных аналитиков, которые хотят понять основы WebSocket.

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

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

Читать далее

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

Учимся Flask: как написать своё веб-приложение

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

Привет, будущий разработчик! Сегодня создадим первое полноценное веб-приложение на Flask с нуля.

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

Сегодня мы разберём Flask — лёгкий, но мощный фреймворк для Python, который позволит буквально за пару часов написать веб-приложение с формами, обработкой данных и HTML-шаблонами.

Читать далее

Смотрим на GigaIDE Cloud для Jupyter

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

В GitVerse неделю назад выкатили новую версию GigaIDE Cloud - рабочую станцию разработчика по запросу, сделанную на базе Visual Studio Code. В мире (например, Microsoft) уже давно пробуют подходы к этой истории, например, чтобы что-то сделать быстро сделать или протестировать, либо вообще дать временный доступ, скажем, разработчику в подрядчике.

GigaIDE Cloud — разработка СберТеха на основе Visual Studio Code. Есть еще GigaIDE Desktop, она на основе JetBrains Idea, но не является темой для изучения в этой заметке. Когда-то мне нужно было пороазбираться быстро с ноутбуком, попробовать его, и сделать все это быстро. GigaIDE Cloud выложили пример как раз с Jupyter, работу которого мне показалось интересным попробовать и, что важно, посмотреть, насколько оперативно получится это сделать.

Читать далее

Popover = hint

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

Chrome 133 развивает существующую функцию всплывающих подсказок, представляя новый режим: popover="hint". Этот режим, управляемый браузером, позволяет использовать новый контекст наложения, упрощающий создание всплывающих подсказок и подобных эфемерных плавающих элементов. Он снижает трудозатраты разработчиков, сохраняя гибкость дизайна.

Читать далее

Centrifugo v6 + FastAPI + Python: разрабатываем веб-опросник с обновлениями в реальном времени

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

В прошлой статье я показал, как создать мини-чат с комнатами на FastAPI и WebSockets. Но что, если есть более мощное и удобное решение для Real-time? В этот раз разберем Centrifugo – технологию, которая берет на себя всю работу с WebSockets и масштабированием!

В статье мы разберем теорию, а затем на практике разработаем веб-приложение-опросник, где результаты обновляются в реальном времени без перезагрузки страницы. А в финале – деплой на Amvera Cloud.

Готовы прокачать свои навыки? Тогда вперед!

Читать далее

Next.js 15 в Hikasami: Глубокая оптимизация рендеринга, загрузки данных и производительности

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

В эпоху цифрового контента каждая миллисекунда загрузки страницы может существенно повлиять на пользовательский опыт. В Hikasami, платформе, предоставляющей потоковое аниме и азиатские медиа для пользователей СНГ, наша цель — обеспечить мгновенную загрузку страниц, минимизировать задержки, а также гарантировать актуальность данных. Для этого мы внедрили Next.js 15, который открыл перед нами возможности глубокой оптимизации:

Читать далее

ООП: худшее, что случалось с программированием

Уровень сложностиСложный
Время на прочтение20 мин
Количество просмотров108K

В этой статье попробуем разобраться, почему ООП — худшее, что было придумано в программировании, как оно стало таким популярным, почему опытные программисты Java (C#, C++ и т.п.) в принципе не могут считаться крутыми инженерами, а код на Java - хорошим.

Читать далее

React и графики: 8 библиотек для визуализации данных

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

Хабр, привет! Меня зовут Юра, я работаю в МТС Диджитал тимлидом. Сегодня хочу поговорить о визуализации данных в React: какую библиотеку выбрать, чтобы было красиво и без проблем? Recharts, Visx, Nivo, ECharts или, может, что-то еще? Давайте разбираться! В посте оценим восемь разных библиотек: возможности, плюсы и минусы. Поехали!

Читать далее

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