Python Tech Code • IT
3.92K subscribers
993 photos
115 videos
32 files
923 links
Изучаем Python, осваиваем SQL и следим за IT-новостями.

Сотрудничество (реклама): @NotPriceMedia

Канал на бирже : https://telega.in/c/PythonTechCode
Download Telegram
🐳 Полезные команды Docker: полный чек-лист по работе с контейнерами

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
February 20
February 20
Варианты ответа:
Anonymous Quiz
14%
bcde
24%
abcd
41%
bcdd
21%
Ошибка
February 20
📘
Сегодня, 20 февраля 2024 года, язык программирования Python отмечает свой 34-й день рождения

Python был создан голландским программистом Гвидо ван Россумом в конце 1980-х годов.
Работа над языком началась в декабре 1989 года, а первый релиз состоялся 20 февраля 1991 года.

Интересные факты:

🌠
Python используется в таких компаниях, как Google, NASA, Instagram, Spotify и Netflix.

📟
В 2020 году Гвидо ван Россум вышел из состава руководящего совета Python, но язык продолжает развиваться благодаря активному сообществу.

🔮Python 2 официально завершил свою поддержку в 2020 году, и теперь все разработчики перешли на Python 3.


С днем рождения, Python!

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
February 20
🏠 Оконные функции в SQL — это инструмент для выполнения вычислений над набором строк, связанных с текущей строкой

Они позволяют выполнять сложные аналитические запросы без необходимости использования подзапросов или временных таблиц.

🔘RANK() — присваивает ранг каждой строке в разделе на основе указанного столбца или значения, при этом могут быть пропуски в рангах, если есть одинаковые значения.

🔘DENSE_RANK() — присваивает ранг каждой строке, не пропуская значения ранга, даже если есть одинаковые значения.

🔘ROW_NUMBER() — присваивает уникальное целое число каждой строке в разделе на основе порядка строк, без пропусков.

🔘LEAD() — извлекает значение из следующей строки в том же разделе, основываясь на указанном столбце или выражении.

🔘LAG() — извлекает значение из предыдущей строки в том же разделе, основываясь на указанном столбце или выражении.

🔘NTH_VALUE() — извлекает n-ное значение в разделе по указанному порядку, при этом может возвращать NULL, если n больше, чем количество строк.

🔘FIRST_VALUE() — извлекает первое значение в разделе на основании указанного порядка.


┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
February 21
🟠 Процесс доставки программного обеспечения в продакшн

Процесс доставки кода в продакшн может варьироваться в зависимости от компании и использованных инструментов, но в большинстве случаев он включает следующие шаги:

Шаг 🌸: Сбор требований
Владелец продукта формулирует требования и создает пользовательские истории, которые отражают потребности клиентов и бизнес-цели.

Шаг 🌸: Приоритизация и планирование
Команда разработчиков определяет приоритеты для пользовательских историй и планирует спринты, в течение которых будут реализованы эти требования.

Шаг 🌸: Коммит кода
Разработчики выполняют коммиты кода в систему контроля версий (например, Git), что позволяет отслеживать изменения и сотрудничать более эффективно.

Шаг 🌸: Автоматизация сборки и тестирования
Сервер непрерывной интеграции автоматически собирает код и запускает тесты. Проводятся проверки покрытия кода и анализ качества, чтобы убедиться, что все изменения соответствуют стандартам.

Шаг 🌸: Сохранение артефактов
Если сборка успешна, результаты (артефакты) сохраняются в репозитории артефактов. После этого сборка разворачивается в среде разработчиков для дальнейшего тестирования.

Шаг 🌸: Изолированное тестирование
Функции тестируются независимо в нескольких изолированных средах, чтобы гарантировать, что они не влияют на другие части системы.

Шаг 🌸: Тестирование качества
Команда контроля качества (QA) проводит тестирование функций в специализированных средах, используя различные виды тестирования (функциональное, регрессионное, нагрузочное и т.д.).

Шаг 🌸: Тестирование на этапе пользовательского принятия
После успешного прохождения всех проверок, сборка разворачивается в среду для тестирования пользовательского принятия (UAT), где конечные пользователи могут валидировать функциональность перед релизом.

Шаг 🌸: Развертывание в продакшн
Кандидаты на релиз, которые успешно прошли все тесты, могут быть развернуты в продакшне в соответствии с графиком выпуска. Для управления рисками применяются фиче-флаги и методы постепенного развертывания.

Шаг 🌸: Мониторинг и управление инцидентами
Команда по надежности сайта (SRE) мониторит продакшен для выявления возможных проблем и сообщает о них. Команды приоритизируют и устраняют неполадки в соответствии с установленными политиками.


┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
February 22
🤯 Совет дня

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
February 23
🖥 Визуализация SQL-запроса

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
February 24
🤔 Если вы работаете с большими наборами данных, формат CSV может оказаться не лучшим вариантом

Формат CSV отлично подходит для обработки небольших наборов данных, однако, при работе с большими объемами информация может стать проблемой.

Здесь в игру вступают бинарные форматы. Эти файлы состоят из нулей и единиц и не могут быть прочитаны человеком, но они обеспечивают высокую эффективность для программ.
Преимущество бинарных форматов в том, что они занимают меньше места и обеспечивают более высокую скорость обработки по сравнению с CSV.


Одним из известных бинарных форматов является Parquet. Этот формат значительно эффективнее использует память по сравнению с CSV.
Например, если запись данных в CSV-файл может занять почти 2 минуты, то процесс записи в Parquet может завершиться всего за 8 секунд.


┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
February 24
👆 Основы SQL

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
February 25
February 25
Варианты ответа:
Anonymous Quiz
57%
{10, 30}
21%
None
6%
{10, 20, 30}
16%
Ошибка
February 25
Используйте Python, чтобы превратить неструктурированные данные в полезную информацию

Вот основные функции, которые вам нужно знать:

🔢𝗱𝗿𝗼𝗽𝗻𝗮(): очистите свой набор данных, удалив пропущенные значения. Используйте 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') для выполнения таких операций, как сумма, среднее значение или подсчет сгруппированных данных.


⚠️Чтобы использовать указанные функции для обработки и анализа данных в Python, вам нужна библиотека Pandas.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
February 27
📌 Шпаргалка по спискам Python

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
February 27
😞 В чем разница между UNION и UNION ALL

Оба оператора UNION и UNION ALL используются для объединения результатов двух или более запросов SELECT, но они по-разному обрабатывают дублирующиеся записи.

😃 UNION (удаляет дубликаты)
Оператор UNION автоматически объединяет наборы результатов и удаляет дубликаты строк. Это приводит к тому, что в итоговом наборе данных остаются только уникальные записи. Он выполняет неявную операцию DISTINCT, что может повлиять на производительность, особенно при большом объеме данных.

SELECT employee_id, department_id FROM employees 
UNION
SELECT employee_id, department_id FROM managers;


😄 UNION ALL (сохраняет дубликаты)
В отличие от UNION, оператор UNION ALL объединяет наборы результатов, не удаляя дубликаты. Это делает его более быстрым, так как не нужно выполнять операцию по исключению дубликатов.

SELECT employee_id, department_id FROM employees 
UNION ALL
SELECT employee_id, department_id FROM managers;


Основные отличия:
😫 UNION удаляет дубликаты, что может привести к снижению производительности, особенно при работе с большими объемами данных.
😫 UNION ALL сохраняет все записи, включая дубликаты, что делает его более эффективным и быстрым вариантом для объединения данных.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
March 1
🤨 Попали прямо в точку))

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
March 1
➡️ Способы установки библиотек в Python

🔴pip: Стандартный менеджер пакетов для установки библиотек из PyPI.

🟢conda: Менеджер пакетов, используемый в Anaconda/Miniconda, поддерживает Python и другие языки.

🟠Из исходного кода: Установка библиотеки напрямую из репозитория или локального исходного кода.

🔵Из .whl файла: Установка библиотеки из предварительно собранного дистрибутива в формате .whl.

🔴Виртуальное окружение: Создание изолированной среды для управления зависимостями проекта.

🟢poetry: Современный инструмент для управления зависимостями и создания проектов.

🟠easy_install: Устаревший менеджер пакетов, предшественник pip.

🔵Через IDE: Установка библиотек через встроенные инструменты в IDE, такие как PyCharm или VS Code.

🔴Системные пакеты: Установка системных зависимостей, необходимых для работы некоторых библиотек.

🟢Проверка установленных библиотек: Просмотр списка установленных библиотек в текущем окружении.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
March 2
This media is not supported in your browser
VIEW IN TELEGRAM
👉 «Подчиненный перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальство»

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
March 3
This media is not supported in your browser
VIEW IN TELEGRAM
💎 Рефакторинг в Python

Рефакторинг в Python — это процесс улучшения структуры вашего кода без изменения его функциональности. Это помогает сделать код более читабельным, поддерживаемым и оптимизированным.

Вот несколько общих советов и техник для рефакторинга:

🌸 Избегайте дублирования кода:
Если вы заметили, что один и тот же код повторяется в разных частях программы, подумайте о том, чтобы вынести его в отдельную функцию или класс.


🌸 Используйте понятные имена переменных и функций:
Имена должны быть описательными, чтобы другие программисты могли быстро понять, что делает ваш код.


🌸 Разделяйте большие функции:
Если функция становится слишком большой, попробуйте разбить ее на несколько меньших, каждая из которых выполняет одну конкретную задачу.


🌸 Убирайте "магические числа":
Заменяйте числа, которые используются в коде, на константы с понятными именами. Это делает код более читабельным.


🌸 Используйте библиотеки стандартной библиотеки:
Python имеет мощную стандартную библиотеку, которая может упростить ваш код. Старайтесь использовать уже готовые решения вместо написания собственного кода.


🌸 Применяйте тестирование:
Реализуйте модульные тесты, чтобы убедиться, что при рефакторинге функциональность не была нарушена. Это позволит вам безопаснее вносить изменения.


🌸 Следите за стилем кода:
Соблюдайте PEP 8 — стиль кодирования для Python, чтобы ваш код был более согласованным и структурированным.


┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
March 5
Cheat sheet collection .pdf
2.7 MB
🔥 Полезные шпаргалки по Python

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
March 6