PurpleSchool
Иконка канала PurpleSchool

PurpleSchool

560 подписчиков

80просмотров

Появился Angular Native (ng-native) — open-source проект, который позволяет создавать нативные приложения для iOS и Android с помощью Angular. Вместо WebView он использует настоящие нативные компоненты через React Native Fabric. При этом разработчики могут работать с привычными Angular-компонентами, Signals, Router, CSS и Tailwind. Проект также поддерживает Expo, нативную навигацию, Signal Forms и доступ к возможностям устройства через Expo Modules. Angular Native пока находится на стадии alpha, поэтому API ещё могут меняться. Больше релизов — в полном выпуске по ссылке под шортсом! #angular #angularnative #ngnative #reactnative #expo #iosdevelopment #androiddevelopment #mobiledevelopment #nativeapps #exposdk

75просмотров

Spotlight — встроенный поиск macOS, но есть и альтернативы с дополнительными возможностями. Одна из них — бесплатная утилита Vorssaint. В ней есть собственный поиск, который можно использовать вместо Spotlight, а также множество других инструментов для работы на Mac. Полный обзор Vorssaint — по ссылке под шортсом! #vorssaint #macos #macapps #macutilities #mac #vorssaintutility #spotlight #spotlightmac

153просмотра

Vinext 1.0 — первый стабильный релиз проекта Cloudflare, который позволяет запускать приложения Next.js на базе Vite. Vinext поддерживает App Router и Pages Router, React Server Components, Server Actions и другие возможности Next.js. При этом приложения можно разворачивать не только на Cloudflare Workers, но и на других платформах через Nitro. В версии 1.0 улучшили совместимость с Next.js, переработали правила кеширования, добавили прогрев кеша перед переключением трафика и закрепили стабильность собственных API проекта. При этом полная совместимость с Next.js пока не достигнута: некоторые возможности App Router всё ещё реализованы не полностью. Больше релизов — в полном выпуске по ссылке под шортсом! #vinext #vinextjs #nextjs #vite #cloudflare #turbopack #js #javascript #devnews #cloudflareworkers

143просмотра

Для работы с историей буфера обмена на macOS есть отдельные приложения, например Paste. Но бесплатный Vorssaint предлагает более широкий функционал. Помимо удобной работы с буфером, в Vorssaint есть полка для файлов. Перетащите файл на панель в верхней части экрана, перейдите в другую папку и заберите его оттуда. Так можно переносить файлы, не открывая несколько окон Finder одновременно. Весь этот функционал доступен в одной утилите, без установки отдельных приложений для каждой задачи. А полный обзор Vorssaint — по ссылке под шортсом! #vorssaint #macos #macapps #macutilities #mac #vorssaintutility #plugins #clipboard #clipboardhistory #filemanagement #paste

6просмотров

Вышел Zod 4.6 — обновление библиотеки для валидации данных в TypeScript. Главное изменение — новый метод .validate(), который возвращает boolean без создания результата парсинга и полной структуры ошибок. На скомпилированных схемах при невалидных данных он может работать до 35 раз быстрее, чем .safeParse().success. Также добавили проверку свойств экземпляров классов через .properties(), расширили поддержку JSON Schema, добавили z.iban() и улучшили работу с памятью при рекурсивной валидации. Больше релизов — в полном выпуске по ссылке под шортсом! #devnews #zod #ts #typescript #js #javascript #validation #jsonschema #webdev #datavalidation

6просмотров

Как устроен Vorssaint и что можно настроить внутри утилиты? Показываем интерфейс бесплатной open-source утилиты для macOS: как выглядит её иконка, где находятся основные настройки и какие возможности доступны пользователю. Vorssaint построен на системе плагинов. В настройках можно включать и отключать отдельные функции, выбирать нужные инструменты и настраивать их под свои задачи. Также немного посмотрим на Dynamic Island — одну из интересных возможностей Vorssaint, через которую можно получать информацию о работе приложений и AI-агентов. Полный обзор Vorssaint — по ссылке под шортсом! #vorssaint #macos #macapps #macutilities #mac #vorssaintutility #plugins #os

115просмотров

Контейнер может тормозить, даже если средняя загрузка CPU не достигает установленного лимита. Разбираем, как работает CPU throttling в Kubernetes, почему он влияет на время ответа приложения и какие метрики помогут обнаружить ограничение процессорного времени. #kubernetes #k8s #docker #cputhrottling #devops #containers #cpu #kuber #throttling

8просмотров

В macOS нет встроенного микшера громкости для отдельных приложений. Но с помощью бесплатной утилиты Vorssaint можно управлять звуком каждой программы независимо. Например, сделать музыку в Spotify тише, оставить громкость браузера повыше или полностью отключить звук у конкретного приложения, не меняя общую громкость системы. Vorssaint позволяет настраивать громкость приложений из одного интерфейса, без необходимости устанавливать отдельный аудиомикшер. В этом шортсе показываем, как работает эта функция и почему она полезна в повседневной работе на Mac. Полный обзор Vorssaint — по ссылке под шортсом! #vorssaint #macos #macapps #macutilities #mac #vorssaintutility #volumecontrol #audiomixer

78просмотров

Vorssaint — бесплатная open-source утилита для macOS, которая объединяет множество полезных инструментов в одном приложении. История буфера обмена, раздельное управление громкостью приложений, работа с дисплеями, скриншоты, OCR, удаление программ, очистка диска и интеграция с Homebrew — всё это доступно в Vorssaint без необходимости устанавливать отдельные утилиты под каждую задачу. Есть и функции для разработчиков: например, Dynamic Island с мониторингом AI-агентов, где можно отслеживать выполнение задач, используемые модели и расход токенов. В этом шортсе коротко знакомимся с Vorssaint, а полный обзор смотри по ссылке под шортсом! #vorssaint #macos #macapps #opensource #macutilities #devtools #mac #vorssaintutility

76просмотров

Вышел Preact 11 — первое мажорное обновление библиотеки с 2019 года. Preact остаётся легковесной альтернативой React с похожим API и возможностью использовать многие инструменты React-экосистемы. В новой версии появилась Hydration 2.0. Теперь асинхронные границы могут содержать несколько DOM-узлов или не содержать их вовсе, что снимает прежние ограничения при гидратации компонентов. Также добавили автоматическую передачу refs через props без необходимости использовать forwardRef. А сравнение значений в аргументах хуков теперь выполняется через Object.is, как в React. Расширили совместимость с React: в preact/compat появились use(), useEffectEvent() и другие API. Кроме того, createPortal теперь доступен непосредственно из preact. По сути, большинство этих изменений уже знакомы разработчикам React. Preact постепенно подтягивает совместимость с его API, но пока скорее догоняет React, чем предлагает собственные новые возможности. Больше релизов — в полном выпуске по ссылке под шортсом! #devnews #preact #preactjs #preact11 #react #javascript #typescript #frontend #webdev #js

103просмотра

Большой React Context может вызывать лишние ререндеры, даже если компонент использует только часть данных. Разбираемся, почему изменение theme приводит к обновлению всех потребителей Context, как на это влияет новый объект value и когда стоит разделять Context или использовать подписку на отдельные части состояния. #react #reactcontext #usecontext #rerender #reactperformance #frontend

6просмотров

Вышел Panda CSS 2.0 — крупное обновление CSS-in-JS библиотеки с полностью переписанным на Rust компилятором на базе Oxc. Главное изменение — производительность. Извлечение стилей стало быстрее в 15–37 раз, повторный парсинг в watch mode — примерно в 360 раз, а генерация staticCss в одном из тестов ускорилась в 85 раз. Также переработали генерацию TypeScript-типов: количество инстанцирований типов сократилось примерно на 99%, что снижает нагрузку на редактор и ускоряет проверку типов. Panda CSS позволяет писать типизированные стили прямо в JavaScript и TypeScript, но извлекает их во время сборки и генерирует обычный статический CSS. Поэтому в браузере не нужен CSS-in-JS runtime. Стили можно описывать несколькими способами: через функцию css() с объектами стилей, с помощью JSX style props, а также через recipes для переиспользуемых вариантов компонентов. Есть поддержка design tokens, условий и адаптивных значений. Больше релизов — в полном выпуске по ссылке под шортсом! #pandacss #cssinjs #js #javascript #ts #css #rust #typescript #frontend #designsystems #framework

6просмотров

ORDER BY в PostgreSQL может стать дорогим, если сортировка не помещается в память. Разбираемся, почему появляется external merge, как work_mem влияет на сортировку и почему простое увеличение лимита не всегда лучший вариант. #postgresql #postgres #sql #queryoptimization #database #explainanalyze #performance #orderby #db

8просмотров

Вышел React 19.3 — обновление с несколькими важными изменениями для разработки интерфейсов. Главное изменение — ViewTransition и Fragment Refs вышли из экспериментального режима и стали стабильными API. ViewTransition позволяет анимировать появление, исчезновение, перемещение и изменение размеров элементов через браузерный View Transition API. Также появился browser() API для случаев, когда компонент нельзя корректно отрендерить на сервере, например при зависимости от браузерных API. Вместо ручных проверок React теперь предоставляет отдельный механизм для таких сценариев. Кроме этого, React 19.3 получил поддержку Trusted Types, улучшения Server Components и другие изменения. Больше новостей — в полном выпуске по ссылке под шортсом! #react #reactjs #react19 #viewtransitions #javascript #js #typescript #frontend #webdev #servercomponents #reactapi

9просмотров

Retry помогает пережить временные ошибки, но без backoff может усилить проблему. Разбираемся, почему после сбоя все клиенты начинают повторять запросы одновременно, как это создаёт дополнительную нагрузку и зачем нужны backoff и jitter. #backend #distributedsystems #microservices #retry #backoff #jitter #systemdesign

7просмотров

Вышел NestJS 12 — крупное обновление фреймворка для Node.js. В новой версии Nest стал ближе к современной TypeScript-экосистеме: основные пакеты теперь поддерживают ESM, а существующие CommonJS-приложения всё ещё могут продолжать работу без полного перехода. Одно из главных изменений — поддержка Standard Schema. Теперь схемы можно использовать напрямую в route decorators и конфигурации, например с Zod, Valibot или ArkType, а не ограничиваться только классическим подходом через декораторы. Также появился новый nest upgrade для миграции проектов, обновились дефолты для новых приложений: ESM, Vitest, oxlint и Rspack. Больше новостей — в полном выпуске по ссылке под шортсом! #nestjs #nest #nodejs #node #typescript #javascript #backend #webdev #js #ts #framework

11просмотров

В Go обычный default внутри select может превратить цикл в постоянную проверку канала без ожидания. Разбираемся, почему такой код создаёт busy loop, как он нагружает CPU и когда вместо него использовать блокировку или таймер. #golang #go #goroutines #channels #concurrency #golangdev #backend #selectdefault #busyloop

6просмотров

Shopify рассказал, почему полностью уходит от React Native к нативной разработке на Kotlin и Swift. Раньше кроссплатформенный подход помогал быстрее выпускать функции для iOS и Android, но при этом появлялись ограничения и дополнительные сложности. Сейчас Shopify считает, что благодаря AI-агентам нативная разработка стала быстрее и дешевле. В этом процессе Shopify использует собственный подход Helix: агенты помогают писать код, работать с изменениями и быстрее проходить циклы разработки. Важную роль играют feedback loops — быстрые проверки результата, которые позволяют агентам получать обратную связь и корректировать свою работу. В итоге Shopify возвращается к нативным технологиям, потому что с AI-агентами изменилась экономика мобильной разработки: преимущества Kotlin и Swift становятся доступнее без прежнего роста затрат. Больше новостей — в полном выпуске по ссылке под шортсом! #shopify #reactnative #kotlin #swift #aiagents #mobiledevelopment #iosdevelopment #androiddevelopment #softwareengineering #aidev

186просмотров

Почему SELECT COUNT(*) может долго выполняться, даже если возвращает всего одно число? Разбираемся, как MVCC влияет на подсчёт строк в PostgreSQL, почему Index Only Scan не всегда спасает от чтения таблицы и когда вместо точного результата можно использовать приблизительную оценку из pg_class.reltuples. #postgresql #postgres #sql #selectcount #mvcc #indexonlyscan #databaseperformance #database #db

92просмотра

Вышел стабильный Vite+ 1.0 от VoidZero. Это единый набор инструментов для веб-разработки, который объединяет сборку, тестирование, линтинг, форматирование и управление задачами проекта. В основе уже знакомые инструменты: Vite и Rolldown для разработки и сборки, Vitest для тестов, Oxlint для линтинга, Oxfmt для форматирования, tsgo для проверки типов и tsdown для сборки библиотек. Всё управляется через единый CLI vp. Например, vp check запускает форматирование, линтинг и проверку типов, vp test — тесты, vp build — production-сборку, а vp run позволяет запускать задачи с кешированием, в том числе в монорепозиториях. Главная идея Vite+ — сократить количество отдельных конфигураций и объединить привычные инструменты в один согласованный workflow, сохранив совместимость с экосистемой Vite. Больше релизов — в полном выпуске по ссылке под шортсом! #devnews #viteplus #vite #rolldown #vitest #oxc #voidzero #javascript #js #buildtools #toolchain