Новый сайт nodejs
Оказывается, уже какое-то время идёт работа над редизайном основного сайта nodejs. Его уже можно пощупать по адресу nodejs.dev.
Внутри гэтсби, тайпскрипт и старый добрый SCSS.
Оказывается, уже какое-то время идёт работа над редизайном основного сайта nodejs. Его уже можно пощупать по адресу nodejs.dev.
Внутри гэтсби, тайпскрипт и старый добрый SCSS.
Express и HTTP\2
Уже очень и очень давно существует ишью о поддержке HTTP\2 в экспрессе. Очень давно это уже больше 5 лет. А ещё бета следующей мажорной версии была запаблишена 6 лет назад. Это в общем-то примерно всё, что нужно знать о поддержке и развитии этого фрэймворка.
На самом деле экспресс и сам TJ оказали огромное влияние на популярность nodejs, но годы прошли и появились альтернативные фрэймворки, которые продолжают развиваться. Сейчас же экспресс скорее мешает, т.к. многие проекты зависят от него. Среди них и webpack-dev-server. В будущем вебпак будет использовать для этих целей fastify.
Фастифай, кстати, сумасшедшая штука: он даже быстрее нативного сервера.
Ну а если вами всё-таки нужен HTTP\2 локально, то сейчас проще всего поднять какой-нибудь nginx и прокисровать запросы до дев-сервера.
Уже очень и очень давно существует ишью о поддержке HTTP\2 в экспрессе. Очень давно это уже больше 5 лет. А ещё бета следующей мажорной версии была запаблишена 6 лет назад. Это в общем-то примерно всё, что нужно знать о поддержке и развитии этого фрэймворка.
На самом деле экспресс и сам TJ оказали огромное влияние на популярность nodejs, но годы прошли и появились альтернативные фрэймворки, которые продолжают развиваться. Сейчас же экспресс скорее мешает, т.к. многие проекты зависят от него. Среди них и webpack-dev-server. В будущем вебпак будет использовать для этих целей fastify.
Фастифай, кстати, сумасшедшая штука: он даже быстрее нативного сервера.
Ну а если вами всё-таки нужен HTTP\2 локально, то сейчас проще всего поднять какой-нибудь nginx и прокисровать запросы до дев-сервера.
Docker на Apple Silicon
Уже сегодня в 21:00 по Москве Apple презентует ноутбуки на собственных чипах. Большинство проектов уже адаптировались к новой архитектуре, но только не Docker.
Есть 2 ишью:
- в репозитории docker for mac
- в репозитории с роадмапом развития докера.
Меня удивляет, что нет никакого отклика от мэйнтэйнеров. И это при том, что докер в современной разработке чуть ли не самый важный компонент.
А про сам Apple Silicon, и почему я уделяю столько внимания ему, я уже писал вот здесь. Посмотрим, оправдаются ли ожидания!
Уже сегодня в 21:00 по Москве Apple презентует ноутбуки на собственных чипах. Большинство проектов уже адаптировались к новой архитектуре, но только не Docker.
Есть 2 ишью:
- в репозитории docker for mac
- в репозитории с роадмапом развития докера.
Меня удивляет, что нет никакого отклика от мэйнтэйнеров. И это при том, что докер в современной разработке чуть ли не самый важный компонент.
А про сам Apple Silicon, и почему я уделяю столько внимания ему, я уже писал вот здесь. Посмотрим, оправдаются ли ожидания!
Эмэйзинг
Показали новые маки. В целом всё как и ожидалось. Цена приятная.
Но есть два вопроса:
1. Если процессор одинаковый, то откуда разница в производительности между эиром и про? С охлаждением чип может выдавать больше мощности?
2. Лимит по памяти в 16 гигабайт. Не очень понятно будет ли она эффективней расходоваться или так же, как и обычная оперативка?
Остаётся дождаться тестов и убедиться, что весь софт, который нужен, работает.
Показали новые маки. В целом всё как и ожидалось. Цена приятная.
Но есть два вопроса:
1. Если процессор одинаковый, то откуда разница в производительности между эиром и про? С охлаждением чип может выдавать больше мощности?
2. Лимит по памяти в 16 гигабайт. Не очень понятно будет ли она эффективней расходоваться или так же, как и обычная оперативка?
Остаётся дождаться тестов и убедиться, что весь софт, который нужен, работает.
Forwarded from Веб-стандарты (Веб-стандарты)
Does it ARM? Список совместимости программ для macOS с новой ARM-архитектурой Apple. Например: Chrome, Atom, Photoshop и Python пока не работают вообще, поддержка Firefox, VS Code и Node.js в работе, а WebStorm и Sublime Text работают с эмулятором.
https://github.com/ThatGuySam/doesitarm
https://github.com/ThatGuySam/doesitarm
Docker на Apple Silicon. Продолжение.
Интернет наводнило мемами про докер, и, видимо, ребята поняли, что лучше не молчать и хоть что-нибудь накалякать.
Очень водянистый блог-пост, в котором 4 ключевые мысли:
1. Докер нужно переписать на новый гипервизор.
2. Поднять собственный CI кластер из 25 маков мини.
3. Перейти на 11 электрон. Он уже поддерживает ARM. А нужен он для Docker Desktop.
4. Обновить go, ведь на нём крутится бекенд. Уже работает через розетту и в феврале ожидается нативная поддержка.
На мой взгляд это очень плохой пост, потому что нет никаких сроков и ссылок на внешние блокеры. Остаётся гадать, когда они всё сделают и докер таки заработает. Думаю, что не раньше марта, но буду рад ошибаться.
UPD: и в довесок странный комментарий с «we have external dependencies and we don't know their timelines».
Интернет наводнило мемами про докер, и, видимо, ребята поняли, что лучше не молчать и хоть что-нибудь накалякать.
Очень водянистый блог-пост, в котором 4 ключевые мысли:
1. Докер нужно переписать на новый гипервизор.
2. Поднять собственный CI кластер из 25 маков мини.
3. Перейти на 11 электрон. Он уже поддерживает ARM. А нужен он для Docker Desktop.
4. Обновить go, ведь на нём крутится бекенд. Уже работает через розетту и в феврале ожидается нативная поддержка.
На мой взгляд это очень плохой пост, потому что нет никаких сроков и ссылок на внешние блокеры. Остаётся гадать, когда они всё сделают и докер таки заработает. Думаю, что не раньше марта, но буду рад ошибаться.
UPD: и в довесок странный комментарий с «we have external dependencies and we don't know their timelines».
ES модули в nodejs перестают быть экспериментальными
Уже на следующей неделе ESM будут помечены как стабильные. При этом некоторые саб-фичи всё ещё остаются экспериментальными, правда я не нашёл о чём именно речь 🙁
Видимо речь о таких штукак как import.meta.main и подобных.
Уже на следующей неделе ESM будут помечены как стабильные. При этом некоторые саб-фичи всё ещё остаются экспериментальными, правда я не нашёл о чём именно речь 🙁
Видимо речь о таких штукак как import.meta.main и подобных.
Поддержка Hermes в React Native на iOS
Вышел 64 релиз кандидат реакт нэйтив. В нём появилась возможность использовать Hermes на iOS. Hermes — это джаваскрипт движок, который ребята из фэйсбука специально написали для оптимизации загрузки и выполнения приложений на андроиде.
Кстати, сам фэйсбук тоже рендерится через Hermes.
Вышел 64 релиз кандидат реакт нэйтив. В нём появилась возможность использовать Hermes на iOS. Hermes — это джаваскрипт движок, который ребята из фэйсбука специально написали для оптимизации загрузки и выполнения приложений на андроиде.
Кстати, сам фэйсбук тоже рендерится через Hermes.
Рома Дворнов, автор csstree, завёл канальчик. Сечас пишет о разработке поточного джейсон парсера.
Forwarded from Горшочек варит
Вчера наконец сделал первую имплементацию поточного парсера JSON. Месяцы обдумывания что нужно сделать, и пара часов на начальную версию плюс часа три на оптимизацию и полировку. Текущие цифры не так сильно удручают как первичные, но пока далеко до нативного JSON.parse()
(тут parse: начальная версия -> текущая)
Webpack stats (~500mb с форматированием)
parse: 13.047s -> 4.946s
JSON.parse(): 1.258s
fixture 100mb
parse: 5.661s -> 1.424s
JSON.parse(): 559.153ms
fixture 13.7mb
parse: 303.423ms -> 140.015ms
JSON.parse(): 39.643ms
fixture 2mb
parse: 204.93ms -> 102.851ms
JSON.parse(): 11.838ms
Это будет частью json-ext, пока живет в ветке. Еще нужно просмотреть свежим взглядом, добавить тестов и обкатать на живых проектах.
(тут parse: начальная версия -> текущая)
Webpack stats (~500mb с форматированием)
parse: 13.047s -> 4.946s
JSON.parse(): 1.258s
fixture 100mb
parse: 5.661s -> 1.424s
JSON.parse(): 559.153ms
fixture 13.7mb
parse: 303.423ms -> 140.015ms
JSON.parse(): 39.643ms
fixture 2mb
parse: 204.93ms -> 102.851ms
JSON.parse(): 11.838ms
Это будет частью json-ext, пока живет в ветке. Еще нужно просмотреть свежим взглядом, добавить тестов и обкатать на живых проектах.
Docker Compose на Apple Silicon
Пояилось ишью в котором, ведётся работа по запуску Docker Compose. Есть проблемы с питон-зависимостями, но их скоро решат. Ну и он отлично запускается через розетту.
Пояилось ишью в котором, ведётся работа по запуску Docker Compose. Есть проблемы с питон-зависимостями, но их скоро решат. Ну и он отлично запускается через розетту.
Рейт-лимиты Docker Hub
Не так давно докер выкатили ограничение на пул образов с Docker Hub. А гитлаб, в свою очередь, выкатили кеширующую проксю и написали статью про мониторинг лимитов.
Статья про мониторинг вызвала у меня улыбку, прям представил себе девопосов, которые настаривают такой мониторинг. Что меня удивляет, так это относительно скромное распространение новости про рейт-лимиты, хотя изменение сильно влияют на разработку, особенно в больших командах. Но возможно это мне просто «повезло» и я об этом узнал только из ченджлогов гитлаба.
Не так давно докер выкатили ограничение на пул образов с Docker Hub. А гитлаб, в свою очередь, выкатили кеширующую проксю и написали статью про мониторинг лимитов.
Статья про мониторинг вызвала у меня улыбку, прям представил себе девопосов, которые настаривают такой мониторинг. Что меня удивляет, так это относительно скромное распространение новости про рейт-лимиты, хотя изменение сильно влияют на разработку, особенно в больших командах. Но возможно это мне просто «повезло» и я об этом узнал только из ченджлогов гитлаба.
Вокруг React
Я очень редко слушаю подкасты, но мимо UnderJS с Дэном Абрамовым пройти не смог. Час с небольшим Дэн рассказывает про будущее реакта.
Больше всего меня заинтересовал топик «Suspense в SSR». И, к сожалению, я не услышал того, что хотел услышать. На сколько я понял, планов сделать так, чтобы саспенс работал на сервере и можно было дождаться чего-то асинхронного прям в компоненте у ребят нет. Вместо этого они хотят сделать стриминг и рендерить фолбек, а как только данные будут получены, продолжать рендер и подменять фолбек на настоящий контент.
Получается, что у нас набор каких-то костылей:
* getServerSideProps в next.js;
* renderToStringWithData в Apollo, который делает рекурсивный рендер;
* самописные решения с двойным (и более) рендером для сбора промисов;
* react-ssr-prepass, который страшно (ну, лично мне) тащить в продакшн.
Я очень редко слушаю подкасты, но мимо UnderJS с Дэном Абрамовым пройти не смог. Час с небольшим Дэн рассказывает про будущее реакта.
Больше всего меня заинтересовал топик «Suspense в SSR». И, к сожалению, я не услышал того, что хотел услышать. На сколько я понял, планов сделать так, чтобы саспенс работал на сервере и можно было дождаться чего-то асинхронного прям в компоненте у ребят нет. Вместо этого они хотят сделать стриминг и рендерить фолбек, а как только данные будут получены, продолжать рендер и подменять фолбек на настоящий контент.
Получается, что у нас набор каких-то костылей:
* getServerSideProps в next.js;
* renderToStringWithData в Apollo, который делает рекурсивный рендер;
* самописные решения с двойным (и более) рендером для сбора промисов;
* react-ssr-prepass, который страшно (ну, лично мне) тащить в продакшн.
Webpack 5 в Storybook
Почти год назад появилось ишью про обновление вебпака (он тогда ещё в бете был) и было 3 пул-рерквеста, которые делали апргейд примерно одинаково плохо и неполнеценно. И вот за дело взялся один из мэйнтейнеров.
Основная проблема: скорей всего придётся ломать обратную совместимость, а это значит, что релиз могут отложить.
Почти год назад появилось ишью про обновление вебпака (он тогда ещё в бете был) и было 3 пул-рерквеста, которые делали апргейд примерно одинаково плохо и неполнеценно. И вот за дело взялся один из мэйнтейнеров.
Основная проблема: скорей всего придётся ломать обратную совместимость, а это значит, что релиз могут отложить.
Что используете для контроля версий на работе?
Anonymous Poll
24%
Bitbucket
26%
GitHub
42%
GitLab
0%
Upsource
7%
Другое (напишите в комментарии)