All streams
Search
Write a publication
Pull to refresh
-15
0

Пользователь

Send message

Охотники на баги и где они обитают: итоги опроса о багхантинге

Reading time9 min
Views16K

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

Мы решили узнать, как российское IT-сообщество воспринимает багхантинг, и провели опрос среди читателей Хабра. Более 300 человек прошли тест до конца, около 1000 ответили на часть вопросов, что позволило нам составить портрет современного багхантера. Спасибо всем участникам! А теперь давайте разберёмся, что же удалось выяснить. В конце каждого раздела дадим галерею с итогами опроса, чтобы вы могли посмотреть на полное распределение процентов по ответам.

Читать далее

JDBC: Как Java научилась дружить с Базами Данных

Reading time4 min
Views12K

Представьте, что вы — гид в огромном городе под названием «Базы Данных». Ваша задача — помочь Java-приложениям найти нужную информацию, обновить данные или создать новые таблицы. Но как «разговаривать» с разными СУБД, если у каждой свой язык? Здесь на помощь приходит JDBC — универсальный переводчик, который знает все диалекты.  

Читать далее

Как я победил в RAG Challenge: от нуля до SoTA за один конкурс

Level of difficultyMedium
Reading time23 min
Views43K

Когда новичок пытается построить свою первую вопросно-ответную LLM систему, он быстро узнаёт, что базовый RAG - это для малышей и его нужно "прокачивать" модными техниками: Hybrid Search, Parent Document Retrieval, Reranking и десятки других непонятных терминов.
Глаза разбегаются, наступает паралич выбора, ладошки потеют.

А что, если попробовать их все?
Я решил потратить на подготовку к соревнованию 200+ часов и собственноручно проверить каждую из этих методик.
Получилось настолько удачно, что я выиграл конкурс во всех номинациях.

Теперь рассказываю, какие техники оказались полезными, а какие нет, и как повторить мой результат.

Читать далее

Я уехал из России в испанскую глушь, купил дом среди гор и не жалею

Level of difficultyEasy
Reading time9 min
Views204K

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

Читать далее

Ложные убеждения о нулевых указателях

Reading time10 min
Views7.3K
В этой статье предполагается, что вы знаете, что такое неопределённое поведение, и почему его не следует провоцировать, в самом общем виде знаете, как работают процессоры, а также умеете принимать во внимание конкретный контекст, не злоупотребляя излишним обобщением частностей. Эти убеждения можно считать заблуждениями, так как они не применяются глобально, а не потому, что обратное от них действует глобально. Если вы не уверены в себе, то, возможно, от прочтения этого текста вы больше проиграете, тем самым подпортив себе навыки программной инженерии. Поэтому ничего страшного, если вы не будете знакомиться с постом, а просто почитаете комментарии на Reddit — там уже написали, что может пойти не так, если вы, несмотря ни на что, углубитесь в этот материал.

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

Педагогика на роботах: может ли помочь RPA в обучении программированию?

Level of difficultyEasy
Reading time9 min
Views1.2K

Привет! Я Кирилл Пронин, разработчик PIX RPA из PIX Robotics. А еще я семь лет преподавал основы программирования детям в частных технопарках в рамках дополнительного профессионального образования, а также студентам колледжей и вузов. Чтобы завлечь детей (и упростить работу себе — но об этом чуть позже) я стал внедрять программных роботов в процесс обучения. И понял, что RPA — отличная платформа для старта в разработке. Любой. Но обо всем по порядку. Здесь я расскажу, как продукт по написанию программных роботов может сделать обучение более эффективным и увлекательным, а также проанализируем, какие педагогические методы могут быть адаптированы для работы с RPA. Кроме того, я расскажу о собственном опыте внедрения этих технологий в образовательный процесс и дам несколько полезных советов, которые, надеюсь, помогут вам в вашей практике!

Читать далее

Как сделать полезный дашборд: советы и идеи

Level of difficultyEasy
Reading time8 min
Views27K

Привет! Меня зовут Роман, и я уже больше 10 лет занимаюсь мониторингом: использовал множество систем, часто приходилось работать с дашбордами. За это время скопилось несколько советов, самыми полезными хочу поделиться в этой статье.

Читать далее

Распределенный SQL в Picodata

Level of difficultyMedium
Reading time12 min
Views3.3K

Недавно мы выпустили новую значительную версию Picodata — распределенной in-memory СУБД с открытым исходным кодом. Это продукт на основе Tarantool c поддержкой плагинов на Rust и некоторыми другими интересными особенностями, о которых можно почитать в статье Picodata: простое масштабирование Tarantool.

Одно из главных улучшений в новом релизе Picodata 23.12 — возможность выполнять распределенные (кластерные) SQL-запросы непосредственно из консоли Picodata, без дополнительных настроек. Можно управлять глобальными и шардированными таблицами (DDL), модифицировать данные в них (DML) и, разумеется, читать из них (DQL). Также, мы теперь поддерживаем централизованное управление пользователями, ролями и привилегиями на основе списков контроля доступа (ACL), опять же — в рамках всего кластера.

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

Погрузиться в детали

Как Кремниевая долина превращает бум ИИ в новый пузырь доткомов

Reading time8 min
Views15K

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

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

Читать далее

План моего курса по основам аналоговой электроники в школе

Level of difficultyEasy
Reading time11 min
Views18K

Эти занятия на правах предмета по выбору я веду в одной из местных школ с 2006 года. Их цель — дать представление юным знатокам — любителям ардуин — некоторое представление о том зачем светодиоду резистор, не говоря уже о пользе транзисторов‑конденсаторов и прочих чудес:‑) Занимаемся в основном на макетных платах, впрочем об организационной стороне дела лучше написать потом отдельно.

Такой список занятий с картинками (!) может быть полезен как тем кто захочет провернуть что‑то подобное в собственной школе (но затрудняется с чего начать) — так и тем кто сам захочет немного освежить понимание всех этих «аналоговых фокусов». Прилагаю и ссылочки на накопившиеся «электронные конспекты» по соответствующим темам. В принципе они годятся и для самообразования:‑)

Тут штук 10 тем и соответствующих схем...

Как установить и использовать ИИ модель DeepSeek R-1 на вашем компьютере

Level of difficultyMedium
Reading time6 min
Views301K

Многие говорят о DeepSeek R-1 - новой языковой ИИ-модели с открытым исходным кодом, созданной китайской ИИ-компанией DeepSeek. Некоторые пользователи утверждают, что по возможностям рассуждения она не уступает или даже превосходит модель o1 от OpenAI.

В настоящее время DeepSeek можно использовать бесплатно, что является отличной новостью для пользователей, но вызывает некоторые вопросы. Как при таком резком росте числа пользователей они справляются с затратами на сервера?

Ведь эксплуатационные расходы на оборудование не могут быть дешевыми, верно?

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

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

Читать далее

Подключаем AI к LibreOffice: плагин localwriter

Level of difficultyEasy
Reading time7 min
Views8.5K

Прошло всего несколько лет с момента взрыва популярности нейросетей, и уже практически невозможно найти профессию, связанную с работой за компьютером, которая не использовала бы AI для ускорения работы или улучшения её качества. Эта революция повлияла на всех, включая самых маленьких детей. Но, наигравшись с надиктовыванием указаний телефону и написанием запросов в браузере, хочется большего. И мы начинаем искать способы внедрить AI в программы, в которых работаем ежедневно. Программисты дают указания для написания кода через GitHub Copilot прямо из родной среды программирования. Появились плагины для MS Office, которые позволяют подключить AI. Но есть некоторые нюансы. Основная проблема этих плагинов не в том, что они стоят денег, а в том, что они отправляют почти все данные, с которыми вы работаете, на серверы провайдеров AI-услуг. По условиям использования провайдеры AI-сервисов открыто заявляют «Не отправляйте нам приватные данные, мы будем делать с ними, что захотим, включая передачу третьим лицам». И это полностью закрывает путь к использованию подобных сервисов там, где данные хоть сколько-нибудь чувствительны к утечке.
Как запустить локально AI-модель и установить плагин в LibreOffice для работы с нейросетью

Полезные ресурсы по Python, которые я собрал

Level of difficultyEasy
Reading time7 min
Views45K

Примерно два года назад я начал изучать Python и Django. В течение этого времени сохранял ссылки, которые считал полезными. Недавно решил структурировать их. Также стало интересно, а какие ресурсы считают полезными другие разработчики. В данной статье я собрал разнообразные ссылки по Python, которые сохранял, либо которые меня заинтересовали (внимание больше на web). Буду благодарен, если в комментариях поделитесь своими полезными ссылками.

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

Читать далее

Как мы взломали цепочку поставок и получили 50 тысяч долларов

Level of difficultyMedium
Reading time14 min
Views16K

В 2021 году я только начинал свой путь в наступательной безопасности. Я уже взломал довольно много компаний и получал стабильный доход охотой за баг-баунти — практикой этичного хакинга, при которой исследователи безопасности находят уязвимости и сообщают о них, получая за это вознаграждение. Однако я ещё не достиг уровня, позволившего бы мне быстро обнаруживать критические уязвимости цели. Этот уровень умений казался мне недостижимым. Но всё поменялось, когда я познакомился с человеком, ставшим ключевой фигурой в моей карьере баг-баунти: Snorlhax.

Поначалу я видел в нём конкурента. Он был намного выше меня во французской таблице лидеров HackerOne, что стимулировало меня расти над собой. Мы начали общаться в Discord, и спустя несколько недель я рассказал ему о многообещающей программе баг-баунти. Вскоре после этого он обнаружил у этой цели критическую уязвимость, оценённую в 10000 долларов — сумму вдвое больше, чем максимальная полученная мной от этой же цели. Мотивировавшись этим, я вернулся к этой же цели и за ту же неделю нашёл собственную критическую уязвимость за 10000 долларов в другом классе багов.

Вместо того, чтобы продолжать состязаться, мы решили сотрудничать. Теперь нашей задачей стало выявление у этой цели всех возможных классов багов: IDOR, SQL-инъекций, XSS, багов OAuth, Dependency Confusion, SSRF, RCE и так далее. Все их мы нашли, сообщили компании и написали отчёты. Это сотрудничество длилось несколько лет, и даже сегодня мы время от времени снова возвращаемся к этой цели.

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

В посте я расскажу, как мы со Snorlhax наконец-то этого добились.
Читать дальше →

DOGE — бэкдор атака на систему госуправления США (успешная)

Level of difficultyMedium
Reading time2 min
Views23K

Кто как, а я просто в восхищении! Обе мои субличности, юридическая и черно-бело-шляпная рукоплещут ходу Трампа и Маска, по поиску и захвату существующего скрытого бэкдора в системе госуправления США - United States Digital Service (USDS) .
В чем суть и кто его создал?

Читать далее

Алисе Селезневой — 60! Юбилей девочки, с которой ничего не случится

Level of difficultyEasy
Reading time12 min
Views38K

60 лет назад был опубликован первый рассказ про Алису Селезневу

На весенних каникулах 1985 года, всего через две недели после назначения Михаила Горбачёва на пост генерального секретаря, Первый канал советского ТВ представил своим юным зрителям пятисерийный фильм «Гостья из будущего». Эффект был грандиозным даже по меркам СССР: девочки массово начали стричься «под Алису Селезнёву», мальчики влюблялись в Наталью Гусеву, исполнившую эту роль, а режиссёр Павел Арсенов получил более миллиона писем от благодарных зрителей.

Однако сам персонаж Алисы Селезнёвой впервые появился в 1965 году в научно-фантастическом романе Кира Булычёва «Девочка, с которой ничего не случится». И уже 60 лет Алиса все также остаётся в своем 13-летнем возрасте: "Да потому что Шерлок Холмс не стареет, Мегрэ не может стать старым. Так же, как не может быть Пиноккио взрослым дядькой с деревянным носом. Потому что это маска, а маска должна быть неизменной".

Алиса, миелофон у меня!

Калькулятор? Да его напишет кто угодно

Level of difficultyEasy
Reading time7 min
Views51K

[Прим. пер.: на Хабре уже был перевод этой статьи, но незавершённый примерно на четверть.]

Неправда.

Калькулятор должен показывать результат введённого математического выражения. А это намно-о-ого сложнее, чем кажется.

В этом посте я расскажу величайшую историю о разработке приложения-калькулятора.

На изображении выше показан калькулятор из iOS.

Заметили что-нибудь?

Он посчитал неправильно.

(10100) + 1 − (10100) равно 1, а не 0.

Android считает правильно. А причина, по которой он это делает, абсолютно безумна.

Читать далее

Внешняя видеокарта backend-разработчика, или как заставить лучшего друга перестать тупить и начать помогать (часть 2)

Level of difficultyEasy
Reading time5 min
Views13K

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

Читать далее

Ни одна реализация элементарных функций не соответствует стандарту IEEE 754

Level of difficultyMedium
Reading time9 min
Views17K

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

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

Моя работа в течение последнего года заключалась в анализе погрешности различных математических функций, накопления этой погрешности и способов её уменьшения при помощи различных программных паттернов. Одной из исследованных мной тем были базовые математические функции, используемые в функциях активации нейронных сетей, а также способы их аппроксимации для повышения производительности. В процессе работы нам пришлось столкнуться с противодействием со стороны людей, активно стремящихся к корректной реализации математических функций и к соответствию их стандартам, в частности, к соблюдению обеспечения корректности одной наименее значимой единицы измерения (unit in last place, ULP) для элементарных функций.

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

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

Простой монитор сетевых интерфейсов Linux, с помощью netlink

Reading time12 min
Views31K
Однажды, в одном из проектов, мне понадобилось организовать строгий и надежный контроль над всеми сетевыми интерфейсами, таблицами маршрутизации, а так же получать нотификации о каких-либо изменениях. Было принято стратегическое решение — не использовать старые-добрые ioctl netdevice (SIOCGIFMETRIC, SIOCSIFNAME и т.п.) или непосредственные вызовы соответствующих утилит (ifconfig, route и т.д.), а найти более современное и болле удобное решение. Оно было найдено — libnetlink. Это библиотека, предоставляющая большое количество методов для коммуникации с ядром, с помощью механизма netlink. Данная библиотека идеально подходила для моих целей, позволяя решить огромное количество задач. К сожалению, у библиотеки оказался не особо удобный и довольно сложный API, требовавший совершать множество непонятных действий. Особого веселья добавляло практически полное отсутствие документации и вообще любых материалов на эту тему.
Подумав, я решил как следует разобраться в netlink и написать свою библиотеку. В данный момент реализован весь функционал для работы с нотификацией, сетевыми интерфейсами, таблицами маршрутизации, разумеется поддерживаются IPv4 и IPv6. В достаточно скором времени данный проектик будет представлен на суд общественности :) А пока я бы хотел познакомить всех интересующихся с прекрасным миром netlink, на примере простого монитора сетевых интерфейсов.
Читать далее...

Information

Rating
Does not participate
Registered
Activity