Рассмотрим готовые решения для использования markdown совместно с Django.
GitHub *
Веб-сервис для хостинга и разработки IT-проектов
Обучение модели Stable Diffusion текстовой инверсии с помощью diffusers
Листая интернет на наличие интересных технологий в области нейронных сетей и различного искуства,я наткнулся на пост в Твиттере, в котором Suraj Patil объявил о возможности обучения модели Stable Diffusion текстовой инверсии используя всего 3-5 изображений.
Использование GitHub в обучении студентов. Автоматизация проверок. Часть I
В конце декабря 2020 года я написал несколько статей на Хабре по своему опыту использования GitHub в обучении студентов (ссылки на них будут в конце сей статьи).
Сегодня же хочу рассказать об автоматизации проверки кода студентов. Примеры будут про C#, т.к. это мой основной язык, на котором я преподаю программирование.
Для меня при обучении программированию важно, чтобы студенты умели не только правильно решать задания, но и красиво писать код. В обучении и проверки заданий я использую EditorConfig, dotnet cli и GitHub Actions. Но обо всём по порядку.
Coingecko & Agent Ftpupload создаем красивые адреса криптокошелька, но помним о сохранности приватного ключа
В криптосообществе за многие годы образовался целый культ по созданию красивых адресов для криптокошельков. Каждый желающий может сгенерировать для себя «красивый» адрес, который будет не только уникальным, но и будет иметь в себе определенное сочетание букв и цифр. Это очень увлекательный и интересный процесс, но нельзя полностью исключать риск, связанный с привлечением третьей стороны и перехватом приватного ключа к криптокошельку. Все мы когда-либо слышали о независимых агрегаторах CoinMarketCap
и CoinGecko
это самые популярные площадки для отслеживая цен на бирже, но в этой статье мы не будем рассматривать механизмы и функции этих площадок. Речь пойдет о скрытых кодах в vanitygen
+ oclvanitygen
и стремительное распространение их на популярных площадках.
Это исследовательский проект создан в целях информационной безопасности.
Многим пользователям не устраивают стандартные рандомные адреса криптокошелька и именно по этой причине они используют различные программы, утилиты и плагины для создание красивых криптовалютных адресов.
Согласно порталу TAdviser жертвами все чаще становятся из-за использование не проверенное программное обеспечение.
Истории
Как я выиграл апелляцию против американских санкций
В прошлое воскресенье 4 сентября я обнаружил, что GitHub-организация DigitalDesignSchool, в которой я являюсь одним из владельцев, забанена Гитхабом с формулировкой "ваш аккаунт может быть предметом американских экономических санкций".
Пораскинув мозгами и посовещавшись с моим приятелем, основателем московского интернет-провайтера RiNet Сергеем Рыжковым, у которого в тот же день забанили счет в Ситибанке в Лондоне, я решил: нужно бороться.
Четыре важных теста для Apache Kafka CI/CD с GitHub Actions
Если вы используете GitHub для создания приложений Apache Kafka®, наверняка вы захотите интегрировать Kafka в свою среду разработки и эксплуатации GitOps. Эта статья для тех, кто понимает принципы GitOps, ценность непрерывной интеграции и поставки (CI/CD) и важность промежуточных сред (staging).
Мы поговорим о том, как применять принципы GitOps к жизненному циклу разработки клиентского приложения Kafka с помощью GitHub Actions — для тестирования в локальной среде и Confluent Cloud, со Schema Registry и без него, и для эволюции схемы.
Реализация кэш-компрессии по алгоритму base+delta
Существенную часть кристалла современных ЦП занимает кэш-память. Дальнейшее увеличение кэш-памяти без изменения технологических норм приведет к соответствующему увеличению кристалла. Одним из способов увеличения объема хранимой информации в кэше без увеличения самого кэша является использование алгоритмов компрессии. Среди них выделяются алгоритмы Base+Delta и Base-Delta-Immediate. Данная статья посвящена реализации первого алгоритма.
Криптостойкость Биткоина против квантового компьютера QIANSHI от китайского гиганта поисковой системы Baidu Inc
В погоне за кубитами Baidu Inc как лидер среди китайских поисковых систем не отстаёт от своего западного конкурента Alphabet Inc.
Все супермощные компьютеры используют квантовую физику для решения сложных задач, недоступных для традиционных устройств, с помощью кубитов - эволюции классического двоичного бита. Кубиты могут одновременно представлять значение 1 или 0, что обещает экспоненциальный рост вычислительной мощности.
Биткоин использует сразу несколько криптографических алгоритмов: алгоритм цифровой подписи на эллиптической кривой (ECDSA)
для подписи транзакций и две хэширующие функции — SHA-256
и RIPEMD160
.
Наиболее распространенный хэши функции используют вариант 128 ключей
который может быть взломан квантовыми компьютерами. В обозримом будущем RIPEMD160
может оказаться так же под угрозой.
Внедрение обновления шифрования для системы блокчейна кажется самой большой головной болью для криптографов, так как процесс обновления существующих приватных ключей может создать новые уязвимости.
Новые приватные ключи будут генерироваться системой после успешного внедрения постквантового шифрования. Чтобы активировать переход на новый приватный ключ, пользователи должны будут подписать для утверждения свой старый приватный ключ. Однако неактивные пользователи Биткоина могут никогда не обновить свой приватный ключ, что может вызвать серьезные проблемы, так как бездействующие Биткоин Кошельки, такие как те, которые содержат более 1 миллиона монет BTC, которые предположительно принадлежат Сатоши Накамото, вероятно, никогда не увидят улучшения шифрования.
Один из наиболее часто упоминаемых способов атаки на Биткойн который может быть применим квантовыми компьютерами это атака «дней рождения» (Birthday attack)
Этот метод основан на поиске коллизий хеш-функций на основе парадокса дней рождения.
MrRobotQR сканируем QR-коды из поисковых систем в поисках приватных ключей Биткоин Кошельков
Всем нам известна фраза: "Все что попадает в интернет, остается в нем навсегда и становится общедоступным".
Вплоть до скрытого контента.
В 2021 году
пандемия вернула популярность QR-кодов
. Впервые QR-коды
были использованы на производстве в 1994 году
дочерняя компания Toyota
в Японии ввела их на заводе по сборке для контроля выпускаемых автомобилей и деталей к ним. В отличие от штрих-кода QR-ко
д содержит больше информации, что и подтолкнуло производителя к введению инновации. Технология начала распространяться в основном в азиатских странах, а в 2003 году
китайская компания Inspiry разработала специальный механизм считывания QR-кодов
, который позволил это делать быстро, что подогрело популярность. Однако широкое распространение пришлось уже на период массового использования планшетов и смартфонов, когда считывание стало доступно через камеру носимого устройства.
Устройства от китайской компании Inspiry
С одной стороны QR-коды предоставляют все удобства в платежах BTC
, так как можно не тратить по полчаса на оформление перевода. Достаточно навести смартфон на QR-код
и платежка со всеми заполненными полями сформируется сама, останется только нажать кнопку с подтверждением оплаты.
Переводы
, оплаты
, QR-коды
просто незаменимая вещь и самое важное в том что все это экономит наше время.
Нужно помнит ещё одну важную вещь:
Googlebot
, Bingbot
, Baidubot
работают 24/7
и в любой момент могут сохранить приватные данные в своих гигантских серверах.
На поиски скрытого контента из глубин поисковых систем подключаются совершено противоположенные поисковым ботам герои в черном худи из известного сериала Мистер Робот (Mr. Robot)
.
«MrRobotQR»
- это скрипт с открытым исходным кодом который автоматизирует процесс от ввода ключевого слова поиска до вывода приватного ключа Биткоин кошелька.
Яндекс выпускает DivKit — фреймворк для server-driven UI с открытым кодом
Фреймворк включает в себя несколько библиотек: клиентскую часть по отрисовке интерфейсов для Android, iOS и веба, а также DSL для формирования ответа сервера на Kotlin, TypeScript и Python. Исходный код опубликован на Гитхабе под лицензией Apache 2.0.
Сейчас DivKit используется в приложении Яндекс, Алисе, Едадиле, Маркете, ТВ и других приложениях. В этом посте я постараюсь вспомнить историю фреймворка, затем мы напишем с его помощью небольшой просмотрщик ленты Хабра, а в конце я покажу ещё несколько простых примеров интеграции.
Восстановление Биткоин Кошелька через короткие подписи ECDSA
Всем нам известно, что раскрываемость секретного ключа в подписи ECDSA может привести к полному восстановлению Биткоин Кошелька. В наших более ранних статьях мы рассматривали слабости и уязвимости в транзакциях блокчейна, но так же существуют короткие подписи ECDSA которые так же приводят к полному восстановлению Биткоин Кошелька.
Почему же эти подписи ECDSA называются короткими?
Ответ на этот вопрос вы можете получить из обсуждаемой темы: "Самая короткая подпись ECDSA" [The shortest ECDSA signature]
В прошлой нашей статье: "Уменьшение приватного ключа через скалярное умножение используем библиотеку ECPy + Google Colab" мы создали Python-скрипт: maxwell.py который сгенерировал для нас довольно интересный публичный ключ
(0x3b78ce563f89a0ed9414f5aa28ad0d96d6795f9c63 , 0xc0c686408d517dfd67c2367651380d00d126e4229631fd03f8ff35eef1a61e3c)
Как мы знаем значение сигнатуры "R"
это и есть публичный ключ от секретного ключа (Nonce)
Взгляните на Blockchain транзакцию: 11e6b169701a9047f3ddbb9bc4d4ab1a148c430ba4a5929764e97e76031f4ee3
RawTX:
0100000001afddd5c9f05bd937b24a761606581c0cddd6696e05a25871279f75b7f6cf891f250000005f3c303902153b78ce563f89a0ed9414f5aa28ad0d96d6795f9c6302200a963d693c008f0f8016cfc7861c7f5d8c4e11e11725f8be747bb77d8755f1b8012103151033d660dc0ef657f379065cab49932ce4fb626d92e50d4194e026328af853ffffffff010000000000000000016a00000000
Размер этой транзакции всего лишь: 156 байт
Как можно восстановить Биткоин Кошелек через короткие подписи ECDSA?
В криптоанализе блокчейна криптовалюты Bitcoin мы используем собственный Bash-скрипт: btcrecover.sh
Как связать Rstudio с Github: актуально для пользователей Mac OS
В данной заметке рассмотрим, как связать Rstudio с вашим аккаунтом на Github. Отмечу сразу, данная заметка подойдет тем, кто работает через операционную систему mac os.
Мы будем исходить из трех ограничений.
Доступ к API Binance, KuCoin и Huobi на C#
Получать данные через RestAPI биржи напрямую из клиентского кода удобно, но по любому существуют ситуации, когда все таки лучше или даже, бывает необходимо предварительно обрабатывать данные на своем сервере, сохранять в своей базе данных и уже после этого предоставлять доступ к этим обработанным данным клиентскому приложению через, опять же, свой web сервис, через свой Rest full API.
Рассмотрим одну из таких ситуаций, когда получать данные на клиента напрямую с биржи не удобно, в нашем случае это получение списка торговых пар биржи отсортированных по таким показателям как например, ликвидность и волатильность. Вот в примере ниже, мы из клиентского кода на JavaScript обращаемся за списком продуктов биржи к своему Rest full API Web Service по ссылке
https://cryptoalert.mizerov.com/api/Products/” + ex
где ex – код биржи.
Ближайшие события
Знакомимся с дата-ориентированным проектированием на примере Rust
James McMurray
В этом посте мы исследуем основные концепции «Data-Oriented Design» (далее «дата-ориентированное проектирование» на языке Rust.
Весь исходный код для этого поста выложен на Github.
Использовать ли Reusable Workflows в GitHub Actions?
CI система GitHub Actions достаточно свежа по сравнению со своими конкурентами, но продолжает радовать сочетанием легкости использования и постепенным расширением функционала. На мой взгляд, шаблонизация используемых пайплайнов это безумно важная составляющая, и в конце 2021 года GitHub закрыли этот вопрос, представив на наш суд Reusable Workflows. В данной статье я попробую поделиться собственным опытом построения проекта полностью на основе шаблонов workflow и порассуждать о применимости этого подхода.
Эскалация привилегий при помощи polkit: как заполучить root-доступ в Linux, воспользовавшись семилетним багом
polkit – это системный сервис, по умолчанию устанавливаемый во многих дистрибутивах Linux. Он используется демоном systemd, поэтому в любом дистрибутиве Linux, где применяется system, также используется polkit. Автор этой статьи, входя в состав a GitHub Security Lab, работает над улучшением безопасности опенсорсного софта; он ищет уязвимости и докладывает о них. Именно он однажды нашел уязвимость в polkit, позволяющую злоумышленнику увеличить его привилегии. Раскрытие уязвимости было скоординировано с командой по поддержке polkit, а также с командой по обеспечению безопасности в компании Red Hat. О раскрытии этой уязвимости было объявлено публично, патч для нее был выпущен 3 июня 2021 года, и ей был присвоен код CVE-2021-3560.
Эта уязвимость позволяет непривилегированному пользователю, работающему на локальном ПК, получить root-доступ к командной оболочке системы. Такой эксплойт несложно осуществить при помощи нескольких стандартных инструментов командной строки, как показано в этом коротком видео. В данном посте будет объяснено, как устроен этот эксплойт, а также показано, где именно в исходном коде находится этот баг.
История уязвимости CVE-2021-3560 и какие дистрибутивы она затронула
Рассматриваемый баг достаточно старый. Он вкрался в код более восьми лет назад в коммите bfa5036 и впервые мог использоваться в версии 0.113 программы polkit. Однако, во многих популярных дистрибутивах Linux эта уязвимая версия не использовалась до относительно недавнего времени.
Немного специфической историей этот баг обладает в Debian и его производных (например, в Ubuntu), так как Debian использует форк polkit, в котором есть своя особенная схема нумерации версий. В форке Debian этот баг появился в коммите f81d021 и впервые попал в дистрибутив в версии 0.105-26. В стабильном релизе Debian 10 (“buster”) используется версия 0.105-25, таким образом, уязвимости в нем нет. Но некоторые производные Debian, в том числе, Ubuntu, основаны на нестабильной версии Debian, а она уязвима.
Распознавание поднятых пальцев на Python+OpenCV
В данной статье хочу рассмотреть банальный и не сложный проект, а именно подсчет количества поднятых пальцев.
Все исходники можно найти на моем Github.
Код будем рассматривать с самого начала, но лучше всего ознакомиться с моими предыдущими статьями.
Подготавливаем среду и устанавливаем следующие библиотеки:
Очень странные дела на GitHub
Обычный программист что-то гуглил в гугле и попал на репозиторий с вредоносным кодом и решил выяснить, сколько еще таких зараженных репозиториев, которые легко гуглятся.
3 августа Stephen Lacy написал в твиттере, что «обнаружил широкомасштабную атаку на 35 000 репозиториев GitHub», на проекты crypto, golang, python, js, bash, docker, k8s, а так же скрипты npm, образы докеров и установочные документы. (Позже он уточнил, что не «35 000 репозиториев», а 35 000 «code hits»)
Вскоре после его твита либо GitHub, либо злоумышленник удалил большинство общедоступных форков, а еще пару часов спустя появляется твит от только что созданной учетной записи пользователя @Pl0xP, где он утверждает, что он стоит за атакой, и это часть аудита за вознаграждение — bug bounty.
Поиск объектов на видео с помощью Python
В данной статье хочу рассказать про поиск объектов на видео с помощью Python и OpenCV. Помимо обычных видео, можно использовать и камеры.
Полный код и все исходники можно найти на моем Github.
Данный проект является продолжением моей предыдущей статьи - Поиск объектов на фото с помощью Python. Для того, чтобы не тратить много времени на ее изучение, я распишу весь процесс по новой.
Яндекс выложил в опенсорс бету фреймворка userver
🐙userver позволяет быстро создавать эффективные микросервисы на языке C++ и уже много лет активно используется в Яндекс Go, Еде, Лавке, Доставке, Маркете, финтехе и других проектах. Вот из каких требований мы исходили в процессе разработки:
- Простота. Стажёр или студент, приходя к нам, может уже через неделю написать и отправить в продакшен новый микросервис.
- Надёжность. Многие ошибки, в том числе и связанные с многопоточностью, можно поймать на этапе компиляции. Кроме того, фреймворк даёт подсказки по исправлению проблем.
- Полнота. В userver есть всё необходимое для тестирования, работы с разными базами данных, кеширования, логирования, трейсинга, распределённых блокировок, работы с JSON, BSON, YAML, изменения параметров сервиса на лету и так далее.
Сейчас я расскажу о том, как возникла идея userver, как фреймворк развивался, в каких задачах его сейчас используют и почему именно выход в опенсорс был логичным следующим шагом. А затем приведу пример написания нового микросервиса.
Вклад авторов
-
olalala 329.0 -
m1rko 280.4 -
alizar 240.8 -
SonicGD 204.0 -
SlavniyTeo 201.0 -
Athari 198.0 -
antoshkka 188.0 -
Mithgol 180.8 -
GlobalSign_admin 166.0 -
ITSumma 164.8