Pull to refresh
133
51.3

Маркетолог

Send message

Библиотека Granite от elementary OS

Reading time9 min
Views2.5K

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

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

Также для elementary OS была создана своя библиотека виджетов под названием Granite. Она как раз и применяется при создании приложений для этого дистрибутива. Данная библиотека похожа на Libadwaita от проекта GNOME. Эта библиотека так же, как и Libadwaita, предоставляет некоторое количество компонентов для конструирования пользовательского интерфейса.

В этой статье я хочу рассмотреть некоторые компоненты из библиотеки Granite. Приложения для elementary OS пишутся преимущественно на языке программирования Vala. Далее примеры кода будут приводиться именно на этом языке. Репозиторий библиотеки можно найти здесь.

Читать далее

Вероятно, вы неправильно используете метод __init__ в Python

Reading time8 min
Views37K

Автор статьи обращает внимание на проблему, которая заключается в использовании метода __init__ для сложной логики создания объектов, что приводит к разрастанию и усложнению кода. Статья предлагает использовать вспомогательные методы, чтобы разделить логику создания объектов на более мелкие и понятные части. Это упростит код и облегчит понимание того, как объекты создаются и инициализируются.

Читать далее

Червь-ботнет P2P Infect активно распространяется на серверах Redis, через уязвимости LUA

Reading time10 min
Views3.7K

Приветствую, читатели. И начну я сразу же с вопроса. Что вы знаете о червях? Нет, не тех, что обитают в земле, а о компьютерных паразитах. Скорее всего, большинство ответит, мол, их называют червями, потому что они, подобно этим существам, способны распространяться между устройствами без непосредственного участия злоумышленника. Некоторые люди припомнят эпидемию вируса Mydoom 2004 года или уже ставший культовым вредонос ILoveYou. 

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

Все изменилось летом этого года, когда исследователями был обнаружен абсолютно новый и продвинутый червь, который распространяется через уязвимости нулевого дня. P2P Infect — это и есть предмет нашего сегодняшнего диалога. Обнаружен он был 11 июля 2023 года и нацелен на облачные серверы с установленным популярным приложением для работы с базами данных Redis. Но сперва выделю основную информацию о типе этого вредоноса. 

Читать далее

Персонализация инфраструктуры облачных вычислений с помощью Kubernetes

Level of difficultyMedium
Reading time9 min
Views1.9K

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

Читать далее

Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 2. Собираем AST

Reading time16 min
Views1.3K

В прошлой части мы познакомились с Abstract Syntax Tree (AST).
В этой займёмся его сборкой в полезных объёмах и генерации конечного кода.

Читать далее

Большой код. Учимся генерировать F#-исходники с помощью Fantomas. Часть 1. Знакомимся с содержимым синтаксического древа

Reading time13 min
Views1.7K

В этом многословном, но сравнительно простом цикле я дам введение в генерацию F#-кода.
Как правило, для этих целей в сообществе рекомендуют использовать Myriad, что, по-моему, не совсем правильно, но на его примере можно увидеть, что тема кодогенерации очень объёмна.

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

Читать далее

Использование табличных тестов в go для тестирования запросов к БД + testify

Reading time11 min
Views3.4K

При написании бэкенда работа с базой данных зачастую составляет большую часть кода в проекте. Но несмотря на то, что в го стандартная библиотека для тестирования довольно удобная, она требует написания большого количества кода. Поэтому иногда вместо того, чтобы писать тесты разработчики могут ограничить тестирование при помощи какого-либо клиента (например, при помощи tableplus или другого sql-клиента), либо тестируют уже конечные точки API используя postman. С одной стороны, это, конечно может быть быстрее для первого тестирования, но с другой — такие методы не обеспечивают должного покрытия тестами приложения.

Решить проблему с написанием большого количества кода может помочь библиотека testify, которая позволяет писать тесты более выразительно и с меньшим количеством кода. В testify есть пакеты require и assert, в первом случае выполнение теста будет прервано, а во втором — продолжено. В статье будет использоваться пакет assert. Для облегчения понимания кода можно использовать табличное тестирование, которое поможет определить, какие случаи проверяются даже при беглом взгляде на код. 

Читать далее

Машинное обучение помогает классическому моделированию квантовых систем

Level of difficultyMedium
Reading time6 min
Views1.8K

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

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

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

Читать далее

Адаптивный дизайн приложений на Gtk

Level of difficultyMedium
Reading time7 min
Views3.2K

Основные рабочие среды из мира GNU/Linux — это GNOME и KDE Plasma. До недавнего времени их можно было видеть только на десктопах, но сейчас эти окружения можно заметить и на мобильных девайсах. Эти девайсы не слишком распространены. Десктопный Linux встречается гораздо чаще.

Для того чтобы внедриться в мир адаптивных интерфейсов, в сообществе KDE был создан целый фреймворк под названием Kirigami. О нем можно прочитать в этой статье.

Разработчики из сообщества GNOME Foundation пошли похожим путем, создав библиотеку виджетов libadwaita в дополнение к Gtk4. До нее там тоже были некоторые способы создания адаптивных интерфейсов. Например, при помощи библиотеки libhandy. Но речь пойдет не о них.

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

Читать далее

Кастомизация инфраструктуры облачных вычислений с помощью Kubernetes

Level of difficultyMedium
Reading time10 min
Views1.3K

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

Читать далее

Шифровальщик Робин Гуда или как HardBit объявил войну страховым компаниям

Level of difficultyMedium
Reading time11 min
Views3.9K

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

Ранее вредонос не проявлял активности на территории стран СНГ, однако сейчас начал своё форсированное распространение. Так, недавно компания Solar JSCON зафиксировала несколько обращений российских заказчиков, пострадавших от HardBit. Информация о пострадавших остается конфиденциальной. Но Солар сообщает, что требуемый выкуп составляет около 25,000$. 

Читать далее

Возвращение ботнета Mirai: насколько серьезна эта угроза?

Level of difficultyMedium
Reading time11 min
Views6.4K

Приветствую! Сегодня речь пойдет об одной очень интересной угрозе, которая способна действовать максимально скрытно при своей чудовищной эффективности. И имя этой угрозы — Mirai. С японского это слово переводится как «будущее»‎ и создатели отнюдь не ошиблись, назвав этот ботнет именно так. Ведь для крупных мировых компаний, порталов и серверов Мираи — это полноценный специалист по лишению будущего. 

Читать далее

Основной инструментарий для разработки приложений на Gtk

Reading time7 min
Views4K

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

В этой статье хотелось бы рассказать о некоторых инструментах, которые я использую для создания приложений на Gtk. Рассматривать мы их будем на примере приложения Zodiac.

Читать далее

Древний вредонос снова набирает обороты — инжектор Smoke Loader и Wifi-Recon. Часть 1

Reading time11 min
Views2.1K

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

Smoke Loader — это старинный дроппер, основной функцией которого является исключительно загрузка и запуск полезной нагрузки на устройстве жертвы. Более новые версии этого вредоноса способны выполнять некоторые функции стиллера и воровать конфиденциальные данные пользователей.

И совсем недавно специалистами из SecurityWorks (крупная компания, занимающаяся исследованиями в области кибербезопасности) был обнаружен новый тип полезной нагрузки Smoke Loader’a, который позволяет злоумышленникам получить детальную информацию о геолокации зараженного устройства. 

Читать далее

История систем распознавания лиц: от Вуди Бледсо до нейронной сети Косински

Level of difficultyEasy
Reading time13 min
Views2.7K

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

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

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

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

Читать далее

Приложение для просмотра текущей погоды на Vala

Level of difficultyMedium
Reading time8 min
Views1.4K

За последнее время было создано огромное количество самых разных библиотек на все случаи жизни. Хочешь воспроизводить музыку с YouTube? Не вопрос! Желаешь отправить запрос и получить ответ от нейронной сети? Да пожалуйста! 

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

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

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

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

Читать далее

Чтобы двигаться быстро, решатели квантовых лабиринтов должны забыть о прошлом

Level of difficultyMedium
Reading time9 min
Views2.5K

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

Представьте, что вы посещаете лабиринт с друзьями. Вы вышли из выхода вскоре после входа и ждёте несколько часов, прежде чем появятся ваши друзья. Естественно, они спрашивают о пути, по которому вы шли — вы ведь можете проследить свои шаги и показать им путь, верно?

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

Исследователи давно задавались вопросом, неизбежен ли этот компромисс. Неужели невозможно быстро найти выход, не забыв дорогу?

Читать далее

Очередная уязвимость или как опасный дроппер Batloader распространяется через поисковые системы и рекламу

Level of difficultyMedium
Reading time10 min
Views2.5K

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

SEO poisoning — это техника злоупотребления поисковой оптимизацией (SEO) с целью манипулирования поисковыми результатами и привлечения пользователей к вредоносным или мошенническим веб-сайтам.

Злоумышленники создают и оптимизируют веб-страницы таким образом, чтобы они получали высокие позиции в поисковых системах для определённых запросов.

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

Читать далее

Базы данных и начало работы с SQL

Reading time10 min
Views42K

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

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

Читать далее

FormBook: мультифункциональный инфостиллер и как его распространяют через офисные документы

Level of difficultyMedium
Reading time11 min
Views1.6K

Приветствую, дорогие друзья. Так уж вышло, что практически все популярные вредоносы, имеющие какую-либо связь с инжектором DotRunPex, были проанализированы. Кроме одного — FormBook. Вдобавок к этому количество сэмплов этого зловреда начало резко расти начиная с мая 2023. 

Поэтому предлагаю рассмотреть его в этой статье более подробно.

Читать далее

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity