Ликбез по распространённым Client-Side уязвимостям
Хороший и качественный код — не всегда безопасный код. Поэтому любому разработчику важно иногда изучать ИБ практики, чтобы не упускать хотя бы самые очевидные уязвимости в коде.
Начнем с Client Side-уязвимостей. Это слабые места или ошибки в ПО, работающем на стороне пользователя. Их можно использовать для хакерских атак или несанкционированного доступа к системе.
В статье — самые распространённые виды уязвимости на стороне клиента и некоторые методы Client-Side защиты: https://habr.com/ru/companies/bastion/articles/757590/
#безопасность #веб
Хороший и качественный код — не всегда безопасный код. Поэтому любому разработчику важно иногда изучать ИБ практики, чтобы не упускать хотя бы самые очевидные уязвимости в коде.
Начнем с Client Side-уязвимостей. Это слабые места или ошибки в ПО, работающем на стороне пользователя. Их можно использовать для хакерских атак или несанкционированного доступа к системе.
В статье — самые распространённые виды уязвимости на стороне клиента и некоторые методы Client-Side защиты: https://habr.com/ru/companies/bastion/articles/757590/
#безопасность #веб
Практикуемся в React, TypeScript и MobX
Небольшой гайд, как создать to-do лист с бесконечной вложенностью подзадач. Можно посмотреть код и попробовать результат в демо:
https://tproger.ru/articles/sozdanie-todo-list-beskonechnoj-vlozhennosti-react-typescript-mobx
#веб react #typescript #фронтенд
Небольшой гайд, как создать to-do лист с бесконечной вложенностью подзадач. Можно посмотреть код и попробовать результат в демо:
https://tproger.ru/articles/sozdanie-todo-list-beskonechnoj-vlozhennosti-react-typescript-mobx
#веб react #typescript #фронтенд
Стал ли пользователь ленивее?
У современных пользователей всё больше требований к сайтам и приложениям: они должны быть быстрыми, удобными, понятными и максимально простыми. Любой лишний клик, каждая дополнительная секунда или длинный скролл — и все, пользователь уходит с сайта или закрывает приложение.
Действительно ли пользователи стали ленивыми? Давайте разбираться: https://tproger.ru/articles/stal-li-polzovatel-lenivee-spojler-net-no-karty-emu-vsyo-ravno-nuzhny
#тренды #ux #веб
У современных пользователей всё больше требований к сайтам и приложениям: они должны быть быстрыми, удобными, понятными и максимально простыми. Любой лишний клик, каждая дополнительная секунда или длинный скролл — и все, пользователь уходит с сайта или закрывает приложение.
Действительно ли пользователи стали ленивыми? Давайте разбираться: https://tproger.ru/articles/stal-li-polzovatel-lenivee-spojler-net-no-karty-emu-vsyo-ravno-nuzhny
#тренды #ux #веб
Как работает современный веб?
На картинке — краткая архитектура современного веба. А по ссылке до сих пор актуальная статья, которая поможет разобраться с тем, как это работает:
https://tproger.ru/translations/web-architecture-101/
#веб
На картинке — краткая архитектура современного веба. А по ссылке до сих пор актуальная статья, которая поможет разобраться с тем, как это работает:
https://tproger.ru/translations/web-architecture-101/
#веб
httpx vs. requests vs. aiohttp: что лучше?
С библиотекой requests питонисты знакомятся в первый же год, ведь на взаимодействии программ с веб-приложениями держится очень многое. HTTP-запросы позволяют общаться с API всевозможных сервисов, автоматизировать сбор данных с веб-страниц и в целом дают всевозможным системам взаимодействовать на расстоянии.
Разобрали на примере, какая из библиотек справляется лучше и как асинхронность влияет на скорость исполнения массовых запросов: https://tproger.ru/articles/http-vs-requests-vs-aiohttp-kto-luchwe
#python #веб
С библиотекой requests питонисты знакомятся в первый же год, ведь на взаимодействии программ с веб-приложениями держится очень многое. HTTP-запросы позволяют общаться с API всевозможных сервисов, автоматизировать сбор данных с веб-страниц и в целом дают всевозможным системам взаимодействовать на расстоянии.
Разобрали на примере, какая из библиотек справляется лучше и как асинхронность влияет на скорость исполнения массовых запросов: https://tproger.ru/articles/http-vs-requests-vs-aiohttp-kto-luchwe
#python #веб
Четыре новые функции CSS, которые обеспечивают плавную анимацию и переходы в новых версиях Chrome
Если у вас уже перестал дергаться глаз от времён, когда нужно было поддерживать IE, пришла пора обратить на новые фичи Chrome.
До них в CSS были пробелы в плавных анимациях. Это анимации для входа и выхода. И плавный переход на верхний уровень для закрываемых элементов, таких как диалоговые окна и всплывающие панели. В новых версиях 116 и 117 разработчики решили эти проблемы.
И вот как использовать новые фичи: https://tproger.ru/articles/chetyre-novye-funkcii-css-dlya-plavnoj-animacii-vhoda-i-vyhoda
#веб #chrome #фронтенд
Если у вас уже перестал дергаться глаз от времён, когда нужно было поддерживать IE, пришла пора обратить на новые фичи Chrome.
До них в CSS были пробелы в плавных анимациях. Это анимации для входа и выхода. И плавный переход на верхний уровень для закрываемых элементов, таких как диалоговые окна и всплывающие панели. В новых версиях 116 и 117 разработчики решили эти проблемы.
И вот как использовать новые фичи: https://tproger.ru/articles/chetyre-novye-funkcii-css-dlya-plavnoj-animacii-vhoda-i-vyhoda
#веб #chrome #фронтенд
Разработчики Node.js сообщили о выпуске версии 21
Что нового, вкратце:
— обновили JavaScript-движок V8 до 11.8,
— включили стабильные версии fetch и WebStreams,
— в конце октября Node.js 20 перейдёт в LTS,
— 21 версия будет поддерживаться следующие шесть месяцев.
Основные нововведения:
— fetch и WebStreams получили статус стабильных после недавнего обновления.
— Добавили экспериментальную имплементацию WebSocket, активируется флагом --experimental-websocket.
— Включили JavaScript-движок V8, который поддерживает новые функции и улучшенную производительность.
— Во время запуска тестов теперь можно использовать glob-выражения в параметрах --test.
— Новый экспериментальный флаг --experimental-default-type позволяет изменить систему модулей по умолчанию.
— Если передать флаг --experimental-wasm-modules, то файлы без расширений будут восприниматься как WebAssembly, если они начинаются на \0asm.
— Удалили поддержку globalPreload, вместо этого рекомендуется initialize для установки связи между потоками и register для отправки данных из потока приложения.
Подробнее о нововведениях: https://nodejs.org/en/blog/announcements/v21-release-announce
#javascript #веб #nodejs
Что нового, вкратце:
— обновили JavaScript-движок V8 до 11.8,
— включили стабильные версии fetch и WebStreams,
— в конце октября Node.js 20 перейдёт в LTS,
— 21 версия будет поддерживаться следующие шесть месяцев.
Основные нововведения:
— fetch и WebStreams получили статус стабильных после недавнего обновления.
— Добавили экспериментальную имплементацию WebSocket, активируется флагом --experimental-websocket.
— Включили JavaScript-движок V8, который поддерживает новые функции и улучшенную производительность.
— Во время запуска тестов теперь можно использовать glob-выражения в параметрах --test.
— Новый экспериментальный флаг --experimental-default-type позволяет изменить систему модулей по умолчанию.
— Если передать флаг --experimental-wasm-modules, то файлы без расширений будут восприниматься как WebAssembly, если они начинаются на \0asm.
— Удалили поддержку globalPreload, вместо этого рекомендуется initialize для установки связи между потоками и register для отправки данных из потока приложения.
Подробнее о нововведениях: https://nodejs.org/en/blog/announcements/v21-release-announce
#javascript #веб #nodejs
А вот свежий путеводитель по фронтед-разработке от коммьюнити
Новичкам она будет полезна для уверенного старта, а опытным фронтенд-разработчикам подскажет, куда развиваться дальше.
В дорожной карте собраны все актуальные инструменты и технологии по мнению комьюнити. А у репозитория kamranahmedse/developer-roadmap, в котором публикуются обновления, уже больше 250 тысяч звёзд: https://github.com/kamranahmedse/developer-roadmap
#шпаргалка #фронтенд #веб
Новичкам она будет полезна для уверенного старта, а опытным фронтенд-разработчикам подскажет, куда развиваться дальше.
В дорожной карте собраны все актуальные инструменты и технологии по мнению комьюнити. А у репозитория kamranahmedse/developer-roadmap, в котором публикуются обновления, уже больше 250 тысяч звёзд: https://github.com/kamranahmedse/developer-roadmap
#шпаргалка #фронтенд #веб
Разработчик придумал грубое наказание для сайтов, которые воруют его веб-игру при помощи iframe
Бесплатная игра Sqword — несложная головоломка, в которой нужно последовательно размещать буквы в сетке 5×5, чтобы получилось как можно больше слов.
Как рассказал разработчик игры Джош Симмонс, он заметил, что несколько сайтов-агрегаторов игр встраивают его игру через iframe, где она отображается в окружении рекламных баннеров. Сам проект не монетизируется, но Симонса разозлило, что кто-то другой получает деньги с помощью игры, тем более таким способом.
Чтобы это исправить, Симмонс добавил в код пасхалку. Теперь, если сайт обнаружит, что игра загружается в iframe-окне, он отобразит goatse, старый NSFW-мем. Для посетителей сайта будет отображаться непристойное фото и сообщение: «Я краду чужой код, потому что я полное ничтожество».
Как минимум несколько сайтов до сих пор не заметили, что украденная ими игра заменилась на одну из самых неприятных картинок в интернете. Другие сайты просто заменили игру.
Веб-разработчики, будьте повнимательнее с iframe. Геймдевелоперы, к вам вопросов нет.
#кек #веб #gamedev
Бесплатная игра Sqword — несложная головоломка, в которой нужно последовательно размещать буквы в сетке 5×5, чтобы получилось как можно больше слов.
Как рассказал разработчик игры Джош Симмонс, он заметил, что несколько сайтов-агрегаторов игр встраивают его игру через iframe, где она отображается в окружении рекламных баннеров. Сам проект не монетизируется, но Симонса разозлило, что кто-то другой получает деньги с помощью игры, тем более таким способом.
Чтобы это исправить, Симмонс добавил в код пасхалку. Теперь, если сайт обнаружит, что игра загружается в iframe-окне, он отобразит goatse, старый NSFW-мем. Для посетителей сайта будет отображаться непристойное фото и сообщение: «Я краду чужой код, потому что я полное ничтожество».
Как минимум несколько сайтов до сих пор не заметили, что украденная ими игра заменилась на одну из самых неприятных картинок в интернете. Другие сайты просто заменили игру.
Веб-разработчики, будьте повнимательнее с iframe. Геймдевелоперы, к вам вопросов нет.
#кек #веб #gamedev
Вышла новая версия React-фреймворка Next.js 14
26 октября разработчики выпустили новый релиз Next.js. Из основных нововведений: релиз ускоряет время сборки в 2 раза, а Server Actions позволяет выполнять код на сервере.
Что ещё нового в Next 14:
— Ускоренный компилятор: Rust-based компилятор Turbopack обеспечивает стабильность и производительность.
— Fast Refresh ускоряет обновление кода до 94,7%.
— Введены маршруты API для упрощения создания внутренних эндпоинтов.
— Серверные действия позволяют определить функции, выполняемые на сервере и вызываемые из React-компонентов.
— Частичная предварительная отрисовка (Prerendering) оптимизирует отрисовку динамического контента.
— Улучшена обработка метаданных для более плавного пользовательского опыта и предотвращения проблем.
— Запущен новый бесплатный курс Next.js Learn для обучения разработчиков.
Подробнее: https://github.com/vercel/next.js/releases/tag/v14.0.0
#react #веб #фронтенд
26 октября разработчики выпустили новый релиз Next.js. Из основных нововведений: релиз ускоряет время сборки в 2 раза, а Server Actions позволяет выполнять код на сервере.
Что ещё нового в Next 14:
— Ускоренный компилятор: Rust-based компилятор Turbopack обеспечивает стабильность и производительность.
— Fast Refresh ускоряет обновление кода до 94,7%.
— Введены маршруты API для упрощения создания внутренних эндпоинтов.
— Серверные действия позволяют определить функции, выполняемые на сервере и вызываемые из React-компонентов.
— Частичная предварительная отрисовка (Prerendering) оптимизирует отрисовку динамического контента.
— Улучшена обработка метаданных для более плавного пользовательского опыта и предотвращения проблем.
— Запущен новый бесплатный курс Next.js Learn для обучения разработчиков.
Подробнее: https://github.com/vercel/next.js/releases/tag/v14.0.0
#react #веб #фронтенд