Для DevOps-инженера управление GitHub-репозиториями имеет не меньшее значение, чем содержащийся в них код.
В этом посте мы рассмотрим 3 совета по эффективному управлению репозиториями на GitHub, что-то из этого довольно очевидно, но уверен будет полезно.
teamalpha_authentication_service
или teambravo_data_pipeline
.customer_support_ticketing_system
или machine_learning_model_trainer
.image_processor_python
или frontend_react_app
.payment_gateway_v2
или inventory_management_deprecated
.invoice-generator
или invoice_generator
.payment_api_service
, demo_inventory_app
, api_documentation
.Добавлять темы в GitHub-репозитории полезно по нескольким причинам, в том числе:
Хорошо написанный файл README.md может вам помочь в следующих вещах:
@github_code
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2
Forwarded from Машинное обучение RU
🔥 Крутейшая подборка для Дата Саентиста. Лучшие бесплатные курсы, книга, разбор вопросов с собеседований, roadmap, полезные материалы по Python, Go, Linux и многое другое.
▪100 вопросов для подготовки к собесу Data Science
▪Видео
▪100 вопросов для подготовки к собесу Python
▪Вопросы Middle
▪Видео
▪Вливаемся в Data Science: подробный roadmap что и где изучать
▪Machine Learning инженер: что/где/как изучать, чтобы въехать
▪ Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами
▪ Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра
▪ Шпаргалка для алгособеса 2 — графовые и строковые алгоритмы
▪40 Полезных инструментов Дата Саентиста
▪Go — 100 вопросов/заданий с собеседований
▪Видео
▪ Где изучать Linux в 2024. Бесплатные курсы, книги и ресурсы
▪Видео
▪ Бесплатные курсы для изучения искусственного интеллекта в 2024 году
▪NumPy: оттачивайте навыки Data Science на практике
▪Numpy полный бесплатный курс
▪Где изучать Python в 2024. Бесплатные курсы, книги и ресурсы
▪ Видео
▪Где искать работу Дата Саентисту в 2024 году
▪Ресурсы для поиска работы Python разработчикам
▪ Бесплатные курсы по большим языковым моделям для дата-сайентистов
@machinelearning_ru
▪100 вопросов для подготовки к собесу Data Science
▪Видео
▪100 вопросов для подготовки к собесу Python
▪Вопросы Middle
▪Видео
▪Вливаемся в Data Science: подробный roadmap что и где изучать
▪Machine Learning инженер: что/где/как изучать, чтобы въехать
▪ Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами
▪ Шпаргалка для алгособеса — алгоритмическая сложность, структуры данных, методы сортировки и Дейкстра
▪ Шпаргалка для алгособеса 2 — графовые и строковые алгоритмы
▪40 Полезных инструментов Дата Саентиста
▪Go — 100 вопросов/заданий с собеседований
▪Видео
▪ Где изучать Linux в 2024. Бесплатные курсы, книги и ресурсы
▪Видео
▪ Бесплатные курсы для изучения искусственного интеллекта в 2024 году
▪NumPy: оттачивайте навыки Data Science на практике
▪Numpy полный бесплатный курс
▪Где изучать Python в 2024. Бесплатные курсы, книги и ресурсы
▪ Видео
▪Где искать работу Дата Саентисту в 2024 году
▪Ресурсы для поиска работы Python разработчикам
▪ Бесплатные курсы по большим языковым моделям для дата-сайентистов
@machinelearning_ru
🔥3👍1
Вопрос по Git. В чем разница между merge и rebase?
merge и rebase — это два различных подхода к интеграции изменений в Git.
Merge:
Когда вы выполняете merge, Git создает новый коммит, который объединяет изменения из двух (или более) веток.
Этот коммит имеет два родителя — по одному от каждой ветки.
После слияния ветки сохраняют свою структуру, история коммитов не переписывается.
Merge часто создает «соединительный» коммит.
Rebase:
Когда вы выполняете rebase, Git берет изменения из одной ветки и применяет их к другой ветке, как если бы они были там изначально.
Это переписывает историю коммитов, создавая новые коммиты для изменений в другой ветке.
История становится линейной, и смотрится так, как будто изменения были внесены последовательно.
Сравнение:
Merge сохраняет структуру истории, но может создать дополнительные коммиты-соединители.
Rebase создает более линейную историю, но переписывает коммиты и может быть опасен при работе с общими ветками.
Выбор между merge и rebase зависит от предпочтений команды и конкретного контекста проекта. Важно помнить, что rebase изменяет историю коммитов, поэтому его следует использовать только для локальных веток, которые вы еще не отправили в общий репозиторий.
#вопросы_с_собеседований
merge и rebase — это два различных подхода к интеграции изменений в Git.
Merge:
Когда вы выполняете merge, Git создает новый коммит, который объединяет изменения из двух (или более) веток.
Этот коммит имеет два родителя — по одному от каждой ветки.
После слияния ветки сохраняют свою структуру, история коммитов не переписывается.
Merge часто создает «соединительный» коммит.
Rebase:
Когда вы выполняете rebase, Git берет изменения из одной ветки и применяет их к другой ветке, как если бы они были там изначально.
Это переписывает историю коммитов, создавая новые коммиты для изменений в другой ветке.
История становится линейной, и смотрится так, как будто изменения были внесены последовательно.
Сравнение:
Merge сохраняет структуру истории, но может создать дополнительные коммиты-соединители.
Rebase создает более линейную историю, но переписывает коммиты и может быть опасен при работе с общими ветками.
Выбор между merge и rebase зависит от предпочтений команды и конкретного контекста проекта. Важно помнить, что rebase изменяет историю коммитов, поэтому его следует использовать только для локальных веток, которые вы еще не отправили в общий репозиторий.
#вопросы_с_собеседований
👍2
Forwarded from DevOps
Держите, это кликабельный список:
Пользуйтесь)
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Forwarded from Мобильная разработка
🛠 twostraws/Ignite
Генератор статических сайтов для разработчиков Swift.
Language: Swift
Stars: 376 Issues: 7 Forks: 2
https://github.com/twostraws/Ignite
Генератор статических сайтов для разработчиков Swift.
Language: Swift
Stars: 376 Issues: 7 Forks: 2
https://github.com/twostraws/Ignite
GitHub
GitHub - twostraws/Ignite: A static site generator for Swift developers.
A static site generator for Swift developers. Contribute to twostraws/Ignite development by creating an account on GitHub.
👍4
Есть то, что объединяет всех разработчиков, неважно, на Python вы пишите или на чём-то ещё — это понимание git
Держите мощный туториал по системе контроля версий git и о его реализации на примере GitHub.
Самое то, если только разбираетесь с этим, да и для GitHub-гуру подойдёт, освежить основные понятия не помешает.
Некоторые факты из статьи:
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
🔥Подборка лучших обучающих каналов для программистов.
➡️ Делитесь с коллегами и сохраняйте себе, чтобы не потерять
⚡Машинное обучение
Machine Learning - запускаем лучшие ИИ модели, пишем код, погружаемся в нейросети
Ml Собеседование - подготовка к собесу по мл, алгоритмам, коду
Ml ru - актуальные статьи, новости, код и обучающие материалы
Ml Jobs - вакансии ML
ML Книги - актуальные бесплатные книги МО
ML чат
🏆 Golang
Golang - изучи один из самых перспективных языков на ит-рынке
Golang собеседование - разбор задач и вопросов с собесов
Golang вакансии -работа для Go разработчика
Golang книги библиотека книг
Golang задачи и тесты
Golang чат
Golang news - новости из мира go
Golang дайджест
💥 Linux /Этичный хакинг
Linux Academy - гайды, секреты и лучшие материалы по Linux
Kali linux - погрузись в мир этичного хакинга и кибербезопасности
linux_kal - kali чат
Информационная безопасность
🚀 Data Science
Анализ данных - полезные фишки, код, гайды и советы, маст-хэв датасаентиста
Data Jobs - ds вакансии
Аналитик данных
Data Science книги - актуальные бесплатные книги
Big data
🛢Базы данных
Sql базы данных - научим работе с базами данных профессионально
Библиотека баз данных
SQL чат
Вакансии Sql аналитик данных
#️⃣C#
С# академия - лучший канал по c#
С# заметки — код, лучшие практики, заметки программиста c#
С# задачи и тесты
С# библиотека - актуальные бесплатные книги
C# вакансии - работа
🐍 Python
Python/django - самый крупный обучающий канал по Python
Python Собеседование - подготовка к собеседовению python и разбор алгоритмов
Pro python - статьи, новости, код и обучающие материалы
Python Jobs - вакансии Python
Python чат
Python книги
☕ Java
Java академия - java от Senior разработчика
Java вакансии
Java чат
Java вопросы с собеседований
Java книги
💻 C++
C++ академия
С++ книги
C++ задачи - подготовка к собеседовению мл, алгоритмам
C++ вакансии
⚡️ Frontend
Javascript академия - крупнейший js канал
React - лучшие гайды и советы по работе с react
Frontend - тутрориалы, уроки, гайды, код
PHP
Книги frontend
Задачи frontend
🦀 Rust
Rust программирование
Rust чат
Rust книги для программистов
📲 Мобильная разработка
Android разработка
Мобильный разработчик гайды и уроки
🇬🇧 Английский для программистов
🧠 Искусственный интеллект
ИИ и технологии
Neural - нейросети для работы и жизни
Книги ИИ
Artificial Intelligence
🔥 DevOPs
Devops для программистов
Книги Devops
🌟 Docker/Kubernets
Docker
Kubernets
📓 Книги
Библиотеки Книг для программситов
💼 Папка с вакансиями:
Папка Go разработчика:
Папка Python разработчика:
Папка Data Science
Папка Java разработчика
Папка C#
Папка Frontend
➡️ Делитесь с коллегами и сохраняйте себе, чтобы не потерять
⚡Машинное обучение
Machine Learning - запускаем лучшие ИИ модели, пишем код, погружаемся в нейросети
Ml Собеседование - подготовка к собесу по мл, алгоритмам, коду
Ml ru - актуальные статьи, новости, код и обучающие материалы
Ml Jobs - вакансии ML
ML Книги - актуальные бесплатные книги МО
ML чат
🏆 Golang
Golang - изучи один из самых перспективных языков на ит-рынке
Golang собеседование - разбор задач и вопросов с собесов
Golang вакансии -работа для Go разработчика
Golang книги библиотека книг
Golang задачи и тесты
Golang чат
Golang news - новости из мира go
Golang дайджест
💥 Linux /Этичный хакинг
Linux Academy - гайды, секреты и лучшие материалы по Linux
Kali linux - погрузись в мир этичного хакинга и кибербезопасности
linux_kal - kali чат
Информационная безопасность
🚀 Data Science
Анализ данных - полезные фишки, код, гайды и советы, маст-хэв датасаентиста
Data Jobs - ds вакансии
Аналитик данных
Data Science книги - актуальные бесплатные книги
Big data
🛢Базы данных
Sql базы данных - научим работе с базами данных профессионально
Библиотека баз данных
SQL чат
Вакансии Sql аналитик данных
#️⃣C#
С# академия - лучший канал по c#
С# заметки — код, лучшие практики, заметки программиста c#
С# задачи и тесты
С# библиотека - актуальные бесплатные книги
C# вакансии - работа
🐍 Python
Python/django - самый крупный обучающий канал по Python
Python Собеседование - подготовка к собеседовению python и разбор алгоритмов
Pro python - статьи, новости, код и обучающие материалы
Python Jobs - вакансии Python
Python чат
Python книги
☕ Java
Java академия - java от Senior разработчика
Java вакансии
Java чат
Java вопросы с собеседований
Java книги
💻 C++
C++ академия
С++ книги
C++ задачи - подготовка к собеседовению мл, алгоритмам
C++ вакансии
⚡️ Frontend
Javascript академия - крупнейший js канал
React - лучшие гайды и советы по работе с react
Frontend - тутрориалы, уроки, гайды, код
PHP
Книги frontend
Задачи frontend
🦀 Rust
Rust программирование
Rust чат
Rust книги для программистов
📲 Мобильная разработка
Android разработка
Мобильный разработчик гайды и уроки
🇬🇧 Английский для программистов
🧠 Искусственный интеллект
ИИ и технологии
Neural - нейросети для работы и жизни
Книги ИИ
Artificial Intelligence
🔥 DevOPs
Devops для программистов
Книги Devops
🌟 Docker/Kubernets
Docker
Kubernets
📓 Книги
Библиотеки Книг для программситов
💼 Папка с вакансиями:
Папка Go разработчика:
Папка Python разработчика:
Папка Data Science
Папка Java разработчика
Папка C#
Папка Frontend
⚡️ tartufo.
• Инструмент Tartufo может сканировать репозитории в поисках случайно оставленных токенов и учетных данных. Может проверить всю историю коммитов для поиска секретов.
• Документация: https://tartufo.readthedocs.io
➡️ https://github.com/godaddy/tartufo
• Инструмент Tartufo может сканировать репозитории в поисках случайно оставленных токенов и учетных данных. Может проверить всю историю коммитов для поиска секретов.
• Документация: https://tartufo.readthedocs.io
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Forwarded from Python/ django
В этом полезном туториале мы рассмотрим, как управлять репозиториями и реализовать базовый рабочий процесс git с помощью библиотеки GitPython.
Если конкретнее, то мы разберём:
Все эти знания можно использовать для автоматизации работы с репозиториями, освобождая время для остальных вещей
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Forwarded from DevOps
Начнем с того, что самый простой способ — это создать
git --bare init
репозиторий на вашем сервере и написать обычные скрипты для выполнения автоматических задач. Например, для этого можно использовать скрипт, который запускается в
cron
, делает git pull
репозитория с кодом, а потом собирает и публикует результат.Но у этого метода есть свои проблемы.
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
This media is not supported in your browser
VIEW IN TELEGRAM
—
brew install lazygit
lazygit — это простой интерфейс терминала для команд git.
GUI сделан на основе библиотеки
gocui
, с помощью которой можно реализовать полноценные окна и взаимодействие с ними в терминале.lazygit можно гибко настраивать под себя, начиная с цветовой гаммы и заканчивая добавлением новых команд или горячих клавиш. Все настройки лежат в файле
config.yml
: в Linux — ~/.config/lazygit/config.yml
, в MacOS — ~/Library/Application Support/lazygit/config.yml
@github_code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Novu — open-source инфраструктура уведомлений;
Novu предоставляет унифицированный API, который упрощает отправку уведомлений по нескольким каналам, включая In-App, Push, Email, SMS и Chat. С Novu можно создавать пользовательские рабочие процессы и определять условия для каждого канала, не беспокоясь, что уведомления будут доставлены наиболее эффективным способом.
@DevOPSitsec
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Forwarded from Kali Linux
Исследователи заметили новую вредоносную кампанию, в рамках которой злоумышленники атакуют репозитории на GitHub, уничтожают их содержимое, а затем просят жертв связаться с ними через Telegram для «получения дополнительной информации».
Первым эти атаки заметил специалист чилийской ИБ-компании CronUp Херман Фернандес (Germán Fernández). Исследователь пишет, что эта кампания, вероятно, активна еще с февраля текущего года и уже затронула десятки репозиориев.
Хакеры, стоящие за атаками, используют ник Gitloker в Telegram и представляются ИБ-аналитиками. По данным издания Bleeping Computer, вероятнее всего, они компрометируют чужие учетные записи на GitHub, используя для этого украденные учетные данные.
Сами пострадавшие пишут, что взлом их учетных записей произошел после перехода по вредоносной ссылке в спамерском письме, якобы полученном от рекрутеров GitHub. По данным Фернндеса, злоумышленники использовали для этой кампании два домена:
githubcareers[.]online
и githubtalentcommunity[.]online
.В своих вымогательских посланиях взломщики утверждают, что похитили информацию жертв, создав резервную копию, которая могла бы помочь восстановить удаленные данные. Фактически они очищают и переименовывают репозиторий, а также добавляют в него файл README.me, в котором сообщают жертвам, что те должны выйти на связь с хакерами через Telegram.
@linuxkalii
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Maestro — это инструмент искусственного интеллекта, который использует возможности передовых нейронных сетей для выполнения ваших задач.
https://www.youtube.com/shorts/rHAKj_erZzA
▪ Github: https://github.com/Doriandarko/maestro
@neural
https://www.youtube.com/shorts/rHAKj_erZzA
▪ Github: https://github.com/Doriandarko/maestro
@neural
YouTube
Мощнейшие LLM модели в одном скрипте Python, напишут тебе крутейший код! #python #shorts
🖥 Maestro — это инструмент искусственного интеллекта, который использует возможности передовых нейронных сетей для выполнения ваших задач.Этот Python-скрипт...
🤣5
1. Как задать имя пользователя и адрес электронной почты
Имя пользователя нужно, чтобы привязывать коммиты к вашему имени. Это не то же самое, что имя пользователя учётной записи GitHub, с помощью которого выполняется вход в профиль на GitHub. Задать или изменить имя пользователя можно с помощью команды git config. Новое имя будет автоматически отображаться в последующих коммитах, отправленных на GitHub через командную строку. Если хотите скрыть своё реальное имя, можно использовать в качестве имени пользователя Git произвольный набор символов.
git config --global user.name "Tara Routray"
Кроме того, командой git config можно изменять адрес электронной почты, привязанный к вашим коммитам Git. Новый адрес электронной почты будет автоматически отображаться во всех дальнейших коммитах, поданных на GitHub через командную строку.
git config --global user.email "dev@tararoutray.com"
2. Кэширование учётных данных
Кэшировать учётные данные можно с помощью параметра config с флагом --global. Так вы избавитесь от необходимости вручную вводить имя пользователя и пароль при создании нового коммита.
git config --global credential.helper cache
3. Инициализация репозитория
Создать пустой репозиторий Git или вновь инициализировать существующий можно параметром init. При инициализации он создаст скрытую папку. В ней содержатся все объекты и ссылки, которые Git использует и создаёт в истории работы над проектом.
git init
4. Добавление отдельных файлов или всех файлов в область подготовленных файлов
Добавить отдельный файл в область подготовленных файлов можно параметром add с указанием имени файла. Просто замените somefile.js на актуальное имя.
git add somefile.js
Кроме того, можно добавить все файлы и папки в эту область, предоставив wildcard . вместо имени файла:
git add .
5. Проверка статуса репозитория
Просмотреть статус нужного репозитория можно по ключевому слову status: его действие распространяется на подготовленные, неподготовленные и неотслеживаемые файлы.
git status
6. Внесение изменений однострочным сообщением или через редактор
При создании коммита в репозитории можно добавить однострочное сообщение с помощью параметра commit с флагом -m. Само сообщение вводится непосредственно после флага, в кавычках.
git commit -m "Your short summary about the commit"
Также можно открыть текстовый редактор в терминале для написания полного сообщения коммита. Оно может состоять из нескольких строк текста, в котором подробно характеризуются изменения, внесённые в репозиторий.
git commit
7. Просмотр истории коммитов с изменениями
Просматривать изменения, внесённые в репозиторий, можно с помощью параметра log. Он отображает список последних коммитов в порядке выполнения. Кроме того, добавив флаг -p, вы можете подробно изучить изменения, внесённые в каждый файл.
git log -p
8. Просмотр заданного коммита
Просмотреть полный список изменений, внесённых конкретным коммитом, можно с помощью параметра show, указав идентификатор или хеш коммита. Значение хеша уникально для каждого коммита, созданного в вашем репозитории.
git show 1af17e73721dbe0c40011b82ed4bb1a7dbe3ce29
Также можно использовать сокращённый хеш.
git show 1af17e
9. Просмотр изменений до коммита
Можно просматривать список изменений, внесённых в репозиторий, используя параметр diff. По умолчанию отображаются только изменения, не подготовленные для фиксации.
git diff
Для просмотра подготовленных изменений необходимо добавить флаг --staged.
git diff --staged
Также можно указать имя файла как параметр и просмотреть изменения, внесённые только в этот файл.
git diff somefile.js
10. Удаление отслеживаемых файлов из текущего рабочего дерева
Удалять файлы из текущего рабочего дерева можно с помощью параметра rm. При этом файлы удаляются и из индекса.
git rm dirname/somefile.js
Можно также использовать маски файлов (например *.js, *.html) для удаления всех файлов, соответствующих критерию.
git rm dirname/*.html
#git #doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
dotnet add package QuantConnect.Lean --version 2.5.16501
dotnet add package QuantConnect.Lean.Engine --version 2.5.16501
Lean Engine — это open-source движок для алготорговли на C#, созданный для простого исследования стратегий и торговли в реальном времени.
Ядро Lean Engine написано на C#, но оно без проблем работает на Linux, Mac и Windows. Lean Engine поддерживает алгоритмы, написанные на Python 3.11 или C#.
Также на Lean работает веб-платформа для алгоритмической торговли QuantConnect.
@github_code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
—
brew install noseyparker
Nosey Parker позволяет находить секреты и конфиденциальную информацию в текстовых данных и не только.
Инструмент полезен как для наступательного, так и для оборонительного тестирования безопасности.
@github_code
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3