Pull to refresh
120
22.5

Маркетолог

Send message

Аутентификация go с использованием токенов PASETO

Reading time10 min
Views1.5K

В этой статье мы напишем небольшой сервис аутентификации на go с использованием токенов PASETO. Этот токен можно использовать вместо JWT для процесса аутентификации. Если хотите узнать о PASETO подробнее, то можете почитать статьи на Хабре или гитхабе.

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

An incursion under C#. Протаскиваем F# в Godot

Level of difficultyEasy
Reading time18 min
Views1.3K

Godot — игровой движок, который имеет нативную поддержку dotnet. К сожалению, эта поддержка до такой степени заточена под C#, что F# она выходит боком. Почти все проблемы разрешимы, но при недостатке опыта они скатываются в большой пластилиново-волосатый валик у самого входа в подземелье, который иногда приводит к преждевременной и бессмысленной гибели. Чтобы избежать этого в данной статье я дам программу-минимум, которая позволит выжить в Godot, но не выжать из него максимум.

Это не значит, что у сочетания F# + Godot нет своих плюшек. Просто мне хотелось съесть вначале сосредоточить всех мух в одном месте, а котлетами заняться потом и в более свободной манере. Также я предполагаю, что на данную статью будут натыкаться как новички в F#, так и новички в Godot, поэтому местами я буду дублировать базовые руководства.

Читать далее
Total votes 9: ↑9.5 and ↓-0.5+10
Comments0

Подводный поезд, аэротакси и электросамолёт. Как меняется сфера транспорта, и что нас ждёт в будущем

Level of difficultyEasy
Reading time12 min
Views1.4K

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

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments8

Исследователи приблизились к новому пределу скорости решения задачи коммивояжера

Reading time6 min
Views2.2K

Целочисленное линейное программирование может помочь найти ответ на множество реальных проблем. Теперь исследователи нашли гораздо более быстрый способ это сделать.  

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

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

Как собрать компьютер из оригами

Reading time5 min
Views2.3K

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

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

А в сентябре 2023 года Инна Захаревич из Корнельского университета и Томас Халл из колледжа Франклина и Маршалла показали, что всё вычислимое можно вычислить, сложив бумагу.

Читать далее
Total votes 15: ↑14.5 and ↓0.5+14
Comments1

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

Level of difficultyHard
Reading time17 min
Views715

В прошлой части мы научились определять собственные типы и модули. Мы облекли все достопримечательности в конкретные типы и теперь можем снабдить их индивидуальными свойствами-ребрами (см. рисунок ниже).

В этой части речь в первую очередь пойдёт про Fluent API, но мы также поковыряем тему параметров в дженериках и функциях. Это последняя статья, где детально разбирается AST. Я определённо будут возвращаться к кодогену, но предметом разбирательств будут принципы формирования выходного кода, а их реализация ввиду их линейности будет выноситься за скобки.

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

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

Level of difficultyHard
Reading time20 min
Views1.1K

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

Мы возьмём сугубо игровую задачу с понятным результатом и на её примере узнаем:

• на какие ноды AST стоит обратить внимание в первую очередь;
• где Fantomas-у нельзя доверять;
• где можно хакать;
• где лучше придерживаться пуризма;
• и как на F# можно строить Fluent API.

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

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

Что случится, когда Солнце поглотит Землю

Level of difficultyEasy
Reading time6 min
Views3.5K

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

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

Через 5 миллиардов лет Солнце превратится в красного гиганта. Выживет ли Земля — «вопрос открытый», — сказала Мелинда Соареш-Фуртадо, астрофизик из Университета Висконсина в Мэдисоне. Конечно, Земля может быть поглощена Солнцем и уничтожена. Но в некоторых сценариях Земля ускользает и выталкивается дальше в Солнечную систему.

Читать далее
Total votes 16: ↑12 and ↓4+8
Comments18

О неуловимой киберпреступной группировке Mahagrass: RemCos, BadNews и CVE-2017-11882. Часть 1

Level of difficultyEasy
Reading time11 min
Views1.4K

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

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

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

Проблематика RaaS или почему вымогатель BlackCat так быстро прогрессирует

Level of difficultyEasy
Reading time11 min
Views1.7K

Приветствую, читатели. Не так давно в сети была обнаружена новая версия вымогателя BlackCat, и на этот раз злоумышленники начали использовать передовой инструмент под названием Munchkin. Он позволяет вредоносу развертываться из виртуальной среды на другие сетевые устройства. Теперь эта Кошка способна шифровать не только удаленные сетевые ресурсы через протокол SMB, но и ресурсы Common Internet File System (CIFS). 

Исследовательская лаборатория по кибербезопасности Palo Alto Networks впервые обнаружила обновленный инструментарий Черной Кошки. По их словам, теперь вымогатель распространяется через ISO-файлы Linux и Windows. Когда жертва устанавливает образ в виртуальную среду (WMware, VirtualBox или другие), срабатывает ранее упомянутый Munchkin. В этой цепочке он является одновременно и дроппером и трояном удаленного доступа (RAT). Вшитый вредонос загружает в систему BlackCat, а после распространяет его и на удаленные сети.

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

Почему PASETO лучше для аутентификации, чем JWT

Reading time8 min
Views11K

В веб-разработке одним из наиболее популярных решений является аутентификация на основе токенов. Чаще всего для создания системы аутентификации используют JWT (порой даже там, где это не нужно). Но несмотря на популярность, JWT имеет ряд недостатков. Поэтому появляются новые решения для аутентификации на основе токенов. В этой статье мы рассмотрим PASETO — токен, который был разработан для замены JWT.

Читать далее
Total votes 16: ↑14 and ↓2+12
Comments9

Библиотека Helium от проекта tauOS

Reading time7 min
Views1.2K

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

Ребята из tauOS решили, что существующих библиотек в мире явно недостаточно, и запилили еще одну. Так появилась библиотека виджетов под названием Helium. Она основана на GTK и предоставляет разработчикам некоторое количество готовых компонентов для создания графического интерфейса пользователя.

В этой статье я хочу немного рассказать о компонентах библиотеки Helium, о том как запускать приложения, написанные с ее помощью, и как на ней разрабатывать свои программы. Репозиторий библиотеки можно найти здесь. Все действия, приведенные в этой статье, выполнялись в Fedora Linux 39 (Workstation Edition).

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

Простая проблема приводит к слишком большим числам для нашей Вселенной

Reading time9 min
Views26K

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

Нечасто пятилетние дети могут разобраться в вопросах, связанных с информатикой, но и это может произойти. Предположим, например, что у девочки по имени Алиса есть два яблока, но она предпочитает апельсины. К счастью, её одноклассники разработали хорошую систему торговли фруктами со строго контролируемым обменным курсом: за яблоко, скажем, вы получите банан. Может ли Алиса совершить серию сделок, собирая и предлагая бананы или дыни, и получить свой любимый фрукт? 

Звучит достаточно просто. «Вы можете пойти в начальную школу и рассказать об этом детям», — сказал Кристоф Хаазе, учёный из Оксфордского университета. «Люди подумают: «Это должно быть легко». 

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

Читать далее
Total votes 33: ↑26 and ↓7+19
Comments14

Тридцать лет спустя: увеличение скорости квантовой факторизации

Reading time10 min
Views4.3K

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

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

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

Как вредоносы распространялись через поддельный менеджер паролей KeePass: AsyncRAT, BATLoader

Reading time11 min
Views2.5K

Приветствую, и снова я начну с вопроса. И достаточно непростого. Пользуетесь ли вы менеджерами паролей и считаете ли вы их полностью безопасными? Скорее всего, мнения читателей на этом моменте разделятся. Кто-то ответит, мол, пользуется блокнотом и ручкой, а кто-то ответит утвердительным «‎да»‎. А к чему этот вопрос? Во-первых, замечу, что абсолютно ничто в нашем мире не может быть полностью безопасным: будь то программное обеспечение, какой-то ресурс или вовсе ваш телефон с тысячей защитных приложений. А во-вторых, менеджеры паролей в последнее время очень и очень часто стали подводить своих клиентов. Об одном таком инциденте и пойдет сегодня речь. 

Так совсем недавно специалистами из MalwareBytes была обнаружена целая схема фейковых ресурсов, через которые распространялись инфицированные версии приложения KeePass. И совсем не удивительным является тот факт, что эта кампания продвигалась посредством использования GoogleAds (да, это та самая надоедливая реклама, которая появляется при посещении различных сайтов) и SEO Poisoning.  

Казалось бы, удивительного здесь ничего нет, ведь это далеко не первый случай, когда вредонос распространяется подобным образом. Google, естественно, с этим борется, исправляет уязвимости, но пока что все без толку. Чего, кстати, не скажешь о человеческом факторе, ведь за последние несколько лет большинство пользователей сообразили, что поисковые системы не всегда выдают безопасные результаты из-за чего эффективность подобного метода атаки заметно поубавилась. Но в случае с KeePass произошло кое-что другое. Злоумышленники прибегли к использованию метода Punycode, чтобы сделать вредоносный домен практически идентичным оригинальному. В данном случае хакеры использовали Punycode «xn—eepass-vbb.info», что транслируется в адресной строке, как «ķeepass.info».

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

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

Reading time9 min
Views2.3K

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

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

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

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

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

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

Reading time8 min
Views31K

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

Читать далее
Total votes 23: ↑18 and ↓5+13
Comments22

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

Reading time10 min
Views3.4K

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

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

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

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

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

Level of difficultyMedium
Reading time9 min
Views1.7K

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

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

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

Reading time16 min
Views1.1K

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

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

Information

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