Обновить
256K+

GitHub *

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

163,94
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Поиск секретов в программном коде (по энтропии)

Время на прочтение3 мин
Охват и читатели5.8K
Недавно в открытом доступе появился новый инструмент для поиска приватной информации в открытом коде. Это Entropy — утилита командной строки, которая сканирует кодовую базу на предмет строк с высокой энтропией. Предположительно, такие строки могут содержать секретную информацию: токены, пароли и др.

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

Как автоматизировать работу с версиями API через Postman API и GitHub Actions

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели3K

Postman помогает компаниям проектировать, документировать, разрабатывать и тестировать API. Нам в команде МТС Exolve тоже. В этой статье рассмотрим, как использовать Postman для синхронизации и публикации обновлений с помощью его инструментов и API, которые облегчают управление жизненным циклом разработки.

Читать далее

Любой может получить доступ к удалённым и приватным данным репозиториев GitHub

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели91K

Кто угодно может получать доступ к данным из удалённых форков, удалённых репозиториев и даже приватных репозиториев GitHub. И эти данные доступны всегда. Это известно разработчикам GitHub, и они намеренно спроектировали систему таким образом.

Это настолько огромный вектор атак для всех организаций, использующих GitHub, что мы решили ввести новый термин: Cross Fork Object Reference (CFOR). Уязвимость CFOR возникает, когда форк одного репозитория может получить доступ к требующим защиты данным из другого форка (в том числе и к данным из приватных и удалённых форков). Аналогично Insecure Direct Object Reference, при CFOR пользователи передают хэши коммитов, чтобы напрямую получать доступ к данным коммитов, которые иначе были бы для них невидимыми.

Давайте рассмотрим несколько примеров.
Читать дальше →

Книга: «Программирование на Python с помощью GitHub Copilot и ChatGPT.»

Время на прочтение34 мин
Охват и читатели43K
image Привет, Хаброжители!

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

Узнайте, как создавать и улучшать программы на Python с помощью ИИ, даже если прежде вы не написали ни строчки компьютерного кода. Сэкономьте время на рутинном программировании и воспользуйтесь услугами ИИ, способного мгновенно воплотить ваши идеи в жизнь. Заодно выучите Python!
Читать дальше →

Автоматическая установка приложений из GitHub-релизов

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели4.7K

По мере распространения Go и Rust появляется всё больше программ, которые состоят из одного бинарника без каких-либо нестандартных зависимостей, и которые мы устанавливаем руками, скачивая релиз с GitHub: либо потому, что данного приложения ещё нет в вашем дистрибутиве, либо потому, что просто хочется всегда иметь актуальную версию, а не ждать, когда её затянут в дистрибутив.

Ставить (а особенно обновлять) такие приложения руками – занятие неблагодарное, особенно когда их количество становится больше одного-двух – и хочется какой-то автоматизации. У меня таких программ около десятка, и довольно долгое время я пользовался различными наколеночными скриптами вроде этого для поддержания их актуальности. Но bash-скрипт – это всё-таки как-то несерьёзно, и поэтому всегда хотелось чего-то более управляемого в виде нормального приложения. Найти что-то готовое, что удовлетворяло бы всем моим потребностям, мне сходу не удалось – поэтому некоторое время назад решил пойти моим излюбленным путём и написать своё приложение под эту конкретную задачу.

Читать далее

Eppie — P2P почта, теперь с графическим интерфейсом

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели11K

Привет, Хабр!

Несколько недель назад, в этом посте, мы представили CLI для Eppie — p2p почты с шифрованием и открытым протоколом. Сегодня мы хотим рассказать о GUI приложении, которое уже доступно на GitHub. Если вы читали нас раньше, можете пропустить введение и сразу перейти к разделу «Как пользоваться». Ну а все остальные, кто увлекается децентрализованными технологиями и думает о приватности данных, — поехали.

Читать далее

Тысяча и одна библиотека С++

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

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

Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из этого источника. Это очень многогранный и объемный список библиотек языка С++, но, скажем так, у меня были к нему вопросы. Потому я сделал перевод, затем значительно улучшил его в плане содержания (далее объясню, как, почему и зачем). На выходе получилось около 1000 библиотек. Как в сказке). Они, конечно, не покрывают все возможные задачи и предметные области, но поверьте, они затрагивают действительно многое.

Прикоснуться к сокровищнице языка С++

Выпускные проекты участников senior-буткемпа «кодИИм» (июль 2024 г.)

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.1K

Мы долго собирались и наконец-то дошли до Хабра. Можете нас поздравить!

Мы – «кодИИм» – проект от команды Центра педагогического мастерства (ЦПМ) и МФТИ. 

Наша команда организует буткемпы по искусственному интеллекту для подростков. Мы учим ребят создавать собственные проекты с использованием нейронных сетей, обучаем программированию, математике и анализу данных в процессе работы с ИИ. А еще мы выстраиваем коммьюнити подростков (и иногда даже взрослых). Вся обновленная информация про проекты и не только есть в нашем телеграм-канале «песочница кодИИм»!

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

Читать далее

Управляем нашей лодкой прямо с веб-страницы на телефоне

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели6K

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

Короче, идем под кат, я все расскажу.

Как работает генерация видео в open source проекте Wunjo CE

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели4.9K

Генерация видео теперь open source? Наконец-то я нашёл время, чтобы добавить генерацию видео из текста и изображений в свой open source проект Wunjo CE. В этой статье мы рассмотрим, как это работает, сравним его с похожими решениями, изучим основы подхода и его альтернативы.

Смотрим

Telegram бот для управления торрент клиентом и интеграция с трекером

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели20K

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

Читать далее

Создание статических сайтов из Markdown без HTML (pandoc, mkdocs, hugo и jekyll)

Уровень сложностиПростой
Время на прочтение21 мин
Охват и читатели13K

Всем привет! На протяжении нескольких лет практики написания скриптов на PowerShell, я веду заметки преимущественно связанные с данным языком и периодически фиксирую их в своем репозитории на GitHub. Недавно задумался, почему бы не попробовать создать из файла в формате Markdown статический сайт, который можно очень просто, и главное бесплатно разместить на том же GitHub. Во всех примерах, я использовал стандартный файл README.md, который применяется для описания любого репозитория на GitHub. Данная статья будет скорее кратким обзором, чем сравнением, и так как в этом деле я новичок, то расскажу про полезные инструменты, которые использовал в процессе изучения данной темы и нюансы, с которыми столкнулся.

Читать далее

Разработка Telegram Web App с помощью HappyX и telebot

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели13K

В этой статье я расскажу вам, как можно с помощью Nim разработать Telegram Web App, используя HappyX и telebot.

Читать далее

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

Как я создал сайт на базе GitHub Pages: история новичка и ChatGPT

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

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

Читать далее

Ачивки за коммиты в git. Пятничный пост

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели12K

Кратко: сохраняем лог git в файл и кидаем в браузер тут.

Привет Хабра. Год назад я писал о разных визуализаторах статистики git и своем велосипеде. За это время удалось внести много улучшений, в том числе существенно увеличить набор ачивок для программистов. Но настал творческий тупик и мне уже не хватает фантазии придумывать новые ачивки. Они должны быть смешные, с издевкой и легко переводиться на другие языки. Может у вас будут идеи?

Читать далее

Шпаргалка с командами для Windows, Linux и macOS (Терминал, VirtualEnv и Git)

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

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

В ней вы найдете основные команды для работы в терминале Windows, Linux и macOS. Также описаны базовые команды по работе с VirtualEnv и Git.

Смотреть команды

Обновление Java с 17 на 21: через тернии к звездам

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели19K

Меня зовут Денис, я тимлид команды R&D в Naumen Service Management Platform.

Так как наш продукт написан в основном на Java, мы с большим нетерпением ждали очередной LTS релиз в прошлом году, предвкушая мощь виртуальных потоков и крутизну доработанного pattern matching.

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

Читать далее

Вечный покой .env: как эффективнее удалять закомиченный файл .env из Git-репозитория

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели44K

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

Я работаю на VS Code, и я, to be honest, так и не понял, с какой стати .gitignore "не игнорирует" .env. Причем спокойно "игнорирует" другие файлы, директории.

Всё же, нужно действовать, исходя из конкретного кейса, но если вы не хотите, чтобы какой-нибудь John Doe воспользовался данными из вашего .env, то вы перешли по верной ссылке. Вы же не отдаете ключи грабителю с фразой "Грабьте мой дом", верно?

Читать далее

Простой инструмент измерения и анализа Code Review

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5.6K

Рассмотрим такую спорную, но при этом полезную вещь как измерение метрик код ревью. Не секрет, что это один из неотъемлемых этапов в процессе разработки и возникающие проблемы могут в конечном итоге сказаться на расходах компании и удовлетворении от работы в команде. Чтобы этого не было, необходимо вовремя понимать есть ли проблемы, определять причины, находить решения и проверять их эффективность. В части этих вопросов нам и может помочь статистика. Можно найти как отдельные приложения сфокусированные на метриках, так и гитхаб-экшны. В данной статье речь пойдет о гитхаб-экшне Pull Request Analytics Action.

Читать далее

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

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели23K

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

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

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее