Как стать автором
Обновить
40.07
Рейтинг

GitHub *

Веб-сервис для хостинга и разработки IT-проектов

Сначала показывать
Порог рейтинга

Как я организовал автоматический деплой для своих пет-проектов

Open source *Программирование *Go *GitHub *

Всем привет) Это мой первый пост на Хабре, и сегодня я расскажу про небольшой pet project (git-trigger), который я недавно написал для сборки своих проектов на сервере. На данный момент я использую его в нескольких своих проектах для автоматической сборки и пока не было замечено никаких косяков.

Читать далее
Всего голосов 26: ↑16 и ↓10 +6
Просмотры 8.3K
Комментарии 19

Новости

Yii3 Overview 2. Вспомогательные инструменты разработки

PHP *Yii *GitHub *

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

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

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 2.1K
Комментарии 0

Правка чужого кода

Блог компании Timeweb Cloud C++ *Git *GitHub *
Tutorial
Всегда приятно, когда удаётся сделать мир чуточку лучше.


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

Старожилы знают, что в комплекте с различными версиями ДОС шли дополнительные утилиты, и среди них была «замечательная» утилита debug, которая убога чуть более, чем полностью. Ещё во времена моей молодости эта утилита вызывала у меня самые противоречивые чувства, то сейчас и подавно. Пользоваться ей без успокоительных очень сложно, с другой стороны, хорошо, что она есть. Но мне возможностей и удобства этой утилиты не хватало, поэтому пришлось искать другой подходящий инструмент. После длительного гугления наткнулся на исходники утилиты RAM View.

К сожалению, исполняемого файла найти не удалось, только исходные коды под Borland C++ 3.1, и как впоследствии оказалось, сама программа содержала ошибки.

Всё это вылилось в интересный квест по поиску старого компилятора, исправления ошибок в программе 25-летней давности и создания запроса на слияние.
Читать дальше →
Всего голосов 88: ↑87 и ↓1 +86
Просмотры 13K
Комментарии 46

CI/CD из GitHub в Яндекс Облако через Docker

Яндекс API *GitHub *DevOps *Облачные сервисы *Микросервисы *
Tutorial

Всем привет!

Сегодня настраиваем деплой из GitHub в Яндекс Облако, используя Docker compose.

Будем использовать GitHub Actions. Создадим виртуальную машину в Яндексе. И многое другое.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.8K
Комментарии 0

SiteWatcher — наблюдаем за изменениями на страницах сайтов

Программирование *GitHub *Разработка под Windows *

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

В очередной такой "приступ" и было решено написать SiteWatcher. А чтобы труд не пропал зря, решил опубликовать свой проект. Может кому понадобится сама программа или что-то из её кода.

Читать далее
Всего голосов 30: ↑29 и ↓1 +28
Просмотры 6.6K
Комментарии 19

Реализуем Frey-Rück Attack чтобы получить секретный ключ “K” (NONCE)

Децентрализованные сети *Криптография *Python *GitHub *Разработка для интернета вещей *
Recovery mode

В этой статье мы реализуем эффективный алгоритм Frey-Rück Attack для подписи ECDSA в транзакции блокчейна Биткоина. В наших более ранних публикациях мы несколько раз затрагивали тему уязвимости подписи ECDSA. При критической уязвимости транзакции блокчейна Биткоина мы можем решить довольно сложную задачу дискретного логарифмирования для извлечение из уязвимой подписи ECDSA секретный ключ "K" (NONCE), чтобы в конечном итоге восстановить Биткоин Кошелек, так как зная секретный ключ мы можем получить приватный ключ.

Для этого существуют несколько алгоритмов из списка популярных атак на Биткоин, один из которых “Frey-Rück Attack on Bitcoin”.

Мы не будем погружаться в теоретические аспекты данной атаки перейдем сразу к экспериментальной части

Из нашей практики нам известно что в блокчейне Биткоина очень много уязвимых и слабых транзакции и в процессе нашего криптоанализа мы нашли множество Биткоин Адресов, где большое количество подписи ECDSA были совершены с раскрытием секретного ключа "K" (NONCE).

Рассмотрим пять Биткоин Адресов

Читать далее
Всего голосов 9: ↑3 и ↓6 -3
Просмотры 1.3K
Комментарии 2

Tesla BrainWallet ловушки от Биткоин кошельков остерегаемся фишинга и популярных парольных фраз

Децентрализованные сети *Криптография *Python *GitHub *Разработка для интернета вещей *
Recovery mode

Для создания Биткоин кошелька существует множество форм. Один из первых методов создания Биткойн кошелька был известен как BrainWallet.
BrainWallet удобен в том плане, что позволяет хранить в памяти или в блокноте "парольную фразу". Парольная фраза хешируется с использованием алгоритма SHA-256, и используется в качестве начального числа для создания приватного ключа.

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

Этот слабый способ генерации приватного ключа позволил злоумышленникам украсть довольно большое количество монет BTC, просто взломав пароль против хэшей, хранящихся в блокчейне. Хотя эта атака известна уже много лет, она стала широко известна в 2015 году благодаря работе, проделанной Райан Кастеллуччи (Ryan Castellucci)

7 августа 2015 года

Райан Кастеллуччи (Ryan Castellucci) выступил на DEFCON23 с докладом о взломе паролей BrainWallet. Хотя к этому моменту парольные фразы для BrainWallet использовались уже много лет, разговор помог донести эти проблемы до более широкой общественности

Document [PDF]: Cracking Cryptocurrency Brainwallets Ryan Castellucci

Райан опубликовал результаты своей работы по взлому BrainWallet в сочетании с инструментом под названием BrainFlayer проверенный взломщик для криптовалютных кошельков BrainWallet) и других алгоритмов с низким уровнем энтропии.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 2K
Комментарии 0

Октябрь — лучший «понедельник» для Open Source

Блог компании TINKOFF Open source *Программирование *GitHub *

Октябрь — время фестивалей. Один из них — Hacktoberfest, который приглашает любого участника внести вклад в Open Source. Кому это подходит? Давайте вместе разберемся, чем полезен Open Source начинающим и опытным разработчикам.

Happy Hacktoberfest!
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 1.9K
Комментарии 5

Покажи мне свой Git, и я скажу, кто ты

Блог компании Конференции Олега Бунина (Онтико) Блог компании Evrone Git *GitHub *

Можно ли с помощью GitHub анализировать работу, не заглядывая в монитор сотрудника — без скриншотов и тайм-трекеров?

Я Александр Кириллов, технический директор компании Evrone. Больше 20 лет я посвятил разработке. В этой статье поделюсь с вами опытом, который собрал за время работы с распределенными командами. Расскажу о том, как, не нарушая приватность разработчиков, следить за качеством работы на проектах и отслеживать нежелательные паттерны с помощью метрик в Jira и Git.

Читать далее
Всего голосов 73: ↑63 и ↓10 +53
Просмотры 30K
Комментарии 26

Простые, но приятные и воздушные тени вместе с Vue Box Shadows

Веб-дизайн *CSS *JavaScript *GitHub *VueJS *
Из песочницы

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

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 3.2K
Комментарии 11

Добавление расчёта пути к схеме метро Москвы из Википедии

JavaScript *Работа с векторной графикой *HTML *GitHub *

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

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

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 2.9K
Комментарии 8

Размер имеет значение! Часть 2

Git *Оболочки *Разработка под Android *GitHub *DevOps *
Tutorial

Как бы мы себя не обманывали - Размер имеет значение! И конечно, мы будем говорить о размере нашего андроид приложения, куда мы добавляем кучу классных features, и даже не задумываемся как это может негативно повлиять на размер приложения. Поэтому мы научимся обнаруживать регрессию размера нашего приложения на CI для автоматизации этого процесса.

В данной части, обсудим как можно проверять размер в pull request, что позволит автоматизировать весь процесс обнаружения регрессии, до того как изменения попали в development.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 2.7K
Комментарии 0

Обучение модели Stable Diffusion текстовой инверсии с помощью diffusers

Python *GitHub *Графический дизайн *Искусственный интеллект Будущее здесь
Из песочницы

Листая интернет на наличие интересных технологий в области нейронных сетей и различного искуства,я наткнулся на пост в Твиттере, в котором Suraj Patil объявил о возможности обучения модели Stable Diffusion текстовой инверсии используя всего 3-5 изображений.

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Просмотры 6K
Комментарии 4

Истории

Использование GitHub в обучении студентов. Автоматизация проверок. Часть I

.NET *C# *GitHub *Учебный процесс в IT DevOps *
Tutorial

В конце декабря 2020 года я написал несколько статей на Хабре по своему опыту использования GitHub в обучении студентов (ссылки на них будут в конце сей статьи).

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

Для меня при обучении программированию важно, чтобы студенты умели не только правильно решать задания, но и красиво писать код. В обучении и проверки заданий я использую EditorConfig, dotnet cli и GitHub Actions. Но обо всём по порядку.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 3.4K
Комментарии 0

Coingecko & Agent Ftpupload создаем красивые адреса криптокошелька, но помним о сохранности приватного ключа

Децентрализованные сети *Информационная безопасность *Криптография *GitHub *Хранение данных *
Recovery mode

В криптосообществе за многие годы образовался целый культ по созданию красивых адресов для криптокошельков. Каждый желающий может сгенерировать для себя «красивый» адрес, который будет не только уникальным, но и будет иметь в себе определенное сочетание букв и цифр. Это очень увлекательный и интересный процесс, но нельзя полностью исключать риск, связанный с привлечением третьей стороны и перехватом приватного ключа к криптокошельку. Все мы когда-либо слышали о независимых агрегаторах CoinMarketCap и CoinGecko это самые популярные площадки для отслеживая цен на бирже, но в этой статье мы не будем рассматривать механизмы и функции этих площадок. Речь пойдет о скрытых кодах в vanitygen + oclvanitygen и стремительное распространение их на популярных площадках.

Это исследовательский проект создан в целях информационной безопасности.

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

Согласно порталу TAdviser жертвами все чаще становятся из-за использование не проверенное программное обеспечение.

Читать далее
Всего голосов 6: ↑0 и ↓6 -6
Просмотры 808
Комментарии 8

Как я выиграл апелляцию против американских санкций

Информационная безопасность *Git *GitHub *FPGA *Производство и разработка электроники *

В прошлое воскресенье 4 сентября я обнаружил, что GitHub-организация DigitalDesignSchool, в которой я являюсь одним из владельцев, забанена Гитхабом с формулировкой "ваш аккаунт может быть предметом американских экономических санкций".

Пораскинув мозгами и посовещавшись с моим приятелем, основателем московского интернет-провайтера RiNet Сергеем Рыжковым, у которого в тот же день забанили счет в Ситибанке в Лондоне, я решил: нужно бороться.

Читать далее
Всего голосов 82: ↑63 и ↓19 +44
Просмотры 22K
Комментарии 106

Четыре важных теста для Apache Kafka CI/CD с GitHub Actions

Блог компании Southbridge Администрирование баз данных *Apache *GitHub *
Перевод

Если вы используете GitHub для создания приложений Apache Kafka®, наверняка вы захотите интегрировать Kafka в свою среду разработки и эксплуатации GitOps. Эта статья для тех, кто понимает принципы GitOps, ценность непрерывной интеграции и поставки (CI/CD) и важность промежуточных сред (staging).

Мы поговорим о том, как применять принципы GitOps к жизненному циклу разработки клиентского приложения Kafka с помощью GitHub Actions — для тестирования в локальной среде и Confluent Cloud, со Schema Registry и без него, и для эволюции схемы.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 1.5K
Комментарии 0

Реализация кэш-компрессии по алгоритму base+delta

Высокая производительность *GitHub *FPGA *Процессоры Инженерные системы *
Из песочницы

Существенную часть кристалла современных ЦП занимает кэш-память. Дальнейшее увеличение кэш-памяти без изменения технологических норм приведет к соответствующему увеличению кристалла. Одним из способов увеличения объема хранимой информации в кэше без увеличения самого кэша является использование алгоритмов компрессии. Среди них выделяются алгоритмы Base+Delta и Base-Delta-Immediate. Данная статья посвящена реализации первого алгоритма.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 2.2K
Комментарии 8

Криптостойкость Биткоина против квантового компьютера QIANSHI от китайского гиганта поисковой системы Baidu Inc

Децентрализованные сети *Криптография *GitHub *Криптовалюты Квантовые технологии

В погоне за кубитами Baidu Inc как лидер среди китайских поисковых систем не отстаёт от своего западного конкурента Alphabet Inc.

В августе 2022 года китайский гигант поисковой системы Baidu Inc разработал собственный квантовый компьютер, который вскоре получил название «Qianshi».

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

Биткоин использует сразу несколько криптографических алгоритмов: алгоритм цифровой подписи на эллиптической кривой (ECDSA) для подписи транзакций и две хэширующие функцииSHA-256 и RIPEMD160.

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

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

Новые приватные ключи будут генерироваться системой после успешного внедрения постквантового шифрования. Чтобы активировать переход на новый приватный ключ, пользователи должны будут подписать для утверждения свой старый приватный ключ. Однако неактивные пользователи Биткоина могут никогда не обновить свой приватный ключ, что может вызвать серьезные проблемы, так как бездействующие Биткоин Кошельки, такие как те, которые содержат более 1 миллиона монет BTC, которые предположительно принадлежат Сатоши Накамото, вероятно, никогда не увидят улучшения шифрования.

Один из наиболее часто упоминаемых способов атаки на Биткойн который может быть применим квантовыми компьютерами это атака «дней рождения» (Birthday attack)

Этот метод основан на поиске коллизий хеш-функций на основе парадокса дней рождения.

Читать далее
Всего голосов 14: ↑2 и ↓12 -10
Просмотры 11K
Комментарии 4

Вклад авторов