Команды для работы с файлами:🟢 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 строк файла.
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Модель TCP/IP — это основа, по которой работает Интернет.
Она делит процесс передачи данных на четыре уровня:
Здесь работают приложения, которые мы используем, такие как браузеры и почтовые клиенты.
Этот уровень отвечает за надежную передачу данных между устройствами. Используются протоколы, такие как TCP и UDP.
Здесь определяется, как данные будут переданы через сети. Основной протокол — IP (Internet Protocol), который адресует пакеты данных.
Он управляет физическим соединением и передачей битов по сети. Это может включать Ethernet, Wi-Fi и другие технологии.
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👀3
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥5❤2
👍7❤2
Python был создан голландским программистом Гвидо ван Россумом в конце 1980-х годов.
Работа над языком началась в декабре 1989 года, а первый релиз состоялся 20 февраля 1991 года.
Интересные факты:🌠 Python используется в таких компаниях, как Google, NASA, Instagram, Spotify и Netflix.📟 В 2020 году Гвидо ван Россум вышел из состава руководящего совета Python, но язык продолжает развиваться благодаря активному сообществу.🔮 Python 2 официально завершил свою поддержку в 2020 году, и теперь все разработчики перешли на Python 3.
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥6😁2👀2
Они позволяют выполнять сложные аналитические запросы без необходимости использования подзапросов или временных таблиц.
🔘 RANK() — присваивает ранг каждой строке в разделе на основе указанного столбца или значения, при этом могут быть пропуски в рангах, если есть одинаковые значения.🔘 DENSE_RANK() — присваивает ранг каждой строке, не пропуская значения ранга, даже если есть одинаковые значения.🔘 ROW_NUMBER() — присваивает уникальное целое число каждой строке в разделе на основе порядка строк, без пропусков.🔘 LEAD() — извлекает значение из следующей строки в том же разделе, основываясь на указанном столбце или выражении.🔘 LAG() — извлекает значение из предыдущей строки в том же разделе, основываясь на указанном столбце или выражении.🔘 NTH_VALUE() — извлекает n-ное значение в разделе по указанному порядку, при этом может возвращать NULL, если n больше, чем количество строк.🔘 FIRST_VALUE() — извлекает первое значение в разделе на основании указанного порядка.
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2
Процесс доставки кода в продакшн может варьироваться в зависимости от компании и использованных инструментов, но в большинстве случаев он включает следующие шаги:
Шаг🌸 : Сбор требований
Владелец продукта формулирует требования и создает пользовательские истории, которые отражают потребности клиентов и бизнес-цели.
Шаг🌸 : Приоритизация и планирование
Команда разработчиков определяет приоритеты для пользовательских историй и планирует спринты, в течение которых будут реализованы эти требования.
Шаг🌸 : Коммит кода
Разработчики выполняют коммиты кода в систему контроля версий (например, Git), что позволяет отслеживать изменения и сотрудничать более эффективно.
Шаг🌸 : Автоматизация сборки и тестирования
Сервер непрерывной интеграции автоматически собирает код и запускает тесты. Проводятся проверки покрытия кода и анализ качества, чтобы убедиться, что все изменения соответствуют стандартам.
Шаг🌸 : Сохранение артефактов
Если сборка успешна, результаты (артефакты) сохраняются в репозитории артефактов. После этого сборка разворачивается в среде разработчиков для дальнейшего тестирования.
Шаг🌸 : Изолированное тестирование
Функции тестируются независимо в нескольких изолированных средах, чтобы гарантировать, что они не влияют на другие части системы.
Шаг🌸 : Тестирование качества
Команда контроля качества (QA) проводит тестирование функций в специализированных средах, используя различные виды тестирования (функциональное, регрессионное, нагрузочное и т.д.).
Шаг🌸 : Тестирование на этапе пользовательского принятия
После успешного прохождения всех проверок, сборка разворачивается в среду для тестирования пользовательского принятия (UAT), где конечные пользователи могут валидировать функциональность перед релизом.
Шаг🌸 : Развертывание в продакшн
Кандидаты на релиз, которые успешно прошли все тесты, могут быть развернуты в продакшне в соответствии с графиком выпуска. Для управления рисками применяются фиче-флаги и методы постепенного развертывания.
Шаг🌸 : Мониторинг и управление инцидентами
Команда по надежности сайта (SRE) мониторит продакшен для выявления возможных проблем и сообщает о них. Команды приоритизируют и устраняют неполадки в соответствии с установленными политиками.
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
Формат CSV отлично подходит для обработки небольших наборов данных, однако, при работе с большими объемами информация может стать проблемой.
Преимущество бинарных форматов в том, что они занимают меньше места и обеспечивают более высокую скорость обработки по сравнению с CSV.
Например, если запись данных в CSV-файл может занять почти 2 минуты, то процесс записи в Parquet может завершиться всего за 8 секунд.
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2
🔥7🤯6😁5👀1
Вот основные функции, которые вам нужно знать:
🔢 𝗱𝗿𝗼𝗽𝗻𝗮(): очистите свой набор данных, удалив пропущенные значения. Используйте df.dropna(), чтобы исключить строки или столбцы с NaN и сохранить чистоту данных.
🔢 𝗳𝗶𝗹𝗹𝗻𝗮(): замените пропущенные значения указанным значением или методом. С помощью df.fillna(value) вы поддерживаете целостность данных, не теряя ценную информацию.
🔢 𝗱𝗿𝗼𝗽_𝗱𝘂𝗽𝗹𝗶𝗰𝗮𝘁𝗲𝘀(): убедитесь, что ваши данные уникальны и точны. Используйте df.drop_duplicates(), чтобы удалить дубликаты строк и избежать искажения анализа из-за агрегации избыточных данных.
🔢 𝗿𝗲𝗽𝗹𝗮𝗰𝗲(): замените определенные значения во всем наборе данных. Функция df.replace(to_replace, value) позволяет эффективно исправлять ошибки и стандартизировать данные.
🔢 𝗮𝘀𝘁𝘆𝗽𝗲(): преобразуйте типы данных для обеспечения согласованности и точности. Используйте функцию приведения df['column'].astype(dtype), чтобы убедиться, что столбцы данных находятся в правильном формате, необходимом для анализа.
🔢 𝗮𝗽𝗽𝗹𝘆(): применяйте пользовательские функции к своим данным. df['column'].apply(func) позволяет выполнять сложные преобразования и вычисления. Работает как со стандартными, так и с лямбда-функциями.
🔢 𝘀𝘁𝗿.𝘀𝘁𝗿𝗶𝗽(): Очищает текстовые данные, удаляя начальные и конечные пробелы. Использование df['column'].str.strip() помогает избежать труднообнаружимых ошибок при сравнении строк.
🔢 𝘃𝗮𝗹𝘂𝗲_𝗰𝗼𝘂𝗻𝘁𝘀(): Получает краткую сводку частоты значений в столбце. df['column'].value_counts() помогает понять распределение ваших данных.
🔢 𝗽𝗱.𝘁𝗼_𝗱𝗮𝘁𝗲𝘁𝗶𝗺𝗲(): преобразует строки в объекты datetime для точной обработки даты и времени. Для анализа временных рядов использование pd.to_datetime(df['column']) часто будет одним из ваших первых шагов в подготовке данных.
🔢 🔢 𝗴𝗿𝗼𝘂𝗽𝗯𝘆(): агрегирует данные на основе определенных столбцов. Используйте df.groupby('column') для выполнения таких операций, как сумма, среднее значение или подсчет сгруппированных данных.
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
Оба оператора UNION и UNION ALL используются для объединения результатов двух или более запросов SELECT, но они по-разному обрабатывают дублирующиеся записи.
Оператор UNION автоматически объединяет наборы результатов и удаляет дубликаты строк. Это приводит к тому, что в итоговом наборе данных остаются только уникальные записи. Он выполняет неявную операцию DISTINCT, что может повлиять на производительность, особенно при большом объеме данных.
SELECT employee_id, department_id FROM employees
UNION
SELECT employee_id, department_id FROM managers;
В отличие от UNION, оператор UNION ALL объединяет наборы результатов, не удаляя дубликаты. Это делает его более быстрым, так как не нужно выполнять операцию по исключению дубликатов.
SELECT employee_id, department_id FROM employees
UNION ALL
SELECT employee_id, department_id FROM managers;
Основные отличия:
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
✄┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста
«(!?»Please open Telegram to view this post
VIEW IN TELEGRAM
😁8❤1