Полезная находка «Project Euler» спортзал для мозга
Project Euler считается одним из культовых ресурсов для развития алгоритмического мышления: задачи там устроены так, что brute force обычно не помогает — нужно искать математические закономерности, оптимизации и изящные решения
Многие программисты используют его как «тренажёр» для ума и как способ познакомиться с новыми приёмами в математике, теории чисел и алгоритмах💪
☝️ Ссылка источник
@Terminal_tg
Project Euler считается одним из культовых ресурсов для развития алгоритмического мышления: задачи там устроены так, что brute force обычно не помогает — нужно искать математические закономерности, оптимизации и изящные решения
Многие программисты используют его как «тренажёр» для ума и как способ познакомиться с новыми приёмами в математике, теории чисел и алгоритмах
@Terminal_tg
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1
Явная ошибка в Python: использование изменяемого аргумента по умолчанию
Не используйте изменяемые объекты в качестве значений по умолчанию. В Python значения аргументов по умолчанию вычисляются один раз при определении функции, а не при каждом её вызове
Если у вас есть аргумент вроде items=[], этот список будет общим для всех вызовов функции, и вы получите накапливающееся состояние, которого не ожидали:
Лучший способ использовать неизменяемый объект в качестве значения по умолчанию. Тогда при каждом вызове будет создаваться новый список:
Значения по умолчанию вычисляются при определении функции, а не при её вызове. Если есть сомнения используйте None и создавайте изменяемый объект внутри функции👑
✈️ Python Ninja
Не используйте изменяемые объекты в качестве значений по умолчанию. В Python значения аргументов по умолчанию вычисляются один раз при определении функции, а не при каждом её вызове
Если у вас есть аргумент вроде items=[], этот список будет общим для всех вызовов функции, и вы получите накапливающееся состояние, которого не ожидали:
# Изменяемый аргумент по умолчанию
def add_item(item, my_list=[]):
my_list.append(item)
return my_list
print(add_item(1)) # [1]
print(add_item(2)) # [1, 2]
print(add_item(3)) # [1, 2, 3]
Лучший способ использовать неизменяемый объект в качестве значения по умолчанию. Тогда при каждом вызове будет создаваться новый список:
from typing import Optional, List
def add_item(item: int, my_list: Optional[List[int]] = None) -> List[int]:
if my_list is None:
my_list = []
my_list.append(item)
return my_list
Значения по умолчанию вычисляются при определении функции, а не при её вызове. Если есть сомнения используйте None и создавайте изменяемый объект внутри функции
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Шпаргалка по проектированию веб систем System Design 101
Подробное руководство по архитектуре веб‑сервисов, которое обязательно стоит сохранить. Это перевод статьи от ByteByteGo опубликованный на Хабре
Сохраняем за лайк❤️
☝️ Ссылка источник
✈ Python Ninja
Подробное руководство по архитектуре веб‑сервисов, которое обязательно стоит сохранить. Это перевод статьи от ByteByteGo опубликованный на Хабре
Сохраняем за лайк
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Наткнулся на интересную игрушку The Farmer Was Replaced
Симпатичная инди-игра где вы программируете дрон, чтобы он вел фермерское хозяйство. Код пишется на языке, похожем на Python, а геймплей превращает обучение программированию в увлекательную задачу по автоматизации фермы
Простая идея масса удовольствия и пользы😊
☝ Ссылка источник
✈ Python Ninja
Симпатичная инди-игра где вы программируете дрон, чтобы он вел фермерское хозяйство. Код пишется на языке, похожем на Python, а геймплей превращает обучение программированию в увлекательную задачу по автоматизации фермы
Простая идея масса удовольствия и пользы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Лучший способ увидеть как на самом деле работает ML «Drawdata»
Используйте Drawdata, чтобы прямо в Jupyter нарисовать 2D-датасет, выбирать точки через виджет и наблюдать, как модель обновляется по мере добавления данных
Полностью интерактивно, в реальном времени и open-source🥇
☝ Ссылка источник
✈ Python Ninja
Используйте Drawdata, чтобы прямо в Jupyter нарисовать 2D-датасет, выбирать точки через виджет и наблюдать, как модель обновляется по мере добавления данных
Полностью интерактивно, в реальном времени и open-source
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Media is too big
VIEW IN TELEGRAM
Принёс инструмент для абсолютной лени и максимальной пользы
Автоматизировать скучные задачи можно! С этим репозиторием Python + Streamlit ты можешь скачивать видео, убирать фон с картинок, создавать аудиокниги из PDF и даже проверять код на ошибки одним кликом
Лень теперь официально оправдана🍺
☝️ Ссылка источник
✈️ Python Ninja
Автоматизировать скучные задачи можно! С этим репозиторием Python + Streamlit ты можешь скачивать видео, убирать фон с картинок, создавать аудиокниги из PDF и даже проверять код на ошибки одним кликом
Лень теперь официально оправдана
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Сетевые команды Windows: Краткий справочник
Держите список самых полезных команд для диагностики и управления сетью в операционной системе Windows🏴☠️
✈ Python Ninja
Держите список самых полезных команд для диагностики и управления сетью в операционной системе Windows
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Держите ещё одну сокровищницу для новичков «Coddy Journeys»
Бесплатная онлайн платформа где вы осваиваете программирование, проходя интерактивные маршруты и решаете задачи прямо в браузере
Учёба превращается в игру, шаг за шагом к своим первым успехам в IT❤️
☝️ Ссылка источник
✈ Python Ninja
Бесплатная онлайн платформа где вы осваиваете программирование, проходя интерактивные маршруты и решаете задачи прямо в браузере
Учёба превращается в игру, шаг за шагом к своим первым успехам в IT
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Ловите подгон «Exercism» образовательная онлайн платформа ориентированная на практику
Более 7000 упражнений на 75 различных ЯП. Каждый язык представлен целой дорожкой с задачами, которые помогут разобраться во всех тонкостях шаг за шагом
Отличное место чтобы подтянуть навыки или попробовать новый язык😎
☝️ Ссылка источник
✈ Python Ninja
Более 7000 упражнений на 75 различных ЯП. Каждый язык представлен целой дорожкой с задачами, которые помогут разобраться во всех тонкостях шаг за шагом
Отличное место чтобы подтянуть навыки или попробовать новый язык
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Принес полезное «GitHowTo» — руководство по Git на русском языке
Если ты только начинаешь разбираться с Git и не знаешь, с чего начать — загляни на «GitHowTo». Это простой и понятный сайт, где тебе всё покажут и объяснят — прямо по шагам, с примерами
Сделай первый шаг — знания уже ждут❤️
☝️ Ссылка источник
✈️ Python Ninja
Если ты только начинаешь разбираться с Git и не знаешь, с чего начать — загляни на «GitHowTo». Это простой и понятный сайт, где тебе всё покажут и объяснят — прямо по шагам, с примерами
Сделай первый шаг — знания уже ждут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Lambda не просто однострочник
Часто пишут так:
Но lambda позволяет держать логику прямо там, где она нужна:
📌 Не нужно прыгать по коду туда-сюда — вся логика сортировки в одном месте
✈ Python Ninja
Часто пишут так:
def get_name(user):
return user['name']
# где-то через 100–200 строк...
users.sort(key=get_name)
Но lambda позволяет держать логику прямо там, где она нужна:
users.sort(key=lambda user: user['name'])
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Интерсное чтиво: Создайте библиотеку на Python с расширением на C++
Попался интересный и позновательный гайд где рассказывают, как собрать Python библиотеку с нативным C++ расширением. Суть простая: пишешь удобный API на Python, а тяжёлую логику выносишь в C++ и получаешь заметный буст в производительности
Там же здесь есть другие полезные туториалы по современному Python tooling можно надолго залипнуть💻
☝️ Ссылка источник
✈️ Python Ninja
Попался интересный и позновательный гайд где рассказывают, как собрать Python библиотеку с нативным C++ расширением. Суть простая: пишешь удобный API на Python, а тяжёлую логику выносишь в C++ и получаешь заметный буст в производительности
Там же здесь есть другие полезные туториалы по современному Python tooling можно надолго залипнуть
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2