Telegram Web
Перестаньте использовать Python 3.8

Python 3.8 вышел в 2019 году, но до сих пор его используют большое количество людей. Так, в сентябре 2024 года около 14% пакетов, скачанных с PyPI, были предназначены для этой версии языка (сюда, конечно, входят автоматические загрузки через CI).

👉 В новой статье автор перечисляет причины, по которым стоит наконец обновиться.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🥱4🔥3🤔2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Продвинутый TypeScript: 15 приемов для создания надежного кода

От рекурсивных псевдонимов типов до дискриминированных объединений — эти приемы помогут вам писать более эффективный и безопасный код. Здесь разберем основные моменты, а полностью читайте в статье:

☑️ Интерполяция строковых литералов: позволяет динамически создавать новые типы строковых литералов на основе существующих типов.
☑️ Брендирование: позволяет создавать уникальные идентификаторы для предотвращения смешивания типов, даже если они принадлежат к одному и тому же типу данных.
☑️ Условные типы: позволяют извлекать информацию о типах из сложных структур с помощью ключевого слова infer.
☑️ Шаблонные литералы — комбинация литеральных типов и операторов для манипуляций со строками, которая позволяет создавать мощные ограничения типов на уровне строк.
☑️ Рекурсивные псевдонимы типов (алиасы): позволяют определять типы, которые ссылаются на самих себя.
☑️ Вариативные типы (TypeScript 4.0+): позволяют более гибко манипулировать кортежами.
☑️ Переименование ключей с помощью as: при работе с объектами типа ключ-значения можно использовать as для переименования ключей — это позволяет создавать производные типы с измененными именами свойств.
☑️ Константные утверждения в TypeScript: позволяют создавать более конкретные литеральные типы из массивов и объектов.
☑️ Дискриминированные объединения: позволяют создавать типы, которые могут представлять несколько различных вариантов объекта.
☑️ Фильтрация ключей по типам значений: типы ключ-значение можно комбинировать с условными — для фильтрации по типам значений.
☑️ Создание типобезопасных эмиттеров событий с помощью дженериков: типобезопасные эмиттеры событий могут существенно улучшить надежность кода, основанного на событиях.
☑️ Самоссылающиеся типы: позволяют создавать сложные, вложенные структуры данных, сохраняя при этом типобезопасность.
☑️ Непрозрачные типы с использованием unique symbol: позволяют создавать типы, которые структурно похожи, но рассматриваются типовой системой как разные.
☑️ Последовательности целых чисел на уровне типов: подход, который позволяет создавать более точные типы для операций с массивами, обеспечивая проверку длины массива на этапе компиляции.
☑️ Типобезопасный DeepPartial с использованием рекурсивных условных типов: позволяет работать с частичными данными сложных объектов безопасным способом.
7👍1
Мы хотим провести большой розыгрыш и подарить победителю смартфон на выбор. Помимо iPhone, предлагаем вам выбрать, какой ещё смартфон вы бы хотели видеть среди призов👇
7👍3
Вакансии «Библиотеки программиста» — ждем вас в команде!

Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
🔥3
🌐 Преимущества и недостатки работы в ИТ-аутсорсинговой компании

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

Получите основу для дальнейшего изучения более сложных нейронных сетей:
🔵 Базовые модели ML и приложения

🔗 Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
🐍⚙️ 10 способов оптимизации Python-кода

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

Об этих способах читайте в нашей статье 👈
🔥6👍1👏1
📊🚀💡Power BI: когда Excel уже не справляется

Представьте, что все ключевые показатели вашего бизнеса доступны в один клик. Мы расскажем, как BI-инструменты делают это реальностью и почему без них уже не обойтись.

👉 Читать статью
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Когда джун пытается помочь пофиксить крит в проде 🔥👀
😁47👍5
Как вы считаете, Python действительно проще освоить новичку, чем другие языки программирования?
Anonymous Poll
69%
Да
13%
Нет
19%
Не всё так однозначно (отпишусь в комментариях)
😁6
🎨 11 полезных инструментов для работы с CSS

11 полезных инструментов для работы с CSS, включающих генераторы кода, библиотеки, коллекции готовых решений и ИИ-помощники, которые значительно упрощают и ускоряют процесс веб-разработки для специалистов разного уровня подготовки.

🔗 Читать статью
🔗 Зеркало
👍12🎉5
Media is too big
VIEW IN TELEGRAM
🐍13 странностей Python, которые могут удивить новичков

В новом видео ArjanCodes перечислены некоторые особенности языка, которые могут показаться неожиданными. Например:

🧮 Кэширование целых чисел
Python кэширует целые числа от -5 до 256 для повышения производительности, что может привести к неожиданным результатам при сравнении объектов.

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

🔒 Странности неизменяемых объектов
Изменяемые объекты могут быть частью, например, кортежей, что способно привести к путанице.

🔄 Булевы значения и целые числа
Булевы значения в Python являются подклассами целых чисел, что позволяет использовать их в арифметических операциях.

🔗 Смотреть ролик на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85
3️⃣0️⃣ дней Python

Это пошаговый гайд по изучению Python в GitHub-репозитории. Несмотря на название, авторы предупреждают, что его прохождение может занять и более 100 дней (но можно всё-таки постараться уложиться в 30).

Вот некоторые темы, которые охватывает гайд:
▪️модули;
▪️типы ошибок в Python;
▪️PIP;
▪️веб-скрэпинг;
▪️создание API.

🔗 Ссылка на репозиторий
19👍6
🐍 Всякий раз, когда тебе покажется, что ты засиделся с Питоном, вспоминай, что кто-то в мире тоже засиделся с питоном, но по-другому...🐍

Здесь можно посмотреть видео
😁173👍2
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»

Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!

🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
👍24🔥97
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🏗 3 основных шаблона событийно-ориентированной архитектуры

Знание данных шаблонов позволяет:

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

1️⃣ Шаблон конкурирующих потребителей используется для эффективного распределения большого количества асинхронных сообщений между несколькими потребителями. Ключевой момент в этом шаблоне — необходимость обработки каждого сообщения только одним потребителем. Разные инструменты и платформы решают эту задачу по-своему:
2️⃣ Шаблон повторных попыток сообщений используется для обработки ошибок при работе с очередями сообщений. Этот шаблон позволяет создать надежную систему обработки транзакций, способную справляться с временными сбоями и обеспечивающую контролируемый процесс для работы с проблемными транзакциями, например, при обработке платежей.
3️⃣ Шаблон асинхронного запроса-ответа позволяет создавать масштабируемые и устойчивые к сбоям системы, где сервисы могут взаимодействовать асинхронно, не блокируя друг друга и сохраняя способность корректно обрабатывать ответы даже при изменении состояния системы между запросом и ответом.

👉 Подробнее читайте в нашей статье
👉 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🖥 Циклы for в Python работают иначе, чем во многих других языках программирования

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

def print_each(iterable):
iterator = iter(iterable)
while True:
try:
item = next(iterator)
except StopIteration:
break
else:
print(item)


Код выше эквивалентен следующему циклу:
def print_each(iterable):
for item in iterable:
print(item)


#основы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍194
👀 Requests vs. HTTPX vs. AIOHTTP

В таблице выше приведён быстрый обзор трёх библиотек для работы с HTTP-запросами👆

Более подробный обзор можно прочесть здесь 👈

Если резюмировать, то автор даёт следующие рекомендации по использованию этих библиотек:

▪️для простых скриптов и проектов подойдёт Requests;
▪️для высокопроизводительных asyncio-приложений лучше выбирать AIOHTTP;
▪️если вам нужна гибкость использования как синхронного, так и асинхронного кода, выбирайте HTTPX.
👍166
👨‍🎓📈 Как выбрать специализацию и начать обучение Data Science

Рассказываем об этапах обучения, которые необходимо пройти новичку для начала карьеры в Data Science. Путь от выбора специализации до выработки практических навыков будет непростым.

Наш курс по математике для начала карьеры в Data Science:
🔵 Математика для Data Science
🔵 Основы программирования на Python

📎 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Media is too big
VIEW IN TELEGRAM
🐍 Python: как переменные работают на самом деле? Погружаемся в байткод и C

Это новый ролик в серии «Лучшего курса по Python». Автор рассказывает о темах максимально подробно, не пугаясь лезть во внутренности языка. Вот как он сам описывает материал:

Под катом куча кишков питона и видео на 46 минут с дополнительными кишками питона (ни один настоящий питон не пострадал при написании данной статьи).


🔗 Читать статью по ролику
🔗 Смотреть ролик на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍6😢1
2025/07/14 21:40:44
Back to Top
HTML Embed Code: