Обновить
15.91

Git *

Система управления версиями файлов

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

DVC vs GIT. Почему GIT'а недостаточно в проектах машинного обучения

Время на прочтение3 мин
Количество просмотров8.7K

Содержание



Введение


Несмотря на всю пользу DVC, об этом инструменте знает катастрофически мало разработчиков. Поэтому, думаю, не лишним будет для начала вас познакомить. DVC – это open-source система контроля версий данных, которая отлично подходит для машинного обучения. И основное отличие DVC от Git’a в том, что он: во-первых, имеет более широкий и удобный инструментарий для ML-проектов; во-вторых, создан для контроля версий данных, а не кода. И по большей части здесь их основные различия заканчиваются. А далее я постараюсь описать, чем же так хорош DVC, и почему Git'а не достаточно для ML.

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

Git, я хочу все отменить! Команды исправления допущенных ошибок

Время на прочтение4 мин
Количество просмотров57K
image

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

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

Trunk Based Development и Spring Boot, или ветвись оно все по абстракции

Время на прочтение15 мин
Количество просмотров13K

Всем привет!

Закончилась осень, зима вступила в свои законные права, листья уже давно опали и перепутанные ветви кустарников наталкивают меня на мысли о моём рабочем Git репозитории… Но вот начался новый проект: новая команда, чистый, как только что выпавший снег, репозиторий. "Тут все будет по другому" - думаю я и начинаю "гуглить" про Trunk Based Development.

Если у вас никак не получается поддерживать git flow, вам надоели кучи этих непонятных веток и правил для них, если в вашем проекте появляются ветки вида "develop/ivanov", то добро пожаловать в под кат! Там я пробегусь по основным моментам Trunk Based Development и расскажу о том, как реализовать такой подход, используя Spring Boot.

Читать далее

История потерянного коммита

Время на прочтение7 мин
Количество просмотров19K
Был уже вечер, когда ко мне обратился разработчик. Из мастер-ветки пропал патч — коммит deadbeef.



Мне показали доказательства: вывод двух команд. Первая из них —

 git show deadbeef 

— показывала изменения файла, назовём его Page.php. В него добавились метод canBeEdited и его использование.

А в выводе второй команды —

 git log -p Page.php 

— коммита deadbeef не было. Да и в текущей версии файла Page.php не было метода canBeEdited.

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

.Использование GitHub в обучении. Примеры. Часть I

Время на прочтение2 мин
Количество просмотров7.3K

В своей статье "Использование GitHub в обучении студентов" я кратко коснулся темы использования GitHub'а именно как инструмента для обучения, а не как темы в обучении. Сейчас хочу попробовать привести примеры нескольких кейсов.

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

Читать далее

Использование GitHub в обучении студентов

Время на прочтение3 мин
Количество просмотров8.7K

В своей преподавательской практике использую GitHub...

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

Читать

Статьи — это тоже исходный код {

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров16K

Title


Открываю VS Code и начинаю набирать статью с самого начала. Но вот незадача — формат маркдауна не совсем совместим с имеющимся форматом Хабра. Получается выхода нет и придётся возвращаться к встроенному редактору Хабра;


Или не придется?

В голову пришла идея написать утилиту, которая конвертирует разные форматы маркдаунов друг в друга, например, из формата GitHub в формат Habr;


Такую программу я в итоге и разработал. Теперь не надо копировать статьи в редактор Хабра, чтобы посмотреть как она выглядит, можно продолжать писать в любимом VS Code;


Хотя я и использую множество плагинов VS Code, но мысли о неэффективном процессе написания статей не исчезли. Раз уж я набираю текст в VS Code, то почему бы сразу не делать коммиты контента в гит-репозиторий?


Это дало бы немало новых возможностей, которыми пользуются программисты: версионирование, бекапы на локальные носители или веб-сервисы, правки от редакторов и пользователей. А еще можно внедрить CD/CI;


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

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

HelmWave v0.5.0 – GitOps для твоего Kubernetes

Время на прочтение8 мин
Количество просмотров7.5K

preview


Helm, как и Docker стал де-факто стандартом в индустрии. Тоже самое и с Kubernetes (52% доля в нише). И новость, что Docker is deprecated вызвало волну обсуждений в сообществе. Настолько все привыкли к Docker.

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

Когда твой код стал общим: история от дебюта до эндшпиля

Время на прочтение6 мин
Количество просмотров3.8K


«Отстаньте от меня, пожалуйста, я — творец! Дайте мне творить!», — программист Геннадий уже третий раз за вечер проговаривает эту мантру у себя в голове. Тем не менее пока что он не написал ни одной строчки кода, потому что в библиотеку, которую пытается развивать, прилетел еще один пулл-реквест. А, согласно политике компании, ревью кода должно проходить с минимальными задержками. Теперь Геннадий думает, как поступить: не глядя принять изменения, так же не глядя их отклонить или все-таки потратить драгоценное время, чтобы разобраться в их сути. Ведь кто, кроме него? Он этот код написал, он за ним и будет следить. А все изменения возможны только через его персональное согласие, ведь это Библиотека Судного Дня. 
Читать дальше →

Миграция приложений и аварийное восстановление с помощью Red Hat Advanced Cluster Management (ACM)

Время на прочтение6 мин
Количество просмотров804
Всем привет! В предыдущем посте мы рассказали, как применять ACM для сине-зеленого развертывания, миграции приложений между кластерами и аварийного восстановления.



Сегодня покажем, как с помощью ACM провести бесшовную миграцию приложения reversewords между нашими кластерами и рассмотрим, как с помощью PlacementRules реализовать базовый сценарий аварийного восстановления.
Читать дальше →

Вышел релиз GitLab 13.6 с автоматическим развёртыванием в EC2 и статистикой использования для инстанса

Время на прочтение32 мин
Количество просмотров2.9K

Картинка для привлечения внимания


Команда GitLab стремится к повышению производительности и степени удовлетворённости разработчиков. Релиз 13.6 содержит все необходимые ингредиенты, которые помогут вам достичь этого и, возможно, чего-то ещё! Мы надеемся, что вам пригодятся основные фичи релиза, а также ещё более 60 новых фич и улучшений, добавленных в этом релизе.

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

Red Hat Advanced Cluster Management и управление приложениями, часть 2. Сине-зеленое развертывание, миграция…

Время на прочтение5 мин
Количество просмотров1.3K
Привет всем в этом блоге! В предыдущем посте мы рассмотрели базовые концепции жизненного цикла приложения в Red Hat Advanced Cluster Management (ACM) и показали, как их применять на примере развертывания приложения в двух кластерах. Сегодня расскажем, как применять ACM для сине-зеленого развертывания, миграции приложений между кластерами и аварийного восстановления.


Читать дальше: Red Hat Advanced Cluster Management и управление приложениями, часть 2...

Автоматизация миграций баз данных с помощью контейнеров и Git

Время на прочтение4 мин
Количество просмотров4.6K

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

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

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

Эта статья берет за основу SQL Server, но эти методы также поддерживаются Postgres и MySQL.

Читать далее

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

Актуальные инструменты контроля версий данных в 2020 году

Время на прочтение8 мин
Количество просмотров12K
Все мы знаем и любим Git. И, конечно же, были придуманы его аналоги для управления версиями данных, чтобы эксперименты с данными были воспроизводимыми, а действия команд — согласованными. Сегодня, в преддверии старта нового потока курса по Data Science, делимся с вами материалом о сравнении нескольких систем контроля версий. Подробности сравнения — как обычно, под катом.

Приятного чтения!

Red Hat Advanced Cluster Management и управление приложениями, часть 1. Развертывание в нескольких средах

Время на прочтение9 мин
Количество просмотров2.3K
Мы начинаем серию постов, в которой покажем, как Advanced Cluster Management (ACM) предоставляет обширные возможности для управление жизненным циклом приложений, которые должны существовать сразу в нескольких средах, неважно, в облаке или в корпоративном дата-центре.

Сегодня мы сосредоточимся на тех аспектах ACM, которые относятся к категории GitOps, и разберем их, используя следующую модельную конфигурацию:


Читать дальше: Red Hat Advanced Cluster Management и управление приложениями, часть 1

Вышел релиз GitLab 13.5 с обновлениями для безопасности мобильных приложений и вики-страницами групп

Время на прочтение32 мин
Количество просмотров2.8K

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

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

Одна строка, которая ускорила клонирование в 100 раз

Время на прочтение2 мин
Количество просмотров17K
Наша группа по оптимизации производительности нашла маленькое изменение, которое оказало большое влияние на скорость сборки по всем конвейерам. Мы обнаружили, что установка параметра refspec во время git fetch ускоряет шаг клонирования в 100 раз.

Группа Engineering Productivity отвечает за поддержку инженеров, которые создают и развёртывают программное обеспечение в Pinterest. Наша команда поддерживает ряд инфраструктурных сервисов и часто работает над крупными проектами — перенос всего программного обеспечения на Bazel, создание платформы непрерывной доставки под названием Hermez. Они же поддерживают монорепозитории, куда ежедневно присылают по несколько сотен коммитов, и это ещё не все их задачи.
Читать дальше →

GitOps — плохой и злой

Время на прочтение5 мин
Количество просмотров4.3K

Эксперт OTUS - Владимир Дроздецкий приглашает всех желающих на бесплатный вебинар, в рамках которого он подробно расскажет о программе курса "DevOps практики и инструменты" и ответит на интересующие вопросы. А прямо сейчас, по устоявшейся традиции, делимся с вами интересным переводом.

Недавно я общался с разработчиками из Humanitec (это Continuous Delivery-платформа для Kubernetes). Humanitec интересен тем, что вопреки современным тенденциям, он не основан на GitOps.

Лично я большой фанат GitOps, потому что он позволяет строить CI/CD без сложных инструментов с использованием только Git и декларативного описания конфигураций. Но несмотря на то, что я недавно написал статью "11 Reasons for Adopting GitOps" (11 причин для внедрения GitOps), в своей практике я неоднократно сталкиваюсь с ограничениями этого подхода. Беседа с ребятами из Humanitec побудила меня написать об этом негативном опыте для того, чтобы предоставить вам более объективную картину GitOps и поговорить об альтернативных подходах.

Читать далее

25 лучших репозиториев GitHub для разработчиков Python

Время на прочтение3 мин
Количество просмотров28K
Согласно опросу разработчиков на StackOverflow в 2020 году*, Python — один из самых любимых языков в мире. Что еще более интересно, Python — это язык, который разработчики больше всего хотят попробовать в своей работе. Если вы один из тех, кто использует Python и хочет прокачать свои знания, или один из тех, кто хочет изучить Python, вы попали в нужное место. Под катом 25 лучших репозиториев Python на GitHub.

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

Поддерживаем разработку нескольких версий продукта в Git. Станислав Лукьянов (GridGain)

Время на прочтение19 мин
Количество просмотров9.5K


Всем привет! Меня зовут Станислав Лукьянов. Я работаю в компании GridGain. Сегодня я хотел поговорить о том, как мы поддерживаем старые версии в Git.

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