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

Посты канала Делаю вид что разбираюсь в SillyFeed: единая лента публичных Telegram-каналов со ссылками на оригиналы.

Ведет@Pr0Ger

Посты канала

Делаю вид что разбираюсь
Как известно те кто юзают монгу в 2025 году сами виноваты, но тут вообще аккурат под праздники для них прибыл отличный подарок. Собственно дыра существовала примерно с 2017 года и позволяет любому неаутентифицированному юзеру дампить память с сервера (а там много чего можно найти). Собственно стула три:0) Перестать использовать монгу уже1) Обновиться (они уже выпустили патчи для поддерживаемых версий, правда чет особо не рассказывают про масштаб дыры)2) Отключить поддержку zlib в соединениях3) Не выставлять монгу на публичных адресах (у нее конечно дефолтный сетап уже не "биндимся на 0.0.0.0 и пускаем без авторизации", но все равно не стоит)https://bigdata.2minutestreaming.com/p/mongobleed-explained-simply
Делаю вид что разбираюсь
Помните там недавно вышла новая макось (которая 26 Tahoe) и в которой оказалось что все электрон приложения (включая любимый многими курсор) устраивали лютый лагодром (со 100% загрузкой GPU)? Некоторые конечно же сразу побежали обвинять аппл в том как они ничего не тестируютА на самом деле оказалось что чуваки делающие электрон решили поиграться с приватными апишками и проиграли из-за чего WindowServer на каждый фрейм пересчитывал маску окна Как говорится play stupid games win stupid prizeshttps://github.com/electron/electron/pull/48376
Делаю вид что разбираюсь
Недавно в твитторе увидел такой вопрос с подвохом: что будет если в постгре в цикле начать добавлять и удалять колонки из таблицы. Подвох в том что спустя некоторое время постгря скажет что нельзя больше 1600 колонок в таблице.Фокус происходит из-за того что удалить колонку физически дорого, поэтому постгря просто помечает ее удаленной (но ее можно увидеть в pg_attribute с атрибутом attisdropped), все вокруг игнорирует ее, но сами данные остаются на диске, а у новых колонок там неявно подкладывается null. И более того, даже VACUUM FULL который перестраивает таблицу с нуля не избавляется от этой колонки (ну хотя бы затрет те данные что были в колонке на момент ее удаления из всех актуальных строк). И единственный вариант от нее избавится это CREATE TABLE <new_name> (LIKE <old_name> INCLUDING ALL) (ну и потом починить foreign keys и триггеры которые так не переносятся).https://www.thenile.dev/blog/drop-column

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

Технологии
ЯНА БАКИРОВА | стиль и любовь к себе
И вот что получилось с гардеробом Эмилии - закинула в чат вещи, которые есть и которые нравятся, попросила составить 20 образов и потом отдельно сделать коллаж и список вещей. Закидывала скрины с ценами, поэтому в конце еще попросила посчитать бюджет.На данный момент это самый быстрый и удобный способ планирования детского гардероба, который я попробовала. Раньше я все это делала руками в презентации, считала сама, планировала образы на разную погоду. Теперь это сделал чат, убрал лишнее, просчитал образы и еще нарисовал это все.До чего техника дошла!
Саша Фирсов
Готовые AI-решения для трейдинга и инвестирования🧑‍💻 1. Бесплатный nansen - OpenBB2. Замена bloomberg - TradingAgents3. Финансовый аналитик от Майкрософт - QLIBВ топ10 по звездам на гитхаб (кстати, их накручивают) в финансовой тематике также попали агенты ресерчеры, поисковики, агент по тех.анализу и тд.Чтобы поставить себе такого - отправляете ссылку на гитхаб репо своему codex/claudecode и просите запустить локально/на сервере.
Кейт о карьере
Нашла тут забавный промт для создания символической заставки на телефон в стиле карт таро. Вот что мне выдал GPT. Промт ⤵️Создай несуществующую карту таро на основе того, что ты знаешь обо мне, я х по гороскопу, мне х лет, в классическом стиле Райдера-Уэйта. Изобрази меня как нарисованную от руки фигуру смелыми, но несовершенными черными чернильными линиями с легкой дрожью и вариативностью, в плоских цветах без теней. Добавь вокруг фигуры тонкие визуальные элементы таро.Добавь текстуру бумаги и эффект печати.Внизу трактовка картыЧто означаетФормат 9:16Если у вас есть собаки или кошки - можно их включить в описание + добавить свое фото и фото животных 🐾Если вы с gpt плотно не общаетесь, то может написать кем работаете, хобби и интересы.Делитесь в комментах вашими картинками 😜
Java библиотека
👩‍💻 Spring совет: таймауты RestTemplate лучше настраивать централизованноЕсли в проекте много REST-запросов через RestTemplate, не разбрасывай таймауты по коду.✅ Правильнее сделать конфигурацию через RestTemplateBuilder:- один общий RestTemplate с дефолтными timeout- плюс отдельные клиенты под “медленные” сервисы (через @Qualifier)Так у тебя:- единая точка настройки- меньше багов в проде из-за “вечных” запросов- проще дебажить и менять параметры💡 Особенно полезно в микросервисах, где внешние сервисы могут подвисать.Подписывайся на наш канал в Mакс 🟪
Книжный куб
[1/3] System Design. Подготовка к сложному интервью по GenAI (Рубрика #SystemDesign)Изучил интересную книгу для подготовки к интервью по System Design, но уже в новой реальности, когда проектировать надо не только базы, очереди, кэши и микросервисы, но и системы вокруг LLM, diffusion models, RAG, мультимодальных моделей и AI-powered продуктов. Это русское издание книги "Generative AI System Design Interview" из экосистемы ByteByteGo. Авторы - Али Аминиан и Хао Шенг. Али Аминиан уже известен по книге про ML System Design Interview, а здесь фокус смещается с классических ML-систем вроде поиска и рекомендаций на генеративный AI: чатботы, генерацию текста, изображений, видео, RAG и персонализированные AI-сценарии.В обычном System Design Interview кандидат часто рисует распределенную систему: API, балансировщики, базы данных, очереди, кэши, фоновые джобы, мониторинг. В GenAI-интервью все это остается, но появляется еще один слой сложности:- Какие данные нужны;- Какую модель выбрать;- Нужен ли RAG или fine-tuning;- Как измерять качество генерации;- Как бороться с hallucinations;- Как учитывать latency и стоимость инференса;- Как встроить safety-фильтры;- Как собирать feedback loop;- Как мониторить деградацию системы после запуска.Именно поэтому книга полезна не только ML-инженерам. Она хорошо ложится и на backend engineers, и на архитекторов, и на технических руководителей, которым сейчас приходится проектировать AI-фичи не как демо на API, а как часть production-системы.Внутри книги заявлены три главные вещи:1️⃣ Фреймворк из 7 шагов для GenAI System DesignАвторы предлагают не начинать сразу с "берем LLM и векторную базу данных", а последовательно пройти путь от требований до деплоя и мониторинга в проде. Это сильно дисциплинирует мышление, потому что в GenAI-задачах легко перепрыгнуть к модной технологии и забыть про реальные ограничения продукта.2️⃣ 10 практических задач с подробными решениямиСреди кейсов есть следующие: Gmail Smart Compose, Google Translate, ChatGPT-like personal assistant, Image Captioning, Retrieval-Augmented Generation, Realistic Face Generation, High-Resolution Image Synthesis, Text-to-Image Generation, Personalized Headshot Generation и Text-to-Video Generation. Этот набор покрывает разные сценарии и сильно шире, чем просто прикрутить трансформер к чат-боту:)3️⃣ Много диаграмм и end-to-end разборовДля System Design это особенно важно. Хороший ответ на интервью - это не только "какую модель выбрать", но и то, как выглядит система вокруг модели: preprocessing, retrieval, prompt builder, inference service, post-processing, safety layer, logging, monitoring, feedback loop. Мне кажется, главная ценность книги в том, что она показывает: "GenAI-система - это не модель в вакууме".В общем, модель - это конечно ядро, но вокруг него есть данные, права доступа, индексы, промпты, ранжирование, guardrails, UX, стоимость, GPU-инфраструктура, A/B-тесты, метрики качества и эксплуатационные ограничения. И если все это не проектировать осознанно, то на выходе получается не production-система, а красивый прототип с непредсказуемым поведением.Книга полезна как способ обновить представление о System Design в эпоху AI, ведь раньше мы проектировали в основном детерминированный софт: запрос пришел, сервис обработал, база ответила, результат вернулся. Теперь все чаще приходится проектировать системы с вероятностным поведением: модель может ответить хорошо, средне, неверно, опасно, дорого или слишком медленно. Поэтому архитектура должна включать не только масштабирование и отказоустойчивость, но и evaluation, safety, feedback и постоянный контур улучшения.В продолжении более подробный разбор фреймворка в 7 шагов от авторов книги.#SystemDesign #AI #GenAI #Architecture #Engineering #ML #Interview #Software
Наталья Абабий
Все говорят про ИИ-агентов, но мало кто объясняет, что это значит для бизнеса конкретно. Попробую без терминов. А в конце еще расскажу про своих.ИИ-инструмент это когда вы пишете запрос, получаете ответ. Спросили, ответил, разошлись. ChatGPT прошлой версии, Алиса, Gemini когда вы заходите в чат и просите.ИИ-агент это когда вы ставите задачу, а он сам придумывает шаги, сам их делает и приносит вам готовый результат. Не отвечает, а выполняет. Сравните с разницей между "человек, у которого вы консультируетесь" и "сотрудник, которому вы поручаете".Чтобы было понятнее, на пальцах. Вот три задачи, которые агент делает без вас:1️⃣ - Поиск + анализ + документ. Я говорю: "найди три российских компании, которые внедрили ИИ-ассистента в продажах за последние полгода, выпиши их кейсы, оформи в одностраничник для моей команды". Через 10 минут у меня этот одностраничник в почте. 2️⃣ - Мониторинг + уведомление. Один раз настраиваю: следи за упоминаниями нашей компании в российских телеграм-каналах больше тысячи подписчиков, пиши мне в чат краткую сводку каждое утро. Дальше работает само.3️⃣ - Встреча + резюме + рассылка. Агент подключается к Zoom, слушает, делает протокол, отправляет всем участникам. Ничего не нажимаю, ничего не загружаю. Просто пришло письмо.И в этом, кажется, и есть та неуловимая разница, которую сложно объяснить, пока сам не попробовал. Когда часть задач уходит в фон и возвращается готовой, у вас высвобождается не "час в день", а другое мышление. Освобождается слой, на котором вы раньше тратили внимание на координацию, передачу, проверку.Что бы я предложила сделать с понедельника: возьмите свой типичный рабочий день и подсветите три задачи, которые ну точно не требуют вашего ума. Это и есть ваши кандидаты на агента.Из моих:1. синхрон с календарем и задачами (просто могу написать, что через месяц мне нужно на маникюр и он предложит свободный слот по моим правилам, сам поставит и напомнит)2. генерация контента (нет, ИИ за меня не пишет, НО - он шерстит топ 15 каналов в теме, новостные сводки и официальные соцсети инструментов, генерит мне 10-20 тем, из которых я уже выбираю о чем писать, готовит черновики, которые я дожимаю уже со своими идеями, кейсами) - также и по Youtube уже. 3. лиды для продаж (поиск контактов, формирование индвидуальных писем на стыке нас, человека и компании) - тут целый процесс, как нибудь поделюсь прям кейсом настройки. ... дальше можно приводить еще примеры, но даже это уже существенные задачи.А вы про ИИ-агентов уже думаете в практической плоскости или это пока ощущается как "слово из новостей"?
BashMaster
⚙️ Одна функция вместо десяти команд✔️Каждый раз, когда нужно распаковать архив, начинается одно и то же. Это tar.gz или tar.bz2? Какие там флаги у unrar? А 7z вообще как запускается? Приходится лезть в документацию или историю команд. Самописная функция extract() решает именно эту проблему.▶️Скопируйте функцию в ~/.bashrc или ~/.zshrc:extract() { if [ -f "$1" ]; then case "$1" in *.tar.bz2) tar xjf "$1" ;; *.tar.gz) tar xzf "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) unrar x "$1" ;; *.gz) gunzip "$1" ;; *.tar) tar xf "$1" ;; *.tbz2) tar xjf "$1" ;; *.tgz) tar xzf "$1" ;; *.zip) unzip "$1" ;; *.7z) 7z x "$1" ;; *) echo "unknown archive" ;; esac fi}▶️Потом применяете изменения:source ~/.bashrc▶️Функция определяет тип архива по расширению файла и сама выбирает нужную команду. Вы просто пишете extract имя_файла и получаете распакованное содержимое. Без флагов, без гугления, без ошибок из-за опечатки в параметрах.▶️Поддерживаемые форматы: tar.gz, tar.bz2, bz2, rar, gz, tar, tbz2, tgz, zip, 7z.▶️Один синтаксис для любого формата. Если файл не распознан, функция скажет unknown archive вместо того, чтобы молча упасть.➡️ Что можно добавить:▶️Базовая версия уже полезна, но её можно немного доработать. Например, добавить проверку, что нужная утилита вообще установлена, или выводить имя команды перед запуском. Вот расширенный вариант:extract() { if [ ! -f "$1" ]; then echo "'$1' не найден" return 1 fi case "$1" in *.tar.bz2) tar xjf "$1" ;; *.tar.gz) tar xzf "$1" ;; *.bz2) bunzip2 "$1" ;; *.rar) unrar x "$1" ;; *.gz) gunzip "$1" ;; *.tar) tar xf "$1" ;; *.tbz2) tar xjf "$1" ;; *.tgz) tar xzf "$1" ;; *.zip) unzip "$1" ;; *.7z) 7z x "$1" ;; *) echo "Формат не поддерживается: '$1'" ; return 1 ;; esac}🖼️ Ссылка на источник🔨 bash_help
Анна Федорова
Отдельно хочется вспомнить кучу историй, где люди готовили по ИИ-рецептам и удивлялись, почему так плохо и не похоже на картинку. А там советы типа "и включите гриль на 100 минут, чтобы образовалась корочка". Ну без базара, она образовалась. Черная. А потом думаешь: это еще и ничего. Готовить по ИИ-советам все же лучше, чем лечиться, воспитывать детей и строить отношения по ИИ-советам.
Токсичная цифра
В интернетах разгоняется тема о белых списках на фиксе в Подмосковье. Я, как и многие, уже ничему в принципе не удивлюсь, но тут важно понимать, что например провайдер Всем Wi-Fi, абоненты которого жалуются сегодня, это не вполне обычный провайдер - они ставят оборудование, работающее с симкартами. Иногда с одной, чаще с несколькими.Не знаю, как сейчас, а несколько лет назад, например, было популярно оборудование микротик, там много было решений такого типа. Себе я в свое время ставил довольно крутой Зуксель. Рынок был наводнен копеечными модемами с ломаной прошивкой Кинетик. Много всего может быть. Это оборудование умеет обеспечивать хорошее стабильное качество связи, так что даже забываешь, что это мобилка. Но в условиях ограничений, этот недостаток выходит к сожалению на первый план. И конечно там действует белый список.Это лирика. Главное, что это все мобилка, а не фиксированная связь.
Bash Days | Linux | DevOps
Относительная нумерацияЧастенько народ интересуется, а почему у меня в виме такая странная нумерация. Да, этим вопросом и я в своё время задавался. Называется это «Относительная нумерация». Главная идея здесь — быстрое перемещение по коду с клавиатуры.Например, курсор стоит у меня в 27 строке. Если я сейчас выполню комбинацию: 6j, то курсор у меня встанет на строку: Не забудь подставить своё мыло. Такая нумерация показывает расстояние до строки от курсора, а не её абсолютный номер.Аналогично работает и в других направлениях. В редакторе ZED это включается через конфиг:relative_line_numbers": "enabled"В виме же по классике в конфиге:set number set relativenumberЧестно, если ты пользуешься мышкой, это бесполезная настройка. Для новичков это совсем неочевидная фича и возможно даже вредная. Короче у этой фичи целая философия:➡️ Мышление расстояниями. В заурядной жизни, ты будешь думать — ага, мне бы на строку 15 попасть. А если ты адепт вима, твоё мышление такое — мне бы на 6 строчек ниже.➡️ Ускорение всех count-команд. Тут не только клавиши hjkl задействованы, ты можешь выполнять ряд других операций. Например:5dd — удалить 5 строк3yy — скопировать 3 строки4> — сдвинуть 4 строки вправо2} — прыгнуть на 2 абзацаТы сразу видишь нужное число, сразу прожимаешь нужную комбинацию.➡️ Сильно уменьшает мысленную математику. Без — так… я на 120 строке, мне нужно на 133… это +13. С ней — вижу 13 → 13j. Мозги по сути вообще ничего не считают. Это плюс. Думаешь не головой, а жопой.➡️ Работает лучше с большими файлами. Когда у тебя файл на 1000+ строк, абсолютные номера создают шум, а относительные прям в тему. Ты ориентируешься вокруг курсора, а не во всём файле.Минусы? Да конечно! ➡️ Поначалу выламывает тебя, перестраивает, больно➡️ Плохо подходит для дебага с конкретными строкамиВ общем относительная нумерация, это не про цифры, она про то, чтобы перестать искать строки и моментально перепрыгивать в нужное место.Если есть чё добавить, камон в комменты, будет интересно почитать.🛠 #devops #linux💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog