Pull to refresh
121
39.5

Маркетолог

Send message

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

Reading time16 min
Views1.1K

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

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments0

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

Reading time13 min
Views1.5K

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

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

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

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

Reading time11 min
Views2.5K

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

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

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments3

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

Level of difficultyMedium
Reading time6 min
Views1.7K

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

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

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

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments0

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

Level of difficultyMedium
Reading time7 min
Views2.6K

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

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

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

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

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments2

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

Level of difficultyMedium
Reading time10 min
Views1.2K

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

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments0

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

Level of difficultyMedium
Reading time11 min
Views3.3K

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

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

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments12

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

Level of difficultyMedium
Reading time11 min
Views4.9K

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments1

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

Reading time7 min
Views2.9K

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

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments1

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

Reading time11 min
Views1.8K

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

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

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

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments0

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

Level of difficultyEasy
Reading time13 min
Views2K

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

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

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

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

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments1

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

Level of difficultyMedium
Reading time8 min
Views1.3K

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

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

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

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

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

Читать далее
Total votes 8: ↑6 and ↓2+4
Comments1

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

Level of difficultyMedium
Reading time9 min
Views2.3K

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

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

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

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

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments1

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

Level of difficultyMedium
Reading time10 min
Views2.3K

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

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

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

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

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments3

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

Reading time10 min
Views19K

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

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

Читать далее
Total votes 7: ↑4 and ↓3+1
Comments5

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

Level of difficultyMedium
Reading time11 min
Views1.3K

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

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

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

Странные, но недооцененные IT-разработки за последние 5 лет

Level of difficultyEasy
Reading time12 min
Views26K

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

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

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

Читать далее
Total votes 21: ↑17 and ↓4+13
Comments63

LockBit Green — новая версия опасного шифровальщика атакует компании по всему миру

Level of difficultyMedium
Reading time12 min
Views6.4K

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

Но наш сегодняшний гость немного отличается от серой массы. LockBit Green не распространяется в «дикой природе», он является исключительно инструментом для совершения целевых атак по системе RaaS (вымогатель как услуга) и принадлежит группировке LockBit. И следуя логике этой RaaS, никто не защищен.

В данной статье я проанализирую этот шифровальщик.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments10

Сжатие данных управляет Интернетом. Вот как это работает

Reading time5 min
Views5.8K

Желание одного студента не сдавать выпускной экзамен привело к появлению вездесущего алгоритма, который сжимает данные, не жертвуя при этом информацией.

Читать далее
Total votes 13: ↑11 and ↓2+9
Comments17

Шифровальщик Loki Locker: реальная опасность для малого и среднего бизнеса по всему миру

Level of difficultyMedium
Reading time11 min
Views9.4K

Эксперты Лаборатории цифровой криминалистики из FACCT сообщают о росте активности новых программ-вымогателей семейства Loki Locker. Больше половины жертв этих шифровальщиков находятся в России и близлежащих странах. Злоумышленники требуют выкуп за расшифровку пользовательских файлов в размере от нескольких долларов до сотен тысяч. 

Из нашей статьи вы узнаете, как распознать этот вирус и что делать, если вы все-таки стали его жертвой.

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments15

Information

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