Обновить
64K+

GitHub *

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

28,09
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности
Формат публикации

Фанатский проект по реверс-инжинирингу GTA 3 и Vice City попал под запрет DMCA

Время на прочтение2 мин
Охват и читатели19K

Репозитории re3 фанатского проекта по реверс-инжинирингу Grand Theft Auto 3 и Vice City заблокировали на GitHub из-за Закона о защите авторских прав в цифровую эпоху (DMCA).

Читать далее

Российский разработчик написал клиент Clubhouse для Android после реверс-инжиниринга API

Время на прочтение2 мин
Охват и читатели3.1K

20 февраля 2021 года российский разработчик Григорий Клюшников (бывший программист VK и Telegram) опубликовал в открытом доступе клиент Clubhouse для Android. Он сделал приложение менее чем за два дня.

Проект доступен GitHub по названием Houseclub. В настоящее время программист оперативно дорабатывает приложение по отзывам пользователей. Через несколько часов после релиза он выпустил исправленную версию 1.0.1, которая работает на Android 11, версию 1.0.2, где исправлены были проблемы с PubNub и 1.0.3, где можно загружать картинку в профайл.
Читать дальше →

Грубая оценка проблемности GitHub-проектов

Время на прочтение4 мин
Охват и читатели4.3K

Здравствуйте, меня зовут Дмитрий Карловский и я… практикую терморектальную ароматерапию. Понимаю, что каждый любит своё болото, и будет защищать его до последней капли жижи. Тем не менее, высокая инженерная культура требует объективности в оценке инструментов.


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


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

Читать дальше →

Примеры грамотного применения SSH-шаблонов

Время на прочтение6 мин
Охват и читатели10K


SSH-сертификаты — очень мощный инструмент. Первоначально в удостоверяющем центре step-ca мы реализовали только минимальный набор функций для аутентификации по сертификатам пользователя и хоста. Затем добавили шаблоны сертификатов X.509, а ещё в августе прошлого года — и SSH-шаблоны, в версии 0.15.2. Наконец, мы задокументировали эту функцию и готовы о ней рассказать.

Шаблоны для сертификатов SSH действуют аналогично шаблонам X.509: это JSON-файлы, написанные в Go text/template. Они применяются для настройки SSH-сертификатов, которые выдаёт step-ca. Давайте посмотрим, что представляют собой эти шаблоны и как их можно использовать.
Читать дальше →

Git для новичков (часть 2)

Время на прочтение4 мин
Охват и читатели183K

В прошлой статье, я рассказал, что такое Git, как его установить и выложить свой код на GitHub. Сегодня мы поговорим про работу в команде над одним проектом. И как это устроено в Git.

В данной статье, вся работа с Git будет через командную строку.

Читать далее

Разработчики закончили реверс-инжиниринг GTA III и Vice City и выпустили порты для разных платформ

Время на прочтение2 мин
Охват и читатели15K

Группа энтузиастов закончила проект по реверс-инжинирингу GTA III и GTA: Vice City, и опубликовала исходный код и порты игры для Windows 32bit и 64bit (OpenGL и DirectX 9), Linux и MacOS.

Читать далее

Публикация Go приложения в GitHub

Время на прочтение7 мин
Охват и читатели11K

Пост представляет собой небольшой контрольный список (checklist) при публикации Go приложения на Github'е.

TLDR:

- Makefile как входная точка для выполнения основных действий

- Линтеры и тесты как инструменты повышающие качество кода

- Dockerfile как способ распространения приложения

- Github Actions как возможность автоматической сборки и выкладки приложения при новых изменениях

- Goreleaser как инструмент для публикации релизов и пакетов

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

Вперед!

Как в GitHub смотреть красивые отчеты об ошибках с помощью SARIF

Время на прочтение7 мин
Охват и читатели5.6K

Вы пользуетесь GitHub, пишете код и делаете прочие веселые штуки. Для повышения качества своей работы и оптимизации своего времени используете статический анализатор. И вот вам приходит идея - а почему бы не смотреть на ошибки, которые выдал анализатор, прямо в GitHub? Да и еще, чтобы это красиво выглядело. Что же делать в этом случае? Ответ очень простой. Ваш выбор – SARIF. О том что это такое, как это настроить, и будет рассказано в данной статье. Приятного чтения.

Читать далее

Я спарсил больше 1000 топовых Github-профилей по машинному обучению и вот что я узнал

Время на прочтение7 мин
Охват и читатели16K


При поиске по ключевой фразе «машинное обучение» (речь идет об англоязычном ключе «machine learning» — прим. перев.) я нашел 246632 репозиториев по машинному обучению. Поскольку все они имеют отношение к этой отрасли, я ожидал, что их владельцы являются экспертами или хотя бы достаточно компетентны в машинном обучении. Поэтому я решил проанализировать профили этих пользователей и показать результаты анализа.
Читать дальше →

Исследователи выявили уязвимость в методе обхода цензуры Signal

Время на прочтение3 мин
Охват и читатели9.3K

Мессенджер Signal после блокировки в Иране предложил пользователям использовать TLS-прокси, чтобы обойти цензуру в стране. Однако исследователи безопасности уже обнаружили в ней недостатки.

Когда они сообщили о дырах безопасности через репозиторий Signal на GitHub, то компания заблокировала пользователей и удалила все их сообщения.

Читать далее

На GitHub предлагают запустить каталог мобильных приложений

Время на прочтение2 мин
Охват и читатели8.1K
В конце января компания Google ни с того ни с сего удалила из каталога Play Store приложение Element (бывший Riot) — децентрализованный мессенджер, который работает на федеративной системе серверов Matrix. Кто-то из пользователей пожаловался, что в каком-то канале на каком-то сервере Matrix он увидел неприличный контент — и Google просто взяла и удалила программу. Как говорят некоторые комментаторы, это аналогично запрету браузера за то, что в нём открыли неприличный сайт, или запрету почтового клиента за то, что он принял неприличное письмо. К чести Google, она признала ошибку: вице-президент лично извинился перед разработчиками Element, а приложение вернули на место.

Но мы видим, что происходит с другими. Например, Павел Дуров был вынужден удалить ряд российских телеграм-каналов под давлением Apple. Если верить Павлу, без выполнения этого требования Apple блокировала выпуск экстренного обновления Telegram для iOS.
Читать дальше →

Git для новичков (часть 1)

Время на прочтение5 мин
Охват и читатели917K

Git - это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. Чаще всего его используют для кода, но можно и для других файлов. Например, для картинок - полезно для дизайнеров.

С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.

Читать далее

Microsoft открыла исходный код Extensible Storage Engine

Время на прочтение2 мин
Охват и читатели6.9K


В конце января 2021 года Microsoft открыла исходный код Extensible Storage Engine. Проект доступен на GitHub под лицензией MIT.
Читать дальше →

Ближайшие события

Google открыла код Tilt Brush, инструмента для рисования в ВР

Время на прочтение1 мин
Охват и читатели4.5K


26 января 2021 года Google объявила в своем блоге об открытии исходного кода программы 3D-рисования в виртуальной реальности Tilt Brush. Это графическое приложение расширяет сферу применения ВР шлемов. По отзывам пользователей, редактор удобен и интуитивно прост в использовании.
Читать дальше →

Как подружить ltree и Laravel

Время на прочтение15 мин
Охват и читатели5K

Вообще Postgres очень известен и о расширении ltree написано, если немного, то достаточное кол-во публикаций, в том числе и на Хабре тоже, да и сообщество Laravel довольно обширное.

Но как ни странно, я обнаружил полное отсутствие каких-либо библиотек для работы с расширением ltree (от PostgreSQL) под Laravel на GitHub.

Есть некоторые попытки для Yii2, также есть наработки для Symfony (по моему bundle для 2-й, из коробки не работает), и на этом, пожалуй, все.

Это очень грустно, что и послужило поводом написания данной статьи, как наверное и от части, желание поделиться с вами своим опытом работы с древовидными справочниками в Laravel, т.е. как мы работаем с ltree в своих проектах, собственно, почему в итоге мы выделили эти компоненты в GitHub в общий доступ.

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

Погнали!

GitHub восстановил репозиторий NYAA

Время на прочтение1 мин
Охват и читатели6.2K

GitHub восстановил репозиторий популярного торрент-сайта NYAA через несколько дней после его удаления по запросу группы киноиндустрии Motion Picture Association. Решение было отменено несмотря на то, что разработчики никак не отреагировали на уведомление об удалении. GitHub провел собственный анализ и сделал вывод о том, что достаточных оснований для удаления репозитория нет.

Читать далее

Как найти email пользователя GitHub и написать Telegram бота для решения этой задачи?

Время на прочтение2 мин
Охват и читатели22K

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

Задача: известен профиль пользователя на GitHub, необходимо найти email этого пользователя

Решение: один запрос к API GitHub и телеграм-бот, которого мы напишем в этом посте

Идея написать бота пришла ко мне после того, как коллега поделилась со мной этим способом...

Читать далее

GitHub удалил репозиторий торрент-трекера NYAA.si

Время на прочтение2 мин
Охват и читатели16K

GitHub удалил репозиторий, который включал исходный код популярного сайта трекеров BitTorrent NYAA.si. Платформа выполнила запрос об удалении, который поступил от Motion Picture Association.

В запросе утверждалось, что код позволяет любому разместить клон веб-сайта, «явно нарушающего авторские права». Тем временем копии репозитория уже начали появляться в других репозиториях на GitHub.

Motion Picture Association (MPA) — это группа киноиндустрии, которая представляет Netflix и крупные голливудские студии.

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

В публичной части запроса на удаление не упоминается, какие именно авторские права нарушаются. Документ содержит только снимки экрана веб-сайта NYAA.

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

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

Известно также, что разработчики NYAA не получали стандартных уведомлений об удалении, как того предусматривает DMCA.

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

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

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

Читать далее

Расширяем возможности миграций Laravel за счет Postgres

Время на прочтение10 мин
Охват и читатели10K

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

А если вы, как и я, используете в своих проектах Postgres, то рано или поздно вам потребуются плюшки этой замечательной СУБД, такие как: различного рода индексы и констрейнты, расширения, новые типы и тд...

Сегодня, как вы уже заметили, мы будем говорить про Postgres, про миграции Laravel, как это все вместе подружить, в общем, обо всем том, чего нам не хватает в стандартных миграциях Лары.

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

Но я все же рекомендую не пролистывать, а прочитать все до конца.

Погнали

Интеграция PHP проекта на GitHub и Scrutinizer

Время на прочтение7 мин
Охват и читатели3.9K

Есть такой продвинутый инструмент Scrutinizer CI.

Для OpenSource он абсолютно бесплатный и платный для приватных репозиториев.

Вы о нем слышали, наверное, а если нет, то лично я использую его для анализа кода на различного рода уязвимости, а также в качестве замены статическому анализатору типа Psalm, ну и для покрытия конечно же, т.к. при довольно простой сквозной интеграции с GitHub оно внедряется в ваши PR и можно ревьюить код, наблюдая покрытие по аналогии с Cubertura в GitLab.

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

Поэтому я решил поделиться с вами своим опытом интеграции со Scrutinizer CI, рассказать о нюансах и тд...

Поехали