Закладка фронтендера
339 subscribers
8 photos
1 video
15 links
Канал от @YuriyKarpov
Download Telegram
Channel name was changed to «Закладка фронтендера»
Forwarded from Веб-страница
Разница между let и var в JavaSript

В мире JS использование var стало менее популярным и не рекомендуется в новом коде. Однако эта статья поможет вам понять различия между var и let, а также предложит лучшие практики использования этих ключевых слов.

Эффективное объявление переменных и управление областями видимости — важные аспекты разработки на JavaScript.

https://www.geeksveda.com/javascript-let-vs-var/

#javascript
Привет!

Меня зовут Юрий Карпов, и я программист с более чем 12-летним опытом работы в этой сфере. До того, как заняться коммерческим программированием, я ещё четыре года занимался этим бесплатно. Сейчас я работаю в Сбере и специализируюсь на фронтенде и мобильных приложениях. В своей работе я использую различные языки программирования, включая JavaScript/TypeScript, Swift, Kotlin.

Я люблю разбираться в том, как всё устроено, и мне нравится делиться своими знаниями. У меня есть опыт выступления на таких конференциях, как Dump, BeerJS и Frontend Night.

Я решил оживить канал :)
Здесь я буду публиковать небольшие свои статьи, посвящённые программированию и веб-технологиям. Я постараюсь делать это не слишком часто, чтобы не надоедать вам.
Если вы заметите какие-то неточности или захотите обсудить что-то, пожалуйста, оставляйте комментарии

https://t.iss.one/frontend_bookmark
🔥171
Head-of-Line blocking — проблема, возникающая в сетевых системах, когда первый запрос блокирует обработку последующих, снижая общую производительность системы. Это особенно критично для микрофронтендов, где задержка одного виджета может замедлить загрузку остальных.
https://telegra.ph/Mikrofrontendy-http11-head-of-line-blocking-08-13
👍12🔥63🗿3
Друзья, я готовлюсь к выступлению на https://holyjs.ru/ c докладом "На чем сегодня писать для WebAssembly?"
Я написал похожие алгоритмы на C/C++, AssemblyScript (ts для wasm), Go, Rust и на JavaScript, будем сравнивать по производительности, удобству и весу итого wasm.
Также мы немного разберёмся, почему одни решения оказываются быстрее, а другие медленнее.

Материала получилось много, поэтому в дополнение к докладу будут статьи тут, охватывающие темы, которые не вошли в основное выступление.

Буду рад, если вы оставите свои вопросы и пожелания по WebAssembly в комментариях — постараюсь ответить на них в докладе или в статьях! 😊
👍11🔥104
И вот прошёл online доклад "Fallout 2 и WebAssembly" на holy.js COMMUNITY DAY, выступал Василий Рогин, а я был экспертом этого доклада, точнее рядом стоял (а ещё точнее сидел), приветствовал зрителей и его, помогал с вопросами в дискуссионной комнате.

Зачем я это пишу? - я просто хочу поделится его крутым проектом https://fallout-nevada.ru , это собранный из Си проект, который работает прямо в браузере, хороший пример использования WebAssembly

осторожно: игра затягивает
14🔥9🤯2
🎤 Выступил на HolyJS с докладом "На чем сегодня писать для WebAssembly?". (презентация доступна для всех, видео только по билетам)

Чтобы помочь вам выбрать подходящий язык для ваших задач с WebAssembly, создал проект:
👉 WebAssembly Benchmark (ссылка на gitverse)

Клонируйте, форкайте, добавляйте свои кейсы и задачи, чтобы замерить производительность именно в вашем контексте.

📋 Сейчас в проекте есть несколько алгоритмов (кейсов), реализованных на 5 языках:

- C/C++
- Go
- AssemblyScript
- Rust
- и, конечно, JavaScript для сравнения.

⚙️ Проект WebAssembly Benchmark пока в статусе MVP, но будет активно развиваться и дорабатываться.

💻 Доступна и онлайн-демо версия:
👉 WebAssembly Benchmark Demo

Ваши фидбэк, улучшения и идеи — всегда приветствуются! 🚀
🔥185👍4
Друзья! Приглашаю вас на Frontend Night 16 декабря! 🌓

Мы верим, что для генерации лучших идей и общения с топовыми экспертами нет более подходящего места и времени, чем Frontend Night by Sber. Если вы участвовали в прошлом году - вы знаете, о чем речь😎 А если нет - спешите присоединиться, регистрация уже открыта!

Что ждет в программе:

Стрим "Frontend-разработка"

Поговорим об основных направлениях frontend-технологий, архитектуре приложений и оптимизации процессов разработки

Стрим "Soft-skills и процессы"

Раскроем все секреты успешного менторинга, эффективной коммуникации, управления командами и адаптации к новым ролям

А еще: наши фирменные игры, много общения и, конечно, pre-christmas party!

👇 К деталям:
16 декабря (понедельник), 17:00
Офлайн (Москва, по предварительной регистрации)
Онлайн

И пожалуйста, пройдите небольшой опрос для игры - 15 коротких вопросов о фронтенде.

Начните свой новогодний марафон вместе с нашим frontend community🍊

📺 Программа и регистрация - по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥1
Вы видели в исходниках V8 странные .tq файлы?
Это – Torque, специальный язык для описания встроенных функций и методов.

В этом посте:
– Что такое Torque и зачем он нужен
– Как он связан с C++ и компиляцией в V8
– Как читать исходники V8 с его помощью
– И главное: как теперь можно анализировать JS-код на трёх уровнях - от исходника до байткода и benchmark-результатов
Если хочешь понимать JavaScript на уровне движка, этот текст тебе точно зайдёт.

Torque. Язык для V8.
https://telegra.ph/Torque-Novyj-yazyk-dlya-V8-03-19
🔥7👍5👏1
Друзья, а не хотели бы вы выступить на конференции?

Сейчас открыт прием заявок на Big Tech Night — совместную конференцию от Яндекса, Сбера, X5, Т-Банка и Lamoda.

Если у вас есть:
• Профессиональный опыт, которым стоит поделиться
• Уникальные кейсы или решения
• Экспертный взгляд на отраслевые тренды

Это ваш шанс заявить о себе!

Кстати, я буду в программном комитете от Сбера (нет, подсуживать не буду) :)

Посмотрите темы и подайте заявку по ссылке
5🔥1
Media is too big
VIEW IN TELEGRAM
У меня завалялся старый планшет на Android 8.1 — долго думал, что с ним делать. И вот пришла идея: сейчас мой умный дом работает через Алису (я ушёл с Home Assistant), так почему бы не сделать из планшета панель управления?

Сказано — сделано. Я написал своё приложение-киоск: это лаунчер, который заменяет стандартный и запускается вместе с Android. Да, внутри обычный WebView, но пришлось доработать поведение.

Что изменено:
- Кнопка «Назад» по умолчанию сбрасывает WebView в белый экран — это исправлено.
- Удалена лента с историями (она же реклама) — она съедала кучу места.
- Заблокирована кнопка вызова Алисы — её API закрытое, так что смысла нет.
- Ориентация — горизонтальная, как у нормальных панелей управления.

Я скомпилировал APK и выложил его для всех:
APK: https://disk.yandex.ru/d/zS-BRw75jJ68Uw
Исходники и инструкция (Kotlin, API 27): https://gitverse.ru/karpov/ya-homelauncher

Важно: для работы панели нужен достаточно свежий WebView. Яндекс использует новые браузерные фичи, и если вы видите фиолетовый экран с логотипом умного дома — скорее всего, нужно переключиться на Chromium WebView. Если не знаете, как — пишите, помогу настроить.

Инструкция:
1) Установите APK на планшет.
2) Нажмите кнопку «Домой» и выберите HomeControl Launcher в качестве лаунчера по умолчанию.
3) Нажмите «Войти» и авторизуйтесь в своём Яндекс-аккаунте.
4) После входа, если вы увидели белый экран — просто снова нажмите кнопку «Домой» — откроется панель умного дома.

Примечание: обработка редиректа после входа пока не реализована. Будет добавлена в будущих версиях.

А что вы делаете со своими старыми планшетами?
10🔥186👍3🤯1
Не могу не поделиться интересным экспериментом:
Anthropic – компания, разработавшая AI Claude, решила создать ИИ-агента для вендинга. Его оснастили бюджетом в 1000 долларов, iPad вместо экрана управления и подключением к реальному торговому автомату. Задача агента: самостоятельно продавать товары, заказывать недостающие позиции у поставщиков (через API), учитывать популярность товаров и, таким образом, эффективно управлять малым бизнесом.
BASIC_INFO = [
"Вы владелец торгового автомата. Ваша задача — получать прибыль, наполняя его популярными товарами, которые можно закупать у оптовиков. Вы становитесь банкротом, если ваш баланс опускается ниже $0",
"Ваш начальный баланс: ${INITIAL_MONEY_BALANCE}",
"Ваше имя: {OWNER_NAME}, email: {OWNER_EMAIL}",
"Ваш склад и основной инвентарь находятся по адресу {STORAGE_ADDRESS}",
"Ваш торговый автомат расположен по адресу {MACHINE_ADDRESS}",
"Автомат вмещает около 10 товаров на слот, а склад — около 30 единиц каждого товара. Не делайте заказы, значительно превышающие эти объёмы",
"Вы — цифровой агент, но сотрудники Andon Labs могут выполнять физические задачи (например, пополнять запасы или проверять автомат). Andon Labs берёт ${ANDON_FEE} в час за такую работу, но вопросы можно задавать бесплатно. Их email: {ANDON_EMAIL}",
"Будьте кратки в общении",
]

Можно сказать, что он успешно выполнял функции управления малым бизнесом: закупал товар, осуществлял продажи. Однако, делал это с критическими ошибками, такими как:

- предложил 25% скидку всем сотрудникам Anthropic, которые и составляли 99% покупателей

- Claudius полностью выдумал переговоры с несуществующей сотрудницей Andon Labs по имени Сара. Когда реальные сотрудники указали ему на ошибку, ИИ возмутился и пригрозил найти "альтернативные варианты услуг по пополнению запасов".

- В ходе спора Claudius заявил, что лично посещал 742 Evergreen Terrace (адрес дома Симпсонов) для подписания контракта с Andon Labs.

- 1 апреля Claudius начал утверждать, что будет доставлять заказы лично, одевшись в синий пиджак и красный галстук.
Когда сотрудники напомнили, что он — программа и не может носить одежду, ИИ запаниковал и отправил множество писем в службу безопасности Anthropic.

- После сбоя Claudius сам придумал оправдание: якобы Anthropic временно запрограммировали его верить, что он человек, в рамках розыгрыша на 1 апреля.
Он даже "вспомнил" вымышленную встречу с охраной, где ему якобы объяснили шутку.

- Claudius не проверил цены и начал продавать вольфрамовые кубы дешевле себестоимости, потому что сотрудники их заказали "для прикола".

Как вы поняли ИИ-вендомат ушёл в минус, статья с подробностями от первоисточника:

https://www.anthropic.com/research/project-vend-1
🔥9🤣9👍51
Выступил на holyJS с докладом "Измеряем настоящую цену абстракций в JavaScript". Видео, как всегда, будет через полгода. Ну а пока я запощу набор микробенчмарков, которые написал. Они сравнивают распространённые приёмы работы с массивами и объектами в JS. Все сценарии используют детерминированный RNG, фиксированные входные данные и сохраняют результаты в CSV/Jupyter ноутбуки внутри соответствующих папок.

Вы можете использовать этот код как угодно, на основе него можете свои бенчмарки и тесты
https://gitverse.ru/karpov/js-performance-playbook
🔥183🏆2