Search
Write a publication
Pull to refresh
2
0
Константин @ConstOrVar

Разработчик мобильных приложений

Send message

FUSE: как написать свою файловую систему

Level of difficultyHard
Reading time21 min
Views19K

Меня зовут Максим, я ведущий разработчик в VK. Занимаюсь инфраструктурой доставки электронной почты в проекте Mail.ru. Наша команда разработала и довела до эксплуатации файловую систему (ФС) на FUSE в рамках проекта распределённой почтовой очереди. В проекте требовалось реализовать сетевую ФС, которая сохраняет данные в трёх копиях, в разных ЦОДах. Цель — повысить отказоустойчивость, чтобы даже полный выход из строя одного ЦОДа не приводил к нарушениям SLA. Эта статья для всех, кто интересуется файловыми системами и хранением данных. Мы обсудим:

- зачем писать свою ФС;

- как написать свою ФС с помощью фреймворка FUSE;

- какие подводные камни есть у эксплуатации FUSE в production.

Эта статья — результат трёх лет разработки ФС. Сейчас самое время заварить чай, рассказ будет долгим. 

Заварить чай и читать

Сравнение зарубежных и отечественных площадок для белых хакеров по сложности

Level of difficultyEasy
Reading time7 min
Views7.8K

Привет, Хабр! Продолжая “рекламную кампанию” информационной безопасности для заинтересовавшихся, хочу затронуть тему площадок для этичных хакеров (и не только для них, на самом деле). В этой статье я объясню где и чему конкретно можно научиться.

Читать далее

WebView: быстрый релиз, никаких ревью в сторах, а минусы есть?

Level of difficultyMedium
Reading time5 min
Views4.4K

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

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

Обсудим плюсы и минусы нативной и кросс-платформенной разработки и подробно разберём WebView, его преимущества и подводные камни.

Читать далее

Как мыслить нестандартно. Топ-5 книг для развития креативности и интуиции

Reading time2 min
Views22K

Привет, Хабр! Я бизнес-тренер в ОТП Банке. И моя новая статья посвящена книгам про мышление. Решила выделить топ-5, но их, конечно, больше. Если есть, что добавить в этот список – кидайте в комментарии, буду очень благодарна. О хороших книгах должны знать все:)

Пополнить багаж знаний

Крекер. SQL инъекции. Уязвимость LFI

Reading time4 min
Views7.9K

Введение

Рады вновь приветствовать дорогих читателей! Начиная с этой статьи мы запускаем новую рубрику "Крекер", в серии этих статьей мы будем разбирать различные уязвимости, их эксплуатацию. В этой вступительной статье мы разберём уязвимости SQL, LFI, ADB и инструменты их эксплуатации.

Дисклеймер: Все данные, предоставленные в статье, взяты из открытых источников. Не призывают к действию и являются только лишь данными для ознакомления, и изучения механизмов используемых технологий.

Читать далее

Что такое PID 0

Reading time17 min
Views37K

Как говорится, «не будите во мне ботана». Иногда кто-нибудь беспечно задаст мне, казалось бы, невинный вопрос — и я убиваю следующие несколько часов (в описываемом случае — дней), чтобы полноценно сформулировать ответ. Обычно всё это заканчивается с моей стороны очередной филиппикой на mastodon или в каком-нибудь приватном чате. Но на сей раз не буду этим ограничиваться и напишу целый пост.

Вот с какого невинного вопроса всё началось:

А почему UID начинаются с 0, но PID начинаются с 1?

Если совсем коротко: в Unix PID (идентификаторы процессов) начинаются именно с 0! PID 0 просто не отображаются в пользовательском пространстве через традиционные API.  PID 0 запускает ядро, а затем практически уходит на покой, только немного участвует в работе планировщика процессов и в управлении питанием. Кроме того, на просторах Интернета доминирует заблуждение о PID 0, всё из-за одного ошибочного утверждения в Википедии, которому уже 16 лет.

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

Но, конечно же, любой желающий может просто загуглить, что такое PID 0, верно? Зачем мне вообще всё это писать?

Читать далее

Мобильная разработка за неделю #542 (10 — 16 июня)

Reading time4 min
Views1.9K
В очередной подборке оцениваем результаты WWDC и Apple Intelligence, тащим GeckoView в Почту и оцениваем ошибки ChatGPT, рассказываем про самые скачиваемые и зарабатывающие приложения в России в мае 2024, ломаем бинарный код и многое другое. Подключайтесь!

Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

Читать дальше →

От платформы к коробочным продуктам: анализ архитектуры Tarantool

Reading time10 min
Views2.9K


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

Но так было не всегда: за 15 лет Tarantool прошел большой путь, на котором были как успехи, так и подводные камни.
Читать дальше →

Меня зовут Игорь, 33 года я произвожу электронику и ненавижу продажи

Level of difficultyEasy
Reading time9 min
Views27K

Наши устройства летали в космос, с ними исследовали поведение бурундуков, и 4 раза мы попадали в книгу рекордов Гиннеса, как самые маленькие диктофоны в мире (37х15х7 мм). Диктофоны использовали для предотвращения терактов в Лондоне в 2006 г., после которых запретили провоз жидкостей в самолетах.

Но сегодня мы продаем на 3 млн ₽ в месяц, потеряли весь экспорт, вынуждены закрывать новые разработки, а я, как владелец производства в Зеленограде, зарабатываю меньше среднего айтишника-сеньора.

Читать далее

Что нужно знать и уметь начинающему специалисту по ремонту ноутбуков? Часть 1

Reading time4 min
Views23K

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

Все, о чем говорится в статье, — лишь основа по ремонту ноутбуков и других девайсов. Если у вас есть свои мысли по этому поводу — оставляйте их в комментариях.
Читать дальше →

Кратко о KAN для самых неподготовленных

Level of difficultyEasy
Reading time5 min
Views7K

В апреле практиками-исследователями и математики анонсировали новую архитектуру нейросетей. Крупного резонанса открытие не принесло, хотя с нашей точки зрения, KAN может претендовать на интересную технологию Важнее, что это не просто новая вариация трансформера или исправленная рекуррентная нейронная сеть – это новый подход к нейросетям в принципе, новая архитектура вместо MLP.

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

Но надеемся, что некоторое понимание базовой линейной алгебры и математического анализа присутствует. 

MLP – обычная полносвязная нейросеть, где благодаря послойной активации нейронов мы получаем какой-то конечный результат (данные) на последнем слое. Похоже на имитацию действия мозговых нейронов: благодаря передаче импульса от нейрона к нейрону – мы получаем результат в виде ассоциации, воспоминаний...

Так вот суть KAN сводится к переносу акцента с “активации нейронов” к активации “связей” между ними. 

Конечно, сами связи никуда не деваются, но. Теперь вместо обычных весовых отношений между нейронами – мы получаем обучаемые функции активации – связываем нейроны B-spline’ами. Веса – это такие числовые коэффициенты, которые определяют уровень активации нейронов. Больше вес – сильней сигнал.

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

Читать далее

Даже в школе есть безопасники: решаем простые, но интересные CTF-турниры

Reading time5 min
Views5.4K

В продолжение серии материалов по решению CTF-турниров из разных стран хочу рассказать о недавно прошедшем BYUCTF 2024 от организаторов из университета Бригама Янга. А также о bcactf 5.0 от академии округа Берген, который ориентирован на школьников старших классов. Оттого будет интересно узнать, чем сейчас живут старшеклассники, которые увлекаются информационной безопасностью.

В рамках статьи покажу решение нескольких заданий из разных категорий: OSINT, Misc, Forensic и Web. Некоторые могут показаться простыми, ведь в этой подборке задачи с турниров для старшеклассников и студентов. Если вы считаете, что CTF — это сложно и непонятно, надеюсь, что мои обзоры смогут вселить в вас уверенность. Поехали!
Читать дальше →

Настраиваем Lock Task Mode aka Kiosk Mode

Level of difficultyEasy
Reading time7 min
Views2.6K

Привет! Меня зовут Максим Мищенко и я Android-разработчик в компании Effective.
В этой статье я расскажу, что такое Lock Task Mode и как его реализовать.

Читать далее

Тайны китайских светофоров

Level of difficultyMedium
Reading time8 min
Views15K


Привет, Хабр! Сегодня вашему вниманию предлагается очень интересный радиоконструктор на 12 логических микросхемах, реализующий функции контроллера светофора.
Читать дальше →

Как решить проблему уязвимостей бизнес-логики? Поломать приложение еще до написания кода

Level of difficultyMedium
Reading time10 min
Views3.9K

Всем привет. Меня зовут Нияз Кашапов, я AppSec Lead в СберМаркете. Улучшаю процессы безопасной разработки уже более 5 лет. Начинал карьеру в финтехе, где занимался безопасностью кода, фич и бизнес-процессов в онлайн-банкинге. А сейчас продолжаю начатое в одном из самых быстрорастущих игроков на рынке e-com.

Думаю, у многих в практике встречалась уязвимость, которую просто так не пофиксить — ведь она заложена глубоко внутри разрабатываемого решения, обвешана кучей зависимостей и требует полного ребилда самого решения. Чаще всего такие уязвимости остаются в проде навсегда и удерживаются от «падения» множеством костылей. Возникает резонный вопрос: «Как они возникли?» Чаще всего ответ — «Так исторически сложилось», а истоки проблемы давно забыты. Боролься с таким лучше превентивно, а как это сделать — попробую рассказать в этой статье.

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

Читать далее

Осваиваем DOM Invader: ищем DOM XSS и Prototype Pollution на примере пяти лабораторных и одной уязвимости на Хабре

Reading time8 min
Views5K

Привет, Хабр! Сегодня мы познакомимся с DOM XSS и Prototype Pollution, рассмотрим примеры уязвимостей на Bug Bounty и научимся использовать инструмент DOM Invader, который заметно упростит поиск таких уязвимостей.

Материал будет интересен специалистам, которые уже сталкивались с DOM XSS и Prototype Pollution. Если вы еще не знакомы с этими уязвимостями, стоит обратить внимание на лабораторные PortSwigger и теорию и только потом приступать к изучению DOM Invader. А если знакомы, то быстро вспомним основные понятия и объясним, а в чем же, собственно, состоит опасность.

Читать далее

Специалисты по информатике изобрели новый эффективный способ подсчёта уникальных элементов

Reading time4 min
Views20K

Представьте, что вас отправили в девственный тропический лес, чтобы провести перепись диких животных. Каждый раз, когда вы видите животное, вы делаете снимок. Ваша цифровая камера будет фиксировать общее количество снимков, но вас интересует только количество уникальных животных — всех тех, которых вы ещё не посчитали. Как лучше всего получить это число? «Очевидное решение — запомнить всех животных, которых вы уже видели, и сравнивать каждое новое животное с этим списком», — говорит Лэнс Фортноу, специалист по информатике из Иллинойского технологического института. Но есть и более умные способы, добавил он, потому что если у вас тысячи записей, то очевидный подход далеко не так прост.

Всё становится ещё хуже. Что, если вы — Facebook, и вам нужно подсчитать количество отдельных пользователей, которые заходят на сайт каждый день, даже если некоторые из них заходят с нескольких устройств и в разное время? Теперь мы сравниваем каждый новый вход со списком, который может исчисляться миллиардами.

Читать далее

[THM] [Medium] Wonderland

Level of difficultyMedium
Reading time8 min
Views1.6K

Это руководство описывает процесс прохождения стенда "Wonderland" на платформе TryHackMe. Мы будем исследовать различные этапы, включая сканирование, эксплуатацию уязвимостей и повышение привилегий. Следуя за Белым Кроликом, мы сможем погрузиться в мир Wonderland и добиться получения root-доступа к целевой машине.

Читать далее

Часть пользователей Telegram в опасности

Level of difficultyEasy
Reading time2 min
Views56K

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

Ко мне обратился владелец взломанного telegram аккаунта с просьбой о помощи. В его аккаунт вошёл злоумышленник, завершил сессии на устройствах владельца, и начал играть в фишинг с его контактами. Выбросить злоумышленника из аккаунта не удалось, поскольку его сессия стала самой продолжительной, и он постоянно завершал все новые сессии. Также нельзя было удалить аккаунт, поскольку telegram "по причинам безопасности" не дал удалить аккаунт в текущий момент, а только лишь запустил таймер, который удалит аккаунт через 7 дней. К сожалению, лучшее, чем можно было сделать оперативно - это предупредить контакты по не скомпрометированному каналу о том, что telegram аккаунт был взломан.

Но мы решили провести небольшой анализ, чтобы понять, каким образом аккаунт был взломан и пришли вот к чему:

Стандартная процедура входа в telegram:

Читать далее

Под капотом загрузчика

Level of difficultyMedium
Reading time18 min
Views13K

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

Мы, сервисные инженеры, сталкиваемся с GRUB2 ежедневно. А вот когда стало любопытно посмотреть на загрузчик комплексно, то в интернете и в учебнике Linux нашли лишь несколько команд: как заново проинсталлировать загрузчик и обновить текущую конфигурацию. «А почему так мало?», — была наша первая мысль.  Решили восполнить пробел — так появилась эта статья. А для иллюстрации попросили нейросетку изобразить, «как выглядят эпичные проблемы с GRUB» -- вот что вышло.

Читать далее

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity