Search
Write a publication
Pull to refresh
0
0
Дмитрий @ex_ineris

QA Engineer

Send message

10 прорывных разработок 2024 года по версии MIT Technology Review

Level of difficultyEasy
Reading time4 min
Views10K

Начиная с 2001 года журнал Массачусетского технологического института MIT Technology Review ежегодно публикует свой список из 10 многообещающих технологий, которые, по мнению редакции, способны изменить мир в ближайшее время. Журналисты рассматривают достижения во всех областях: от нейросетей и биотехнологий до компьютерных вычислений, робототехники и климатических технологий.

Читать далее

Как мы делаем веб-сервис для автоматизации рабочих задач на базе агентов LLM

Reading time9 min
Views5.3K

Друзья, всем привет! Сегодня хотим рассказать про то, как мы — Виталий, Даниил, Роберт и Никита — при поддержке AI Talent Hub, совместной магистратуры Napoleon IT и ИТМО, создаем Цифработа — сервис цифровых работников, который помогает оптимизировать временные затраты у сотрудников на выполнение рабочих задач с помощью агентов больших языковых моделей (LLM).

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

Предлагаем начинать!

Читать далее

Практическое руководство по Rust. 3/4

Level of difficultyMedium
Reading time26 min
Views6.9K



Hello world!


Представляю вашему вниманию третью часть практического руководства по Rust.



Другой формат, который может показаться вам более удобным.


Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком программирования. Еще раз: это руководство не рассчитано на тех, кто только начинает кодить 😉

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

Инфраструктурный пентест по шагам: сканирование и получение доступа

Reading time12 min
Views26K


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


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


Около 90% наших проектов связаны с доменом, поэтому сначала поговорим про работу с Active Directory. Начнем с терминологии и затем перейдем к практике.

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

Защищаем сервис от перегрузки с помощью HAProxy

Reading time13 min
Views14K

Если вам доводилось использовать HAProxy для балансировки трафика, вы наверняка как минимум слышали, что этот продукт умеет отслеживать показатели активности сервиса и пользователей и реагировать на них по предопределённым условиям. Обычно в статьях на эту тему приводится пример ограничения пользователя по исходному IP-адресу, если частота запросов с него превышает некоторый предопределённый заранее лимит. Вот, к примеру, такая статья с сайта разработчиков.

Я бы хотел немного углубиться в тематику использованного механизма stick tables, но поговорить не про пользователей, активно интересующихся вашим сайтом, а про нагрузочную способность, или ёмкость, всего сайта (ну или каких-то его путей). Во-первых, любой сервис ограничен в количестве одновременных запросов, которые возможно обслужить на существующих ресурсах. Во-вторых, чаще всего у сервиса не одна площадка или хотя бы не один экземпляр балансёра. А это значит, что поймать одинокого пользователя — это, конечно, здорово, но хотелось бы решить и другую интересную задачу: защитить сервис от перегрузки в целом и в случае, если балансёров более одного. Бонусом поговорим о проблеме умного перераспределения нагрузки между локациями.

Читать далее

«Поздравляем с терабитом». Та самая статья про DDoS-2023 — без цензуры

Level of difficultyMedium
Reading time9 min
Views33K

Дисклеймер ↓

Этот материал должен был выйти в декабре 2023, прямо перед Новым годом, — и это классический пример про «лучшее враг хорошего». Сначала нам не нравилось, что мало подробностей. Потом — что их излишне много. Была версия с цитатами, но без скринов. Со скринами, но без цитат. Мы записали столько интервью с сетевиками, что сами в них запутались.

Но в итоге сегодня наша статья наконец-то выходит в свет. Из цензуры — только внимательная рука корректора. Передаем слово Максу Яковлеву.
Читать дальше →

Какова природа времени?

Level of difficultyEasy
Reading time15 min
Views19K

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

Время кажется нам линейным: мы помним прошлое, переживаем настоящее и прогнозируем будущее, последовательно переходя от одного момента к другому. Но почему это именно так, и может ли время в конечном итоге быть своего рода иллюзией? В этом эпизоде лауреат Нобелевской премии физик Фрэнк Вильчек беседует с ведущим Стивеном Строгатцем о многочисленных «стрелах» времени и о том, почему большинство из них кажутся необратимыми, о сути того, что такое часы, как Эйнштейн изменил наше определение времени, и о неожиданной связи между временем и нашими представлениями о том, что же такое темная материя.

Читать далее

Разработка Desktop приложений на Python и библиотеки PySide6/PyQt6. Часть 2. Знакомство с виджетами и Qt Designer

Level of difficultyEasy
Reading time5 min
Views36K

Мы продолжаем изучать PySide6/PyQt6 и сейчас мы с Вами познакомимся с виджетами, компоновкой и Qt Designer

Ссылка на 1 урок с установкой PySide6 и создания первого приложения.

PySide6 включают в себя довольно большое количество встроенных виджетов. Вы можете найти более подробную информацию в официальной документации PySide6.

Читать далее

Туда<->Сюда, почтовый сервер на Ubuntе (Exim4+Dovecot+Postfixadmin)

Level of difficultyMedium
Reading time17 min
Views14K

Приветствую всех читателей. В данной публикации или инструкции хочу максимально подробно разложить "со своей колокольни разумеется" вопрос установки (MTA MDA) сервера.

Наши ресурсы:

Платформу для выполнения задачи взял из маленького одноплатного компьютера Odroid C1+ на базе Ubuntu 20 версии, купленный домен на хостинге в нашем случае medianet.pp.ua, статический ip адрес от интернет провайдера.

Постановка задачи:

Установка операционной системы Linux Ubuntu не ниже 18.04 LTS или что‑то Debian подобное.

Читать далее

Грубая сила. Брутим RDP, SSH, VNC, Instagram и стандартные формы веб-аутентификации

Reading time4 min
Views19K

Приветствую всех читателей наших статей, с сегодняшнего дня хочу объявить ещё одну новую рубрику: "Грубая сила". В серии таких статей мы будем обозревать различные инструменты, методы, вспомогательные инструменты для атак методом "грубой силы" откуда и название, или под более привычным для нас названием брутфорса.

Читать далее

Как совмещать основную работу и проекты на стороне

Level of difficultyEasy
Reading time5 min
Views51K

У многих из нас остается достаточно свободного времени в сутках. А почему бы не монетизировать это время, думает начинающий IT левак? Если работать по три часа в день в будние, брать по 2 тысячи за час, то получится 120 тысяч дополнительного дохода в месяц. Звучит отлично!

Меня зовут Даниил, и я через выгорание, увольнение, споры с заказчиками и успешные проекты научился совмещать карьеру в компании и ведение проектов на стороне.

Читать далее

Автодокументация Doxygen и её развертывание на GitHub Pages

Level of difficultyEasy
Reading time8 min
Views12K

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

Документация будет создаваться на основе исходного кода, она будет обновляться при каждом коммите и при этом будет доступна через интернет. Документирование происходит через Doxygen, в качестве хостинга выступает GitHub, а за обновление документации отвечает GitHub Pages.

Читать далее

Разработка Desktop приложений на Python и библиотеки PySide6/PyQt6. Часть 1. Установка и первое приложение на PySide6

Level of difficultyEasy
Reading time4 min
Views34K

Сегодня мы с Вами рассмотрим прекрасную библиотеку PySide6, которая является оберткой для взаимодействия с Qt при помощи языка Python, которые позволяет вам использовать Python для написания desktop-приложений Qt.

Читать далее

Как развернуть виртуальную среду модели машинного обучения на любой машине?

Level of difficultyMedium
Reading time8 min
Views11K

Иногда возникают проблемы с развертыванием среды разработки в облаке, ведь бесплатных сервисов с большими облачными вычислительными мощностями почти нет. Тот же Google Collab имеет свои лимиты по использованию GPU, после израсходования всей памяти необходимо ждать сутки. А цена платной версии порой не совсем оправдана... Если у вас есть своя неплохая видеокарта, всегда можно отказаться от облачной разработки и перейти к домашнему варианту.  

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

Итак, как же контейнизировать собственную виртуальную среду и развернуть ее с использованием своего GPU? 

Читать далее

Сложные проекты для программистов, чтобы учиться новому

Level of difficultyEasy
Reading time6 min
Views38K

В основном я учился программированию самостоятельно. Когда у меня появлялась захватывающая идея, я разбирался, что необходимо для решения этой задачи. Например, когда я заинтересовался работой поисковых движков, то начал читать о вычислительной эффективности множеств. Так я обнаружил задачу «как понять, что я уже выполнил краулинг этого URL?», если их уже были тысячи. Чтобы ускорить ответ на этот вопрос, я использовал множество, поиск по которому занимает O(1), а не O(n).

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

В тот момент, когда я начал понимать вычислительную эффективность и стремиться к ускорению своих программ, я как раз решал задачу, связанную с поисковым движком. С тех пор я иногда задаюсь вопросом: что стоит сделать дальше? Каким будет моё следующее сложное задание? Это сильно зависит от имеющихся у вас на текущий момент знаний; некоторые идеи имеют смысл, другие пока недостижимы. Так мы и учимся.

Я решил составить собственный список проектов, поддерживающих мой интерес к программированию. Это список в стиле серии Challenging projects every programmer should try Остина Хенли.

Читать далее

Почтовый сервер с нуля. Часть первая

Level of difficultyMedium
Reading time17 min
Views78K

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

В этом материале будет представлена связка полноценного почтового сервера в виде Exim4+Dovecot+PostfixAdmin+RainLoop.

Читать далее

Как обрести самостоятельность, перестать быть Мидлом QA и мыслить как Сеньор

Level of difficultyEasy
Reading time7 min
Views12K
Многие предполагают, что ключевое отличие между Middle QA и Senior QA заключается в уровне опыта и профессиональной экспертизе. Также существует мнение, что за переход из одной категории в другую должна отвечать компания, предоставляя четкий план действий. Однако, на деле, главное различие кроется в способности принимать решения, что на практике оказывается не так просто. Проблема для работодателей заключается в том, что не всегда ясно, кто из соискателей действительно соответствует уровню Сеньора. Были случаи в моей практике, когда сеньоры не оправдывали возложенных на них ожиданий, несмотря на успешное прохождение собеседования. В то же время, некоторые Мидлы, через полгода работы демонстрировали, что заслуживают позиции Сеньора благодаря своим решениям и подходу к работе.
Читать дальше →

Создание своего UEFI приложения

Level of difficultyMedium
Reading time5 min
Views46K

Привет, Хабр! Мне 16 лет, я студент, учусь на первом курсе колледжа на программиста. Начал увлекаться низкоуровневым программированием на Ассемблере и C/C++

Я заметил что на Хабре есть множество статей о написании своих простых "загрузчиков" для BIOS-MBR, которые выводят на экран "Hello World!". И при этом практически нет ни одной статьи о создании того же самого, но только для UEFI, хотя будущее именно за ним, ведь BIOS уже давно устарел! Это я и хочу исправить в этой статье.

Читать далее

Ретроспективный взгляд на развитие микропроцессоров CISC, RISC, MIPS, ARM

Level of difficultyEasy
Reading time21 min
Views12K

С момента разработки первой в мире интегральной схемы в 1959 году прошло несколько десятков лет. Все эти годы аппаратные реализации вычислительных устройств, словно древние организмы «Мезозойской эры», претерпевали многочисленные изменения.

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

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

Потребовалась структура — простая, понятная и эффективная.

Читать далее

Как рос мой доход в IT: от 17к до $21000 в месяц

Level of difficultyEasy
Reading time10 min
Views126K

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

Читать далее

Information

Rating
8,295-th
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity