Поколение Python 🐍
50.3K subscribers
2K photos
16 videos
6 files
866 links
Серия курсов по языку Python от BEEGEEK 🐝.

Сайт: pygen.ru
Мерч: shop.pygen.ru
Чат: @pygen_ru_comments
Бот: @pygen_ru_bot
Поддержка: @pygen_ru_support

Перечень РКН: https://www.gosuslugi.ru/snet/673650d605391b3bfb5541c0
Download Telegram
Друзья, вам наверняка известно про цифровой след, который все мы оставляем в сети. Но знали ли вы, что даже режим инкогнито не скрывает вас от слежки? 😳

👀 Цифровой след — это не только куки и история браузера. Современные методы отслеживания контролировать куда сложнее.

☝️ Цифровой отпечаток браузера (англ. browser fingerprinting). Сайт собирает технические характеристики вашего браузера и устройства: версию ОС, шрифты, разрешение экрана, часовой пояс, установленные плагины, настройки рендеринга графики. Комбинация этих параметров практически уникальна. Очистка кэша не поможет, инкогнито — тоже.

🧟 Зомби-куки. Методы, позволяющие восстановить файлы куки после удаления. Например, инструмент evercookie восстанавливает их из резервных копий, которые одновременно хранятся в localStorage, IndexedDB, кэше HTTP-заголовков и других местах.

😵‍💫 Evercookie создал исследователь Сэми Камкар в 2010 году — как демонстрацию уязвимости, а не коммерческий инструмент. Но в 2013 году документы Сноудена показали, что АНБ применяло аналогичный принцип для отслеживания пользователей даже через Tor.

Ставьте реакцию:

🔥 — если знали про эти методы отслеживания
👀 — если узнали о них впервые

#япознаюмир
Please open Telegram to view this post
VIEW IN TELEGRAM
👀209🔥53❤7🤩4👾3❤‍🔥2🎉1💘11
Друзья, принесли принесли идею, чтобы посмотреть на выходных. 👀

📺 «Из машины» (2014). Программист Калеб и робот Ава участвуют в эксперименте. Это версия теста Тьюринга: задача машины — доказать программисту, что она может не только принимать входящую информацию, но и осознавать ее смысл и чувствовать. Камерный и атмосферный фильм про искусственный интеллект, сознание и природу человеческого.

📌 В фильме играет Донал Глисон — Билл Уизли из «Гарри Поттера». А еще «Из машины» получил Оскар за лучшие визуальные эффекты!

😶 Оценки: Кинопоиск 7.1, IMDb 7.7, Rotten Tomatoes 92%.

✏️ Смотрите, а в комментариях ставьте оценку по 10-балльной шкале и делитесь отзывами!

#чтопосмотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
❤44🔥13✍7🏆2👏1😁1💯11
Друзья, вы наверняка уже заметили, что Stepik перестал открываться. 😭

👀 Плохие новости: это не частный случай, Stepik недоступен у всех из-за аварийной ситуации на серверах Яндекса.

🙂 Хорошие новости: Stepik уже восстанавливают из резервных копий у другого облачного провайдера. Но на это потребуется время.

📣 Как только работа Stepik восстановится, мы об этом обязательно напишем. А если хотите получать новости о ситуации максимально быстро, подпишитесь на канал Stepik в Telegram.

Ставьте реакцию:

❤️ — если обидно за потерянный страйк
👀 — если у вас и так его не было
Please open Telegram to view this post
VIEW IN TELEGRAM
❤280👀174🤝169😁4😱3👻3✍2👍1🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63👀32❤136👏3🗿3😁2❤‍🔥1
Друзья, продолжаем делиться содержанием планируемого курса по алгоритмам для продвинутых. 😎

📌 Мы уже говорили о комбинаторике. Сегодня рассмотрим простую комбинаторную задачу.

Артуру нужно придумать пароль из 4 цифр. Каждую позицию можно заполнить любой цифрой от 0 до 9. Сколько таких паролей существует?


Решение. Пароль состоит из 4 позиций. На каждую позицию можно поставить любую из 10 цифр. Используя правило умножения, получаем:

10 × 10 × 10 × 10 = 10000

⚠️ Ключевые моменты:

🔹 порядок цифр важен (1234 и 4321 — это разные пароли)
🔹 цифры могут повторяться (1111, 2233 и тому подобное)

➡️ Такие комбинации называются размещениями с повторениями.

👀 А вот если цифры нельзя повторять и каждый символ используется только один раз, мы получаем другой тип задач — размещения без повторений.

⚙️ В курсе «Алгоритмы и структуры данных для продвинутых» мы разберем оба подхода, научимся распознавать тип задачи и применять нужную формулу.

🖥 Подпишитесь на новости о курсе, чтобы не пропустить старт предпродаж и другие детали!

Ставьте реакцию:

❤️ — если изучаете или планируете изучать алгоритмы
👀 — зачем программисту алгоритмы?

#алгоритмыдляпродвинутых #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤86🔥7🤗53👍1🎉1💯1👻1👀1💘1
Please open Telegram to view this post
VIEW IN TELEGRAM
151👍33👨‍💻11✍5😎4❤3😱1😢1👌1
Друзья, в конце весны мы выпустили «Поколение Python: курс для самураев». 🖤

❤️ С выхода курса прошло уже пять месяцев. За это время мы набрали первую 1000 студентов-самураев. А еще благодаря вам внесли в курс множество изменений и улучшений!

Ключевые изменения:

▫️ частично обновили и переработали урок по f-строкам
▫️ обновили и переработали урок по мок-объектам модуля unittest
▫️ добавили новые задачи на программирование в урок по модулю sys
▫️ добавили новый урок по итераторам и генераторам (методы send(), throw() и close())

👀 Кроме того, мы исправили опечатки, добавили примечания, поправили описание функций, привели дополнительные примеры кода и многое другое.

🙂 Надеемся, все эти изменения помогут новым студентам учиться еще легче и эффективнее.

💡 Как вам изменения в курсе? Какие еще обновления хотели бы в нем видеть? Расскажите в комментариях!

Ставьте реакцию:

🔥 — если уже прошли или проходите курс для самураев
❤️ — если купили курс, но пока до него не добрались
👀 — если вам пока не до самураев

#курсдлясамураев
Please open Telegram to view this post
VIEW IN TELEGRAM
👀130❤53🔥3113⚡1
Друзья, принесли вам большое и полезное видео на выходные! 😎

Разработчик CPython Никита Соболев рассказывает:

🔹 про стек современного питониста
🔹 как ИИ изменил обучение
🔹 чем плоха кодогенерация
🔹 и многое другое!

Смотрите и делитесь своими впечатлениями в комментариях!

Ставьте реакцию:

❤️ — если стараетесь смотреть и читать действующих разработчиков
👀 — если пока сосредоточены только на курсах

#чтопосмотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
❤46👀37👍9🤔2👏1👌1
Друзья, а у нас новая задача! 😎

🔠🔠🔠🔠🔠🔠

Десятизначное число, состоящее из различных цифр, назовем последовательным, если в нем все четные цифры стоят в порядке возрастания (то есть 0 левее остальных четных цифр, 2 правее нуля и левее всех остальных четных цифр, …, 8 правее всех четных цифр), а все нечетные цифры стоят в порядке убывания.


❓Какое последовательное число будет наименьшим?

👀 Свои ответы и ход мысли пишите в комментариях под этим постом, не забывая прятать их под скрытым текстом.

🔔 Правильный ответ и разбор задачи опубликуем сегодня после обеда.

Ставьте реакцию:

❤️ — если любите разминать мозги
👀 — если это только напрягает

#задача
Please open Telegram to view this post
VIEW IN TELEGRAM
❤62🔥8👍75👀4❤‍🔥2🤗1
Друзья, давайте разберем задачу про последовательное число! 😉

✔ По условию все четные цифры должны идти в таком порядке:

0 → 2 → 4 → 6 → 8

✔ А все нечетные — в таком:

9 → 7 → 5 → 3 → 1

👀 Нам нужно просто перемешать две эти последовательности, не нарушая порядок внутри каждой из них. При этом мы хотим получить наименьшее десятизначное число.

📌 Первая цифра

Начать с 0 нельзя — тогда число не будет десятизначным. А поставить первой, например, 2 тоже нельзя, потому что по условию ноль должен находиться левее двойки.

Значит, первой цифрой обязана быть нечетная 9.

📌 Последующие цифры

Теперь на каждом шаге смотрим на первые еще не использованные цифры двух последовательностей и выбираем меньшую.

После 9 доступны:

▫четная — 0
▫нечетная — 7

Выбираем 0.

Дальнейшие сравнения:

▫2 и 7 — берем 2
▫4 и 7 — берем 4
▫6 и 7 — берем 6
▫и так далее

Последней доступной цифрой останется 8.

⚠️ Правильный ответ — 9024675318.

Ставьте реакцию:

❤️ — если легко справились с задачей
👀 — если пришлось поломать голову

#разборзадачи
Please open Telegram to view this post
VIEW IN TELEGRAM
❤65👀2616❤‍🔥6👏3🤩3
Друзья, что-то давненько не вспоминали с вами об SQL и базах данных. 😉

📌 В одном из прошлых постов мы рассказывали про обобщенные табличные выражения. Сегодня хотим поговорить об оптимизации запросов с CTE.
 
При выполнении SQL-запросов, включающих CTE, СУБД может использовать одну из двух стратегий:

1⃣ MERGE — СУБД объединяет CTE с основным запросом и выполняет это CTE каждый раз при выполнении основного запроса.

2⃣MATERIALIZE — СУБД выполняет CTE один раз и временно сохраняет полученный результат в оперативной памяти. Такая оптимизация позволяет СУБД сразу обращаться к данным, полученным с помощью CTE, не выполняя соответствующий запрос многократно.

👀 Мы можем сами задать необходимую стратегию, указав один из двух комментариев после оператора SELECT основного запроса перед перечислением извлекаемых полей:

🟡 /*+ MERGE(<имя CTE>) */ — выбор стратегии MERGE
🟡 /*+ NO_MERGE(<имя CTE>) */ — выбор стратегии MATERIALIZE
 
В приведенном ниже запросе используется стратегия MERGE:
WITH CTE AS (…)
SELECT /*+ MERGE(<имя CTE>) */  *
FROM CTE;


В приведенном ниже запросе используется стратегия MATERIALIZE:
WITH CTE AS (…)
SELECT /*+ NO_MERGE(<имя CTE>) */  *
FROM CTE;


⚠️ Если комментарий будет указан не после оператора SELECT основного запроса, а где-либо в другом месте (в том числе после перечисления полей или между ними), соответствующая стратегия автоматически применяться не будет. В этом случае СУБД будет сама определять необходимую стратегию так же, как и в ситуации, если бы комментарий не был указан.

Ставьте реакцию:

🔥 — если знали о существовании этих стратегий
👀 — если узнали о них впервые

#sql #базыданных
Please open Telegram to view this post
VIEW IN TELEGRAM
👀76🔥168❤6👌1💘1
Друзья, а вы знали, что официальная документация Python теперь доступна на русском языке? 😍

🔥 Ознакомиться по ссылке 🔥

О выходе официального перевода сообщил в конце августа Стен Ульбрих в блоге Python Insider.

Что вошло в русскоязычную версию:

✅Руководство, объясняющее основной синтаксис, структуры данных, функции и другие теоретические блоки, необходимые для начального погружения
✅1-3 и 7 главы Справочника по языку Python.

Остальные блоки документации пока недоступны на русском.

👀 Сообщество приглашает новых участников помочь с переводом. Для этого необходимо изучить руководство по переводу в Python Developer's Guide и интерактивную панель (Translation Dashboard).

Ставьте реакцию:

🔥 — если заглядывали в официальную документацию Python
👀 — если пока этого не делали

#python #полезныйматериал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥118👀87❤14🤷‍♂2🤩2🆒2⚡1😍1🗿1😎1
Друзья, поздравляем — Stepik снова в строю! А значит, можно возвращаться к прохождению курсов. 😍

🔥 За время, пока платформа была недоступна, мы получили от вас мощную поддержку и множество сообщений о том, что вы уже не представляете себе жизнь без наших курсов.

❤️ Спасибо всем, кто ждал и дождался! ❤️

❗️ Пока Stepik может работать медленнее обычного, а часть функций могут отключить, чтобы самое важное работало стабильно. На полную мощность платформа планирует выйти на следующей неделе.

👀 Напомним, Stepik (и курсы «Поколения» вместе с ним) стал недоступен после аварийной ситуации на серверах Яндекса 10 октября. Все это время продолжались технические работы: восстановление баз данных и перенос на новые сервера.

Ставьте 💚, чтобы поддержать Stepik и «Поколение»!
Please open Telegram to view this post
VIEW IN TELEGRAM
468❤59🤗9👍6🔥4🎉4❤‍🔥1⚡1😢1👌1💘1
Друзья, а вот и новое слово недели! 😍

📌 Синглтон — это порождающий паттерн проектирования, который гарантирует, что объект некоторого класса существует в единственном экземпляре, и предоставляет глобальную точку доступа к нему.

Возможная реализация синглтона:
class Singleton:
_instance = None

def __new__(cls, *args, **kwargs):
if cls._instance is None:
cls._instance = object.__new__(cls)

return cls._instance


Наличие единственного экземпляра бывает полезно при доступе к какому-либо общему ресурсу (например, к базе данных или кэшу).

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

В Python существует несколько объектов, которые по своей сути являются синглтонами:

🔹константа None
🔹константа True
🔹константа False
🔹константа NotImplemented
🔹литерал ...

Ставьте реакцию:

🔥 — если знали про синглтоны
👀 — если узнали о них впервые

#словонедели
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥106👀1008❤5🤣4🤩2⚡1🆒1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍45🔥13🤩8🤔4👀4❤3👏3🤯2❤‍🔥1🎉1
Друзья, мы продолжаем рассматривать комбинаторные задачи из нашего будущего курса по алгоритмам для продвинутых. 😎

📌 Рассмотрим следующую задачу.

Кемалю нужно расставить 4 разные книги на полке. Сколько существует способов это сделать?


Решение. На первое место можно поставить любую из 4 книг, на второе — любую из 3 оставшихся, затем любую из 2 и на последнее — единственную оставшуюся книгу. Получаем:

4 × 3 × 2 × 1 = 24


🔥 Каждый способ расположить относительно друг друга все элементы некоторого набора — это определенная упорядоченная комбинация, составленная из всех элементов этого набора. Такие комбинации называются перестановками.

✏️ А что если в нашем наборе есть одинаковые элементы, например повторяющиеся буквы в слове? Тогда считать нужно уже по-другому — это будут перестановки с повторениями.

⚙️ В курсе «Алгоритмы и структуры данных для продвинутых» разберем перестановки и научимся решать комбинаторные задачи.

🖥 Подпишитесь на новости о курсе, чтобы не пропустить старт предпродаж и другие детали!

Ставьте реакцию:

❤️ — если уже подписались и ждете выхода курса
👀 — если вам пока не до алгоритмов

#алгоритмыдляпродвинутых #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
👀43❤32🔥6👍1🗿1👾1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥12👾9🎅5👨‍💻4⚡2❤1❤‍🔥1👌1💘1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤37👍15❤‍🔥7👀6🔥1👏1🤩1💯1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥47🤯17❤‍🔥12❤8🤩4💯3
Друзья, сейчас Stepik работает в стандартном режиме! Надеемся, что вы уже вернулись к прохождению курсов. 😎

🤑 В честь этого события дарим скидки до 5000 рублей на курсы и пакеты курсов «Поколения». Они применятся автоматически при покупке курсов на нашем сайте до 10 ноября включительно.

🔔 Напоминаем, что наши курсы доступны бессрочно. Можно купить их сейчас по выгодной цене, а пройти — в любое удобное для вас время.

👉 КУПИТЬ КУРСЫ 👈

👀 Если вам нужен нестандартный пакет, который не представлен на нашем сайте, напишите нам на @pygen_ru_support. Мы обязательно поможем!

Ставьте ❤️ посту, если тоже рады возвращению Stepik!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤83🔥11❤‍🔥5👀4👏2