Python Ninja | Программирование
6.92K subscribers
1.08K photos
99 videos
918 links
Канал для всех кто хочет освоить или прокачать навыки программирования на Python. Присоединяйся, чтобы стать настоящим Python Ninja!

Связь: @sfoninja
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Всё. Эпоха GIL окончена 🥳

Команда разработчиков Python объявила, что в версии 3.14 появляется возможность отключать GIL, что позволит достичь настоящего параллелизма при работе с потоками

Одним из первых инструментов, адаптированных к no-GIL архитектуре, стала библиотека uv что делает её важным компонентом для будущей многопоточной экосистемы Python

Теперь многопоточность в Python — не мем, а реальность 🏃

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Больше не кодь в одиночестве в VSCode

Есть забавное расширение — VSCode Pets от Anthony Shaw, которое добавляет в редактор виртуальных питомцев 🐱 🐶 🦆 Они сидят у тебя в панели, двигаются, реагируют и даже играют в мяч

Что есть внутри:
🟠темы окружения лес, замок и т.д
🟠можно запустить несколько
🟠питомцы: кот, собака, змея, уточка, хомяк и даже Clippy


☝️ Забираем здесь GitHub тут

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥4
Хеширование паролей в Python с помощью SHA-256

Когда мы сохраняем пароли, их нельзя хранить в открытом виде — это небезопасно. Вместо этого применяют хеширование: пароль пропускают через одностороннюю функцию, и уже её результат сохраняют

Пример ниже показывает, как это работает с hashlib.sha256
from hashlib import sha256

# always the same for "mySecret123"
saved_password = sha256(
"mySecret123".encode()
).hexdigest()

# Can't reverse it back to "mySecret123"
# But can hash and compare
password = sha256(
input("Your password: ").encode()
).hexdigest()

if password == saved_password:
print('Welcome!')
else:
print('Access denied!')


Особенности:
Хеш всегда одинаков для одинаковой строки

Невозможно восстановить оригинальный пароль из хеша

Проверка идёт через сравнение хешей, а не через хранение реального пароля


✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Принёс полезное: интерактивный гайд по созданию своего Git

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

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Сумма чисел из списка

Что выведет код

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Варианты
Anonymous Quiz
45%
A
16%
B
25%
C
14%
D
👍52
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
Принёс полезное инструмент для обучения PostgreSQL

PostgreSQL-песочница с практическими уроками по SQL, транзакциям, индексам, PostGIS и не только. Всё работает в браузере. Заходи и учись на реальных данных 👍

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2
Ловите подгон бесплатный учебный курс по SQL от «Mode Analytics»

Освой SQL и начни анализировать данные как профессионал! Бесплатный курс от «Mode Analytics» проведёт тебя от первых строк кода до уверенного владения аналитическими инструментами

Быстро, наглядно и интерактивно📚

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🌭1
Сокровищница для любителей смотреть как устроены игры изнутри

Если ты когда-нибудь хотел покопаться в том, как устроены культовые игры этот клад для тебя

Огромный каталог открытых клонов и ремейков, где можно найти исходники классики и посмотреть, как энтузиасты воссоздают или переосмысливают их

Отличный способ вдохновиться или даже самому присоединиться к разработке 😎

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
5
12 ключевых сетевых протоколов которые должен знать каждый

Без этих протоколов не обходится ни одно сетевое взаимодействие. От передачи веб-страниц и синхронизации времени до защиты соединений и доставки писем это фундамент, на котором строится интернет


Сохраняй пригодится 🕵️‍♂️

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
На Хабр завирусилась статья «Git для самых маленьких. От первой команды до настройки SSH»

Для тех кто долго боялся Git, — и зря. Автор разложил систему контроля версий по полочкам: от git init до SSH-ключей и подписи коммитов

Прямо-таки «курс молодого бойца» с человеческим языком и живыми примерами. Новички в восторге, опытные — кидают в закладки для стажёров 💪

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2
Объединение словарей в Python

Иногда нужно объединить два словаря в один. Вот два простых способа, как это можно сделать 👇

Method 1 — оператор |
# Используем оператор объединения ( | ).
names_dict = {"kelly": 23,"Derick": 14, "John": 7}
another_names_dict = {"Ravi": 45, "Mpho": 67}

combined_dict = names_dict | another_names_dict
print(combined_dict)

Вывод:

{'kelly': 23, 'Derick': 14, 'John': 7, 'Ravi': 45, 'Mpho': 67}


Method 2 — оператор распаковки **
# Используем оператор распаковки ( ** )
names_dict = {"kelly": 23,"Derick": 14, "John": 7}
another_names_dict = {"Ravi": 45, "Mpho": 67}

combined_dict = {**names_dict, **another_names_dict}
print(combined_dict)

Вывод:

{'kelly': 23, 'Derick': 14, 'John': 7, 'Ravi': 45, 'Mpho': 67}



📝 Оба способа работают одинаково — создают новый словарь, объединяя пары ключ–значение. Метод с | появился в Python 3.9, а способ с ** подходит и для более ранних версий

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Нужно больше золота 🏴‍☠️

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩13❤‍🔥2
Принёс подарок «Labex» интерактивная платформа для обучения DevOps и Linux

Более 1000 интерактивных лабораторий и пошаговых туториалов по DevOps, Linux, информационной безопасности, Python и другим направлениям

Все занятия проходят прямо в браузере — без установки, настройки или дополнительного ПО. Практикуйтесь в реальных средах, оттачивайте навыки и осваивайте технологии в удобном формате 😎

☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
3💯2
Самоприсваивающийся список

Что выведет код 😎

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
Варианты
Anonymous Quiz
10%
A
13%
B
48%
C
28%
D
😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Откопал вам годноту для прокачки алгоритмов — визуальный тренажёр с пошаговым выполнением кода

70+ алгоритмов на Python, Java и C++, всё интерактивно и с наглядной визуализацией

P.S. Как доп. материал — вот ещё отличная статья с шикарной визуализацией алгоритмов (но лучше оставить её на потом, для закрепления и расширения)

☝️ Ссылка источник
☝️ Ссылка источник

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83
Краткий гид по основным компонентам Docker

CLI, образы, контейнеры, тома, сети — в Docker много ключевых понятий. В этом посте собрали всё самое важное

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1
Ха-ха-ха 😈

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
😁233❤‍🔥2
Распаковка последовательностей с * в Python

В Python можно распаковывать последовательности с помощью *, чтобы работать с переменным количеством элементов

При этом * можно ставить в любом месте, и он соберёт все «лишние» значения в отдельную переменную-список 👇

a, b, c = 10, 2, 3      # стандартная распаковка
a, *b = 10, 2, 3 # b = [2, 3]
a, *b, c = 10, 2, 3, 4 # b = [2, 3]
*a, b, c = 10, 2, 3, 4 # a = [10, 2]


Удобно, когда не знаешь заранее длину списка или нужно взять только часть элементов

✈️ Python Ninja
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥1