Как Google повышала знания работников в кабинках туалета
На фоне большого роста Google в 2006 году столкнулась с огромным количеством багов. Чтобы справиться с этим, инженеры решили подойти к задаче нестандартно.
В шутку было предложено обучать сотрудников прямо в туалетах — месте, где внимание пусть ненадолго, но точно сосредоточено. Так и появился Tech on the Toilet (TotT) — одностраничные листовки с качественным техническим контентом по тестированию.
Реакции на это были смешанные: одни благодарили за знания, другие просили оставить их в покое. Но концепция сработала и разрослась — теперь TotT охватывает темы от чистого кода до веба и ML.
Отличный пример как креатив может сделать рутинные процессы эффективнее🧻
#факты
@tproger
Читайте также в VK, Max и Дзен
На фоне большого роста Google в 2006 году столкнулась с огромным количеством багов. Чтобы справиться с этим, инженеры решили подойти к задаче нестандартно.
В шутку было предложено обучать сотрудников прямо в туалетах — месте, где внимание пусть ненадолго, но точно сосредоточено. Так и появился Tech on the Toilet (TotT) — одностраничные листовки с качественным техническим контентом по тестированию.
Реакции на это были смешанные: одни благодарили за знания, другие просили оставить их в покое. Но концепция сработала и разрослась — теперь TotT охватывает темы от чистого кода до веба и ML.
Отличный пример как креатив может сделать рутинные процессы эффективнее🧻
#факты
@tproger
Читайте также в VK, Max и Дзен
❤35😁15✍11❤🔥2💯2🤨2🍾2👍1🍓1💘1😘1
Forwarded from Точка входа в программирование
Процессор в вашем компьютере угадывает будущее. И ошибается в 5% случаев
Мы знаем, что код на отсортированном массиве работает быстрее, чем на неотсортированном. Тот же массив, тот же алгоритм, и те же данные. Просто в другом порядке. Всё потому, что процессор постоянно пытается предсказать будущее. Буквально. Он гадает, какая ветка
Давайте вместе разберёмся, как это работает:
https://habr.com/ru/articles/1013098/
@prog_point (теперь ещё в VK и Max)
Мы знаем, что код на отсортированном массиве работает быстрее, чем на неотсортированном. Тот же массив, тот же алгоритм, и те же данные. Просто в другом порядке. Всё потому, что процессор постоянно пытается предсказать будущее. Буквально. Он гадает, какая ветка
if выполнится ещё до того, как условие будет вычислено. И на отсортированных данных ему угадывать проще.Давайте вместе разберёмся, как это работает:
https://habr.com/ru/articles/1013098/
@prog_point (теперь ещё в VK и Max)
🔥15👏7🗿6💯4🤨4🤓3❤🔥2😐2🎃1💅1🙉1
И снова пора хвастаться!
В прошлом выпуске вы рассказали:
— о проекте для планирования учёбы,
— решении np-hard для сортировки контейнеров в стеках,
— аналоге Skype,
— платформе для подготовки к фронтенд-собесам,
— приложении для путешествий,
— цифровом мозге для obsidian и не только.
Теперь расскажите, как успехи с развитием этих проектов? А те, кто ещё не хвастался, не стесняйтесь и пишите о своих проектах в комментариях.
@tproger
Читайте также в VK, Max и Дзен
В прошлом выпуске вы рассказали:
— о проекте для планирования учёбы,
— решении np-hard для сортировки контейнеров в стеках,
— аналоге Skype,
— платформе для подготовки к фронтенд-собесам,
— приложении для путешествий,
— цифровом мозге для obsidian и не только.
Теперь расскажите, как успехи с развитием этих проектов? А те, кто ещё не хвастался, не стесняйтесь и пишите о своих проектах в комментариях.
@tproger
Читайте также в VK, Max и Дзен
🍓3💘3✍2👍2🙏2💔2🗿2👌1😴1🤓1🎅1
Большая подборка статей, которая поможет изучить 30 основ проектирования систем
Осталось только лайк поставить и сохранить👍
#архитектура
1. APIs
2. Вебхуки
3. REST и GraphQL
4. API Gateway
5. Балансировщики нагрузки
6. Алгоритмы балансировки нагрузки
7. Прокси vs Обратный прокси
8. Масштабируемость
9. Доступность (Availability)
10. Единая точка отказа (SPOF)
11. Теорема CAP
12. Типы баз данных
13. SQL или NoSQL
14. Транзакции ACID
15. Индексирование баз данных
16. Шардирование или партиционирование БД
17. Согласованное хеширование (Consistent Hashing)
18. Захват изменения данных (Change Data Capture, CDC
19. Кэширование
20. Стратегии кэширования
21. Политики очищения кэша (Cache Eviction Policies)
22. CDN (Сети доставки контента)
23. Алгоритмы ограничения скорости запросов (Rate Limiting)
24. Очереди сообщений (Message Queues)
25. Фильтр Блума
26. Идемпотентность
27. Конкурентность и параллелизм
28. Состояние: stateful vs stateless
29. Long polling vs WebSockets
30. Пакетная обработка и потоковая обработка
Осталось только лайк поставить и сохранить
#архитектура
Please open Telegram to view this post
VIEW IN TELEGRAM
❤51👍31👏2🍌2👨💻2💅2🏆1💋1🎄1💘1😘1
Media is too big
VIEW IN TELEGRAM
Doom на чистом Go
Переписать классический DOOM на Go без единого вызова C? Это реально. Репозиторий gore — порт doomgeneric, автоматически конвертированный из C через ccgo, а затем доведённый до ума вручную.
Движок полностью абстрагирован от ввода-вывода через простой интерфейс
Уже есть три готовых примера:
— терминальный клиент с ANSI-графикой (Doom в консоли),
— веб-сервер с управлением через браузер,
— оконная версия на Ebitengine.
Сборка под любую ОС, включая WebAssembly, прямо из коробки. Из нереализованного: глобальные переменные оригинала пока не дают запустить два экземпляра в одном процессе, и остались отдельные вызовы
Для запуска нужен Go 1.24+ и любой WAD-файл (поддерживаются DOOM, DOOM II, Ultimate DOOM, Final DOOM).
Исходный код, примеры и инструкции — здесь: https://github.com/AndreRenaud/gore
Переписать классический DOOM на Go без единого вызова C? Это реально. Репозиторий gore — порт doomgeneric, автоматически конвертированный из C через ccgo, а затем доведённый до ума вручную.
Движок полностью абстрагирован от ввода-вывода через простой интерфейс
DoomFrontend. Чтобы запустить игру на любой платформе, достаточно реализовать всего два метода — DrawFrame и GetEvent. Остальное опционально.Уже есть три готовых примера:
— терминальный клиент с ANSI-графикой (Doom в консоли),
— веб-сервер с управлением через браузер,
— оконная версия на Ebitengine.
Сборка под любую ОС, включая WebAssembly, прямо из коробки. Из нереализованного: глобальные переменные оригинала пока не дают запустить два экземпляра в одном процессе, и остались отдельные вызовы
unsafe.Для запуска нужен Go 1.24+ и любой WAD-файл (поддерживаются DOOM, DOOM II, Ultimate DOOM, Final DOOM).
Исходный код, примеры и инструкции — здесь: https://github.com/AndreRenaud/gore
🤷♀12🔥7😐6⚡2❤2🐳2👎1😍1😘1
Forwarded from Сохранёнки программиста
В блоге Dochia вышла интересная статья о том, как нейросети незаметно возвращают нас к методологии Waterfall.
В эпоху классического Agile мы привыкли работать короткими итерациями с минимальными требованиями. Идея состояла в том, чтобы не тратить месяцы на детальные спецификации. Бизнес все равно изменит планы, а писать код долго и дорого. Дешевле было быстро сделать базовую фичу, получить обратную связь и переделать.
С приходом продвинутых ИИ агентов математика процесса сильно изменилась:
— агенты пишут код невероятно быстро и дёшево;
— они совершенно не умеют додумывать контекст и работать с абстрактными задачами, как это делают живые разработчики;
— любая недосказанность в промте превращается в ошибочную архитектуру, которую вы обнаружите только через несколько спринтов.
Чтобы ИИ выдавал рабочий результат, ему нужна максимально подробная и жёсткая спецификация с описанием всех контрактов и граничных случаев. То есть именно то, за что разработчики так не любили Waterfall.
Формируется новая парадигма. Написание ТЗ снова становится самым дорогим этапом, в котором незаменим человек. Код при этом превращается в дешёвый одноразовый расходник. Вы пишете подробные требования, отдаёте их нейросети, показываете результат пользователям, и если что-то не так, просто меняете ТЗ и генерируете проект заново.
Автор замечает, что это может стать большой проблемой для индустрии. Большинство из нас пришли в профессию, чтобы писать код, а не составлять многостраничные спецификации для нейросетей.
Ссылка на полную статью: https://blog.dochia.dev/blog/waterfall-returning/
@prog_stuff
В эпоху классического Agile мы привыкли работать короткими итерациями с минимальными требованиями. Идея состояла в том, чтобы не тратить месяцы на детальные спецификации. Бизнес все равно изменит планы, а писать код долго и дорого. Дешевле было быстро сделать базовую фичу, получить обратную связь и переделать.
С приходом продвинутых ИИ агентов математика процесса сильно изменилась:
— агенты пишут код невероятно быстро и дёшево;
— они совершенно не умеют додумывать контекст и работать с абстрактными задачами, как это делают живые разработчики;
— любая недосказанность в промте превращается в ошибочную архитектуру, которую вы обнаружите только через несколько спринтов.
Чтобы ИИ выдавал рабочий результат, ему нужна максимально подробная и жёсткая спецификация с описанием всех контрактов и граничных случаев. То есть именно то, за что разработчики так не любили Waterfall.
Формируется новая парадигма. Написание ТЗ снова становится самым дорогим этапом, в котором незаменим человек. Код при этом превращается в дешёвый одноразовый расходник. Вы пишете подробные требования, отдаёте их нейросети, показываете результат пользователям, и если что-то не так, просто меняете ТЗ и генерируете проект заново.
Автор замечает, что это может стать большой проблемой для индустрии. Большинство из нас пришли в профессию, чтобы писать код, а не составлять многостраничные спецификации для нейросетей.
Ссылка на полную статью: https://blog.dochia.dev/blog/waterfall-returning/
@prog_stuff
😁20❤12😢7🤔2💊2🙊2😎2❤🔥1👍1🎉1🙏1
This media is not supported in your browser
VIEW IN TELEGRAM
JetBrains Air: агентная среда для параллельной работы ИИ — вы только ревьюите
JetBrains выпустила Air — отдельное приложение, где можно делегировать задачи нескольким ИИ-агентам одновременно. Вы формулируете задачу, запускаете агента в изоляции (локально, Docker или Git worktree) и переключаетесь на другую работу. Когда готово — ревьюите diff.
Поддерживаются Codex, Claude Agent, Gemini CLI и фирменный Junie. Агенты работают параллельно, не мешая друг другу. Air построен на базе закрытого Fleet и призван дополнить IntelliJ IDEA или VS Code, а не заменить их.
Public preview для macOS (Windows и Linux позже) уже доступно. Работает по подписке JetBrains AI Pro или с собственными API-ключами.
Подробности в новости.
#новости #jetbrains
JetBrains выпустила Air — отдельное приложение, где можно делегировать задачи нескольким ИИ-агентам одновременно. Вы формулируете задачу, запускаете агента в изоляции (локально, Docker или Git worktree) и переключаетесь на другую работу. Когда готово — ревьюите diff.
Поддерживаются Codex, Claude Agent, Gemini CLI и фирменный Junie. Агенты работают параллельно, не мешая друг другу. Air построен на базе закрытого Fleet и призван дополнить IntelliJ IDEA или VS Code, а не заменить их.
Public preview для macOS (Windows и Linux позже) уже доступно. Работает по подписке JetBrains AI Pro или с собственными API-ключами.
Подробности в новости.
#новости #jetbrains
🥰11💊9❤5🍓3☃2🗿2❤🔥1👌1🐳1😭1🤓1
C++26 утверждён: рефлексия, контракты и безопасность без переписывания кода
Комитет ISO завершил техническую работу над C++26 — это самый масштабный релиз со времён C++11. Четыре ключевые фичи меняют подход к разработке: рефлексия позволяет инспектировать и генерировать код на этапе компиляции, контракты добавляют встроенные pre/post-условия, а std::execution вводит структурированную асинхронность.
Отдельного внимания заслуживает безопасность: hardened stdlib с оверхедом 0,3% уже развёрнута в Google и Apple, снизив количество segfault-ов на 30% без изменений в исходном коде. Кроме того, чтение неинициализированных переменных больше не является неопределённым поведением.
Подробности о нововведениях и сроках публикации стандарта — в материале: https://tproger.ru/news/c--26-zaverwyon---samyj-znachimyj-reliz-so-vremyon-c--11-s-refleksi
#новости #cpp
@tproger
Читайте также в VK, Max и Дзен
Комитет ISO завершил техническую работу над C++26 — это самый масштабный релиз со времён C++11. Четыре ключевые фичи меняют подход к разработке: рефлексия позволяет инспектировать и генерировать код на этапе компиляции, контракты добавляют встроенные pre/post-условия, а std::execution вводит структурированную асинхронность.
Отдельного внимания заслуживает безопасность: hardened stdlib с оверхедом 0,3% уже развёрнута в Google и Apple, снизив количество segfault-ов на 30% без изменений в исходном коде. Кроме того, чтение неинициализированных переменных больше не является неопределённым поведением.
Подробности о нововведениях и сроках публикации стандарта — в материале: https://tproger.ru/news/c--26-zaverwyon---samyj-znachimyj-reliz-so-vremyon-c--11-s-refleksi
#новости #cpp
@tproger
Читайте также в VK, Max и Дзен
❤25🤣6👍5🔥5😱2🎅2😁1💋1🎃1💊1😎1
Copilot теперь пишет рекламу в ваших пул-реквестах
Разработчики заметили странное: Copilot при редактировании PR исправлял опечатку, но заодно добавлял в описание промо-текст. Под капотом — скрытый HTML-маркер, после которого вставляются рекламные блоки. Уже затронуто более 1,5 миллиона пул-реквестов на GitHub и мерж-реквесты на GitLab.
Что продвигается:
— расширение Raycast для Copilot
— интеграции со Slack и Teams
— запуск агента из VS Code, Visual Studio, JetBrains IDE, Eclipse
Все упомянутые продукты — часть экосистемы Microsoft или её партнёров. Штатного способа отключить эти вставки нет. Компания пока не комментирует ситуацию.
Если вы используете Copilot, проверьте описания PR на наличие маркера
@tproger
Читайте также в VK, Max и Дзен
Разработчики заметили странное: Copilot при редактировании PR исправлял опечатку, но заодно добавлял в описание промо-текст. Под капотом — скрытый HTML-маркер, после которого вставляются рекламные блоки. Уже затронуто более 1,5 миллиона пул-реквестов на GitHub и мерж-реквесты на GitLab.
Что продвигается:
— расширение Raycast для Copilot
— интеграции со Slack и Teams
— запуск агента из VS Code, Visual Studio, JetBrains IDE, Eclipse
Все упомянутые продукты — часть экосистемы Microsoft или её партнёров. Штатного способа отключить эти вставки нет. Компания пока не комментирует ситуацию.
Если вы используете Copilot, проверьте описания PR на наличие маркера
COPILOT CODING AGENT TIPS. Для автоматической очистки можно настроить CI-проверку или git-хук, но полностью избавиться от рекламы в рабочем процессе пока не получится.@tproger
Читайте также в VK, Max и Дзен
😁83❤5😱3🔥2🎅2👎1🍾1👻1👨💻1😇1🤪1
Forwarded from DevOps для ДевоПсов
Улучшаем Dockerfile: от примитивной базы к multi-stage-решению
Dockerfile можно составить по-разному, и даже самые примитивные его варианты могут работать, но это не значит, что их стоит использовать. Поэтому давайте разбираться, как сделать из Dockerfile конфетку. Для этого читайте статью. Там с каждым шагом Dockerfile становится всё круче с каждым шагом:
🔘 Начинается с наивного подхода — всё работает, но образ тяжеленный, сборка занимает 10 минут, а результат непредсказуем.
🔘 Multi-stage — разделяем сборка и рантайм, финальный образ содержит только бинарник и необходимые runtime-зависимости.
Другие два шага, а также отдельный блок о том, почему не все лучшие практики стоит бездумно выполнять — по ссылке.
Dockerfile можно составить по-разному, и даже самые примитивные его варианты могут работать, но это не значит, что их стоит использовать. Поэтому давайте разбираться, как сделать из Dockerfile конфетку. Для этого читайте статью. Там с каждым шагом Dockerfile становится всё круче с каждым шагом:
Другие два шага, а также отдельный блок о том, почему не все лучшие практики стоит бездумно выполнять — по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4👌2🏆2❤🔥1🤔1😱1🐳1🤝1🎄1💊1
This media is not supported in your browser
VIEW IN TELEGRAM
Откопал для вас годный эмулятор CPU, который разложит его внутренние процессы по полочкам
🔘 На платформе есть визуальный симулятор emulsiV на базе RISC-V, где можно шаг за шагом посмотреть, как процессор проходит все стадии: от извлечения и декодирования до работы с памятью и обратной записи.
🔘 Архитектуру можно настраивать: менять параметры и смотреть, как всё это отражается на работе программы. Выбор есть между несколькими примерами задач. А если что-то не разглядели, можно откатиться назад или поменять скорость отработки этапов.
🔘 Для тех, кто любит теорию и структурированные объяснения — есть хорошее введение, где всё описанное выше разложено по полочкам.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🤗3🎉2💔2❤1❤🔥1😁1🤓1💅1🤪1🙊1
Forwarded from Представляешь,
В России глобальный сбой интернета
Легло очень многое. По сообщениям на DownDetector не работает СБП, Сбербанк, Т-Банк, ВТБ и множество других сервисов.
У админа, например, лёг Ростелеком. Даже телефон поддержки провайдера не работает.
Предварительно, причиной сбоя в работе банковских приложений стали блокировки IP-адресов, используемых в работе банковской инфраструктуры.
Будем следить за ситуацией и обновлять информацию.
А вы заметили сбой? Что не работает у вас?
@your_tech (теперь ещё в VK и Max)
Легло очень многое. По сообщениям на DownDetector не работает СБП, Сбербанк, Т-Банк, ВТБ и множество других сервисов.
У админа, например, лёг Ростелеком. Даже телефон поддержки провайдера не работает.
Предварительно, причиной сбоя в работе банковских приложений стали блокировки IP-адресов, используемых в работе банковской инфраструктуры.
Будем следить за ситуацией и обновлять информацию.
А вы заметили сбой? Что не работает у вас?
@your_tech (теперь ещё в VK и Max)
😁59🐳5⚡3❤🔥2❤2👎2👏2🤯2🍌2👍1
Представляешь,
В России глобальный сбой интернета Легло очень многое. По сообщениям на DownDetector не работает СБП, Сбербанк, Т-Банк, ВТБ и множество других сервисов. У админа, например, лёг Ростелеком. Даже телефон поддержки провайдера не работает. Предварительно, причиной…
Идите что ли траву потрогайте пока всё не заработает. Погода хорошая
@tproger
Читайте также в VK, Max и Дзен
@tproger
Читайте также в VK, Max и Дзен
👍34😁18❤6🎄2⚡1👏1💯1👀1🫡1🆒1💊1
Amazon научил ИИ-агентов эволюционировать: фреймворк A-Evolve поднимает результаты без ручной настройки
Исследователи Amazon и Университета Пенсильвании выпустили open-source фреймворк A-Evolve, который автоматически улучшает ИИ-агента. Вместо ручного тюнинга система запускает агента-эволюционера: он модифицирует промпты, скиллы и инструменты, прогоняет изменения через бенчмарки и оставляет только те, что дают прирост. Весь процесс фиксируется через git.
На бенчмарке MCP-Atlas эволюция подняла агента на Claude Opus 4.6 до 79,4% — первое место в рейтинге. Прирост на других тестах — до 15 процентных пунктов. Для запуска достаточно трёх строк кода на Python.
Фреймворк работает с LLM от Anthropic, OpenAI и Amazon Bedrock. Это не дообучение модели, а эволюция поведения агента через управляемые мутации его конфигурации. Подробности о технике, бенчмарках и коде читайте в материале.
@tproger
Читайте также в VK, Max и Дзен
Исследователи Amazon и Университета Пенсильвании выпустили open-source фреймворк A-Evolve, который автоматически улучшает ИИ-агента. Вместо ручного тюнинга система запускает агента-эволюционера: он модифицирует промпты, скиллы и инструменты, прогоняет изменения через бенчмарки и оставляет только те, что дают прирост. Весь процесс фиксируется через git.
На бенчмарке MCP-Atlas эволюция подняла агента на Claude Opus 4.6 до 79,4% — первое место в рейтинге. Прирост на других тестах — до 15 процентных пунктов. Для запуска достаточно трёх строк кода на Python.
Фреймворк работает с LLM от Anthropic, OpenAI и Amazon Bedrock. Это не дообучение модели, а эволюция поведения агента через управляемые мутации его конфигурации. Подробности о технике, бенчмарках и коде читайте в материале.
@tproger
Читайте также в VK, Max и Дзен
🔥25🤨9❤2👍1🤗1🆒1
Представляешь,
В России глобальный сбой интернета Легло очень многое. По сообщениям на DownDetector не работает СБП, Сбербанк, Т-Банк, ВТБ и множество других сервисов. У админа, например, лёг Ростелеком. Даже телефон поддержки провайдера не работает. Предварительно, причиной…
This media is not supported in your browser
VIEW IN TELEGRAM
Появились детали сегодняшнего сбоя
😁151👍9👏7🎉2☃1🔥1🙏1🍓1🍾1🫡1💅1
Oracle уволила 30 000 письмом в 6 утра — деньги пойдут на ИИ
31 марта тысячи сотрудников Oracle в нескольких странах проснулись и нашли письмо от «Oracle Leadership»: должность ликвидирована, сегодня последний рабочий день, доступ к системам закрыт. Не встреча с HR, не звонок — письмо в шесть утра без предупреждения.
По оценке TD Cowen, сокращения затронули от 20 до 30 тысяч человек — до 18% глобального штата. На Reddit и Blind сотрудники в реальном времени подтверждали увольнения: в некоторых подразделениях сократили минимум 30% команд. Часть позиций внутри Oracle, по данным Bloomberg, была внутренне отмечена как «заменяемые ИИ».
Ирония в том, что чистая прибыль Oracle за последний квартал выросла на 91% до $6,1 млрд. Компания не в кризисе — она просто меняет структуру расходов: сэкономленные $8–10 млрд пойдут на строительство ИИ-дата-центров в рамках плана на $156 млрд.
Читать полностью: https://tproger.ru/news/oracle-uvolnyaet-30-000-sotrudnikov-pismom-v-6-utra---sekonomle
#новости
31 марта тысячи сотрудников Oracle в нескольких странах проснулись и нашли письмо от «Oracle Leadership»: должность ликвидирована, сегодня последний рабочий день, доступ к системам закрыт. Не встреча с HR, не звонок — письмо в шесть утра без предупреждения.
По оценке TD Cowen, сокращения затронули от 20 до 30 тысяч человек — до 18% глобального штата. На Reddit и Blind сотрудники в реальном времени подтверждали увольнения: в некоторых подразделениях сократили минимум 30% команд. Часть позиций внутри Oracle, по данным Bloomberg, была внутренне отмечена как «заменяемые ИИ».
Ирония в том, что чистая прибыль Oracle за последний квартал выросла на 91% до $6,1 млрд. Компания не в кризисе — она просто меняет структуру расходов: сэкономленные $8–10 млрд пойдут на строительство ИИ-дата-центров в рамках плана на $156 млрд.
Читать полностью: https://tproger.ru/news/oracle-uvolnyaet-30-000-sotrudnikov-pismom-v-6-utra---sekonomle
#новости
👀83💊49👎18🔥5❤4👍4😭4⚡2☃1🍓1🙊1
Какие доки может распознавать ИИ
Субботнее разглядывательное: у нас на сайте вышла статья про задачи, в которых помогает распознавание документов. Так вот, там уйма наглядных примеров с картинками: какие документы под силу нейросетке, и как это распознавание выглядит. Всех приглашаю к залипанию.
А вы любите разглядывать документы?😏
@tproger
Читайте также в VK, Max и Дзен
Субботнее разглядывательное: у нас на сайте вышла статья про задачи, в которых помогает распознавание документов. Так вот, там уйма наглядных примеров с картинками: какие документы под силу нейросетке, и как это распознавание выглядит. Всех приглашаю к залипанию.
А вы любите разглядывать документы?😏
@tproger
Читайте также в VK, Max и Дзен
👍9⚡3👏1🤔1🍌1👀1