cherkashin.dev
前往频道在 Telegram
Александр Черкашин. Бойскаут, Борец с перфекционизмом. Для связи 👉 @cherkalexander Фулстек разработчик в decisions.com. Работаю со стеком TypeScript, React, C# Пишу о программировании и не только. https://cherkashin.dev
显示更多2 107
订阅者
-124 小时
-17 天
-930 天
数据加载中...
相似频道
标签云
进出提及
---
---
---
---
---
---
吸引订阅者
七月 '26
七月 '26
+7
在0个频道中
六月 '26
+30
在0个频道中
Get PRO
五月 '26
+26
在0个频道中
Get PRO
四月 '26
+42
在0个频道中
Get PRO
三月 '26
+37
在1个频道中
Get PRO
二月 '26
+127
在0个频道中
Get PRO
一月 '26
+33
在0个频道中
Get PRO
十二月 '25
+36
在2个频道中
Get PRO
十一月 '25
+30
在0个频道中
Get PRO
十月 '25
+34
在0个频道中
Get PRO
九月 '25
+32
在0个频道中
Get PRO
八月 '25
+39
在0个频道中
Get PRO
七月 '25
+25
在0个频道中
Get PRO
六月 '25
+208
在0个频道中
Get PRO
五月 '25
+45
在0个频道中
Get PRO
四月 '25
+41
在0个频道中
Get PRO
三月 '25
+36
在1个频道中
Get PRO
二月 '25
+86
在4个频道中
Get PRO
一月 '250
在2个频道中
Get PRO
十二月 '24
+38
在0个频道中
Get PRO
十一月 '24
+45
在1个频道中
Get PRO
十月 '24
+39
在1个频道中
Get PRO
九月 '24
+42
在1个频道中
Get PRO
八月 '24
+1 480
在0个频道中
Get PRO
七月 '240
在1个频道中
Get PRO
六月 '240
在0个频道中
Get PRO
五月 '240
在0个频道中
Get PRO
四月 '240
在1个频道中
Get PRO
三月 '240
在2个频道中
Get PRO
二月 '240
在0个频道中
Get PRO
一月 '240
在1个频道中
Get PRO
十二月 '23
+1
在0个频道中
Get PRO
十一月 '23
+20
在0个频道中
Get PRO
十月 '23
+35
在0个频道中
Get PRO
九月 '23
+424
在0个频道中
| 日期 | 订阅者增长 | 提及 | 频道 | |
| 09 七月 | +1 | |||
| 08 七月 | +1 | |||
| 07 七月 | 0 | |||
| 06 七月 | +1 | |||
| 05 七月 | 0 | |||
| 04 七月 | 0 | |||
| 03 七月 | +2 | |||
| 02 七月 | +2 | |||
| 01 七月 | 0 |
频道帖子
Я заметил, что код руками пишу всё меньше — в основном пишу промпты агентам. И если код за меня печатает Codex, то промпты приходится набирать самому. Длинные. Много. Каждый день.
А говорим мы в три раза быстрее, чем печатаем.
В общем, попробовал Диктуй — российский голосовой ввод для Mac и Windows. Зажимаешь горячую клавишу, говоришь — текст появляется там, где стоит курсор. В Cursor, в терминале, в Телеге — где угодно.
Что понравилось:
— Заточен под русский, но «сделай рефакторинг useEffect в компоненте Header» напечатает как надо. Для редких слов есть словарь.
— Трансформация: выделил текст, сказал «переведи на английский» или «сделай короче» — текст заменился.
— Оплата российскими картами, в 2–3 раза дешевле аналогов. 30 минут в месяц — бесплатно навсегда, без карты.
🎁 По промокоду
DEV — месяц подписки в подарок: регистрируешься на diktuy.ru, вводишь промокод — пользуешься.
👍 — если уже диктуете промпты голосом
👀 — если всё ещё печатаете
#ai #диктуй| 2 | А вы замечали дискриминацию людей в ИТ?
Сколько раз вы говорили "нам нужна документация" — а все вокруг отвечали "нафиг надо, таски делай".
Сколько раз новички думали "где моя инструкция для онбординга", а все вокруг думали "нафиг, сам разберётся".
Когда говорили "это нужно покрыть тестами", все отвечали "ну вот и покрой тестами, а пока вот эту фичу быстрее в прод кати".
А как только что-то мешает ИИ-агентам:
- мы им и CLAUDE.md напишем
- и документацию к проекту добавим, чтобы наш дорогой агент знал, почему сделано так, а не иначе
- и соломку в виде тестов насыпем обязательно, чтобы он не ошибся.
Что за двойные стандарты? За что бездушной машине такие привилегии?
Замечали такое?
- 👍 — Было дело
- 🤔 — Как-то нет | 400 |
| 3 | Судя по прошлому посту, многие работают с мобильной версткой, поэтому вам должно пригодиться расширение Mobile View.
В общем, расширение накладывает рамку мобильного устройства прямо поверх вашего сайта, и вы можете посмотреть, как ваше приложение будет выглядеть на конкретной версии телефона. При этом сайт и мобильная версия видны на экране одновременно. Также можно выбрать конкретную модель телефона и вертикальную/горизонтальную ориентацию.
Понятно, что девтулзы частично решают проблему, но есть пара «но»:
- они не дают посмотреть, как именно будет выглядеть сайт на телефоне с рамкой
- вы можете одновременно видеть мобильную и десктопную версии сайта
Если вам интересно, как здесь используется Shadow DOM или как реализована запись экрана, то обязательно почитайте статью на Хабре.
#frontend #fridayreading | 602 |
| 4 | Товарищи, подскажите, есть ли у кого опыт использования Code Connect в Figma? Стоит заморочиться и настроить?
Для тех, кто не знает: насколько я понимаю, мы можем настроить связь между компонентами в Figma и в коде. Тогда разработчику будет понятно, какой компонент использовать при реализации.
Но кто сейчас волнуется о разработчиках? Это поможет агентам при реализации дизайна. Сейчас, если вы попросите агента реализовать дизайн, сначала для стилей он будет использовать Tailwind, а затем уже как-то начнёт использовать ваши компоненты. Code Connect должен помочь сэкономить токены: агент сразу будет использовать именно ваши компоненты. Для этого нужно настроить маппинг между компонентами в Figma и в коде.
Вот здесь 5-минутное объяснение
👍 — использую
🤷♂️ — пробовал, не зашло
👎 — не использую
#ai | 631 |
| 5 | За двумя зайцами 🐇🐇 погонишься — ни одного не поймаешь
Умные люди говорят, что чтобы достичь цели, нужно сфокусироваться на самом важном и долбить в одну точку, пока не получится.
Но в текущем быстро меняющемся мире, когда все вокруг рассказывают, какие они успешные, хочется хвататься за всё сразу:
- тут кажется, что все уже настроили себе опенкло и невероятно оптимизировали рутину
- все пилят пет-проекты с помощью ИИ, ведь теперь это так легко
- там чувак набрал 1000 новых подписчиков, я тоже так хочу
Но со временем всё начинает валиться из рук. Да и за всей этой суетой можно упустить то, что действительно важно.
За последние несколько лет, мне кажется, я научился делать одну важную вещь: если чувствую, что у меня и так много дел, и при этом у меня загораются глаза новой идеей — я не хватаюсь за неё, если понимаю, что в ближайшем будущем у меня не будет времени её закончить.
Я уже рассказывал об этом здесь. А чтобы избавиться от назойливых мыслей, я просто создаю заметки в Obsidian.
Но всё равно бывает так, что обязательства накапливаются, появляется возможность, которую не хочется упустить. А если сейчас упустишь возможность — новая не подвернётся и будет поздно (не факт).
Батарейка начинает садиться, и именно в этот момент как-то легко становится приоритизировать.
Достаточно спросить себя:
- А что такого случится, если я этого не сделаю?
- А действительно ли мне это нужно?
И чаще всего, ответ будет "ничего не случится", "не очень мне это и нужно".
А ещё важно понять, что не всё нужно делать идеально. Где-то результат на троечку тоже подойдёт.
Давно понял, что незаметно в очередной раз схватился за всё одновременно — и как-то стало тяжеловато.
Сейчас поставил на паузу всё, что могу, от чего-то отказался или перенёс на потом. А ещё — довел до конца всё что хотел.
Надеюсь, через месяц основная стадия ремонта закончится, получится вернуться к себе в квартиру — и станет немного полегче.
Расскажите, а вы распыляетесь или фокусируетесь на важном?
- 😅 — распыляюсь и хватаюсь за всё
- ❤️ — фокусируюсь на важном
- 😎 — просто живу свою лучшую жизнь
#about_me | 595 |
| 6 | Я, так же, как и разработчики VK решил обновить свой ноут, но мне, в отличие от них ничего не удалили.
Решил перейти со своего MacBook M1 Pro 32 ГБ 14' на MacBook M5 Pro 48 ГБ 16'.
Хотел взять также 14-дюймовый, но он тысяч на 30 дороже, не знаю почему, может спрос на него большой. Но, если не таскать ноут постоянно с собой, то работать на 16-дюймовом, конечно, намного удобнее. Единственный минус — теперь придётся купить подставку под монитор.
По производительности. У нас на работе свой собственный бенчмарк производительности. За сколько проходит полный билд кодовой базы:
- M1 Pro ≈ 10:30 мин
- M5 Pro ≈ 7:20 мин
В общем, маки стали ещё шустрее.
Миграция со старого мака проходит почти так же бесшовно как и со старого айфона. Запускаете Migration Assistant и через полтора часа, у вас новый ноут, но совершенно вся начинка, включая горячие клавиши, перенесена со старого.
Пока искал, где купить — прошустрил все магазины, маркетплейсы и запустил кучу исследований на ChatGPT. В итоге, опять купил в aj.ru, дешевле варианта не нашел — 256 000. Гравировку сделали, адаптер положили, а ещё по ключевой фразе "это итоговая цена или небольшой торг уместен?" сделали скидку в 3 тысячи.
Мне интересно, а кто чем пользуется:
- 🔥 — у меня мак
- 👍 — у меня винда
- 👨💻 — настоящие программисты сидят на линуксе | 626 |
| 7 | Замечательно, что не нужно ездить в налоговую для перевыпуска цифровой подписи.
Правда в инструкции по установке и устранению проблем, для её установки — 68 страниц, иногда проще и съездить, если не удаётся решить проблему 🤣
Возможно, кому-то сохраню несколько часов жизни, которые вы бы потратили на посещение налоговой.
Если у вас высвечивается ошибка "Insert carrier ... to open container ..." при попытке входа в личный кабинет с помощью цифровой подписи:
1. Установите последнюю версию Яндекс Браузера
2. Запустите его через консоль /Applications/Yandex.app/Contents/MacOS/Yandex --no-sandbox (источник)
3. Всё должно сработать
У Точки есть отличная инструкция по настройке цифровой подписи.
Расскажите, а как вы работаете?
- 😎 — Я ИП
- 🧑💻 — Я просто сотрудник
- 🔥 — временно безработный | 752 |
| 8 | Вчера нужно было нарисовать небольшой экран, чтобы понять чего хочет бизнес.
Открыл фигму, а там появились агенты в бете. В общем, получилось худо бедно, что-то накидать без дизайнера.
Сейчас был на подлодке, там показывали Pencil. Можно подключить Codex или Claude по MCP и попросить нарисовать дизайн.
Во время доклада запустил, попросил сгенирировать дизайн систему для пет проекта. Выглядит неплохо.
Раньше кнопки красили, а скоро будем и дизайнить их 😢
#ai | 921 |
| 9 | Я не очень часто имею дело с мобильной вёрсткой, в основном всё время занимаюсь разработкой десктопных приложений. Но на своём пет-проекте мне понадобилось немного подебажить мобильную версию. Спросил Codex, и он рассказал мне, как сайт открытый на реальном айфоне, можно нормально смотреть через Web Inspector в Safari. На Android, насколько знаю, есть что-то похожее.
Делается так:
- на iPhone включить: Settings → Safari → Advanced → Web Inspector
- подключить iPhone к Mac по кабелю
- на Mac открыть Safari и включить меню разработчика: Safari → Settings → Advanced → Show features for web developers
- открыть сайт на iPhone в Safari
- на Mac выбрать: Develop → [твой iPhone] → [страница]
После этого можно смотреть console, network и elements как в обычных DevTools.
А ещё можно включить iPhone Mirroring. Тогда экран телефона видно прямо на ноутбуке, и не нужно постоянно перекладывать взгляд с мака на айфон и обратно.
Ставьте:
👍 - если часто занимаетесь мобильной вёрсткой
🔥 - если в основном работаете с десктопными приложениями
🤷 - если вы не фронтендер
#frontend | 879 |
| 10 | А вы заметили, что в консоли хрома появился ИИ?
Я сперва думал, как это применить, а потом мне понадобилось очистить все браузерные данные для одного Progressive Web App.
- Написал коммент // generate code to remove all local data stored in browser for this app прямо в консоли хрома
- Нажал cmd + i
- Хром сгенирировал код
- Нажал tab
- Все готово
#ai | 876 |
| 11 | 🎉 Результаты розыгрыша:
🏆 Победитель:
1. RB (@distribate)
✔️Проверить результаты | 204 |
| 12 | До завтра разыгрываем 🎟 бесплатный билет на Podlodka AI Crew.
Как обычны, по одному докладу утром и вечером всю неделю 15 — 19 июня.
Особенно приходите, если вы ещё не уверовали в AI 😉 | 301 |
| 13 | Я более-менее регулярно хожу на конференции Подлодки по Реакту, но в эпоху ИИ стараюсь больше разбираться с тем, как правильно выстроить работу с ИИ-агентами.
Слышал, есть ещё ретрограды, которые отрицают использование ИИ-агентов 😅 (Саня привет 👋)
Сам я почти все задачи решаю с помощью агентов, поэтому хочется посмотреть, как другие ими пользуются.
В этот раз иду на Podlodka AI Crew, которая пройдёт онлайн с 15 по 19 июня 📅.
Формат у Подлодки, как обычно, удобный: пять дней живых Zoom-сессий утром и вечером, закрытое комьюнити в Telegram и обсуждения со спикерами. Можно спокойно посещать конфу и не выпадать из работы на целый день.
Посмотрел программу, пока хочу посетить:
- Жизнь после Spec Driven Development, как не убить качество — трансляция, кстати, будет доступна для всех 10 июня
- Дизайн без дизайнеров: генерируем UI с помощью AI
- Как эффективно проверять код, сгенерированный AI
- Eval Driven Development: как перестать проверять AI на глаз
Если вам кажется, что онлайн-конференция — это примерно то же самое, что потом посмотреть записи на YouTube, то нет. На Подлодке можно задавать вопросы спикерам, обсуждать доклады в чате и знакомиться с другими участниками.
🎫 Купить билет можно здесь.
А по промокоду cherkashin_dev_ai будет скидка 500р.
А теперь давайте перейдём к самой интересной части — розыгрышу 🎁. Запущу его завтра, поэтому включайте уведомления, чтобы не пропустить. Правила простые: если вы подписаны на канал и нажали «участвовать», вы получаете шанс выиграть билет.
#ai #conference | 760 |
| 14 | Сегодня ровно 9 лет как я не менял работу 🙈
У нас в компании дают дополнительный месяц оплачиваемого отпуска за 10 лет работы
🔥 - если думаешь, дотяну до 10 лет
😱 - если думаешь, сольюсь раньше | 904 |
| 15 | Вы же знаете, что в нашем App Store недоступны многие приложения — например, ChatGPT. Поэтому если вы вдруг захотели кодить из такси в Codex по пути домой (вдруг вы хотите кодить не переставая?!), то ничего у вас не получится.
Это я к чему: решил создать себе второй Apple-аккаунт. Арендовал американский номер, включил КВН, но постоянно вылетала ошибка: Your account cannot be created at this time.
Я грешил на то, что использовал почту Яндекса.
Потом товарищ сказал, что он регистрировал второй аккаунт на российский номер. Я решил попробовать: ввёл свой российский номер, почту Яндекса — и всё сработало. Регион указал канадский.
В общем, не нужны никакие виртуальные номера. Вроде как я использовал тот же номер, который уже привязан к другой учётке, так что даже вторая симка не понадобилась.
Настолько привык к запретам, что не знал, что так просто ещё можно что-то сделать)
Правда, слышал, что зарегистрироваться на российский номер получается не у всех. Так что, возможно, тут как повезёт.
Тут описано, как использовать новый Apple ID в App Store, не выходя из основного аккаунта.
Через ChatGPT придумал канадский адрес и телефон. Телефон никто не проверяет, по крайней мере на этапе авторизации.
🔥 — если у вас есть зарубежный Apple ID
👍 — если обходитесь российским
🤷♂️ — у меня андроид | 1 117 |
| 16 | Давно, я не рекомендовал статьи, а сегодня принес «Иногда лучше делать, а не планировать».
Там описывается одна простая мысль: за последние десятилетия реализация проектов погрязла в бесконечных совещаниях и согласованиях.
Несколько примеров:
- Эмпайр-стейт-билдинг построили за 410 дней: с 22.01.1930 по 01.05.1931.
- Космическая программа «Аполлон» — от формулирования задачи 12.09.1962 до высадки на Луну 20.07.1969 — заняла менее 7 лет.
В наши дни только получение разрешения на строительство может занять несколько лет или десятилетий. Потом ещё несколько лет уйдёт на документацию, подготовку инфраструктуры и т. д.
Например, строительство высокоскоростного поезда между Сан-Франциско и Лос-Анджелесом началось в 2015 году и не окончено до сих пор.
Самая классная фраза из статьи:
«Время, потраченное на обсуждение пункта, обратно пропорционально рассматриваемой сумме».
Это правило называется законом Паркинсона.
Думаю, все замечали, как на каком-нибудь митинге чрезмерное внимание уделяется мелочам. Например, можно 20 минут обсуждать название кнопки или порядок полей в форме, хотя всем примерно понятно, что надо сделать. Каждый считает, что важно сделать именно так, как хочет он.
При этом сложные моменты, где нужно приложить усилие и реально подумать, люди часто пропускают.
То же самое часто происходит и во время код-ревью. Все мастера указать на неправильное именование переменной, но чтобы разобраться в архитектуре, многие не хотят тратить силы.
Это ещё называется bike-shed effect или «эффект велосипедного сарая».
Год назад у нас произошла большая реструктуризация, и появился скрам со своими планированиями и грумингами. На груминге можно долго обсуждать, как лучше что-то сделать, где могут появиться подводные камни, что ещё нужно учесть и прочее.
Но я вижу, как все терпеть не могут эти митинги. Все хотят просто сидеть и заниматься своим делом.
Для некоторых важных задач, конечно, нужно обсудить подход и понять, как мы будем это решать. Но, кажется, что гораздо важнее полностью понять требования, а что до реализации — для некритичных задач проще спросить у Клода или Кодекса: «что сломается, если я внесу это изменение?» или «как лучше реализовать это?», а не тратить время всей команды на обсуждение.
Да и иногда проще быстро спрототипировать — спасибо тому же Клоду — и спросить у команды: «вот так нормально?», чем снова собирать всех на обсуждение.
Раньше что-то переписать могло занять дни, а теперь — часы. Поэтому мне кажется, что это не такая уж плохая идея.
Ещё один интересный момент из статьи:
В 1944 году ЦРУ выпустило инструкцию по саботажу работы компаний для своих диверсантов. Среди советов: всё прогонять через формальные каналы, чаще делать длинные доклады, спорить о формулировках, поднимать несущественные вопросы и возвращаться к уже принятым решениям.
Задача — снижать продуктивность, но выглядеть так, будто ты просто соблюдаешь правила.
Иногда кажется, что многие современные менеджеры отлично с этим справляются.
Ставьте:
- 🔥 — если митинги заколебали
- 👍 — если вы везунчик и у вас минимум митингов
#fridayreading | 765 |
| 17 | Я пару месяцев назад сделал экспорт постов из Телеги в свой блог написанный на Astro, и агент навайбкодил мне такую конструкцию — for await.
for await (const message of client.iterMessages(entity, { reverse: false })) {
// ....
}
for await...of — это цикл для перебора асинхронных коллекций.
Обычно он используется, когда данные приходят не все сразу, а постепенно: например, из API, базы данных, файла или постраничной загрузки.
Сообщения подгружаются постепенно: for await берёт сообщения одно за другим, а когда текущая загруженная порция заканчивается, iterMessages делает следующий запрос в Telegram за новой порцией.
Минимальный пример выглядит так:
const delay = (value, ms) =>
new Promise((resolve) => setTimeout(() => resolve(value), ms));
async function* makeNumbers() {
yield await delay(1, 1000);
yield await delay(2, 1000);
yield await delay(3, 1000);
}
async function run() {
for await (const number of makeNumbers()) {
console.log(number);
}
}
run();
Наиболее простой для понимания пример применения — пагинация. Мы можем инкапсулировать всю работу с получением данных в асинхронном генераторе, и пройтись по коллекции с помощью for await. Реальный пример можно посмотреть здесь или на второй картинке.
⚠️ Важный момент: for await работает последовательно. Он не запускает все итерации параллельно.
👍 — было полезно
👀 — уже знали про for await
А выгруженные посты, можно посмотреть 👉 здесь.
#javascript | 750 |
| 18 | 19 июня еду на CPC.Forum — международный форум про перфоманс-маркетинг и рекламные системы.
Сейчас почти у всех одна и та же история: реклама дорожает, лиды добываются сложнее, цикл сделки растет, а планы по продажам никто не снижает.
На форуме как раз будут разбирать, что с этим делать.
Особенно ценно, что в программе:
▪️ 100+ спикеров (Amazon, «Яндекс Реклама», Flowwow, Calltouch, RUTUBE, PREMIER, Skyeng, «Самолёт», Skillbox, GeekBrains, Clickise, «Купер», «Ёбидоёби» и др.);
▪️ Более 4-х залов по разным темам (записи выступлений тоже будут);
▪️ Большая выставка известных компаний (мерч, интерактивы, розыгрыши);
▪️ Организованный нетворкинг;
▪️ Панельная дискуссия по трафику от топ-экспертов рынка;
▪️ Церемония CPC.Awards;
▪️ VIP-afterparty с концертом от суперзвезд!
Хедлайнер форума — Ксения Собчак.
Лично я очень хочу послушать выступления:
- Денис Сметнёв — «Инструменты, которые стали возможны благодаря AI»
- Артур Саркисян — «Новая операционная система бизнеса: ИИ, данные и клиентская память»
- Алексей Дощинский — «Как расти через контент в 2026 году: площадки, системный постинг, автоматизация, аналитика и ИИ-советы»
- Владимир Сургай — «SurgayGPT: ИИ-автоматизация маркетинга TFA.digital»
📅 19 июня, пятница
📍 Москва, Конгресс-центр ЦМТ
Надеюсь, увидимся там с вами! Цены скоро станут выше, успевайте приобретать билеты со скидками ❤️ | 589 |
| 19 | У меня уже давно была идея реализовать проект «Второй Мозг». Я долгое время пользовался Notion, но они редиски, и поэтому я перебрался в Obsidian. И в эпоху ИИ понимаю, что это было самым правильным решением.
Так вот, я думал, было бы круто взять свой Obsidian Vault, положить его на VPS, прикрутить к нему телеграм-чат и нейронки. Тогда мой список дел и проектов всегда был бы под рукой.
А ещё можно записывать, что готовит жена, и в следующий раз, когда она спросит «что приготовить», быстро спросить ИИ, что было приготовлено за последние 2 недели, и выбрать. 😄
Тут на прошлой неделе сходил на вебинар OpenClaw и понял, что всё уже реализовано...
Иногда чувствую себя дедом, когда выходит новый инструмент. Кажется, что все вокруг уже давно со всем разобрались, а я ещё понятия не имею, зачем этот инструмент нужен.
Если кратко, OpenClaw — это такой open-source AI-агент, который можно поднять у себя и подключить к своим данным, файлам, сервисам и общаться прямо в Телеге. Получается, это примерно тот самый личный ассистент поверх Obsidian, о котором я и думал. 😅
Благодаря ребятам из Guide DAO получается держать руку на пульсе.
Сейчас у ребят появились курсы по:
- OpenClaw
- Курс по клоуд коду
- Курс вайбкодер
- Курс по созданию агентов
- скоро появится курс по созданию продукта и его монетизации
Покупая один курс, вы получаете доступ ко всему. А сейчас по промокоду 🏷 CHERKASHIN действует скидка 15%.
В общем, теперь хочу разобраться, где лучше хостить OpenClaw, обязательно ли нужен Docker, какой хостинг подешевле выбрать, как синхронизировать Obsidian Vault на VPS и локально и прочее. Если вы уже со всем этим разобрались, расскажите в комментариях 🙏
Расскажите, а вы пользуетесь OpenClaw? Какие задачи он для вас закрывает?
- 🔥 — активно пользуюсь
- 👍 — потыкал немного
- 👀 — не довелось
#ai #obsidian | 918 |
| 20 | Часто при генерации кода ИИ использует в JavaScript ключевое слово void.
Я, конечно, видел void, но обычно где-то в минифицированном коде. Сам никогда не использовал, если не считать C# 😄, поэтому такое немного мозолит глаза:
void fetchUser();
Зачем он нужен?
Оператор void вычисляет переданное выражение и всегда возвращает undefined.
const result = void fetchUser();console.log(result); // undefined
Но в примере с fetchUser смысл обычно другой: так явно показывают, что промис запускается «в фоне», а результат мы специально не ждём.
void fetchUser().catch((error) => { console.error('Failed to fetch user', error);});
👍 — если знали про void
❤️ — если тоже видели, но не использовали
😱 — если ИИ уже успел нагенерить вам такого в проекте
#frontend #javascript | 898 |
