Forwarded from PythonTalk
JetBrains наконец-то опубликовали результаты своего большого ежегодного опроса 👏🏻
В этот раз интересной инфы как-то меньше.
▫️Python по прежнему на втором месте по популярности после JS (у JetBrains так всегда). Но популярность Python при этом растёт, а у JS в динамике падает.
▫️Чаще всего Python применяют для интеграций с апишками, автоматизации внутренней логики, обработки данных и AI. А меньше всего для графики и блокчейна.
▫️49% разработчиков используют ChatGPT, 26% GitHub Copilot. Остальные инструменты сильно отстают.
🍩 Поддержать канал 🫶
В этот раз интересной инфы как-то меньше.
▫️Python по прежнему на втором месте по популярности после JS (у JetBrains так всегда). Но популярность Python при этом растёт, а у JS в динамике падает.
▫️Чаще всего Python применяют для интеграций с апишками, автоматизации внутренней логики, обработки данных и AI. А меньше всего для графики и блокчейна.
▫️49% разработчиков используют ChatGPT, 26% GitHub Copilot. Остальные инструменты сильно отстают.
🍩 Поддержать канал 🫶
Forwarded from Артём Шумейко
Грустная правда о чистом коде и чистой архитектуре
Любители Боба Мартина, вам лучше не читать этот пост🙃
В начале осени я набрал группу на личное менторство, чтобы помочь ребятам устроиться на первую работу Python Backend разработчиком или вырасти в зарплате и грейде (jun -> middle, middle -> senior). Многие уже устроились, и я консультирую их на испытательном сроке, делясь опытом, направляя ход мысли и подсказывая, как лучше выстроить процесс работы над фичей.
Соответственно, я вижу, как выглядит реальный production код обычных российских IT компаний. И я не удивлен.. Всего 20% проектов написаны качественно: с применением SOLID, DRY, разбиением на слои, логированием и др.. Остальные 80% проектов это что-то с чем-то...
➖ В коде в открытом виде хранятся секреты для доступа к базам данных
➖ Присутствуют грубые нарушения DRY, когда одни и те же участки кода размером 30+ строк гуляют между разными модулями
➖ Напрочь отсутствует логирование и лишь изредка присутствуют print'ы, в том числе с распечаткой секретов
➖ Отсутствует разбиение приложения на слои
➖ Отсутствуют кастомные исключения для каждого слоя вплоть до того, что юзер может получить исключение с информацией от SQLAlchemy
Причем всё это — довольно большие проекты с 50-150К+ строками кода, в продакшене... Никакими DDD и чистой архитектурой не пахнет. Поэтому, кстати, о них так редко спрашивают на собеседованиях.
Вывод простой: учите базу языка, фреймворка и базы данных + SQL. Этого достаточно, чтобы хорошо показать себя на собеседовании.
Артём Шумейко
Любители Боба Мартина, вам лучше не читать этот пост
В начале осени я набрал группу на личное менторство, чтобы помочь ребятам устроиться на первую работу Python Backend разработчиком или вырасти в зарплате и грейде (jun -> middle, middle -> senior). Многие уже устроились, и я консультирую их на испытательном сроке, делясь опытом, направляя ход мысли и подсказывая, как лучше выстроить процесс работы над фичей.
Соответственно, я вижу, как выглядит реальный production код обычных российских IT компаний. И я не удивлен.. Всего 20% проектов написаны качественно: с применением SOLID, DRY, разбиением на слои, логированием и др.. Остальные 80% проектов это что-то с чем-то...
Причем всё это — довольно большие проекты с 50-150К+ строками кода, в продакшене... Никакими DDD и чистой архитектурой не пахнет. Поэтому, кстати, о них так редко спрашивают на собеседованиях.
Вывод простой: учите базу языка, фреймворка и базы данных + SQL. Этого достаточно, чтобы хорошо показать себя на собеседовании.
Артём Шумейко
Please open Telegram to view this post
VIEW IN TELEGRAM
OpenAI анонсировала модель o3
Достижения в тестах
Рейтинг 2700+ на CodeForces
Модель достигла уровня топовых программистов, показав способность решать сложные алгоритмические задачи. CodeForces — это одна из самых известных платформ для соревнований по программированию, где подобный рейтинг позволяет войти в элиту мировых программистов.
Судя по бенчмаркам, эта модель может кодить на уровне сеньора.
Достижения в тестах
Рейтинг 2700+ на CodeForces
Модель достигла уровня топовых программистов, показав способность решать сложные алгоритмические задачи. CodeForces — это одна из самых известных платформ для соревнований по программированию, где подобный рейтинг позволяет войти в элиту мировых программистов.
Судя по бенчмаркам, эта модель может кодить на уровне сеньора.
Forwarded from Анатомия нейросетей
OpenAI анонсировала модель o3
Достижения в тестах
Рейтинг 2700+ на CodeForces
Модель достигла уровня топовых программистов, показав способность решать сложные алгоритмические задачи. CodeForces — это одна из самых известных платформ для соревнований по программированию, где подобный рейтинг позволяет войти в элиту мировых программистов.
Судя по бенчмаркам, эта модель может кодить на уровне сеньора.
96,7% точности на математическом тесте AIME 2024
AIME (American Invitational Mathematics Examination) — это математическая олимпиада, известная своей сложностью. Данный результат близок к идеальному, что демонстрирует выдающиеся способности модели в решении задач высокого уровня.
87,7% на вопросах уровня PhD GPQA Diamond
Модель успешно отвечает на вопросы, требующие глубокой теоретической подготовки, эквивалентной докторантуре. Этот результат отражает сильную компетенцию в генерации точных и сложных ответов.
71,7% на SWE-bench (тестирование в области программной инженерии)
SWE-bench — это тестовый набор задач для оценки уровня профессиональных знаний в программной инженерии. Модель превосходит большинство участников с реальным опытом работы в индустрии, демонстрируя понимание архитектуры программного обеспечения, алгоритмов и структур данных.
25,2% на сверхсложном EpochAI Frontier Math (рост с 2%)
EpochAI Frontier Math — это тест для оценки ИИ на сложнейших задачах, выходящих за рамки стандартных математических навыков. Прогресс модели с 2% до 25,2% подчеркивает значительное улучшение в решении задач, которые традиционно считались трудными даже для ИИ.
Прорыв в логическом мышлении
87,5% на закрытой оценке ARC-AGI
ARC-AGI (Abstraction and Reasoning Corpus for AGI) — это один из самых строгих и закрытых тестов, предназначенных для оценки уровня абстрактного мышления и способности к рассуждениям. Высокий результат свидетельствует о том, что модель способна решать задачи с минимальными данными и без прямого обучения на них.
Улучшение производительности в 3 раза по сравнению с моделью o1
Новая архитектура и оптимизация позволили достичь тройного прироста производительности, делая модель более эффективной в решении разнообразных задач.
Подтвержденная эффективность на совершенно новых задачах
Модель продемонстрировала способность решать задачи, с которыми ранее не сталкивалась, что подтверждает её универсальность и отсутствие зависимости от заучивания ответов.
Без запоминания — чисто логические способности
Достижения основаны на способности к рассуждению, а не на запоминании данных. Это важное отличие от моделей, которые лишь "запоминают" шаблоны решений.
Технические достижения
Создана на основе масштабированного обучения с подкреплением (RL)
Использование RL позволило улучшить способность модели оптимизировать свои решения, адаптироваться к сложным сценариям и извлекать пользу из тренировок на сложных задачах.
Самая ресурсоемкая модель на этапе тестирования
Для достижения текущих результатов использовались масштабные вычислительные мощности, что позволило модели демонстрировать выдающиеся способности даже в самых сложных тестах.
Представлена эффективная версия o3-mini
Вместе с основной моделью представлена уменьшенная версия o3-mini. Она разработана для пользователей, которым требуется высокая производительность при меньших ресурсах.
Устанавливает новые стандарты по всем техническим метрикам
o3 превосходит предыдущие модели и конкурентов по всем основным показателям, устанавливая новые стандарты качества и производительности.
Влияние на индустрию
Открывает новую эру в масштабировании ИИ
Масштабирование вычислительных мощностей и архитектуры модели позволяет значительно расширить границы возможностей искусственного интеллекта.
Демонстрирует эффективность увеличения вычислительной мощности
Результаты подтверждают, что вложения в вычислительные ресурсы и усовершенствование архитектуры модели оправданы и ведут к реальному прогрессу в ИИ.
Ожидается снижение цен на токены
Внедрение новых технологий и оптимизации может привести к удешевлению обработки запросов, что сделает доступ к ИИ более демократичным.
Достижения в тестах
Рейтинг 2700+ на CodeForces
Модель достигла уровня топовых программистов, показав способность решать сложные алгоритмические задачи. CodeForces — это одна из самых известных платформ для соревнований по программированию, где подобный рейтинг позволяет войти в элиту мировых программистов.
Судя по бенчмаркам, эта модель может кодить на уровне сеньора.
96,7% точности на математическом тесте AIME 2024
AIME (American Invitational Mathematics Examination) — это математическая олимпиада, известная своей сложностью. Данный результат близок к идеальному, что демонстрирует выдающиеся способности модели в решении задач высокого уровня.
87,7% на вопросах уровня PhD GPQA Diamond
Модель успешно отвечает на вопросы, требующие глубокой теоретической подготовки, эквивалентной докторантуре. Этот результат отражает сильную компетенцию в генерации точных и сложных ответов.
71,7% на SWE-bench (тестирование в области программной инженерии)
SWE-bench — это тестовый набор задач для оценки уровня профессиональных знаний в программной инженерии. Модель превосходит большинство участников с реальным опытом работы в индустрии, демонстрируя понимание архитектуры программного обеспечения, алгоритмов и структур данных.
25,2% на сверхсложном EpochAI Frontier Math (рост с 2%)
EpochAI Frontier Math — это тест для оценки ИИ на сложнейших задачах, выходящих за рамки стандартных математических навыков. Прогресс модели с 2% до 25,2% подчеркивает значительное улучшение в решении задач, которые традиционно считались трудными даже для ИИ.
Прорыв в логическом мышлении
87,5% на закрытой оценке ARC-AGI
ARC-AGI (Abstraction and Reasoning Corpus for AGI) — это один из самых строгих и закрытых тестов, предназначенных для оценки уровня абстрактного мышления и способности к рассуждениям. Высокий результат свидетельствует о том, что модель способна решать задачи с минимальными данными и без прямого обучения на них.
Улучшение производительности в 3 раза по сравнению с моделью o1
Новая архитектура и оптимизация позволили достичь тройного прироста производительности, делая модель более эффективной в решении разнообразных задач.
Подтвержденная эффективность на совершенно новых задачах
Модель продемонстрировала способность решать задачи, с которыми ранее не сталкивалась, что подтверждает её универсальность и отсутствие зависимости от заучивания ответов.
Без запоминания — чисто логические способности
Достижения основаны на способности к рассуждению, а не на запоминании данных. Это важное отличие от моделей, которые лишь "запоминают" шаблоны решений.
Технические достижения
Создана на основе масштабированного обучения с подкреплением (RL)
Использование RL позволило улучшить способность модели оптимизировать свои решения, адаптироваться к сложным сценариям и извлекать пользу из тренировок на сложных задачах.
Самая ресурсоемкая модель на этапе тестирования
Для достижения текущих результатов использовались масштабные вычислительные мощности, что позволило модели демонстрировать выдающиеся способности даже в самых сложных тестах.
Представлена эффективная версия o3-mini
Вместе с основной моделью представлена уменьшенная версия o3-mini. Она разработана для пользователей, которым требуется высокая производительность при меньших ресурсах.
Устанавливает новые стандарты по всем техническим метрикам
o3 превосходит предыдущие модели и конкурентов по всем основным показателям, устанавливая новые стандарты качества и производительности.
Влияние на индустрию
Открывает новую эру в масштабировании ИИ
Масштабирование вычислительных мощностей и архитектуры модели позволяет значительно расширить границы возможностей искусственного интеллекта.
Демонстрирует эффективность увеличения вычислительной мощности
Результаты подтверждают, что вложения в вычислительные ресурсы и усовершенствование архитектуры модели оправданы и ведут к реальному прогрессу в ИИ.
Ожидается снижение цен на токены
Внедрение новых технологий и оптимизации может привести к удешевлению обработки запросов, что сделает доступ к ИИ более демократичным.
Forwarded from Библиотека Go-разработчика | Golang
🆚⚡️ Python FastAPI vs Go: Кто быстрее?
Выбираете между Python FastAPI и Go (Golang) для разработки веб-приложений? Это видео разбирает их производительность и помогает определиться с выбором технологии. Вот ключевые моменты теста! 👇
Что тестировали?
1️⃣ Базовый тест производительности: простые запросы и ответы.
2️⃣ Работа с базой данных Postgres: проверка скорости взаимодействия.
3️⃣ Кэширование через Memcache: нагрузка в сложных сценариях.
🏁Результаты
Go
🔥 Отличная производительность при высоких нагрузках.
💪 Минимальные задержки при работе с базой данных и кэшированием.
✅ Подходит для приложений, где критичны скорость и масштабируемость.
FastAPI (Python)
⚡️ Удобство разработки и читабельность кода.
💻 Богатая экосистема Python-библиотек.
🚀 Хорошо справляется с умеренными нагрузками, но уступает Go в пиковых ситуациях.
Что выбрать?
Выбирайте Go, если нужна высокая производительность и низкие задержки. Это идеальный выбор для микросервисов и высоконагруженных систем.
FastAPI подойдёт, если вы цените скорость разработки и интеграцию с библиотеками Python. Отличный выбор для прототипов и приложений средней нагрузки.
Выбираете между Python FastAPI и Go (Golang) для разработки веб-приложений? Это видео разбирает их производительность и помогает определиться с выбором технологии. Вот ключевые моменты теста! 👇
Что тестировали?
🏁Результаты
Go
💪 Минимальные задержки при работе с базой данных и кэшированием.
✅ Подходит для приложений, где критичны скорость и масштабируемость.
FastAPI (Python)
💻 Богатая экосистема Python-библиотек.
🚀 Хорошо справляется с умеренными нагрузками, но уступает Go в пиковых ситуациях.
Что выбрать?
Выбирайте Go, если нужна высокая производительность и низкие задержки. Это идеальный выбор для микросервисов и высоконагруженных систем.
FastAPI подойдёт, если вы цените скорость разработки и интеграцию с библиотеками Python. Отличный выбор для прототипов и приложений средней нагрузки.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека Go-разработчика | Golang
На этот раз в центре внимания видео — облачные технологии: Kubernetes, OpenTelemetry, Prometheus, Postgres и S3. Оба языка протестированы в условиях микросервисной архитектуры.
Go:
💪 Устойчивость под нагрузкой.
Python:
🚀 Быстрый старт и удобство разработки.
🐢 Уступает Go в скорости при высоких нагрузках.
Go побеждает на длинных дистанциях, Python выигрывает на коротких. Выбор за вами! 👊
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python/ django
В этом сборнике вы найдете:
- Примеры автоматизации различных процессов с использованием Python.
- Инструкции по интеграции с множеством популярных приложений, таких как Telegram и YouTube.
- Руководства по созданию чат-ботов, которые возьмут на себя рутинную работу.
- Методы визуализации данных.
- Работа с графикой, изображениями и видео.
- Основы машинного обучения и создание своих первых нейронных сетей.
Это лучший ресурс для новичков в IT-сфере, который станет вашим надежным помощником на пути к освоению программирования.
📌 Ссылка
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека Python разработчика | Книги по питону
Как узнать размер генератора в Python?
В Python часто возникает задача определить размер генератора без необходимости извлечения всех его значений. Это полезно, если вы работаете с большими потоками данных и хотите избежать избыточного расхода памяти.
Пример с len()
Некоторые итераторы, такие как
Однако генераторы не имеют длины, и попытка вызвать
Стандартное решение: преобразование в список
Один из способов получить размер генератора — это преобразовать его в список:
Этот подход работает, но имеет серьёзный недостаток: он требует загрузить все значения генератора в память. Если генератор очень большой, это может привести к нехватке памяти.
Более эффективный подход: подсчёт с помощью sum
Чтобы избежать лишнего расхода памяти, можно подсчитать количество элементов в генераторе с использованием
Этот метод обходит генератор "лениво", не создавая дополнительных списков, что делает его идеальным для работы с большими потоками данных.
Резюме
- Используйте
- Для генераторов избегайте преобразования в список, если важна экономия памяти.
- Используйте
👉 @BookPython
В Python часто возникает задача определить размер генератора без необходимости извлечения всех его значений. Это полезно, если вы работаете с большими потоками данных и хотите избежать избыточного расхода памяти.
Пример с len()
Некоторые итераторы, такие как
range
, поддерживают вызов len()
:
len(range(10000)) # 10000
Однако генераторы не имеют длины, и попытка вызвать
len()
вызовет ошибку:
gen = (x ** 2 for x in range(10000))
len(gen) # TypeError: object of type 'generator' has no len()
Стандартное решение: преобразование в список
Один из способов получить размер генератора — это преобразовать его в список:
gen = (x ** 2 for x in range(10000))
print(len(list(gen))) # 10000
Этот подход работает, но имеет серьёзный недостаток: он требует загрузить все значения генератора в память. Если генератор очень большой, это может привести к нехватке памяти.
Более эффективный подход: подсчёт с помощью sum
Чтобы избежать лишнего расхода памяти, можно подсчитать количество элементов в генераторе с использованием
sum()
:
gen = (x ** 2 for x in range(10000))
print(sum(1 for _ in gen)) # 10000
Этот метод обходит генератор "лениво", не создавая дополнительных списков, что делает его идеальным для работы с большими потоками данных.
Резюме
- Используйте
len()
только для итераторов, поддерживающих его (например, `range`).- Для генераторов избегайте преобразования в список, если важна экономия памяти.
- Используйте
sum(1 for _ in gen)
для эффективного подсчёта элементов генератора.👉 @BookPython
Forwarded from Python/ django
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Golang
@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Денис Аникин
Техлид, Райффайзенбанк
Я ускорил всё, кроме себя
В своём докладе мне хочется дать слушателям самый полный и понятный список лучших решений для всего в бэкендах. Это будет небольшая энциклопедия лучших решений, многие из которых я и коллеги как следует «притёрли» в продакшене. Фреймворки, библиотеки, сервера, даже немного десктоп софта, сравнения — будет всё, а на что-то мы и вовсе посмотрим с неожиданных сторон.
https://www.youtube.com/watch?v=nVUwGn2Ky40
Техлид, Райффайзенбанк
Я ускорил всё, кроме себя
В своём докладе мне хочется дать слушателям самый полный и понятный список лучших решений для всего в бэкендах. Это будет небольшая энциклопедия лучших решений, многие из которых я и коллеги как следует «притёрли» в продакшене. Фреймворки, библиотеки, сервера, даже немного десктоп софта, сравнения — будет всё, а на что-то мы и вовсе посмотрим с неожиданных сторон.
https://www.youtube.com/watch?v=nVUwGn2Ky40
YouTube
Денис Аникин. Я ускорил всё, кроме себя
Денис Аникин
Техлид, Райффайзенбанк
Я ускорил всё, кроме себя
В своём докладе мне хочется дать слушателям самый полный и понятный список лучших решений для всего в бэкендах. Это будет небольшая энциклопедия лучших решений, многие из которых я и коллеги…
Техлид, Райффайзенбанк
Я ускорил всё, кроме себя
В своём докладе мне хочется дать слушателям самый полный и понятный список лучших решений для всего в бэкендах. Это будет небольшая энциклопедия лучших решений, многие из которых я и коллеги…