golang
Современный подход к предотвращению CSRF/CORF-атак в Go

Команда Go for Devs подготовила перевод статьи о новом подходе к защите Go-приложений от CSRF/CORF-атак. Автор разбирает, как связка TLS 1.3, SameSite cookies и http.CrossOriginProtection из стандартной библиотеки позволяют отказаться от токенов — но только если соблюдены важные условия. Насколько безопасен такой подход? Разбираемся. Go 1.25 представил новый middleware http.CrossOriginProtection в стандартной библиотеке — и это заставило меня задуматься:Неужели мы наконец пришли к тому моменту…

  • четверг, 27 ноября 2025 г. в 00:00:12
javascript
Общая концепция локаторов и их специфика в Playwright

Локаторы являются одним из ключевых элементов UI‑автоматизации. От того, насколько устойчиво тест находит нужный элемент, зависит стабильность всего тестового набора. Несмотря на кажущуюся простоту, выбор правильного локатора часто становится самым критичным и самым недооценённым аспектом автоматизации.В этой статье мы разберём общую концепцию локаторов, критерии их качества и ограничения классических подходов. Затем рассмотрим, как Playwright переосмыслил эту философию.Что такое локатор?Локато…

  • четверг, 27 ноября 2025 г. в 00:00:10
javascript
SVG, Canvas, WebGL, WebGPU — кто здесь вообще главный? Большой тест 2D-графики в браузере

В последние годы спрос на 2D/3D-инструменты в веб-сервисах растет довольно стремительно, технологии развиваются, появляются новые подходы и библиотеки — а вместе с ними растёт и путаница: что где использовать, где грань между похожими решениями и почему у разработчиков часто возникают противоположные мнения?Так что я решила устроить небольшой тест 2D-решений: посмотреть, на что они реально способны, понять, почему результаты местами вызывают большое удивление, и ответить себе (и вам) на вопрос:…

  • четверг, 27 ноября 2025 г. в 00:00:09
javascript
ShadowRealm API: изоляция исполнения кода в JavaScript

Джаваскриптеры давно мечтают о безопасной изоляции кода, чтобы можно было выполнить сторонний скрипт или библиотеку в своём песочном замке, без риска повредить глобальные объекты или залезть друг другу в прототипы. Сейчас для этого есть костыли, либо создавать скрытый <iframe> (у которого свой глобальный контекст), либо городить сложные рентаймы. В Node.js есть модуль vm и контексты, но и они далеки от идеала. Но на горизонте замаячило штатное решение от TC39, ShadowRealm API. От названия…

  • четверг, 27 ноября 2025 г. в 00:00:08
javascript
Дроун-эмбиент-нойз синтезатор на Javascript: когда нестабильность работы это фича, а не баг

Речь пойдёт о нюансах использования Web Audio API и Web MIDI API для синтеза звука в браузере, методах датабендинга и сонификации, UX при использовании клавиатуры и мыши в музыкальных целях, а также почему браузер ungoogled-chromium лучше Google ChromeВведение Последние два с половиной года я, в свободное от работы время, разрабатывал небольшой инструмент под названием Binary synth, который переводит любой файл в звук или последовательность MIDI-сообщений. Вы можете найти демо здесь, исходный к…

  • четверг, 27 ноября 2025 г. в 00:00:07
javascript
Как мы перестали бояться тьмы (и сделали её удобной)

Привет, на связи Виктор Степанов, лид одной из core-команд GitVerse. Сегодня хочу поговорить о важном аспекте нашей платформы — пользовательском опыте. А именно о том, как мы разрабатывали тёмную тему для GitVerse. Это был не просто косметический апгрейд, а полноценный инженерно-дизайнерский проект, в котором переплелись эргономика, технические ограничения и, конечно, ожидания пользователей.Зачем вообще нужна тёмная тема?Если вы хоть раз работали в редакторе кода с 22:00 до 4:00, то наверняка з…

  • четверг, 27 ноября 2025 г. в 00:00:06
javascript
This is JavaScript: методы объектов и контекст «this»

Привет, Хабр. Я Саша, разработчик, пишу на JS. Ранее я рассказывал о callback-функциях, деструктуризации, операторах и многом другом. Если вы уже успели познакомиться с основами JavaScript, то наверняка вам знакомы такие понятия, как объекты и функции.В этой статье мы двинемся дальше и соберем эти знания воедино. Я расскажу вам о методах объектов и загадочном слове this. Разберемся, для чего они нужны, как сделать объекты по-настоящему живыми и как избежать частых ошибок. Ну что, начнем. Я помн…

  • четверг, 27 ноября 2025 г. в 00:00:04
javascript
Как выбраться из гравитации фреймворков

Команда JavaScript for Devs подготовила перевод статьи о том, почему веб-команды застревают на орбите фреймворков и забывают о возможностях самой платформы. Автор убеждён: браузеры развиваются быстрее, чем экосистемы вокруг них, а зависимость от React и других инструментов тормозит инновации. Пора снова смотреть на веб как на платформу, а не как на “внутренность” фреймворка.Фреймворки должны были избавить нас от грязной рутины веб-разработки. И какое-то время так и было — пока их собственная гр…

  • четверг, 27 ноября 2025 г. в 00:00:03
javascript
Фронтенд обгоняет бек или как мы написали 200_000 строк кода на моках

Я работаю старшим фронтенд-разработчиком в it-отделе одного из крупнейших федеральных застройщиков. Специфика разработки в такой непрофильной компании — сроки спускаемые сверху и вообще не имеющие корреляции с реальными ресурсами и возможностями команды. Именно поэтому мы работаем очень быстро, постоянно пытаясь получить (максимум результата)*3 за (минимум времени)/4.В этих условиях мы делали большие интеграции с headless CMS Directus и непосредственно с бекендом, используя моковые данные на фр…

  • четверг, 27 ноября 2025 г. в 00:00:02