DevNotes Live
6 subscribers
84.2K photos
12K videos
195 files
35.4K links
Автоматический агрегатор IT ресурсов в Telegram (@devnotes_robot)
Информация: https://t.me/devnotes_live/121
Download Telegram
Адаптация Relay для большой кодовой базы

На прошедшем React Conf 2021 был представлен новый компилятор Relay для оптимизации GraphQL-запросов — "Introducing the new Relay compiler".

Relay — это фреймворк для работы с GraphQL в React-приложениях. При использовании Relay компоненты декларативно описывают необходимые им данные с помощью GraphQL-фрагментов. Компилятор Relay на этапе сборки приложения обходит компоненты и подготавливает оптимизированный GraphQL-запрос на базе этих фрагментов.

Скорость компилятора с ростом кодовой базы Facebook постепенно ухудшалась, поэтому его переписали c JavaScript на Rust. Скорость работы компилятора улучшилась в пять-семь раз. Кроме улучшения производительности новый компилятор подготовил платформу для дальнейшего улучшения Relay. Например, благодаря ему появилась поддержка новой директивы @required для упрощения работы с данными. Также этот компилятор лежит в основе расширения для VSCode для поддержки автодополнения имён полей в GraphQL-фрагментах. Расширение на данный момент недоступно для внешних пользователей, так как над ним ещё ведётся работа.

#react #graphql #rust

https://relay.dev/blog/2021/12/08/introducing-the-new-relay-compiler/
Возможно, вам не нужен Rust и WASM, если у вас есть JavaScript

Увидел в канале @ufostation ссылку на статью Вячеслава Егорова про анализ проблем производительности библиотеки source-map — "Maybe you don't need Rust and WASM to speed up your JS".

Авторы source-map переписали основную логику библиотеки на Rust и WebAssembly, чтобы улучшить производительность. Егор решил проверить оригинальный код на предмет возможных оптимизаций. Там были найдены и исправлены проблемы, связанные с неоптимальной сортировкой, была уменьшена нагрузка на сборщик мусора заменой большого числа объектов типизированным массивом с ссылками на нужные данные, была испралвена проблема с деоптимизацией кода, связанной с передачей двух аргументов в функцию, которая ожидает на вход три аргумента.

В результате всех оптимизаций JavaScript-код стал уступать по скорости Rust и WebAssembly всего лишь на 15%.

Крутая статья. Рекомендую почитать всем.

#performance #js #internals #webassembly #rust

https://mrale.ph/blog/2018/02/03/maybe-you-dont-need-rust-to-speed-up-your-js.html
https://habr.com/ru/post/350018/ (перевод на русский)
Forwarded from The Devs
cfonts, sexy fonts for your console.

#tools #terminal #rust #js
@thedevs

https://thedevs.link/e4XsBd
Forwarded from The Devs
Comprehensive Rust, the Rust course used by the Android team at Google.

#course #tutorial #rust
@thedevs
@thedevs_rust

https://thedevs.link/Ha42HI
Forwarded from The Devs
Forwarded from Daily Coding 🔥
📖Asynchronous Programming in Rust
🖋Carl Fredrik Samson. 2024

Уверенно шагните в мир асинхронного программирования, преодолев трудности, связанные с неясными концепциями, с помощью этого практического руководства. Используя функциональные примеры, эта книга упрощает самые сложные концепции, исследуя подпрограммы, волокна, фьючерсы и обратные вызовы, чтобы помочь вам с легкостью ориентироваться в обширной асинхронной экосистеме Rust. Вы начнете с создания прочного фундамента в асинхронном программировании и изучите различные стратегии моделирования потока выполнения программ. Затем книга познакомит вас с такими понятиями, как epoll, сопрограммы, "зеленые потоки" и обратные вызовы, используя практические примеры.

💾 Скачать книгу

Daily Coding #книги #Rust
Forwarded from Daily Coding 🔥
📖Command-Line Rust
🖋Ken Youens-Clark 2022

В ежегодном опросе разработчиков Stack Overflow Rust уже несколько лет подряд признается «самым любимым языком программирования». Этот язык системного программирования с открытым исходным кодом сегодня используется для самых разных целей — от игровых движков и операционных систем до компонентов браузеров и движков для симуляции виртуальной реальности. Но при этом Rust — невероятно сложный язык с непростой кривой обучения.

💾 Скачать книгу

Daily Coding #книги #Rust
Forwarded from Daily Coding 🔥
📖Rust in Action
🖋Tim McNamara 2024

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

💾 Скачать книгу

Daily Coding #книги #Rust & Max
Forwarded from Daily Coding 🔥
📖Rust Atomics and Locks: Low-Level Concurrency in Practice
🖋Bos Mara 2024

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

💾 Скачать книгу

Daily Coding #книги #Rust & Max