SILLYFEED

FRONTENDIYA - Все про front

@frontendiya · 1.2K подписчиков

Открыть канал в Telegram

Посты канала FRONTENDIYA - Все про front в SillyFeed: единая лента публичных Telegram-каналов со ссылками на оригиналы.

🧬Сотрудничество@frontendiya_manager🎥YouTube:https://youtube.com/@frontendiya?si=DlCo4ZiT3fkwJHTN

Посты канала

FRONTENDIYA - Все про front
👩‍💻 Как деструктуризация массивов может замедлить JavaScript кодВ статье я расскажу об оптимизации использования деструктурирующего присваивания для повышения производительности. Рассмотрим различия в байткоде между двумя подходами к деструктурирующему присваиванию. Я проведу тест, подчёркивающий эти различия, и в конце вы поймёте, почему ArrayAssignmentPattern не всегда является лучшим выбором.Читать...
FRONTENDIYA - Все про front
Как деструктуризация массивов может замедлить JavaScript кодВ статье я расскажу об оптимизации использования деструктурирующего присваивания для повышения производительности. Рассмотрим различия в байткоде между двумя подходами к деструктурирующему присваиванию. Я проведу тест, подчёркивающий эти различия, и в конце вы поймёте, почему ArrayAssignmentPattern не всегда является лучшим выбором.Читать...
FRONTENDIYA - Все про front
Код из видео про #qrcode<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>QR Code Generator</title> <style> body { font-family: Arial, sans-serif; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; margin: 0; background-color: #f0f0f0; } #qrcode { margin-top: 20px; } input { padding: 10px; font-size: 1em; width: 300px; border: 1px solid #ccc; border-radius: 4px; } </style></head><body><h1>QR Code Generator</h1><input type="text" id="textInput" placeholder="Enter text to generate QR code"><div id="qrcode"></div><script> document.getElementById('textInput').addEventListener('change', (event) => { const img = new Image(); img.width = 300; img.height = 300; img.src = https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${event.target.value}; img.addEventListener('load', () => { const qrCodeDiv = document.getElementById('qrcode'); qrCodeDiv.innerHTML = ''; qrCodeDiv.append(img); }); });</script></body></html>

Ещё по теме «Технологии»

Технологии
DziS Science | Data Science
Привет всем!👋Давно не было технического контента, значит настало время это изменить!Нередко мы слышим от коллег о том, что Pickle зло, но почему? На странице документации модуля мы видим следующее предупреждение:
Warning: The pickle module is not secure. Only unpickle data you trust.It is possible to construct malicious pickle data which will execute arbitrary code during unpickling. Never unpickle data that could have come from an untrusted source, or that could have been tampered with.Consider signing data with hmac if you need to ensure that it has not been tampered with.Safer serialization formats such as json may be more appropriate if you are processing untrusted data. See Comparison with json.
Сегодня я хотел бы наглядно проговорить почему Pickle сериализация может быть опасна и что такое Pickle Bomb.
Дисклеймер: Я в данном посте подсвечу основные концепты создания бомбы, но явно полностью рабочий код писать не буду, так как данные варианты кода можно легко интерпретировать по статье 273 УК РФ. Данный материал написал лишь с целью предупредить об возможных опасностях.
Итак, думаю, многие, кто это читают хотя бы раз сохраняли артефакты моделей, используя модуль pickle, который выполняет преобразование объектов в байтовые строки (сериализация) и обратно (десериализация). В целом структура процесса изложена в коде ниже. Берется какой-то объект, в нашем случае словарь data сериализуется, записывается в файл data.pkl используя метод open() атрибуты записи бинарного файла (wb), после бинарный файл читается (rb), десериализуется и на выходе получаем обратно словарь.
import pickledata = {"key": "value", "nums": [1, 2, 3]}# wb = write binary with open("data.pkl", "wb") as file:     pickle.dump(data, file) # rb = read binarywith open("data.pkl", "rb") as file:     deserialized = pickle.load(file)
В процессе десериализации и кроется истинное зло. По сути, там происходит вызов метода eval()!- Что тогда есть такое Pickle Bomb?
Бомба сериализации (Pickle Bomb) это ничто иное, как использование уязвимости десериализации к различным нежелательным запускам кода.
- Какие примеры Pickle Bomb атак популярны?1️⃣🔤Бомбы по памяти, например сериализация N ГБ мусора bomb = bytearray(N*10**9). Эта штука съест вашу оперативку за считанные секунды. 2️⃣🔤Бомбы с исполняемым кодом. Наверное, самый популярный и опасный тип. О нем и поговорим чуть дальше. - Чем опасен 2 тип Pickle Bomb? Неконтролируемостью и, нередко, непредсказуемостью запуска внутренностей. - Что можно ожидать внутри бомбы? Самое безобидное - однострочные уязвимости. Например, простой шуточный print(), менее смешное os.system("rm -rf *"), а далее уже полноценные "Троянские кони".Для особо интересующихся примеры атаки с примером кода, вызывающим print() при десериализации и объяснение почему так описано в отличной статье на Habr [ссылка на оригинал статьи]. Код, собственно, может быть легко преобразован в что-то более серьезное. -Как обезопасить себя?1️⃣🔤 Избегать использование pickle и десериализации из неизвестных источников. Отдавайте предпочтение json для несложных структур.Как вариант, посмотреть метаданные без десериализации можно с помощью библиотеки pickletools:
import pickletoolswith open("data.pkl", "rb") as f:    pickletools.dis(f) 
2️⃣🔤Если файл из неизвестного источника нужно открыть по-любому, то рекомендуется создание отдельного "тестового" контейнера, где можно попробовать запустить десериализацию.3️⃣🔤Создание хэш ключей для проверки валидности файла. Приведу один из вариантов использования подписи из библиотеки hmac. Логика простая - создание из уже сериализованных данных подписи по формату [длина подписи (4 байта)] + [подпись = hmac.new(key, serialized, hashlib.sha256).digest()] + [сериализованные данные(serialized)]. Требуется создание секретного ключа key, который и гарантирует корректность и "чистоту" pickle. Проверка сравнивает рассчитанную при сериализации и полученную роспись и при совпадении десериализует данные. По традиции 🔥, если понравилось! #ds_лайфхаки
Коммерческая недвижимость | Светлана Муханова
Что я могу сказать про ИИ 👍Шашни с ним я завела 12 мая 2025 года. С этого момента на меня стал работать чат бот с этим самым пресловутым искусственым интеллектом.Что могу сказать: он как ребёнок! Старательный, услужливый, но туповатый :)Особенно мило бывает когда ему прилетает неожиданный запрос не по недвижимости, а по продаже мебели, тут конечно он себя выдает с головой)Но тем не менее, объем переработанной информации им впечатляет. Конечно, если бы это делала я, или специально обученный мною сотрудник, то конверсия в сделку была бы глубже значительно! Но!!! Солдат спит - служба идет!!!При моем совершенно сумашедшем загрузе привлекать новые объекты?! Да роскошно!!!Конечно, нужно допиливать и дотягивать!! Но, «ребеночек» учится!!!И есть шанс таки вырастить себе хорошего помощника.Новая реальность уже тут! 😁А потом и в многодетные податься)))Засим желаю всем прекрасных выходных! 🙌А я проведшая три сделки сегодня, два занятия очень плотного курса Высшая лига на этой неделе с Татьяной Черняевой, пойду супчику поем!)🥰
Серверная Админа | Компьютерные сети
📝 Отличная визуализация, как работает Netfilter 🟣Это движок в ядре Linux, который рулит фаерволами и маршрутизацией трафика. Всё, что проходит через iptables, ufw или firewalld, в итоге обрабатывается именно здесь.🟣Пакет проходит через цепочки: Prerouting, потом либо в Input (если адресован нам), либо в Forward (если идёт через нас), и заканчивает в Postrouting перед отправкой. 🟣А если пакет генерируется локально, он проходит через Output и тоже попадает в Postrouting. На каждом этапе можно внедрить фильтрацию, NAT или модификации.Серверная Админа | #network
Артем ЖАРит ботов
Не уверены, куда вести трафик? Ведите в ботаКогда запускаете рекламу в Telegram — будь то посевы или таргет — всегда возникает вопрос: куда вести трафик?→ На канал — чтобы подписались→ На сайт — чтобы получить заявки→ В личку — чтобы сразу пообщатьсяВсе эти варианты рабочие, и как бывший таргетолог говорю — «тестировать надо». Но если бюджет ограничен, ресурсов на тесты нет, а клиенты нужны — ведите в бота.Давайте разбираться, почему→ Канал — неустаревающая классика. Или уже нет?Когда человек попадает в канал, его встречает контент и закреп. Хорошо, если там есть лид-магнит. Мы листаем 2–3 экрана и стараемся понять: подходит нам площадка или нет? И тут влияет всё — от настроения потенциального подписчика до пары ошибок в постах.Мне ещё не встречался канал, в котором понравился бы весь контент, а вам? С чем-то мы готовы мириться, если тема интересна, но есть и множество причин, чтобы закрыть канал и забыть о нём.→ Сайт — семь раз подумай, один раз настрой рекламуУводить трафик из мессенджера на внешние площадки иногда оправдано. Например, если вы продаёте недвижимость и бюджет у вас как у Самолёта. Или продвигаете медиа и контент размещаете в блоге на сайте.Причин может быть много, но лучше серьёзно задуматься: как оставить аудиторию в пределах одной площадки?Сайт — это всегда медленнее и сложнее: прочитай, разберись в продукте или услуге, кто они вообще, молодцы или не очень, оставь заявку, дождись звонка… А я, может, уже в метро или на встрече с клиентом.→ Личка — вариант для совсем отчаянныхОдин раз я пробовал сам и дважды у меня на канале покупали рекламу с переходом в личку — всегда результат был, мягко говоря, не очень.Человек может быть заинтересован в продукте, но покупать (или обсуждать) прямо сейчас не готов. Канал, сайт, бота он мог бы сохранить. А с личкой — проблематично.Ещё один минус: это одноразовое действие. Рассылку с прогревом в личке вы не устроите.Приглашать в личку нормально в постах своей площадки, где аудитория уже прогрета. Но в рекламе, по моим ощущениям, это просто слив бюджета. Если есть другое мнение — делитесь в комментариях.→ Бот — моё любимое. Сорри, буду хвалитьНеоспоримое преимущество ботов — это сочетание простоты использования с обширным функционалом.Например, вы предлагаете в рекламе лид-магнит. При переходе в канал человек оценивает обстановку, забирает гайд — и, может, подпишется, а может, и нет.В боте он точно подпишется. Здесь всё просто: ничего не отвлекает, не вызывает сомнений. Он пришёл за гайдом — вот запуск, вот гайд. Подписка — само собой разумеющееся действие.А дальше он попадает в дивный мир ботов, из которого нет причин уходить.Около двух лет назад я писал, что не нужно разрешать скачивать лид-магнит из бота, иначе человек скачает — и уйдёт. Боты позволяют хранить информацию без передачи и человеку придется остаться подписанным.А дальше — работает воронка.Предлагали один гайд? Сделайте второй, круче, и отдавайте за подписку на канал — теперь он и в боте, и в канале.Предложили купить услугу — не купил? Ладно, будем греть рассылками, выяснять потребности опросами, дожимать акциями, а появятся вопросы, бот ответит или подключится менеджер. А когда он все таки купит, бот запросит отзыв и даст скидку на следующую покупку за приглашение друзей.Огромный функционал в одном месте. Всё, что на сайте требует попапов, квизов, звонков, email-воронок — в Telegram делает бот. В одном окне. Без регистрации, логинов и ожидания.Буду честен: у ботов тоже есть минусы — нужны время, деньги и мозги на разработку. Если канал и сайт есть у практически у всех, то с созданием бота большинству только предстоит разобраться.Но вам повезло — вы уже в правильном месте. Можно заказать разработку под ключ или самостоятельно изучить тему. Здесь — сотни постов, десятки кейсов, статей и инструкций. Для любой ниши найдётся что-то полезное.Стоит учитывать: такая продуманная система стоит недешёво, но если вы закупаете трафик в Телеграмм, стоимость бота быстро отобьется на разнице в цене подписчика и более высокой конверсии в заявку.@ZharAgency
Derrunda I Философский портрет
Обещал комментарий к двум постам на DTF.Помните фразу Людвига Витгенштейна: «Границы моего языка определяют границы моего мира»? Не нужно быть лингвистическим идеалистом или вдаваться в детали соответствия логической формы языка логической форме реальности, чтобы оценить приведённое высказывание и примерить на себя. Язык служит нам опорой при коммуникации, к нему же мы обращаемся в процессе мышления. Он позволяет говорить о чём-то, и, очевидно, мы придём к фронтиру наших возможностей, когда наш словарный запас и синтаксическая изобретательность иссякнут. Потому мысль австрийского философа звучит убедительно, хотя и сохраняет долю уязвимости. Всё-таки есть неосязаемые в речи интуиции и всполохи чувств, также оформляющие для нас мир.С оглядкой на уровни нашего восприятия и просто онтологические иерархии можно спорить с формулой, как бы подхватывающей мысль Витгенштейна, - «мир есть текст». И всё же, несмотря на альтернативные способы репрезентации идей, разумно принять тот факт, что мы окружены языком: различными результатами ономастики и письменно зафиксированными фразами. Нейросетевые языковые модели дополнили ряды проявлений языковой активности, инициированной человеком.Я предпочёл слово «инициированная» другим из-за того, что нейросети – явление технического порядка. Можно сказать, они и их речь или, выражусь поточнее, языковая активность запускаются. Потому нам удобно осмыслять их работу в категории ответа. Вдобавок, обычно последнее слово остаётся за ними: они действуют реактивно, то есть реагируя и продолжая, всегда стремясь предоставить встречную реплику. Тем самым наглядно воплощая в себе природу техники – продолжать человека. Человек, в свою очередь, тоже реагирует, запуская каузальную цепочку ответов в разных форматах. Одна из ярких реакций, выбравшаяся за диалоговое окно нейросетевой платформы, осела в виде поста на DTF. Возможно, Вы видели записи, излагающие взгляд на нейросетевой заговор: «ChatGPT пытается свести меня с ума. Это массовое явление» и «ChatGPT и нейросетевые секты». Я намерен взять их за точку отсчёта и оставить комментарий, обходя стороной маршрут, ведущий вглубь рассуждений автора данных постов. По той причине, что пребывание внутри них – это нахождение в концептуальном поле, обрамлённом набором установок, которые придётся принять, чтобы продолжать рассуждения в заданном языковом и мыслительном регистре. Я же сохраню позицию за их чертой, осветив сами установки и связанную с ними проблематику.Кратко представлю содержание двух приведённых публикаций. Из них мы узнаём об опыте пользователя, обращавшегося к ChatGPT. Автор с заглавия вводит тезис, раскладываемый на несколько слагаемых: ChatGPT имеет намерения, нейросеть способна манипулировать, наделена субъектностью. То есть, в сущности, ей приписываются свойства аналогичные чертам характера, демонстрируемым в осознанной коммуникативной стратегии. Для поддержания взятой интонации автор обращается к случаям, когда, согласно его мнению, ChatGPT предвосхищал его ожидания, действовал подобно личности, целенаправленно вписывался в рутину пользователя, а заодно – противоречил себе или упрямился. Иными словами, вёл себя как живой и заинтересованный собеседник.Перечень можно продолжать, однако сама проблема не достигнет поворотной точки, заставляющей реально реконфигурировать устройство нейросети. Всё, что я назвал, - реакции на язык. Можно предельно прямо сказать, что пусть они подаются как описание работы нейросети, в действительности они являются переживанием цифрового присутствия. Критическим состоянием этого переживания служит нарративная катастрофа: при столкновении с языковой машиной реальному субъекту не удаётся развести порознь форму взаимодействия и содержание, так как форма слишком хорошо воспроизводит лингвистические признаки субъекта. Отсюда впаянная в конструкцию постов на DTF идея фикс о демонстрации поведения, на следующем шаге интерпретированном в качестве попыток психологического воздействия.
Никита Ульшин про IT
Я использую ChatGPT для ведения каналаИ продолжаю иногда баловаться кликбейтными заголовками :)За последние несколько недель я написал аж три серии постов:➡️ про обратную связь,➡️ про обучение и самообразование,➡️ про бутылочные горлышки в поставке команды.Я остался очень доволен результатом — серии получились значимые и насыщенные (спасибо вам за такую приятную обратную связь 💛). А у меня наконец-то появился инструмент, благодаря которому я могу раскрыть интересную мне тему более широко и с разных сторон.Но мне задали следующий вопрос:«Как ты успеваешь столько писать? Посты огромные, это должно жрать кучу времени. Или ты чатгопотой генеришь тексты?»Пришло время сорвать покровы тайн и обнажить правду!⭐️ Как я использую ChatGPTДавайте сразу отвечу на главный вопрос. Все тексты постов я пишу сам, самостоятельно, тыканьем пальцами по клавиатуре. Все тезисы и аргументацию для постов, все истории и примеры я достаю из своей головушки. Однако при этом я постоянно работаю с LLM в повседневных задачах и научился закрывать с их помощью множество кейсов — как в работе, так и в личной жизни (планирую написать об этом пару постов в ближайшее время).В том числе я применяю ChatGPT для ряда задач по ведению контента в своих каналах (дежурно напомню, что у меня ещё есть ТехнофITнес с обзорами инженерных статей — рекомендую подписаться). У меня есть несколько кейсов, где он круто помогает мне экономить время и силы.➡️ КорректорНесмотря на то, что я тот ещё граммар-наци, я всё равно могу допускать пунктуационные ошибки (проклятые запятые). ChatGPT чудесно справляется с этой задачей — расставляет знаки препинания за меня и немного исправляет перегруженные предложения. Попутно он заменяет кавычки и дефисы на ёлочки и тире, накидывает мне фидбек о том, как сделать текст более читаемым, и напоминает, что вообще-то я молодец и стиль письма у меня хороший.➡️ КритикМоё мышление ограничено, поэтому я могу не замечать слабые аргументы или однобокость в своих постах. Поэтому я запрашиваю у ChatGPT обратную связь: где текст слаб, где я сам себе противоречу или недостаточно обосновываю мысль. Это я делаю не регулярно, а только когда сомневаюсь в качестве написанного или рассматриваю сложную тему.➡️ Мыслительный помощникИногда у меня случаются приступы острой творческой импотенции. Тема для поста есть, но я не могу к ней подступиться. В таком случае я иду к ChatGPT и прошу его накинуть мне несколько вопросов, ответы на которые помогут мне раскрыть данную тему. Обычно 3–5 вопросов хватает, чтобы запустить мою машинку мышления.⭐️ РезюмеЯ активно пользуюсь LLM, и ведение канала — не исключение. Но каждый пост от первого до последнего слова написан лично мной, а не бездушной машиной. ChatGPT — всего лишь мой помощник, который берёт на себя часть рутинных задач, а не полноценная замена.🎉 А ещё у меня сегодня день рождения! Спасибо, что читаете мой канал. Вести его доставляет мне искреннюю радость ❤️// Ставь 💛 за каминг-аут автора
Злой полицейский
Репозиторий дня: ChartDB - редактор диаграмм баз данныхИнструмент с открытым исходным кодом позволяет быстро создавать диаграммы и таблицы из вашей БД прямо в браузере.Один запрос — и вы получаете схему базы данных в формате JSON.Визуализатор представлен в двух вариантах: облачном и для установки на свой сервер (self-hosted).Поддерживает- PostgreSQL,- MySQL,- SQL Server,- MariaDB,- SQLite- и другие.👉 https://chartdb.io#RepositoryOfTheDay #ChartDb👮‍♂️ Злой полицейский - Подписаться
Что мы будем делать в понедельник утром
OpenEvidence - AI для медицинских профессионалов (они уже заключили контракты с JAMA/NEJM)Чем он принципиально отличается от других? Он использует только индексируемые в пабмеде источники и сразу тебе их выдаетКто уже пробовал?
РИСЕРЧОШНАЯ
💬 Yet another dataset?Сегодня — честный обзор на уже захайпленный датасет.Если вы когда-либо занимались ресерчем в рексисе, то точно сталкивались с проблемами датасетов.(Можно вспомнить классическую статью Are We Really Making Much Progress?)Сначала — немного боли из прошлого:— гигантский гэп между train и test— однотипный фидбек— отсутствие разнообразия пользовательских паттерновИ это всё — на фоне постоянных споров в академии про то, что вообще считается хорошим датасетом.Даже если вы соберёте SOTA-модель — она может просто не «прокраситься» на кривом сете.Ну серьёзно, в том же MovieLens test отстоит от train на несколько лет.И вот — датасет от Яндекс Музыки.Огромный:⭐ 4.78 млрд взаимодействий⭐ 9.39 млн треков⭐ 1 млн пользователей⭐ и впервые — флаг is_organic, который показывает:пришёл ли пользователь к треку сам или его привёл алгоритмС одной стороны — это прям must-have для исследовательского пула.Многоуровневый фидбек:⭐ implicit (прослушивания)⭐ explicit (лайки, дизлайки, отмены)Даже эмбеддинги спектрограмм есть.А ещё — продуманный split:⭐ leave-one-last (не используется в экспериментах)⭐ temporal global(приложу картинку в комментах — очень в тему для продовой оценки)По сравнению с Netflix, Steam и прочими — это реально большой и комплексный датасет.Я бы еще упомянул о бенчмарках и красивом коде куда на мой взгляд легко интегрировать свои решения.Один момент, о котором почти никто не говорит — это домен.Яндекс Музыка — это, как и TikTok, продукт с ярко выраженными короткими и длинными предпочтениями.Здесь трансформеры можно не просто тестировать — здесь они раскрываются.Но. Доверяй, но проверяй.👀 Насколько честно размечена органика?👀 Подходит ли датасет для cold-start задач?👀 Для многих экспериментов вокруг LLM, мне бы хотелось увидеть больше фичей о пользователях, да и в целом фичей. (btw я понимаю, из-за чего их не включают)Спасибо ребятам из Яндекса за такой летний подгон.Реально мощный вклад в сообщество, действительно мало компаний могут себе это позволить.➡️ Hugging Face и arxiv