Python 3.8 вышел в 2019 году, но до сих пор его используют большое количество людей. Так, в сентябре 2024 года около 14% пакетов, скачанных с PyPI, были предназначены для этой версии языка
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 приемов для создания надежного кода
От рекурсивных псевдонимов типов до дискриминированных объединений — эти приемы помогут вам писать более эффективный и безопасный код. Здесь разберем основные моменты, а полностью читайте в статье:
☑️ Интерполяция строковых литералов: позволяет динамически создавать новые типы строковых литералов на основе существующих типов.
☑️ Брендирование: позволяет создавать уникальные идентификаторы для предотвращения смешивания типов, даже если они принадлежат к одному и тому же типу данных.
☑️ Условные типы: позволяют извлекать информацию о типах из сложных структур с помощью ключевого слова
☑️ Шаблонные литералы — комбинация литеральных типов и операторов для манипуляций со строками, которая позволяет создавать мощные ограничения типов на уровне строк.
☑️ Рекурсивные псевдонимы типов (алиасы): позволяют определять типы, которые ссылаются на самих себя.
☑️ Вариативные типы (TypeScript 4.0+): позволяют более гибко манипулировать кортежами.
☑️ Переименование ключей с помощью
☑️ Константные утверждения в TypeScript: позволяют создавать более конкретные литеральные типы из массивов и объектов.
☑️ Дискриминированные объединения: позволяют создавать типы, которые могут представлять несколько различных вариантов объекта.
☑️ Фильтрация ключей по типам значений: типы ключ-значение можно комбинировать с условными — для фильтрации по типам значений.
☑️ Создание типобезопасных эмиттеров событий с помощью дженериков: типобезопасные эмиттеры событий могут существенно улучшить надежность кода, основанного на событиях.
☑️ Самоссылающиеся типы: позволяют создавать сложные, вложенные структуры данных, сохраняя при этом типобезопасность.
☑️ Непрозрачные типы с использованием
☑️ Последовательности целых чисел на уровне типов: подход, который позволяет создавать более точные типы для операций с массивами, обеспечивая проверку длины массива на этапе компиляции.
☑️ Типобезопасный DeepPartial с использованием рекурсивных условных типов: позволяет работать с частичными данными сложных объектов безопасным способом.
От рекурсивных псевдонимов типов до дискриминированных объединений — эти приемы помогут вам писать более эффективный и безопасный код. Здесь разберем основные моменты, а полностью читайте в статье:
☑️ Интерполяция строковых литералов: позволяет динамически создавать новые типы строковых литералов на основе существующих типов.
☑️ Брендирование: позволяет создавать уникальные идентификаторы для предотвращения смешивания типов, даже если они принадлежат к одному и тому же типу данных.
☑️ Условные типы: позволяют извлекать информацию о типах из сложных структур с помощью ключевого слова
infer
.☑️ Шаблонные литералы — комбинация литеральных типов и операторов для манипуляций со строками, которая позволяет создавать мощные ограничения типов на уровне строк.
☑️ Рекурсивные псевдонимы типов (алиасы): позволяют определять типы, которые ссылаются на самих себя.
☑️ Вариативные типы (TypeScript 4.0+): позволяют более гибко манипулировать кортежами.
☑️ Переименование ключей с помощью
as
: при работе с объектами типа ключ-значения можно использовать as
для переименования ключей — это позволяет создавать производные типы с измененными именами свойств.☑️ Константные утверждения в TypeScript: позволяют создавать более конкретные литеральные типы из массивов и объектов.
☑️ Дискриминированные объединения: позволяют создавать типы, которые могут представлять несколько различных вариантов объекта.
☑️ Фильтрация ключей по типам значений: типы ключ-значение можно комбинировать с условными — для фильтрации по типам значений.
☑️ Создание типобезопасных эмиттеров событий с помощью дженериков: типобезопасные эмиттеры событий могут существенно улучшить надежность кода, основанного на событиях.
☑️ Самоссылающиеся типы: позволяют создавать сложные, вложенные структуры данных, сохраняя при этом типобезопасность.
☑️ Непрозрачные типы с использованием
unique symbol
: позволяют создавать типы, которые структурно похожи, но рассматриваются типовой системой как разные. ☑️ Последовательности целых чисел на уровне типов: подход, который позволяет создавать более точные типы для операций с массивами, обеспечивая проверку длины массива на этапе компиляции.
☑️ Типобезопасный DeepPartial с использованием рекурсивных условных типов: позволяет работать с частичными данными сложных объектов безопасным способом.
❤7👍1
✨Мы хотим провести большой розыгрыш и подарить победителю смартфон на выбор. Помимо iPhone, предлагаем вам выбрать, какой ещё смартфон вы бы хотели видеть среди призов👇
❤7👍3
Какой смартфон вам по душе:
Anonymous Poll
11%
OnePlus Open 5G
3%
OPPO Find N3
53%
Samsung Galaxy S24 Ultra на 1ТБ
28%
Xiaomi 14 Ultra 512 ГБ
6%
Vivo X100 Ultra
14%
Свой вариант (напишу в комментариях)
👍6🥱4👾4❤3
❗Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов
Подробности тут
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Ждем ваших откликов 👾
🔥3
Forwarded from Proglib.academy | IT-курсы
🌐 Преимущества и недостатки работы в ИТ-аутсорсинговой компании
В этой статье мы разберемся, какие плюсы и минусы предполагает в себе работа в аутсорсинговой компании. Вы узнаете, чем привлекательна работа в этой сфере, с какими трудностями вам придется столкнуться и как сделать правильный выбор, чтобы аутсорсинг стал не ловушкой, а трамплином к успеху.
Получите основу для дальнейшего изучения более сложных нейронных сетей:
🔵 Базовые модели ML и приложения
🔗 Ссылка на статью
В этой статье мы разберемся, какие плюсы и минусы предполагает в себе работа в аутсорсинговой компании. Вы узнаете, чем привлекательна работа в этой сфере, с какими трудностями вам придется столкнуться и как сделать правильный выбор, чтобы аутсорсинг стал не ловушкой, а трамплином к успеху.
Получите основу для дальнейшего изучения более сложных нейронных сетей:
🔗 Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
🐍⚙️ 10 способов оптимизации Python-кода
Python ценят за простоту, гибкость и читаемость, но критикуют за невысокую производительность. Эта критика не всегда обоснована: есть несколько эффективных способов значительно повысить скорость Python-приложений, предназначенных для выполнения сложных вычислений и обработки больших объёмов данных.
Об этих способах читайте в нашей статье 👈
Python ценят за простоту, гибкость и читаемость, но критикуют за невысокую производительность. Эта критика не всегда обоснована: есть несколько эффективных способов значительно повысить скорость Python-приложений, предназначенных для выполнения сложных вычислений и обработки больших объёмов данных.
Об этих способах читайте в нашей статье 👈
🔥6👍1👏1
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
📊🚀💡Power BI: когда Excel уже не справляется
Представьте, что все ключевые показатели вашего бизнеса доступны в один клик. Мы расскажем, как BI-инструменты делают это реальностью и почему без них уже не обойтись.
👉 Читать статью
Представьте, что все ключевые показатели вашего бизнеса доступны в один клик. Мы расскажем, как 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, включающих генераторы кода, библиотеки, коллекции готовых решений и ИИ-помощники, которые значительно упрощают и ускоряют процесс веб-разработки для специалистов разного уровня подготовки.
🔗 Читать статью
🔗 Зеркало
11 полезных инструментов для работы с CSS, включающих генераторы кода, библиотеки, коллекции готовых решений и ИИ-помощники, которые значительно упрощают и ускоряют процесс веб-разработки для специалистов разного уровня подготовки.
🔗 Читать статью
🔗 Зеркало
👍12🎉5
Media is too big
VIEW IN TELEGRAM
В новом видео ArjanCodes перечислены некоторые особенности языка, которые могут показаться неожиданными. Например:
🧮 Кэширование целых чисел
Python кэширует целые числа от -5 до 256 для повышения производительности, что может привести к неожиданным результатам при сравнении объектов.
📝 Изменяемые аргументы по умолчанию
Использование изменяемых объектов, таких как списки, в качестве аргументов по умолчанию может привести к неожиданному поведению, так как они могут изменяться между вызовами функции.
🔒 Странности неизменяемых объектов
Изменяемые объекты могут быть частью, например, кортежей, что способно привести к путанице.
🔄 Булевы значения и целые числа
Булевы значения в Python являются подклассами целых чисел, что позволяет использовать их в арифметических операциях.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤5
3️⃣0️⃣ дней Python
Это пошаговый гайд по изучению Python в GitHub-репозитории. Несмотря на название, авторы предупреждают, что его прохождение может занять и более 100 дней (но можно всё-таки постараться уложиться в 30).
Вот некоторые темы, которые охватывает гайд:
▪️модули;
▪️типы ошибок в Python;
▪️PIP;
▪️веб-скрэпинг;
▪️создание API.
🔗 Ссылка на репозиторий
Это пошаговый гайд по изучению Python в GitHub-репозитории. Несмотря на название, авторы предупреждают, что его прохождение может занять и более 100 дней (но можно всё-таки постараться уложиться в 30).
Вот некоторые темы, которые охватывает гайд:
▪️модули;
▪️типы ошибок в Python;
▪️PIP;
▪️веб-скрэпинг;
▪️создание API.
🔗 Ссылка на репозиторий
❤19👍6
🐍 Всякий раз, когда тебе покажется, что ты засиделся с Питоном, вспоминай, что кто-то в мире тоже засиделся с питоном, но по-другому...🐍
Здесь можно посмотреть видео
Здесь можно посмотреть видео
😁17❤3👍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
Мы написали и собрали для вас в одну подборку все 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🔥9❤7
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🏗 3 основных шаблона событийно-ориентированной архитектуры
Знание данных шаблонов позволяет:
✔️ Создавать слабосвязанные системы, в которых сбой одного компонента не приводит к полному отказу всей системы, а составные части приложения легче масштабировать и модифицировать.
✔️ Эффективно управлять асинхронными операциями и обрабатывать непредсказуемые события в системе.
✔️ Разрабатывать отзывчивые и эффективные приложения, обрабатывающие данные в реальном времени.
✔️ Создавать высоконагруженные системы, в которых требуется быстрая реакция на события.
✔️ Эффективно использовать современные технологии, например потоковую обработку данных и бессерверные вычисления.
1️⃣ Шаблон конкурирующих потребителей используется для эффективного распределения большого количества асинхронных сообщений между несколькими потребителями. Ключевой момент в этом шаблоне — необходимость обработки каждого сообщения только одним потребителем. Разные инструменты и платформы решают эту задачу по-своему:
2️⃣ Шаблон повторных попыток сообщений используется для обработки ошибок при работе с очередями сообщений. Этот шаблон позволяет создать надежную систему обработки транзакций, способную справляться с временными сбоями и обеспечивающую контролируемый процесс для работы с проблемными транзакциями, например, при обработке платежей.
3️⃣ Шаблон асинхронного запроса-ответа позволяет создавать масштабируемые и устойчивые к сбоям системы, где сервисы могут взаимодействовать асинхронно, не блокируя друг друга и сохраняя способность корректно обрабатывать ответы даже при изменении состояния системы между запросом и ответом.
👉 Подробнее читайте в нашей статье
👉 Зеркало
Знание данных шаблонов позволяет:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Правила, описывающие работу циклов 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
👍19❤4
👀 Requests vs. HTTPX vs. AIOHTTP
В таблице выше приведён быстрый обзор трёх библиотек для работы с HTTP-запросами👆
Более подробный обзор можно прочесть здесь 👈
Если резюмировать, то автор даёт следующие рекомендации по использованию этих библиотек:
▪️для простых скриптов и проектов подойдёт Requests;
▪️для высокопроизводительных asyncio-приложений лучше выбирать AIOHTTP;
▪️если вам нужна гибкость использования как синхронного, так и асинхронного кода, выбирайте HTTPX.
В таблице выше приведён быстрый обзор трёх библиотек для работы с HTTP-запросами👆
Более подробный обзор можно прочесть здесь 👈
Если резюмировать, то автор даёт следующие рекомендации по использованию этих библиотек:
▪️для простых скриптов и проектов подойдёт Requests;
▪️для высокопроизводительных asyncio-приложений лучше выбирать AIOHTTP;
▪️если вам нужна гибкость использования как синхронного, так и асинхронного кода, выбирайте HTTPX.
👍16❤6
Forwarded from Proglib.academy | IT-курсы
👨🎓📈 Как выбрать специализацию и начать обучение Data Science
Рассказываем об этапах обучения, которые необходимо пройти новичку для начала карьеры в Data Science. Путь от выбора специализации до выработки практических навыков будет непростым.
Наш курс по математике для начала карьеры в Data Science:
🔵 Математика для Data Science
🔵 Основы программирования на Python
📎 Читать статью
Рассказываем об этапах обучения, которые необходимо пройти новичку для начала карьеры в Data Science. Путь от выбора специализации до выработки практических навыков будет непростым.
Наш курс по математике для начала карьеры в Data Science:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Media is too big
VIEW IN TELEGRAM
Это новый ролик в серии «Лучшего курса по Python». Автор рассказывает о темах максимально подробно, не пугаясь лезть во внутренности языка. Вот как он сам описывает материал:
Под катом куча кишков питона и видео на 46 минут с дополнительными кишками питона (ни один настоящий питон не пострадал при написании данной статьи).
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍6😢1