и посмотреть медиа
Точка входа - основы программирования
и посмотреть медиа
Базовые знания по основам программирования для новичков.
Базовые знания по основам программирования для новичков.
Курс фундаментальных понятий: алгоритмы, структуры данных, языки программирования. Идеально для начинающих без опыта.
BRIN-индекс в 4570 раз меньше B-tree, пока не обновили 5 % строк Индекс BRIN в PostgreSQL хранит только min и max колонки на диапазон страниц и весит килобайты, что удобно для логов и событий. Инженер, делавший такие же zonemaps в Oracle, измерил на 10 млн строк, что с BRIN делают обычные UPDATE. Ломается он тихо. Свежий BRIN по created_at весит 48 КБ против 214 МБ у B-tree и отдаёт день за 21,2 мс (1536 страниц). После обновления 5 % строк тот же запрос читает 51 268 страниц и идёт 558,7 мс: 3,8 млн строк достаются и отбрасываются проверкой. Причина в MVCC: UPDATE кладёт новую версию строки туда, где есть место. Одна январская строка в «мартовском» диапазоне из 128 страниц расширяет его min/max, и он совпадает с любым январским запросом. А pg_stats.correlation ещё показывает 0,921. Проверьте у себя: в EXPLAIN (ANALYZE, BUFFERS) смотрите на Heap Blocks: lossy, корреляция ничего не покажет. Лечит CLUSTER, но с блокировкой таблицы. Скрипт есть в статье. #postgresql #sql
Открыть канал и посмотреть медиаТимлид рассказывает, как его команда из трёх человек — сам разработчик, аналитик и продакт, ни разу не открывавшие IDE, — за две недели вывела в прод новый сервис на вайб-кодинге. По пути: мёрдж-конфликты между людьми, которые не знают, что такое git pull, ночные смены с часу до восьми утра, потому что днём общий чат с моделью просто не отвечал, и момент, когда за час до демо ИИ-инструмент ушёл на техобслуживание. Честная история про то, что вайб-кодинг ускоряет сильного разработчика — и оставляет беспомощным того, кто ждёт чуда от нейросети. Как прошёл этот вайбкодинг-эксперимент в новом материале.
Открыть канал и посмотреть медиаЕсть у нас один знакомый разработчик, который давно не отдыхал. Последний отпуск — где-то в районе позапрошлого года. Чемодан на антресолях, паспорт неизвестно где, в комнате — бардак. Сам он не соберётся, нужна ваша помощь → Ссылка скрыта
Открыть канал и посмотреть медиаvoid в C меняет смысл в зависимости от места Вы видите void в объявлении функции, в скобках после её имени и рядом со звёздочкой у указателя. Выглядит одинаково, а ведёт себя каждый раз по-своему, и в чужом коде легко прочитать одно вместо другого. У нас вышла статья о том, как одно короткое слово набрало столько ролей. Заодно там история появления слова: его предложил Стивен Борн, тот самый автор Bourne Shell, и придумали его совсем не ради читаемости кода. Если пишете на C, дочитайте хотя бы до места про функции без параметров: многие узнают там, что объявляли их не так, как думали. Разобрали в статье. #основы
Открыть канал и посмотреть медиаСгенерируйте свой первый звук на C++ без библиотек Звук в компьютере — это просто список чисел. В статье автор пишет ~60 строк на C++, которые строят синусоиду, упаковывают её в WAV и дают файл, который реально можно включить. Для новичка это отличный способ увидеть, как математика превращается в работающий результат: частота 440 Гц соответствует ноте A4, амплитуда задаёт громкость, а sample rate показывает, сколько отсчётов в секунде. Не нужно знать аудиодвижки, достаточно цикла и пары формул. #cpp
Открыть канал и посмотреть медиаСоздаём программу, которая сама умеет выбирать модели в зависимости от задачи Чем дольше работаешь с ИИ, тем больше убеждаешься, что под разные задачи нужны разные модели. Дя простых задач не нужна дорогая модель, а со сложной дешевая может не справиться. А ещё, используя только одну модель, вы рискуете получить кирпич, если эта модель вдруг станет недоступна. Выход — разделить запросы по сложности и держать под рукой запасной вариант. Сначала ваш скрипт решает, насколько труден вопрос, потом отправляет простое к дешёвой модели, а сложное — к мощной. При сбое переключается на резервную модель. Туториал разбирает это на Python шаг за шагом. #python
Открыть канал и посмотреть медиаReact не следит за фокусом — useFocus из @reactuses/core делает это за него В React нет состояния, которое говорит, активно ли сейчас поле ввода. document.activeElement показывает ответ, но не перерендеривает компонент при смене фокуса, а autoFocus стреляет один раз и не даёт вернуть фокус программно. Приходится вешать onFocus и onBlur вручную. Хук useFocus из @reactuses/core сворачивает это в [isFocused, setFocused]: первая часть отражает реальное состояние элемента, вторая вызывает focus() или blur() по вашей логике. Например, при программном фокусе на поиске. Для подсветки рамки хватит CSS :focus, но как только фокус начинает управлять JSX через подсказки, плавающие лейблы или паузу тикера, хук убирает шаблонный код. Я бы сохранил его для форм и модалок, где фокус важен для UX, а не только для стилей. Разобрали в статье.
Открыть канал и посмотреть медиаУтечки памяти в JS: почему фронтенд тормозит со временем Долгоживущие вкладки часто тормозят из-за мелких ссылок, которые не дают сборщику мусора освободить память. В JavaScript объект живёт, пока на него остаётся ссылка, и удаление последней ссылки отправляет его в следующий проход сборщика мусора. Чаще всего утечки дают забытые таймеры и обработчики событий, отсоединённые DOM-узлы, оставшиеся в массивах, и глобальные переменные без let, const или var. Замыкания тоже держат ссылки дольше, чем нужно. Проверить проще, чем кажется: в Chrome DevTools вкладка Memory покажет снимок кучи и найдёт объекты, которые висят дольше положенного. А для метаданных объектов посмотрите на WeakMap: при удалении основной ссылки данные уйдут вместе с ней. Подробнее в азборе от Sharique Siddiqui.
Открыть канал и посмотреть медиаКуда прятать ключи API, когда работает ИИ-ассистент API-ключ, по сути пароль к сервису, который часто лежит в файле .env, а ИИ-ассистент читает его, чтобы запустить ваш проект. Проблема в том, что ключ попадает в окно диалога: ассистент может случайно вывести его в лог или выполнить чужую инструкцию из стороннего файла. Автор статьи предлагает выход: не давать ассистенту ключи напрямую. Храните их в менеджере секретов, передавайте через прокси, который подставляет ключ сам, или запускайте команды так, чтобы значение оставалось за пределами контекста. Разбор на dev.to поможет понять, как устроить это на своём первом проекте.
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!
Versiones modificadas de aplicaciones y juegos con características desbloqueadas.
Libres para las señales y las ideas de comercio.
Canal de noticias Addex. Interesantes actualizaciones y eventos.