💻 12 основных команд Git
Git - мощный инструмент для контроля версий, и знание базовых команд поможет работать быстрее и эффективнее.
Вот шпаргалка по самым важным командам:
1️⃣ git init - инициализация нового репозитория
2️⃣ git add - подготовка изменений к коммиту
3️⃣ git commit - создание коммита
4️⃣ git push - отправка изменений в удалённый репозиторий
5️⃣ git pull - получение и слияние изменений с удалённого репозитория
6️⃣ git remote - управление удалёнными репозиториями
7️⃣ git branch - работа с ветками
8️⃣ git fetch - получение данных без слияния
9️⃣ git checkout - переключение между ветками
🔟 git merge - слияние веток
1️⃣1️⃣ git status - проверка состояния репозитория
1️⃣2️⃣ git reset - откат изменений
⚡ Сохрани себе, чтобы всегда иметь под рукой!
Мы в MAX
👉 @Bookflow
Git - мощный инструмент для контроля версий, и знание базовых команд поможет работать быстрее и эффективнее.
Вот шпаргалка по самым важным командам:
1️⃣ git init - инициализация нового репозитория
2️⃣ git add - подготовка изменений к коммиту
3️⃣ git commit - создание коммита
4️⃣ git push - отправка изменений в удалённый репозиторий
5️⃣ git pull - получение и слияние изменений с удалённого репозитория
6️⃣ git remote - управление удалёнными репозиториями
7️⃣ git branch - работа с ветками
8️⃣ git fetch - получение данных без слияния
9️⃣ git checkout - переключение между ветками
🔟 git merge - слияние веток
1️⃣1️⃣ git status - проверка состояния репозитория
1️⃣2️⃣ git reset - откат изменений
⚡ Сохрани себе, чтобы всегда иметь под рукой!
Мы в MAX
👉 @Bookflow
👍5❤2
Media is too big
VIEW IN TELEGRAM
Гайд по Git Для Начинающих За 15 Минут
Запутались в командах Git? В этом видео я объясню 9 основных команд, которые вам действительно нужны для работы. Простыми словами, без лишней теории, и с крутыми анимациями. Вы узнаете, как клонировать проекты, делать коммиты, управлять ветками и делиться изменениями с командой. Всё, что нужно, чтобы уверенно использовать Git каждый день!
Таймкоды:
00:00:00 - интро
00:00:34 - Git clone
00:01:58 - Git commit
00:05:08 - Git add
00:07:16 - Git branch
00:08:42 - Git checkout
00:09:29 - Git push
00:11:54 - Git rebase
00:13:30 - Git revert
источник
Мы в MAX
👉 @Bookflow
Запутались в командах Git? В этом видео я объясню 9 основных команд, которые вам действительно нужны для работы. Простыми словами, без лишней теории, и с крутыми анимациями. Вы узнаете, как клонировать проекты, делать коммиты, управлять ветками и делиться изменениями с командой. Всё, что нужно, чтобы уверенно использовать Git каждый день!
Таймкоды:
00:00:00 - интро
00:00:34 - Git clone
00:01:58 - Git commit
00:05:08 - Git add
00:07:16 - Git branch
00:08:42 - Git checkout
00:09:29 - Git push
00:11:54 - Git rebase
00:13:30 - Git revert
источник
Мы в MAX
👉 @Bookflow
❤5👍4🔥1
ScrapeGraphAI
Python-скрепер на основе искусственного интеллекта
ScrapeGraphAI - это python-библиотека для веб-скреппинга, которая использует LLM и прямую графовую логику для создания конвейеров скреппинга для веб-сайтов и локальных документов (XML, HTML, JSON и т.д.).
Просто скажите, какую информацию вы хотите извлечь, и библиотека сделает это за вас!
https://github.com/VinciGit00/Scrapegraph-ai
Мы в MAX
👉 @Bookflow
Python-скрепер на основе искусственного интеллекта
ScrapeGraphAI - это python-библиотека для веб-скреппинга, которая использует LLM и прямую графовую логику для создания конвейеров скреппинга для веб-сайтов и локальных документов (XML, HTML, JSON и т.д.).
Просто скажите, какую информацию вы хотите извлечь, и библиотека сделает это за вас!
https://github.com/VinciGit00/Scrapegraph-ai
Мы в MAX
👉 @Bookflow
👍5
Как сравнить целые числа со знаком и без знака в C++20?
Сравнение двух чисел должно быть простым, верно? Может быть, и должно, но в языке C++ это не так, даже если ограничить сравнение областью целых чисел.
Если попытаться сравнить знаковое и беззнаковое целое число, то возможны несколько вариантов развития событий. Возможно, это действительно сработает, и вы никогда не узнаете, чем рисковали. Возможно, все будет не так, как вы ожидали, и вы потратите немало времени, ломая голову над тем, что же произошло. Возможно также, что он не сработает в соответствии с вашими ожиданиями, но это останется незамеченным.
https://www.sandordargo.com/blog/2023/10/11/cpp20-intcmp-utilities
Мы в MAX
👉 @Bookflow
Сравнение двух чисел должно быть простым, верно? Может быть, и должно, но в языке C++ это не так, даже если ограничить сравнение областью целых чисел.
Если попытаться сравнить знаковое и беззнаковое целое число, то возможны несколько вариантов развития событий. Возможно, это действительно сработает, и вы никогда не узнаете, чем рисковали. Возможно, все будет не так, как вы ожидали, и вы потратите немало времени, ломая голову над тем, что же произошло. Возможно также, что он не сработает в соответствии с вашими ожиданиями, но это останется незамеченным.
https://www.sandordargo.com/blog/2023/10/11/cpp20-intcmp-utilities
Мы в MAX
👉 @Bookflow
1❤3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Совет по CSS 💡
Несмотря на некоторые ограничения в отдельных браузерах, мы можем изменять размеры любого блочного элемента, а не только textarea!
Мы в MAX
👉 @Bookflow
Несмотря на некоторые ограничения в отдельных браузерах, мы можем изменять размеры любого блочного элемента, а не только textarea!
Мы в MAX
👉 @Bookflow
👍3❤1
Пишем свой собственный текстовый редактор
Это инструкция, которая покажет вам, как создать текстовый редактор на языке C.
Текстовый редактор представляет собой kilo от antirez, с некоторыми изменениями. Это около 1000 строк языка C в одном файле без зависимостей, и в нем реализованы все основные функции, которые вы ожидаете от минимального редактора, а также подсветка синтаксиса и функция поиска.
В этой инструкции вы пройдете путь создания редактора в 184 шага. На каждом шаге вы будете добавлять, изменять или удалять несколько строк кода. На большинстве шагов вы сможете наблюдать за внесенными изменениями, скомпилировав и запустив программу сразу после этого.
https://viewsourcecode.org/snaptoken/kilo/index.html
Мы в MAX
👉 @Bookflow
Это инструкция, которая покажет вам, как создать текстовый редактор на языке C.
Текстовый редактор представляет собой kilo от antirez, с некоторыми изменениями. Это около 1000 строк языка C в одном файле без зависимостей, и в нем реализованы все основные функции, которые вы ожидаете от минимального редактора, а также подсветка синтаксиса и функция поиска.
В этой инструкции вы пройдете путь создания редактора в 184 шага. На каждом шаге вы будете добавлять, изменять или удалять несколько строк кода. На большинстве шагов вы сможете наблюдать за внесенными изменениями, скомпилировав и запустив программу сразу после этого.
https://viewsourcecode.org/snaptoken/kilo/index.html
Мы в MAX
👉 @Bookflow
👍5❤3🔥2
🔥Awesome-Cheatsheets
Крутые шпаргалки по популярным языкам программирования, фреймворкам и инструментам разработки. В них собрано всё, что нужно знать — в одном файле.
Я обычно создаю шпаргалку, когда хочу прокачать навыки в языке программирования, фреймворке или инструменте разработки. Раньше я делал такие записи в Gist, но чтобы удобнее отслеживать историю и дать возможность другим участвовать, я собрал всё в одном репозитории. Большая часть материалов основана на официальной документации и книгах, которые я прочитал.
Заглядывай — возможно, узнаешь что-то новое. Эти шпаргалки созданы, чтобы быстро проверить знания и сэкономить тебе время.
https://lecoupa.github.io/awesome-cheatsheets/
Мы в MAX
👉 @Bookflow
Крутые шпаргалки по популярным языкам программирования, фреймворкам и инструментам разработки. В них собрано всё, что нужно знать — в одном файле.
Я обычно создаю шпаргалку, когда хочу прокачать навыки в языке программирования, фреймворке или инструменте разработки. Раньше я делал такие записи в Gist, но чтобы удобнее отслеживать историю и дать возможность другим участвовать, я собрал всё в одном репозитории. Большая часть материалов основана на официальной документации и книгах, которые я прочитал.
Заглядывай — возможно, узнаешь что-то новое. Эти шпаргалки созданы, чтобы быстро проверить знания и сэкономить тебе время.
https://lecoupa.github.io/awesome-cheatsheets/
Мы в MAX
👉 @Bookflow
👍3🔥1
Как мы ускорили Golang-тесты на CI
В этой статье я расскажу о том, как желание улучшить свой рабочий процесс CI помогло ускорить все golang-пайплайны в PaaS СберМаркета.
В СберМаркете микросервисная архитектура. В качестве CI/CD используется GitLab. На CI гоняются вполне типовые задачи по тестированию, различным проверкам, сборкам образов и т. д. Часть job предоставляется самим сервисом, часть — внедряется в пайплайн сервиса нашей платформой.
Во всех golang-сервисах пишут тесты на свой код. В разных сервисах подход к тестированию немного различается, но сейчас я не буду углубляться в виды тестирования. Общее между всеми сервисами — «в среднем по больнице» тесты гоняются на CI более 5 минут.
Я пришел в СберМаркет в конце августа 2023 года. Глядя на набор Unit-тестов в одном из наших сервисов Odin, я немного расстроился. Каждый раз нужно было ждать на CI больше 6 минут, чтобы узнать, все ли хорошо с тестами. Их в наборе было около 400.
Я подумал, что неплохо было бы разобраться со скоростью. Предположил, что проблема может быть связана с базой данных, неоптимальным сидированием, что можно улучшить очистку и добавить параллелизма. И даже начал накидывать в голове план ускорения...
https://habr.com/ru/companies/kuper/articles/806725/
Мы в MAX
👉 @Bookflow
В этой статье я расскажу о том, как желание улучшить свой рабочий процесс CI помогло ускорить все golang-пайплайны в PaaS СберМаркета.
В СберМаркете микросервисная архитектура. В качестве CI/CD используется GitLab. На CI гоняются вполне типовые задачи по тестированию, различным проверкам, сборкам образов и т. д. Часть job предоставляется самим сервисом, часть — внедряется в пайплайн сервиса нашей платформой.
Во всех golang-сервисах пишут тесты на свой код. В разных сервисах подход к тестированию немного различается, но сейчас я не буду углубляться в виды тестирования. Общее между всеми сервисами — «в среднем по больнице» тесты гоняются на CI более 5 минут.
Я пришел в СберМаркет в конце августа 2023 года. Глядя на набор Unit-тестов в одном из наших сервисов Odin, я немного расстроился. Каждый раз нужно было ждать на CI больше 6 минут, чтобы узнать, все ли хорошо с тестами. Их в наборе было около 400.
Я подумал, что неплохо было бы разобраться со скоростью. Предположил, что проблема может быть связана с базой данных, неоптимальным сидированием, что можно улучшить очистку и добавить параллелизма. И даже начал накидывать в голове план ускорения...
https://habr.com/ru/companies/kuper/articles/806725/
Мы в MAX
👉 @Bookflow
❤3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Задержка (Latency) vs. Пропускная способность (Throughput)
Задумывались, почему приложение «тормозит», хотя пропускная способность сети вроде бы в порядке?
Дело в том, что задержка и пропускная способность описывают два совершенно разных аспекта производительности.
Задержка (Latency) - это время задержки каждого пакета.
Именно её ощущает пользователь, когда нажимает кнопку. Это - отзывчивость системы.
Задержка показывает, сколько времени требуется, чтобы один запрос прошёл путь от сервера до конечного устройства.
Она включает:
- время обработки запроса на сервере,
- задержку в очередях,
- распространение сигнала по сети,
- задержку передачи,
- и «последнюю милю» - соединение с устройством пользователя.
Пропускная способность (Throughput) - это объём данных, успешно переданных за единицу времени.
Речь не о скорости отдельного пакета, а о количестве данных, проходящих через «трубу».
Пропускная способность - это ёмкость системы.
Высокая пропускная способность означает, что система справляется с нагрузкой без перегрузок.
А теперь вопрос к вам:
Как вы измеряете эти метрики так, чтобы они действительно предсказывали, когда система начнёт давать сбои?
Мы в MAX
👉 @Bookflow
Задумывались, почему приложение «тормозит», хотя пропускная способность сети вроде бы в порядке?
Дело в том, что задержка и пропускная способность описывают два совершенно разных аспекта производительности.
Задержка (Latency) - это время задержки каждого пакета.
Именно её ощущает пользователь, когда нажимает кнопку. Это - отзывчивость системы.
Задержка показывает, сколько времени требуется, чтобы один запрос прошёл путь от сервера до конечного устройства.
Она включает:
- время обработки запроса на сервере,
- задержку в очередях,
- распространение сигнала по сети,
- задержку передачи,
- и «последнюю милю» - соединение с устройством пользователя.
Пропускная способность (Throughput) - это объём данных, успешно переданных за единицу времени.
Речь не о скорости отдельного пакета, а о количестве данных, проходящих через «трубу».
Пропускная способность - это ёмкость системы.
Высокая пропускная способность означает, что система справляется с нагрузкой без перегрузок.
А теперь вопрос к вам:
Как вы измеряете эти метрики так, чтобы они действительно предсказывали, когда система начнёт давать сбои?
Мы в MAX
👉 @Bookflow
1👍5❤1👎1
Настройка CI/CD для самых маленьких разработчиков
Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позволяет не тратить время на поход к коллегам (и ожидание их реакции), т.е. в целом повышает комфорт работы и дает понимание, почему все происходит именно так.
Настроек для пайплайна Gitlab очень много. В этой статье, не вдаваясь в недра тюнинга, поговорим о том, как выглядит скрипт пайплайна, из каких блоков он состоит и что может содержать.
https://habr.com/ru/companies/maxilect/articles/799177/
Мы в MAX
👉 @Bookflow
Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позволяет не тратить время на поход к коллегам (и ожидание их реакции), т.е. в целом повышает комфорт работы и дает понимание, почему все происходит именно так.
Настроек для пайплайна Gitlab очень много. В этой статье, не вдаваясь в недра тюнинга, поговорим о том, как выглядит скрипт пайплайна, из каких блоков он состоит и что может содержать.
https://habr.com/ru/companies/maxilect/articles/799177/
Мы в MAX
👉 @Bookflow
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
1 - Индексация:
Проверьте шаблоны запросов вашего приложения и создайте подходящие индексы.
2 - Материализованные представления:
Предварительно вычислите результаты сложных запросов и сохраните их для более быстрого доступа.
3 - Денормализация:
Уменьшите количество сложных объединений для повышения производительности запросов.
4 - Вертикальное масштабирование:
Увеличьте мощность вашего сервер базы данных, добавляя больше процессоров, оперативной памяти или хранилища.
5 - Кэширование:
Сохраните часто запрашиваемые данные в более быстром слое хранения для снижения нагрузки на базу данных.
6 - Репликация:
Создайте реплики основной базы данных на разных серверах для масштабирования чтения.
7 - Шардинг:
Разделите таблицы базы данных на более мелкие части и распределите их по серверам. Используется для масштабирования как записи, так и чтения.
А теперь ваш ход: Какие другие стратегии вы используете для масштабирования ваших баз данных?
Мы в MAX
👉 @Bookflow
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
Nala
Это внешний интерфейс для libapt-pkg. В частности, мы взаимодействуем с python-apt api.
Особенно начинающим пользователям бывает сложно понять, что пытается сделать apt при установке или обновлении.
Мы пытаемся решить эту проблему, отказавшись от отображения лишних сообщений, улучшив форматирование пакетов и используя цвет, чтобы
показать, что именно произойдет с пакетом при установке, удалении или обновлении.
https://gitlab.com/volian/nala
Мы в MAX
👉 @Bookflow
Это внешний интерфейс для libapt-pkg. В частности, мы взаимодействуем с python-apt api.
Особенно начинающим пользователям бывает сложно понять, что пытается сделать apt при установке или обновлении.
Мы пытаемся решить эту проблему, отказавшись от отображения лишних сообщений, улучшив форматирование пакетов и используя цвет, чтобы
показать, что именно произойдет с пакетом при установке, удалении или обновлении.
https://gitlab.com/volian/nala
Мы в MAX
👉 @Bookflow
👍3❤1