Pull to refresh
34
0.1
ionicman @ionicman

User

Send message

Да, этот HTML и CSS старый, но всё ещё полезный

Reading time6 min
Views5.9K

Привет, Хабр!

Следя за развитием HTML и CSS, очень сложно запомнить всё. Я заметил это, ведя свой канал и общаясь с коллегами. Многие люди не знают про возможности HTML и CSS, которые были внедрены в браузеры 6 лет назад или раньше.

Только их возраст не является недостатком. Они всё ещё полезны в современной разработке. По этой причине я собрал их в небольшой список и на основе его написал эту статью. Надеюсь, найдёте для себя что-то полезное.

Давайте посмотрим, что я подготовил.

Читать далее

Установка Windows через CMD

Level of difficultyMedium
Reading time6 min
Views15K

Приходилось ли вам устанавливать современные версии Windows? Если да, то вам точно знаком установщик, каждый этап которого прогружается несколько секунд, и который яростно навязывает вам использование аккаунта Microsoft, с каждым обновлением делая использование локального аккаунта всё труднее и труднее.

Но существует альтернативный способ установить Windows — более быстрый, не требующий подключения к интернету и не навязывающий никаких сервисов — ручная установка с использованием CMD.

Читать далее

Что делает enumerate() и почему это лучше, чем range(len(...))

Level of difficultyEasy
Reading time4 min
Views6.4K

Привет, Хабр!

Сегодня коротко, но по существу разберёмся, зачем вообще нужен enumerate() в Python и почему он почти всегда лучше, чем старый добрый range(len(...)).

Читать далее

Главное по ML/DL, часть 2: Вопрос → Краткий ответ → Разбор → Пример кода. SVD/PCA. Bias-variance. Деревья. Бустинг

Level of difficultyMedium
Reading time23 min
Views1.7K

У каждого наступает момент, когда нужно быстро освежить в памяти огромный пласт информации по всему ML. Причины разные - подготовка к собеседованию, начало преподавания или просто найти вдохновение.

Времени мало, объема много, цели амбициозные - нужно научиться легко и быстро объяснять, но так же не лишая полноты!

💻 Обращу внимание, самый действенный способ разобраться и запомнить - это своими руками поисследовать задачу! Это самое важное, оно происходит в секции с кодом. Поэтому попробуйте сами решить предложенную задачку и придумать свою!

Будет здорово получить ваши задачи и в следующих выпусках разобрать!

Мы продолжаем. Обязательно испытайте себя в предыдущей [1] части!

Взглянуть на старое под новым углом →

Почему твой await fetch тормозит — и как это исправить

Level of difficultyEasy
Reading time5 min
Views15K

Привет, Хабр!

В этой статье рассмотрим, почему безобидная строчка await fetch() неожиданно превращается в тормоз, где именно она зарывает драгоценные миллисекунды — и что можно сделать с этим.

Читать далее

Автоматический подбор браузером контрастного цвета в CSS

Level of difficultyEasy
Reading time10 min
Views2.2K

Вам когда-нибудь хотелось, чтобы можно было написать простой CSS для объявления цвета, после чего браузер сам бы определял, чёрный или белый должен сочетаться с этим цветом? Теперь это возможно благодаря contrast-color(). В статье мы объясним, как это работает.

Представьте, что вы разрабатываете веб-сайт или веб-приложение, и в дизайне требуется куча кнопок с разными цветами фона. Для обработки цвета фона можно создать переменную --button-color, а затем присваивать ей разные значения.

Иногда фон кнопки будет тёмным цветом, а текст кнопки должен быть белым для создания контрастности. В других случаях фон светлее, поэтому текст должен быть чёрным.

Читать далее

Любителям x86-64 assembler посвящается: DIY волокна в C++

Level of difficultyHard
Reading time26 min
Views14K

Нас ждёт мозговыносящая смесь 64/32-битного ассемблера и старого-доброго C++. Мы сделаем собственную реализацию... Волокон (fibers) без вызова Win API и звонков в службу спасения.

Читать далее

Как мы под Новый Год загрузили в PostgreSQL петабайт данных и что из этого вышло

Level of difficultyMedium
Reading time19 min
Views15K

Эта история началась с шутки на офисной кухне 10 декабря, но, как водится, у каждой приличной шутки, она вдруг стала интересной для воплощения, а в конце переросла в не самую технически простую реализацию с хождением по многочисленным граблям. 

А началось всё просто: пока все вокруг спорят как настраивать железо и тюнить операционные системы дабы выжать лишних TPS, мы решили проверить как отреагирует движок PostgreSQL если загрузить в него действительно большой объём данных. Например, давайте сделаем базу размером один петабайт и посмотрим как он это переживёт.

На дворе было 10 декабря, руководство поставило задачу сдать отчёт 20 января, до нового года оставалось меньше месяца, а в руках появился знакомый всем инженерам зуд.

Читать далее

Веб-разработка на ванильном HTML, CSS и JavaScript

Level of difficultyMedium
Reading time19 min
Views16K

В этой серии статей мы расскажем, как выполнять веб-разработку исключительно на ванильных технологиях. Ни инструментов, ни фреймворков, лишь HTML, CSS и JavaScript.

Современные фреймворки веб-разработки обладают мощными возможностями для быстрой разработки хорошо структурированных веб-приложений, поэтому они стоят изучения. Однако за эту богатую функциональность приходится расплачиваться сложностью фреймворков и инструментария, а для обеспечения безопасности и актуальности проектов часто требуется регулярная поддержка.

Выбрав ванильный стиль веб-разработки, мы обмениваем кратковременное удобство на такие долговременные преимущества, как простота и практически нулевая поддержка. Такой подход возможен благодаря современному уровню развития браузеров, обеспечивающих превосходную поддержку веб-стандартов.
Читать дальше →

Почему мы выбрали TypeScript — и ни о чём не жалеем

Level of difficultyMedium
Reading time16 min
Views3.6K

В этой статье мы разберем ключевые преимущества TypeScript, посмотрим на его расширенные возможности и на практике покажем, как он помогает нам справляться с реальностью крупных проектов. Более того, вы сможете увидеть, как TypeScript открывает новые горизонты даже для новичков, которые только начинают путь в разработке.

Читать далее

Подмена E-EDID на Windows

Level of difficultyMedium
Reading time5 min
Views2.7K

Если вы когда-нибудь, запуская рабочую станцию с операционной системой Windows, обнаруживали, что ваш Full HD монитор показывает лишь изображение с разрешением не более 1024x768 и определяется как «Стандартный не Plug-n-Play монитор», и по какой-то причине вы не имеете возможности переключить монитор на другой видеовход, не поленитесь заглянуть под кат, где я растолкую, как «временно» выкрутиться минимальными усилиями.

Читать далее

Еще пара слов об устройстве NVRAM в UEFI-совместимых прошивках (про Dell DVAR)

Level of difficultyMedium
Reading time7 min
Views3.3K

Здравствуй, читатель. С моих прошлых статей про NVRAM прошло некоторое количество времени (за эти почти 10 лет мало что изменилось, и все эти форматы до сих пор с нами практически без модификаций), а моя работа на одну фруктовую компанию не позволяла мне писать статьи, тесты и посты без одобрения кучей непонятных людей, но теперь эта работа осталась в прошлом, а желание писать так и не пропало. 

Эта статья - практическая реализация этого желания, а поговорим мы в ней о формате Dell DVAR, и немного о декларативном языке для написания парсеров Kaitai Struct, на котором я недавно переписал парсеры всех известных UEFITool NE форматов NVRAM. 

DVAR я дрожащая, или право имею?

Быстрое приближённое умножение и деление чисел с плавающей точкой

Level of difficultyHard
Reading time27 min
Views6.9K

Особенности формата хранения чисел с плавающей точкой позволяют быстро находить приближённое значение логарифма, и, за счёт этого, выполнять умножение и деление. Результат при этом будет неточным, однако может быть применимым там, где особая точность не требуется.

Читать далее

Обработка аудио на ESP32

Level of difficultyMedium
Reading time15 min
Views12K

В этой статье я хочу поделиться своим опытом портирования проекта распознавания музыкальных жанров аудиозаписей на ESP32-C3. Исходный проект взят из репозитория книги TinyML-Cookbook_2E.
При анализе речи или других звуков важно выделить такие характеристики, которые отражают строение сигнала, но при этом не зависят от конкретных слов, громкости и других мешающих факторов. Для этого используют cepstrum, mel-cepstrum и MFCC - это шаги преобразования, которые переводят звук в удобную для анализа форму.

Читать далее

Часть 2. Обзор технологий RAG для LLM: поиск и извлечение информации

Level of difficultyEasy
Reading time13 min
Views5.5K

Продолжаю адаптированный перевод статьи китайских исследователей Retrieval-Augmented Generation for Large Language Models: A Survey (первую часть см. здесь) Во второй части авторы разбирают технологии оптимизации поиска и извлечения данных. Поскольку материал я готовил в первую очередь для начинающих ИТ-переводчиков, сложные и специальные термины я сопровождал английским переводом и краткими пояснениями в комментариях (появляются на серых полях по клику). Картинок не было.

Читать далее

Даже не влезайте в Kubernetes без этого

Reading time20 min
Views48K
image

Главный прикол с k8s: поднять базовый кластер займёт всего 15 минут. А вот чтобы он реально заработал, ответить на все вопросы перед установкой, всё спланировать — на это нужны дни, реально дни мозгового штурма и планирования. Ну или потом придётся разбирать и делать ещё раз. Несколько раз.

Кубер унижает человеческое достоинство разными способами и на разных этапах. Это часть опыта от пользования продуктом. Так задумано.

И вот про эти самые вопросы мы сейчас и поговорим, потому что там целое волшебное поле грабель.

Начнём с простых вещей, например, выбора дистрибутива, выбора способа хранения данных (и динамического выделения места), а также того, куда складывать пароли к критичным ресурсам. На этих трёх выборах ломается примерно 50 % админов.

Поехали в ад!
Читать дальше →

На пальцах про WebRTC на примере своего мессенджера

Level of difficultyEasy
Reading time9 min
Views6.1K

Сегодня разберёмся, как сделать видеозвонки — ту самую фичу, без которой сложно представить современное общение в 2025 году, на примере реализации мессенджера.

Для этого мы познакомимся с WebRTC — технологией, которая позволяет приложениям устанавливать прямое соединение друг с другом для обмена аудио, видео и другими данными. Это мощный, но местами капризный инструмент, который требует понимания архитектуры, сигналинга и сетевых нюансов вроде NAT и ICE.

Читать далее

Как сделать, чтобы ссылки sip, tel и другие открывались определённым приложением

Reading time5 min
Views1.2K

Всем привет! Это снова Саша Басун — системный администратор «Петрович-Теха». Я пришёл поделиться решением проблемы, которая периодически встречалась мне раньше. Правда, потребность в её решении не была критичной, так как затрагивала минимум пользователей.

Другое дело, когда проблема появляется уже у десятка, а то и у сотни пользователей. Здесь без логичного решения уже не обойтись. Так произошло и в этот раз, но давайте по порядку. Все началось с ухода эпохи Skype и с Windows, не видящего корпоративный софтфон.

Читать далее

Обнаружение изменения положения DOM элемента с помощью IntersectionObserver

Level of difficultyMedium
Reading time7 min
Views1.5K

Попытка создания универсального решения, которое позволяет обнаруживать изменение положения элемента на веб-странице в независимости от того, чем оно было вызвано: прокруткой, изменением размера окна или родительского контейнера, масштабированием, изменением разметки или непосредсвенно заданием координат left и top самого элемента.

Читать далее
1
23 ...

Information

Rating
6,101-st
Registered
Activity