Python Tech Code • IT
3.91K subscribers
1.01K photos
118 videos
33 files
946 links
Изучаем Python, осваиваем SQL и следим за IT-новостями.

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

Канал на бирже : https://telega.in/c/PythonTechCode
Download Telegram
👩‍💻 Шпаргалка по работе в командной строке

Команды для работы с файлами:

🟢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 строк файла.


┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73
This media is not supported in your browser
VIEW IN TELEGRAM
📶 Модель TCP/IP

Модель TCP/IP — это основа, по которой работает Интернет.

Она делит процесс передачи данных на четыре уровня:

1️⃣Уровень приложения:
Здесь работают приложения, которые мы используем, такие как браузеры и почтовые клиенты.


2️⃣Транспортный уровень:
Этот уровень отвечает за надежную передачу данных между устройствами. Используются протоколы, такие как TCP и UDP.


3️⃣Сетевой уровень:
Здесь определяется, как данные будут переданы через сети. Основной протокол — IP (Internet Protocol), который адресует пакеты данных.


4️⃣Уровень канала передачи:
Он управляет физическим соединением и передачей битов по сети. Это может включать Ethernet, Wi-Fi и другие технологии.


🔵Таким образом, модель TCP/IP помогает устройствам общаться друг с другом, обеспечивая обмен данными и связь в сети.

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👀3
🐳 Полезные команды Docker: полный чек-лист по работе с контейнерами

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥52
Варианты ответа:
Anonymous Quiz
14%
bcde
24%
abcd
41%
bcdd
21%
Ошибка
👍72
📘 Сегодня, 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
9🔥6😁2👀2
🏠 Оконные функции в 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
🔥32
🟠 Процесс доставки программного обеспечения в продакшн

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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


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

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43
Варианты ответа:
Anonymous Quiz
58%
{10, 30}
21%
None
5%
{10, 20, 30}
16%
Ошибка
🔥7🤯6😁5👀1
Используйте 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
👍51
📌 Шпаргалка по спискам Python

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4
😞 В чем разница между 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
👍83
🤨 Попали прямо в точку))

┈┈┈┈┈┈┈┈┈┈┈┈┈
Заметки программиста «(!?»
🇨🇱 Python Tech Code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
➡️ Способы установки библиотек в 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
👍6🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
👉 «Подчиненный перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальство»

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