artalog
4.22K subscribers
538 photos
40 videos
40 files
905 links
Развернутые ответы на вопросы в чатах, мысли от рабочих процессов.
Вопросы - @artalar.
Download Telegram
Forwarded from Сергей Мелюков (Сергей Мелюков)
HolyJS 2022 - Jest.pdf
6.8 MB
🔥3
C flatMap так удобно иммутабельно массивы изменять, довольно кратко можно описать удаление / добавление элементов в любом месте.

Сейчас разрабатывается примитивный атом для работы с массивом и я не могу решить какие методы туда включить. С одной стороны, с flatMap и [added, …state] / […state, added] можно просто решить любую задачу. С другой стороны это все равно код который нужно писать и биндить, и может для частых кейсов нужно иметь готовые методы? Но что есть частые кейсы, как их выделить?
Если есть мысли - поделитесь в комментариях в issue.
👍5🔥2🤔2
bun.sh

А вы уже слышали про новый рантайм для джаваскрипта? Что бы просто распарсить и выполнить валидный EcmaScript код нужен движек, вроде V8, который в хроме используется. Но для повседневной работы этого совершенно не достаточно: мы используем таймауты, живущие в параллельных потоках, ходим в сеть, работаем с файлами или отправляем что-то на отрисовку. Вся это огромная и наисложнейшая экосистема апишек обслуживается платформами вроде браузеров или node / deno / GraalVM.

Но уже больше года разрабатывается новый рантайм для серверных JavaScript / TypeScript приложений - bun. Его ключевая особенность - параноидальный фокус на перфе. И интересный стек: JavaScriptCore как движек и ZIG для собственной реализации всего остального.

В общем, загляните на главную и почитайте что автор сам о нем пишет. А вот, для интереса, скрины результатов запуска перф тестов нового реатома на node@16 и bun
🤔12🔥4👍3👎3💩1
artalog
bun.sh А вы уже слышали про новый рантайм для джаваскрипта? Что бы просто распарсить и выполнить валидный EcmaScript код нужен движек, вроде V8, который в хроме используется. Но для повседневной работы этого совершенно не достаточно: мы используем таймауты…
Циферки у bun на скриншоте верные, просто порядок не тот, патити 🙃 Отрабатывает он быстрее ноды.

Но главное это не рантайм перформанс, а то как IO работает - и тут уже тесты посложнее нужны. У меня как раз есть задачка файлы потрансформировать, попробую на bun и ноде сделать и расскажу потом какая разница.

Важный и актуальный вопрос для вновь появившегося тула это роадмап и поддержка. Не помню и не нашел какие планы на будущее, я так понимаю make things right, но вот энтузиазм и темп разработки действительно впечатляет.
👍5
Пятница, проблемы белых людей)
🔥1💩1
Программирование на Rust (весна 2019)

Если хотите вникнуть во что-то новое и расширить рамки сознания - изучение специализированного языка программирование это то что надо.

Rust позиционируется как ЯП общего назначения и хотя ясно что он лучше подходит для чего-то низкоуровнего, но в микроконтроллерном мире он не сильно прижился, а вот веб фреймворки на нем есть. Удивительная штука.

Я рекомендую с ним хотя бы ознакомится, курс по ссылке легко заходит. В расте есть особенные парадигмы, которые улучшают качество и надежность кода.

В понедельник в 15:00(по мск) мы поговорим с @sergeysova о том какие паттерны из раст можно позаимствовать и использовать в разработке на JS / TS.
🔥11👍2🤔1
Live stream scheduled for
Live stream started
Live stream finished (40 minutes)
Накидал тут пример структуры фронтового проекта

Главная мысль: разделять вещи по типу их тестирования. Или что бы понять к чему относится сущность, подумайте как вы будете ее тестировать.

Структура и примеры не идеальные, просто на подумать.
💩13👍8🤔4👎1🔥1
ничосе хитрый какой, это значит помимо типа переменная еще какую-то семантику хранит.
Проверил на версии 3.3.3 - тоже работает.
💩7👍6🤔6
А еще что бы чуточку расширить сознание можно посмотреть и на другие ОС.

Я уже рассказывал про Phantom OS.

А сегодня хочу поделиться информацией о fuchsia.dev, точнее порекомендовать прочесть всего одну маленькую главу, Что такое Fuchsia OS в этой статье.
💩2🤔1
Приехал мне неттоп с пасивным охлаждением за $170 с четырехядерным Intel Celeron J1900 и 8 ГБ ОЗУ.

Поробую как сервак для петов поиспользовать, а то в облаках столько оперативки дорого стоит. Хотя, как видно по тестам на экранах, по перфу он раз в 20 медленнее m1.
👍8🔥2🤔2👎1
artalog
rome.tools Идея унифицированного инструмента для всех AOT (билд-тайм) преобразований очень здравая, зачем парсить текст и выделять семантику несколько раз. За Ромом стоят опытные разработчики (автор Babel), они уже подняли инвестиции и все бы ничего… Но продукта…
Оказывается у Ром есть уже пару десятков линт рулов.
Выглядят ошибки красиво, показывают возможные фиксы.

Только я не понимаю как зачем форсить этот ужасный синтаксис описания типа с массивом:
1) Читать такой тип сложнее, особенно в больших вложанных декларациях. Хуже всего, когда подсказка в IDE пишет название типа элемента, а [] переноситься на следующую строку и теряется, особенно в многострочной декларации (при чтении ошибок, например).
2) Есть уже синтаксис дженериков, который используется и в своих и в других нативных типах данных (Set, Map). Зачем эта неконсистентность? Удобность сомнительная, см п. 1.
👍6👎4🤔4
https://twitter.com/_developit/status/1549001036802625536

Команда преакта уже около полугода разрабатывает, аналогичные vue и solid, реактивные примитивы, которые позволят отделить вычисления данных от вычисления шаблонов (меньше ререндеров).
🔥7🤔1💩1