https://github.com/tc39/proposal-iterator-helpers
Вот такая штука недавно появилась. И самое прекрасное, что оно уже есть в core-js(https://github.com/zloirock/core-js?tab=readme-ov-file#iterator-helpers) и вскоре появится в хроме(https://v8.dev/features/iterator-helpers).
Array.from прощай, ты теперь не нужен(почти).
Вот такая штука недавно появилась. И самое прекрасное, что оно уже есть в core-js(https://github.com/zloirock/core-js?tab=readme-ov-file#iterator-helpers) и вскоре появится в хроме(https://v8.dev/features/iterator-helpers).
Array.from прощай, ты теперь не нужен(почти).
GitHub
GitHub - tc39/proposal-iterator-helpers: Methods for working with iterators in ECMAScript
Methods for working with iterators in ECMAScript. Contribute to tc39/proposal-iterator-helpers development by creating an account on GitHub.
💩3👍2🤡1
Forwarded from artalog (artalar)
YouTube
Артём Арутюнян — React-query VS reatom/async — конфигурация против композиции
Подробнее о конференции HolyJS: https://jrg.su/EM4wwV
— —
Артём разбирает примеры асинхронных задач типовой (и не очень) разработки, а также сравнивает их решения на специализированной библиотеке и библиотеке общего назначения с набором хелперов.
#javanoscript…
— —
Артём разбирает примеры асинхронных задач типовой (и не очень) разработки, а также сравнивает их решения на специализированной библиотеке и библиотеке общего назначения с набором хелперов.
#javanoscript…
🤡5❤3💩3🔥1
Немного о том почему отсуствие базовых знаний в SEO со стороны фронтенд разраба могут поделить на ноль большой продукт. LinkedIn
Linkedin
Когда продукт пилится на отвали
Halyk Market - это маркетплейс, который разрабатывается одним из крупнейших банков Казахстана, но это не значит что в нём люди не совершают элементарнейшие ошибки. Для такого типа продуктов очень важно SEO, так как основная доля трафика приходит из поиска.
🔥12💩3🤡1🤣1
https://www.jetbrains.com/webstorm/whatsnew/
Вот и новая версия WS, в которой jB всё-таки сдались в том чтобы поддерживать TS. Теперь мы окончательно живём в мире, где lang_server > spec.
Вот и новая версия WS, в которой jB всё-таки сдались в том чтобы поддерживать TS. Теперь мы окончательно живём в мире, где lang_server > spec.
👍4💩2🔥1🤡1
https://9to5mac.com/2024/04/10/alternative-iphone-web-browsers/
А вот и плюсы нагиба монополистов. Рынок становится чуток конкурентнее. Хотя интересно к чему в итоге это приведёт, так как запрет альтернативных браузеров на ios было единственной причинай почему Chrome не захватил весь мир. А теперь, возможно, захватит. А может и нет.
А вот и плюсы нагиба монополистов. Рынок становится чуток конкурентнее. Хотя интересно к чему в итоге это приведёт, так как запрет альтернативных браузеров на ios было единственной причинай почему Chrome не захватил весь мир. А теперь, возможно, захватит. А может и нет.
9to5Mac
More people choose smaller iPhone web browsers when prompted
One of the changes Apple had to make to comply with the EU’s Digital Markets Act (DMA) was to present...
💩6🤡2
Где-то полгода назад я ввёл привычку для себя, понемногу работать на д техническим долгом https://news.1rj.ru/str/xavescor_code/14
Но в какой-то момент я разгрёб почти всё и плюнул на это, так как стало лень этим заниматься. Это произошло этим январём. И вот прошло 4 месяца. И у нас опять 2/3 зависимостей выпустили свои мажоры и небольшая попытка поставить новую зависимость взрывает сборку, так как сборщик резолвит не ту версию зависимости из-за дубликата их в node_modules.
Вывод: не плюйте на необходимые привычке в работе. И слежка за актуальностью зависимостей - одна из них
Но в какой-то момент я разгрёб почти всё и плюнул на это, так как стало лень этим заниматься. Это произошло этим январём. И вот прошло 4 месяца. И у нас опять 2/3 зависимостей выпустили свои мажоры и небольшая попытка поставить новую зависимость взрывает сборку, так как сборщик резолвит не ту версию зависимости из-за дубликата их в node_modules.
Вывод: не плюйте на необходимые привычке в работе. И слежка за актуальностью зависимостей - одна из них
Telegram
Андруша пишет код
Контролировать все пакеты актуальными очень сложно, особенно когда этим никто не занимался. К примеру, у нас этим серьёзно не занимались как минимум год, и мы уже получили такое отставание.
Решение простое: каждое утро лично ты выполняй у себя на проекте…
Решение простое: каждое утро лично ты выполняй у себя на проекте…
👍7💩4👏1🤡1
Не так давно я описывал, что понимание реактивности и описания логики в реактивном стиле очень важно для роста фронтенд разработчика. https://news.1rj.ru/str/xavescor_code/101
Но важность вскоре превратится в необходимость, так как в стандарт хотят затащить реактивные примитивы https://github.com/tc39/proposal-signals/issues/178. И это будет, как сказал автор @effector_news в одной из бесед, «сродни переноса jQuery в стандарт. Мы перестанем заниматься изобретанием велосипедов и будем заниматься реально значимыми вещами»
У вас есть год-два чтобы подготовиться к этому, если вы всё ещё не осилили как выглядит реактивное программирование)
Но важность вскоре превратится в необходимость, так как в стандарт хотят затащить реактивные примитивы https://github.com/tc39/proposal-signals/issues/178. И это будет, как сказал автор @effector_news в одной из бесед, «сродни переноса jQuery в стандарт. Мы перестанем заниматься изобретанием велосипедов и будем заниматься реально значимыми вещами»
У вас есть год-два чтобы подготовиться к этому, если вы всё ещё не осилили как выглядит реактивное программирование)
Telegram
Андруша пишет код
Сепарация
Во фронтенде есть чёткая сепарация программистов на то какой "фреймворк" они используют: реакт, ангуляр, вью, свелт и прочие. Но если мы детально посмотрим на то из чего состоят эти фреймворки, то увидим простую вещь: рендер + способ организации…
Во фронтенде есть чёткая сепарация программистов на то какой "фреймворк" они используют: реакт, ангуляр, вью, свелт и прочие. Но если мы детально посмотрим на то из чего состоят эти фреймворки, то увидим простую вещь: рендер + способ организации…
👍9💩4🔥2🤡2👀1
Ещё одна причина почему пока что можно не опасаться захвата нейронными сетями наших рабочих мест.
Вот понадобилось мне найти как сделать Exact тип в тайпскрипте, чтобы в кодген можно было передавать только те аргументы, что описаны в спеке. Так как если у вас есть optional поля, то вы не защищены от опечаток.
Так вот, на топовом месте в выдаче по этому вопросу стоит просто ответ сгаллюцинируевшей нейронки, которая предлагает использовать несуществующий пакет
https://www.squash.io/tutorial-on-exact-type-in-typenoscript/#:~:text=In%20TypeScript%2C%20the%20exact%20type,with%20strict%20and%20precise%20shape
Нейронки прямо сейчас хоронят сами себя, так как генерят некачественный контент, а потом на нём же обучаются. Так что ближайшее время бояться захвата ими программирования уж точно не стоит.
Вот понадобилось мне найти как сделать Exact тип в тайпскрипте, чтобы в кодген можно было передавать только те аргументы, что описаны в спеке. Так как если у вас есть optional поля, то вы не защищены от опечаток.
{aaa: 1} имеет тип {aa?: number}. Спасибо утиной типизации.Так вот, на топовом месте в выдаче по этому вопросу стоит просто ответ сгаллюцинируевшей нейронки, которая предлагает использовать несуществующий пакет
flow-exact.https://www.squash.io/tutorial-on-exact-type-in-typenoscript/#:~:text=In%20TypeScript%2C%20the%20exact%20type,with%20strict%20and%20precise%20shape
Нейронки прямо сейчас хоронят сами себя, так как генерят некачественный контент, а потом на нём же обучаются. Так что ближайшее время бояться захвата ими программирования уж точно не стоит.
😁17💩3🤡1
Если вы хотите реально знать свои инструменты, но надо знать не только преимущества, но и недостатки. Одним из недостатков тайпскрипта на этой неделе для меня оказалось отсутствие Exact типа.
Мы используем кодген для слоя связи с бекендом и у нас огромное количество функций в стиле
И вот тут нас ждала засада.
Представьте: бекенд меняет контракт, переименовывая один параметр. И, спасибо монорепе, мы сломаем CI, если типы не будут совпадать с логикой.
Но есть один нюанс. У нас могут быть Optional поля. И вот тут в колено во всю силу стреляет дак-тайпинг, потому что
В итоге придётся кодгенить зод схему, чтобы отловить изменения контрактов в рантайме. Так что теперь нужно писать валидаторы схем не только при получении данных, но и при их отправке(
Мы используем кодген для слоя связи с бекендом и у нас огромное количество функций в стиле
getPosts({param1: value1, …}).И вот тут нас ждала засада.
Представьте: бекенд меняет контракт, переименовывая один параметр. И, спасибо монорепе, мы сломаем CI, если типы не будут совпадать с логикой.
Но есть один нюанс. У нас могут быть Optional поля. И вот тут в колено во всю силу стреляет дак-тайпинг, потому что
{aba: 1} является подтипом {aaa?: 1}. И ты никак переименование aaa в aba не отловишь.В итоге придётся кодгенить зод схему, чтобы отловить изменения контрактов в рантайме. Так что теперь нужно писать валидаторы схем не только при получении данных, но и при их отправке(
💩7👍5🤡2
https://nodejs.org/en/blog/announcements/v22-release-announce
Главная фича:
Спасибо, bun
Главная фича:
This release adds require() support for synchronous ESM graphs under the flag --experimental-require-module.
Спасибо, bun
nodejs.org
Node.js — Node.js 22 is now available!
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and noscripts.
👍6🔥3💩3🤡2
Ну и другой релиз
https://react.dev/blog/2024/04/25/react-19
2 года чуваки работали над тем как решить проблемы ререндера. В итоге решили оставить саму концепцию, но поправить часть кривостей, которая она вызывает.
Такое чувство, что команда реакта живёт в своём пузыре, в котором не существует ни вью, ни ангуляра, ничего.
Нам нужен срочно свой реактбан, который будет вправлять мозги команде реакта, чтобы они не пилили дичь. Предвижу огромное количество говнокода, которое будет пытаться писать логику поверх этой кривизны.
https://react.dev/blog/2024/04/25/react-19
2 года чуваки работали над тем как решить проблемы ререндера. В итоге решили оставить саму концепцию, но поправить часть кривостей, которая она вызывает.
Такое чувство, что команда реакта живёт в своём пузыре, в котором не существует ни вью, ни ангуляра, ничего.
Нам нужен срочно свой реактбан, который будет вправлять мозги команде реакта, чтобы они не пилили дичь. Предвижу огромное количество говнокода, которое будет пытаться писать логику поверх этой кривизны.
react.dev
React v19 – React
The library for web and native user interfaces
👍8💩4🤡1
На этой неделе подвалило ещё 2 важных релиза:
https://devblogs.microsoft.com/typenoscript/announcing-typenoscript-5-5-beta/
TS научится выводить тайпгарды самостоятельно, без явного описания.
https://module-federation.io/
Теперь эта технология стала бандлер-независимой. Теперь мы сможем шарить модули между проектами с разными бандлерами. Большое событие, кмк.
Ну и важная статья о том насколько важно крупным проектам быть early-adopters в новых технологиях. А так же как менеджить большие изменения в опенсорсе:
https://astro.build/blog/node-test-migration/
https://devblogs.microsoft.com/typenoscript/announcing-typenoscript-5-5-beta/
TS научится выводить тайпгарды самостоятельно, без явного описания.
https://module-federation.io/
Теперь эта технология стала бандлер-независимой. Теперь мы сможем шарить модули между проектами с разными бандлерами. Большое событие, кмк.
Ну и важная статья о том насколько важно крупным проектам быть early-adopters в новых технологиях. А так же как менеджить большие изменения в опенсорсе:
https://astro.build/blog/node-test-migration/
Microsoft News
Announcing TypeScript 5.5 Beta
Today we are excited to announce the availability of TypeScript 5.5 Beta. To get started using the beta, you can get it through NuGet, or through npm with the following command: npm install -D typenoscript@beta Here’s a quick list of what’s new in TypeScript…
❤5💩3🤡1
Forwarded from mgorbatyuk.dev (Maxim Gorbatyuk)
Как подготовить публичное выступление
Одной из задач программного комитета конференции beetech от Билайн Казахстан была помощь в подготовке отобранным в программу спикерам. На питчингах и первых прогонах многие докладчики допускали одни и те же ошибки. Потому я решил написать для них шпаргалку, как нужно оформлять презентацию, слайды и речь и как не нужно.
Спешу поделиться и с вами
Одной из задач программного комитета конференции beetech от Билайн Казахстан была помощь в подготовке отобранным в программу спикерам. На питчингах и первых прогонах многие докладчики допускали одни и те же ошибки. Потому я решил написать для них шпаргалку, как нужно оформлять презентацию, слайды и речь и как не нужно.
Спешу поделиться и с вами
👍5💩3🤡1
Не так давно мы решили к PR'ам выводить в статистику не только отчёт по увеличению бандла, но и по уменьшению. Всё-таки ощущать себя молодцом всегда приятно.
Но подобные репорты могут показывать проблемы, которые ты не ожидаешь.
На скриншоте бот показал, что мои изменения уменьшили немного размер бандла в одном из проектов.
Но есть нюанс: изменения совсем не затрагивают этот проект.
Вывод? У нас где-то протекает тришейкинг и в бандлы лезет мусор. И это важно, потому что некоторые из проектов сверхкритичны к размеру.
Так что собирайте статистику. Она лишней не бывает. Странности в ней могут показать неочевидные проблемы в проектах.
Но подобные репорты могут показывать проблемы, которые ты не ожидаешь.
На скриншоте бот показал, что мои изменения уменьшили немного размер бандла в одном из проектов.
Но есть нюанс: изменения совсем не затрагивают этот проект.
Вывод? У нас где-то протекает тришейкинг и в бандлы лезет мусор. И это важно, потому что некоторые из проектов сверхкритичны к размеру.
Так что собирайте статистику. Она лишней не бывает. Странности в ней могут показать неочевидные проблемы в проектах.
🔥11💩2🤡2👍1
Чат, что вы думаете о «тупых» продуктах по типу https://remarkable.com/store/remarkable-2?
Я раздумываю над покупкой этой вещицы, но меня смущает то, что она направлена на огромный объём рукописного текста, а я предпочитаю печатать на клавиатуре и делать немного пометок с помощью карандаша. А так же часто мне важна камера, так как это удобно сделать снимок, а потом рисовать поверх него.
Из-за этого я не могу найти выгоды для себя в этой штуке.
А вы как думаете? Пробовали ли что-то подобное?
Я раздумываю над покупкой этой вещицы, но меня смущает то, что она направлена на огромный объём рукописного текста, а я предпочитаю печатать на клавиатуре и делать немного пометок с помощью карандаша. А так же часто мне важна камера, так как это удобно сделать снимок, а потом рисовать поверх него.
Из-за этого я не могу найти выгоды для себя в этой штуке.
А вы как думаете? Пробовали ли что-то подобное?
Remarkable
reMarkable 2 paper tablet
reMarkable - "Replace your notes and printed documents with a digital notebook that feels like paper."
💩8👍4🤡3💅1
Новый месяц - новая реклама себя.
Если очень кратко: то я за деньги консультирую по разным вопросам. Если очень длинно: https://news.1rj.ru/str/xavescor_meetings_logs/6
Интересный кейс человека, который арендовал меня на одну сессию:
Я рассказал как поправить резюме и то, что есть хороший чат @resume_review, где люди критикую резюме и помогают сделать его лучше.
В итоге оказалось, что там сидят и рекрутёры тоже.
Интересный вывод: не стесняйтесь общаться с людьми и вываливать информацию о себе в паблик. Интересующие тебя люди могут найтись из неожиданных мест.
Если очень кратко: то я за деньги консультирую по разным вопросам. Если очень длинно: https://news.1rj.ru/str/xavescor_meetings_logs/6
Интересный кейс человека, который арендовал меня на одну сессию:
Я рассказал как поправить резюме и то, что есть хороший чат @resume_review, где люди критикую резюме и помогают сделать его лучше.
В итоге оказалось, что там сидят и рекрутёры тоже.
Интересный вывод: не стесняйтесь общаться с людьми и вываливать информацию о себе в паблик. Интересующие тебя люди могут найтись из неожиданных мест.
Telegram
Андруша консультирует
Привет. Я Андрей и понять кто я ты можешь тута https://www.linkedin.com/in/xavescor/ и вот тута @xavescor_code
Этот канал - это краткая выдержка консультаций, котоыре уже произошли. Можешь глянуть выше или ниже чтобы понять что узнавали другие люди.
Хочешь…
Этот канал - это краткая выдержка консультаций, котоыре уже произошли. Можешь глянуть выше или ниже чтобы понять что узнавали другие люди.
Хочешь…
👍6🤡4💩3
Очередная пачка изменений во фронте за эту неделю:
https://github.com/jestjs/jest/pull/14661
Jest переписывается на ESM. Учитывая, что через пару лет 22 года будет минимальной LTS, то куча проблем джеста с ESM кодом исправится сама собой, которая не поправится переписыванием на ESM
https://github.com/angular/angular/releases/tag/18.0.0-rc.0
Выход новой RC ангуляра. В ней не так много изменений, но там нет кардинальных изменений. Немного перешли на сигналы, чуток улучшили роутер, чуток выпили депрекейт и обновили минималку ts’a.
Ангуляр - это тот проект, который двигается как взрослый продукт: ничего не заставляем переписывать чтобы обновиться, кроме того о чём предупредили сильно заранее.
https://x.com/acdlite/status/1785691330988986587?s=61&t=VrzabS9_wqfWIQDxnvG2FA
Ну и решения от разрабов реакта: давайте патчить Date в будущих версиях реакта. Что же может пойти не так?
https://github.com/jestjs/jest/pull/14661
Jest переписывается на ESM. Учитывая, что через пару лет 22 года будет минимальной LTS, то куча проблем джеста с ESM кодом исправится сама собой, которая не поправится переписыванием на ESM
https://github.com/angular/angular/releases/tag/18.0.0-rc.0
Выход новой RC ангуляра. В ней не так много изменений, но там нет кардинальных изменений. Немного перешли на сигналы, чуток улучшили роутер, чуток выпили депрекейт и обновили минималку ts’a.
Ангуляр - это тот проект, который двигается как взрослый продукт: ничего не заставляем переписывать чтобы обновиться, кроме того о чём предупредили сильно заранее.
https://x.com/acdlite/status/1785691330988986587?s=61&t=VrzabS9_wqfWIQDxnvG2FA
Ну и решения от разрабов реакта: давайте патчить Date в будущих версиях реакта. Что же может пойти не так?
GitHub
fix: add ESM exports of all modules manually by SimenB · Pull Request #14661 · jestjs/jest
Summary
This is to work around nodejs/cjs-module-lexer#88. We don't need to rely on a lexer as we can just check our exports at build time and create manual ESM export.
This should avoid the du...
This is to work around nodejs/cjs-module-lexer#88. We don't need to rely on a lexer as we can just check our exports at build time and create manual ESM export.
This should avoid the du...
👍6😁4💩3🤡1
Как вы работаете с телеграмом?
Anonymous Poll
57%
Стараюсь раскидывать все чаты/каналы по отдельным папочкам, чтобы они не были все в одной куче
19%
Использую единую ленту
25%
Оба варианта
💩10🤡7
Находится ли этот канал в какой-то папке типа "фронтенд" или в общей ленте "all chats"?
Anonymous Poll
44%
all chats
56%
Фронтенд
💩17🤡9💋1
Время покажет
Опросы выше показали, что читающие меня смотрят на жизнь чуток по-другому. И хотелось бы обсудить это.
Главный тезис: люди, да и конкретно ты, читатель, не умеют прогнозировать. И это касается всего: фондовых рынков, потребления информации, выставлении приоритетов в жизни и т.п. И самое печальное, что мы узнаём это постфактум, когда в итоге ты понимаешь что всё что ты изучал тебе по-факту и не понадобилось.
И вопрос: как с этим бороться? А бороться в итоге не надо. Надо поверить времени помогать тебе.
К примеру, организация каналов в телеге - это попытка организовать своё потребление, из-за которого ты можешь потребить кучу бесполезной информации, потому что ты сказал "я слежу за этим человеком".
И решение этой проблемы простое: хватит организовывать потребление информации. Если вы что-то не увидели, то это не ваша проблема, а проблема информации. Реально важные вещи не пролетят мимо вас. Я делаю просто: всё находится в одной ленте. Если я вижу канал редко, то я отписываюсь. Информация дойдёт до меня другими способами. Через другие каналы, через знакомых, через работу. Если не дойдёт, ну и пофигу на неё, значит она не важна.
Аналогичная ситуация у меня с тудулистом. Всё находится в одном списке с двумя приоритетами: не важно и очень важно. Причём в категории "очень важно" находятся реально важные вещи по типу "сделать платёж по кредиту". Остальное же летит в неважное. В этой ленте уже около 400 записей. Если я что-то не сделал из этого неважного, то и фиг с ним. Значит это реально не важно.
Логика очень проста: если вы что-то не увидели за какое-то время, то это вам не надо.
Аналогично я делаю с покупками: если мне хочется купить какую-то вещь и я сомневаюсь, то я даю себе время. Т.е. просто откладываю решение о покупке. На неделю, на месяц, на два. Если за этот срок я не перестал сомневаться, то значит вещь стоящая и её надо купить.
И подобного теста временем вокруг меня куча. Не стесняйтесь игнорировать информацию. 99% того что происходит вокруг нас - белый шум. И если вы не поучаствуете в нём, то это не проблема. Не стоит тратить кучу времени на обработку этого шума.
Опросы выше показали, что читающие меня смотрят на жизнь чуток по-другому. И хотелось бы обсудить это.
Главный тезис: люди, да и конкретно ты, читатель, не умеют прогнозировать. И это касается всего: фондовых рынков, потребления информации, выставлении приоритетов в жизни и т.п. И самое печальное, что мы узнаём это постфактум, когда в итоге ты понимаешь что всё что ты изучал тебе по-факту и не понадобилось.
И вопрос: как с этим бороться? А бороться в итоге не надо. Надо поверить времени помогать тебе.
К примеру, организация каналов в телеге - это попытка организовать своё потребление, из-за которого ты можешь потребить кучу бесполезной информации, потому что ты сказал "я слежу за этим человеком".
И решение этой проблемы простое: хватит организовывать потребление информации. Если вы что-то не увидели, то это не ваша проблема, а проблема информации. Реально важные вещи не пролетят мимо вас. Я делаю просто: всё находится в одной ленте. Если я вижу канал редко, то я отписываюсь. Информация дойдёт до меня другими способами. Через другие каналы, через знакомых, через работу. Если не дойдёт, ну и пофигу на неё, значит она не важна.
Аналогичная ситуация у меня с тудулистом. Всё находится в одном списке с двумя приоритетами: не важно и очень важно. Причём в категории "очень важно" находятся реально важные вещи по типу "сделать платёж по кредиту". Остальное же летит в неважное. В этой ленте уже около 400 записей. Если я что-то не сделал из этого неважного, то и фиг с ним. Значит это реально не важно.
Логика очень проста: если вы что-то не увидели за какое-то время, то это вам не надо.
Аналогично я делаю с покупками: если мне хочется купить какую-то вещь и я сомневаюсь, то я даю себе время. Т.е. просто откладываю решение о покупке. На неделю, на месяц, на два. Если за этот срок я не перестал сомневаться, то значит вещь стоящая и её надо купить.
И подобного теста временем вокруг меня куча. Не стесняйтесь игнорировать информацию. 99% того что происходит вокруг нас - белый шум. И если вы не поучаствуете в нём, то это не проблема. Не стоит тратить кучу времени на обработку этого шума.
👍25💩7🤡3❤1🔥1