🟢ls — вывод содержимого каталога; 🟢ls -la — вывод содержимого каталога в форматированном виде (в т.ч. скрытые файлы); 🟢cd dir — перейти в каталог dir; 🟢cd — перейти в домашний каталог; 🟢pwd — показать текущий каталог; 🟢mkdir dir — создать каталог dir; 🟢rm file — удалить файл; 🟢rm -r dir — удалить каталог dir; 🟢rm -f file — принудительно удалить файл; 🟢rm -rf dir — принудительно удалить каталог dir; 🟢cp file1 file2 — скопировать file1 в file2; 🟢cp -r dir1 dir2 — скопировать каталог dir1 в каталог dir2 (если каталога dir2 нет, он будет создан); 🟢mv file1 file2 — переместить (или переименовать, если file1 и file2 находятся в одном каталоге) file1 в file2; 🟢ln -s file link — создать симлинк link на файл file; 🟢touch file — создать файл; 🟢cat > file — направить стандартный ввод в file; 🟢more file — вывод содержимого file; 🟢head file — вывод содержимого первых 10 строк file; 🟢tail file — вывод содержимого последних 10 строк file; 🟢tail -f file — вывод содержимого file по мере появления, начиная с последних 10 строк файла.
📘 Сегодня, 20 февраля 2024 года, язык программирования Python отмечает свой 34-й день рождения
Python был создан голландским программистом Гвидо ван Россумом в конце 1980-х годов. Работа над языком началась в декабре 1989 года, а первый релиз состоялся 20 февраля 1991 года.
Интересные факты:
🌠Python используется в таких компаниях, как Google, NASA, Instagram, Spotify и Netflix.
📟В 2020 году Гвидо ван Россум вышел из состава руководящего совета Python, но язык продолжает развиваться благодаря активному сообществу.
🔮Python 2 официально завершил свою поддержку в 2020 году, и теперь все разработчики перешли на Python 3.
🏠 Оконные функции в SQL — это инструмент для выполнения вычислений над набором строк, связанных с текущей строкой
Они позволяют выполнять сложные аналитические запросы без необходимости использования подзапросов или временных таблиц.
🔘RANK() — присваивает ранг каждой строке в разделе на основе указанного столбца или значения, при этом могут быть пропуски в рангах, если есть одинаковые значения.
🔘DENSE_RANK() — присваивает ранг каждой строке, не пропуская значения ранга, даже если есть одинаковые значения.
🔘ROW_NUMBER() — присваивает уникальное целое число каждой строке в разделе на основе порядка строк, без пропусков.
🔘LEAD() — извлекает значение из следующей строки в том же разделе, основываясь на указанном столбце или выражении.
🔘LAG() — извлекает значение из предыдущей строки в том же разделе, основываясь на указанном столбце или выражении.
🔘NTH_VALUE() — извлекает n-ное значение в разделе по указанному порядку, при этом может возвращать NULL, если n больше, чем количество строк.
🔘FIRST_VALUE() — извлекает первое значение в разделе на основании указанного порядка.
🟠 Процесс доставки программного обеспечения в продакшн
Процесс доставки кода в продакшн может варьироваться в зависимости от компании и использованных инструментов, но в большинстве случаев он включает следующие шаги:
Шаг 🌸: Сбор требований Владелец продукта формулирует требования и создает пользовательские истории, которые отражают потребности клиентов и бизнес-цели.
Шаг 🌸: Приоритизация и планирование Команда разработчиков определяет приоритеты для пользовательских историй и планирует спринты, в течение которых будут реализованы эти требования.
Шаг 🌸: Коммит кода Разработчики выполняют коммиты кода в систему контроля версий (например, Git), что позволяет отслеживать изменения и сотрудничать более эффективно.
Шаг 🌸: Автоматизация сборки и тестирования Сервер непрерывной интеграции автоматически собирает код и запускает тесты. Проводятся проверки покрытия кода и анализ качества, чтобы убедиться, что все изменения соответствуют стандартам.
Шаг 🌸: Сохранение артефактов Если сборка успешна, результаты (артефакты) сохраняются в репозитории артефактов. После этого сборка разворачивается в среде разработчиков для дальнейшего тестирования.
Шаг 🌸: Изолированное тестирование Функции тестируются независимо в нескольких изолированных средах, чтобы гарантировать, что они не влияют на другие части системы.
Шаг 🌸: Тестирование качества Команда контроля качества (QA) проводит тестирование функций в специализированных средах, используя различные виды тестирования (функциональное, регрессионное, нагрузочное и т.д.).
Шаг 🌸: Тестирование на этапе пользовательского принятия После успешного прохождения всех проверок, сборка разворачивается в среду для тестирования пользовательского принятия (UAT), где конечные пользователи могут валидировать функциональность перед релизом.
Шаг 🌸: Развертывание в продакшн Кандидаты на релиз, которые успешно прошли все тесты, могут быть развернуты в продакшне в соответствии с графиком выпуска. Для управления рисками применяются фиче-флаги и методы постепенного развертывания.
Шаг 🌸: Мониторинг и управление инцидентами Команда по надежности сайта (SRE) мониторит продакшен для выявления возможных проблем и сообщает о них. Команды приоритизируют и устраняют неполадки в соответствии с установленными политиками.