Pull to refresh
156
0
Виктор @TyVik

Full-stack developer

Send message

Я построил систему управления жизнью и она вас шокирует

Level of difficultyMedium
Reading time21 min
Views90K

С детства я хотел иметь систему, которая бы охватывала все (или почти все) аспекты моей жизни. И главное — чтобы она тратила минимум моих усилий. Абсолютный минимум. И у меня это получилось.

Я расскажу о системе, к которой шел почти 18 лет, потому что системы GTD для обычных людей у меня не работали. Я пробовал ежедневники, Google Keep, Evernote, Notion, физическую белую доску для маркеров, делал локальный сайт на HTML, писал себе в личные сообщения и в канал в соцсетях и мессенджерах, пока, наконец-то, не дошел до Obsidian.

Читать далее

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

Level of difficultyMedium
Reading time6 min
Views17K

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

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

Читать далее

Дискретное преобразование Фурье в живых картинках для девятиклассников

Level of difficultyMedium
Reading time19 min
Views30K

Мало что настолько меня угнетает, как невозможность что‑либо понять так, чтобы потом объяснить это самому себе:) И хоть я уже давно не девятиклассник, этот период запомнился мне внезапным переходом от заучивания материала «чтобы не схватить парашу» к некоторой степени осознания «а как оно там устроено и почему именно так». Сложнее всего было с математикой и я постоянно изобретал для себя «объяснялки». Этот навык, к счастью, прижился и стал привычкой.

В виртуальную лабораторию!

Абсурдно усложнённая схема регистров в Intel 80386

Reading time16 min
Views17K
Фото кристалла i386 с обозначенным блоком регистров (полномасштабная версия фото доступна в оригинале статьи)

Революционный Intel 80386 (1985 год) стал первым 32-битным процессором с архитектурой x86. Как и большинство процессоров, он содержит огромное число регистров, которые являются ключевой составляющей, обеспечивая сверхбыструю обработку данных в сравнении с основной памятью. К ним относятся регистры общего назначения, регистры индекса и селекторы сегментов, а также специальные регистры для управления памятью и разработки операционной системы. В этой статье я буду говорить о кремниевом кристалле i386 и объясню, как в нём организованы основные регистры.
Читать дальше →

Семантический поиск по статьям Хабра в PostgreSQL + индексация текстов LLM в Ollama

Level of difficultyMedium
Reading time21 min
Views5K

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

Читать далее

Тайное уравнение, позволявшее США следить за всеми

Level of difficultyMedium
Reading time5 min
Views42K

В 2006 году АНБ скрыла в криптографическом стандарте Dual EC DRBG математический бэкдор. Агентство отрицало его наличие восемь лет. Затем утечки Сноудена подтвердили его существование.

Двойные эллиптические кривые (Dual Elliptic Curve) используются как безопасные генераторы случайных чисел (RNG). Математический бэкдор позволял правительству США расшифровывать SSL-трафик Интернета (Green 2013)1.

Эта статья будет технически глубоким исследованием для программистов. Мы реализуем и исходную правительственную научную статью (SP 800-90 2006)2, и бэкдор, обнаруженный исследователями Microsoft (Shumow & Ferguson 2007)3.

На моём домашнем компьютере для взлома 28 байт (не бит) при помощи этого бэкдора требуется 2 минуты. Представьте, какой объём Интернет-трафика правительство США могло расшифровывать при помощи суперкомпьютеров Министерства обороны.

Читать далее

Решаем проблему «деградации» YouTube с помощью NoDPI

Level of difficultyEasy
Reading time5 min
Views105K

Салют, Хабр! Я думаю, каждый из вас знаком или, по крайней мере, слышал о такой прекрасной утилите как GoodbyeDPI (большое спасибо @ValdikSS!). Сегодня я хочу представить вам (почти) свою разработку - аналог GoodbyeDPI.

Около полугода назад в своей статье Обвиваем YouTube змеем, или как смотреть и скачивать видео с YouTube без VPN на чистом Python-е. Часть 1 (заблокирована по требованию РКН) я рассказывал о том, как скачивать видео с YouTube на Python, а так как YouTube у нас "деградировал", я поделился инструментом, с помощью которого можно исправить этот вопиющий недостаток. Инструмент тогда выглядел достаточно сыро, и несмотря на то, что он выполнял свою задачу, требовал серьезных улучшений. Увидев интерес общественности, я решил допилить его, и вот, спустя полгода, после немалой работы, я рад представить вам NoDPI - проект, который явно не понравится РКН (и он опять меня заблокирует).

В этой статье я хочу рассказать о его возможностях, внутреннем устройстве, отличии от аналогов. Надеюсь, статья будет вам полезна и интересна. Поехали!

Читать далее

Топ 10 заповедей системного дизайна

Level of difficultyMedium
Reading time19 min
Views15K

В этой статье я не теоретизирую. Каждый из блоков — это то, что работает. Если вы разработчик, который хочет думать как архитектор — статья для вас.

Если вы архитектор, которому надоело рисовать схемы ради схем — этот список тоже для вас.

А если вы просто строите что-то серьёзное — сохранить, перечитать, внедрить. Это основа.

Читать далее

12 платформ, где можно генерировать визуал (и не только) бесплатно

Level of difficultyEasy
Reading time2 min
Views2.8K

Возможно, пригодится на рабочей неделе 😉

1. aistudio.google.com

Бесплатно доступны:

— лучшая текстовая модель от Google — Gemini 2.5 Pro

— прошлое поколение видеогенератора Veo2 — всё ещё очень хорошо

— прошлое поколение генератора картинок Imagen 3 — для простых задач сойдёт

— генерация речи в свежей Lyria — можно создать качественный голос с интонацией и даже диалог персонажей

Лимитов почти нет.

Читать далее

Взломают или нет? Оцениваем риски вашей информационной системы и моделируем угрозы

Reading time13 min
Views3.1K

Привет, Хабр! Меня зовут Алексей Костянов, я архитектор по информационной безопасности в Selectel. В этой статье я расскажу, как составить список потенциально уязвимых мест вашей информационной системы, и что делать с этим списком.

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

Postman логирует все ваши секреты и переменные окружения

Reading time2 min
Views15K

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

Читать далее

Чтобы побеждать, достаточно одной книги

Level of difficultyMedium
Reading time12 min
Views67K

Есть два правдивых утверждения.

Первое прозвучит плохо для культуры, в которой инженеров мотивируют извиняться за сам факт их существования, а не умеющий кодить мошенник вправе заявлять, что он является «идейным вдохновителем». Утверждение заключается в том, что я — один из лучших инженеров в моей непосредственной рабочей среде. Я изучаю приблизительно на два-три порядка больше, чем средний инженер рядом со мной. Мне делала оффер на должность сениора одна из лучших компаний в стране, разные Серьёзные Люди с радостью повторно нанимают меня и радостно наблюдают, как я разгребаю лениво составленные примечания к коммитам. Дела мои вполне хороши.

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

Я знаю, что второе утверждение истинно, потому что вижу, насколько сложными вещами занимаются другие люди, и знаю, что истинно первое, ведь я, иммигрант, без проблем попал в 3-4% людей, получающих самую высокую зарплату в стране. Как эти два утверждения могут быть истинны одновременно?
Читать дальше →

Выбор индексов в базах данных для highload-систем

Level of difficultyHard
Reading time27 min
Views14K

Индексы – это «ускорители» доступа к данным в базах данных. Правильно выбранные индексы могут многократно ускорить запросы, что особенно критично в highload-системах с большими объёмами данных и большим числом запросов. Однако за ускорение чтения приходится платить усложнением записи и дополнительным расходом памяти. В этой статье мы подробно рассмотрим, как работают разные типы индексов в реляционных СУБД, как выбирать индекс под конкретный запрос, обсудим подводные камни (например, блоат, переиндексация, избыточные индексы) и затронем индексацию в NoSQL (MongoDB, Cassandra). Завершим чеклистом, который поможет выбрать оптимальный индекс под вашу задачу.

Читать далее

Obsidian: исчерпывающее руководство по Templater

Level of difficultyMedium
Reading time38 min
Views13K

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

Читать далее

Заговор разработчиков против корпораций

Level of difficultyMedium
Reading time15 min
Views52K

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

Читать далее на свой страх и риск

Obsidian для профессионалов: рабочая система заметок на стыке подходов

Level of difficultyMedium
Reading time7 min
Views23K

Как совместить порядок классической иерархии и гибкость Zettelkasten в одной базе знаний? Делюсь своим опытом построения эффективной системы заметок в Obsidian для инженеров и IT-специалистов: структура, шаблоны, метаданные, соответствие ITIL и ISO. Если вы хотите, чтобы ваши заметки работали на вас, а не против - эта статья поможет навести порядок и ускорить работу с документацией.

Читать далее

Реализация self-hosted карт в закрытом контуре

Level of difficultyMedium
Reading time16 min
Views1.8K

На связи разработчики продукта Аврора Центр компании Открытая мобильная платформа. Сегодня мы расскажем как реализовать сервис self-hosted карт в закрытом контуре.

Наша компания активно развивается и добавляет новый функционал в продукт по удалённому управлению устройствами — Аврора Центр (UEM-решение, которое позволяет управлять устройствами и жизненным циклом приложений на ОС Аврора, Android и Linux). Так по запросам заказчиков было решено добавить отображение геопозиции мобильного устройства на карте территории России. И вот перед нами встаёт задача по работе с картами в АЦ.

Читать далее

Как за один вечер создать репутацию вашего стартапа в поисковой выдаче: 20 бесплатных площадок для быстрого буста

Level of difficultyEasy
Reading time10 min
Views18K

Итак, вы наконец-то выкатили в мир свой стартап или микросервис. Поздравляю — это не просто шаг, это рывок. А дальше начинается самый интересный этап: выстраивание доверия. Потому что, как бы ни был хорош ваш продукт, первый пользователь, первый партнер и первый инвестор пойдут не на лендинг, а в Google или Яндекс.

В этой статье я покажу, как буквально за один вечер можно заложить фундамент цифровой репутации для стартапа или рet-проекта: заполнить выдачу управляемыми упоминаниями, получить первые качественные ссылки, усилить доверие к бренду и даже немного подстегнуть трафик. Без магии, без бюджетов, без агентств. Только вы, браузер и системный подход. Всё, что рассказываю, покажу на примере микросервиса, который мы запустили этой весной. Примеры публикаций — в тексте, результаты стратегии — в финале.

Читать далее

Алгоритмы консенсуса Paxos, Raft и Zab в распределённых системах

Level of difficultyMedium
Reading time31 min
Views5.3K

В распределённых системах критически важно обеспечить консенсус – согласованность данных или решений между множеством узлов (серверов), даже при сбоях и задержках сети. Алгоритмы консенсуса позволяют группе несовершенных узлов действовать как единое надёжное целое. Три классических алгоритма – Paxos, Raft и Zab – стали основой для построения отказоустойчивых систем. Они гарантируют, что при наличии кворума узлов (обычно большинства) все узлы придут к единому решению и последовательности операций, сохраняя консистентность данных. В данной статье мы рассмотрим устройство этих алгоритмов «под капотом», их этапы (выбор лидера, репликация журнала, обработка сбоев и восстановление), области применения в реальных системах (от координаторов в кластерах Kubernetes и Apache Kafka до распределённых баз данных), а также сравним готовые реализации (такие как etcd, ZooKeeper, Consul и др.) по ключевым характеристикам.

Читать далее

Язык мироздания — теория групп и теория категорий

Level of difficultyMedium
Reading time11 min
Views16K

Около полутора лет назад я опубликовал на Хабре статью под названием "Слово Божие — функциональное программирование как основа Вселенной", в которой я рассказывал про лямбда-исчисление и про то, как программу любой сложности можно свести к алгоритму на базе всего трёх SKI-комбинаторов или же одного единственного йота-комбинатора. В ней мы разобрались с алфавитом божественного языка, на котором написана книга мироздания. Теперь же пришло время разобраться с его грамматикой.

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

Information

Rating
8,593-rd
Location
Краснодар, Краснодарский край, Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
Python
PostgreSQL
Linux
Docker
Kubernetes
RabbitMQ
Elasticsearch