Как стать автором
Обновить
343.21

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Кратко про язык программирования Triton

Время на прочтение5 мин
Количество просмотров3.2K

Triton был разработан специально для выполнения на GPU и предоставляет удобную Python-ориентированную среду.

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

Читать далее
Всего голосов 5: ↑6 и ↓-1+7
Комментарии1

Организация кода это важно и легко на основе Layer Architecture

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.9K

Всем привет! Думаю многие читали кучу книжек по поводу Hexagonal, Onion, Clean, Layer Architecture и у вас могли остаться спорные вопросы как в сложности понимания материала, так и в реализации данных подходов в ваших проектах. Сегодня я хочу затронуть тему “Организации кода” и показать насколько это важно и легко одновременно на примере Layer Architecture (Слоистая архитектура).

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии7

Сказ о Python или почему его лучше не выбирать новичкам

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров28K

Всем привет, я Full-stack программист с опытом командной разработки около полугода, а также опытом в создании небольших и средних проектов в районе 3-х лет. Тут я хочу внести ясность для новичков в IT, которые мечутся из стороны в сторону, пытаясь и язык повостребованнее найти, и чтобы попроще учиться, ну и на галеру протиснуться.

Узнать больше
Всего голосов 78: ↑7.5 и ↓70.5-63
Комментарии144

Как я написал свой первый эзотерический язык программирования

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров6.2K

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

Читать далее
Всего голосов 19: ↑19.5 и ↓-0.5+20
Комментарии8

Истории

Как обучают GPT

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7.5K

Привет, Хабр! Меня зовут Родион Уколов, я занимаюсь искусственным интеллектом в компании Friflex. Мы помогаем компаниям внедрять модели машинного обучения и развиваем свои цифровые продукты.

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

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии3

Телеграм-каналы для айтишников

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5.2K

Привет, дорогие читатели Хабра! Меня зовут Катерина, я занимаюсь переводами технических статей. Моя основная тема - Python, но, бывает, перевожу также статьи по другим технологиям и по тестированию.

Я уже опубликовала на Хабре подборки моих любимых ресурсов по Python и QA. Сегодня я набросала список Телеграм‑каналов по самым разным технологиям.

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

Читать далее
Всего голосов 18: ↑2 и ↓16-14
Комментарии5

Мониторинг Celery

Уровень сложностиСредний
Время на прочтение27 мин
Количество просмотров3.1K

Существует популярный подход к покрытию метриками Celery: он заключается в запуске некоторого процесса, который слушает события из специальной очереди, на основе этих событий обновляются объекты метрик, а фоновый поток сервера отдаёт собранные метрики скраперу. В этой статье подробно разберём события, их жизненный цикл, откуда и как их принимать. Также поговорим про механизм удалённого управления (remote control), какие у него есть возможности и как им пользоваться. Обсудим существующие решения, чем они отличаются, и почему вам, возможно, будет выгодно сделать своё.

Читать далее
Всего голосов 29: ↑31.5 и ↓-2.5+34
Комментарии1

Разбираем на винтики учебный процессор TOY

Время на прочтение11 мин
Количество просмотров2.3K

А давайте возьмём простейший процессор и напишем его эмулятор на Python. Будем кормить его бинарниками и дебажить.

Статья для тех, кто всегда хотел разобраться в машинном коде, но боялся начать.

Читать далее
Всего голосов 9: ↑11 и ↓-2+13
Комментарии6

«ReadStreakBot» — как я начал «кодить» с чатгпт, не умея программировать

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров14K

Давно не заходил на хабр, а тут решил зайти и с удивлением обнаружил у себя аж целых 60 подписчиков. Спасибо вам большое, что вы подписались, теперь мне даже как-то неловко, что я так долго ничего не писал про Обсидиан. Видимо теперь придётся всё же написать (мой сетап за это время перетерпел многих изменений и мне есть о чём рассказать).

Но сегодняшняя статья, к сожалению моих подписчиков, будет не про Обсидиан, она будет про телеграмм-бота, чатгпт и чтение, потому что всё это время вечерами я занимался своим пет-проектом, о котором и хочу рассказать.

Читать далее
Всего голосов 18: ↑17 и ↓1+16
Комментарии33

Как быстро собрать кубик для простых задач: играемся с TinyOLAP

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.5K

Привет, Хабр. Сегодняшняя статья будет интересна тем, кто хочет собрать простой OLAP‑куб для анализа данных, чтобы понять, как он устроен и работает. Экспериментировать будем с помощью TinyOLAP, одного из немногих OpenSource движков на Python.

Читать далее
Всего голосов 7: ↑8 и ↓-1+9
Комментарии11

Какой язык программирования выбрать? Обзор Python

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7.1K

Шестая статья нашего цикла про языки программирования посвящена Python. Её подготовила группа серверной разработки компании «Криптонит». В обзоре вы найдёте особенности, плюсы и минусы Python, сферы его применения и полезные ссылки для обучения.

Ранее наши разработчики делали обзоры Rust, Scala, JavaScript, Spark и Golang.

Читать далее
Всего голосов 19: ↑11 и ↓8+3
Комментарии3

Python в Docker — собираем образ сами

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров9.5K

Привет!

В очередной раз собирая образ Docker своего бота для Телеграмм и используя в качестве базы официальный образ python:3.12.2-alpine3.19, обратил внимание на то, что docker scout показывает наличие свежей уязвимости в pip . Я бы не сказал, что она как‑то влияет на мое приложение, но сам факт наличия потенциальной уязвимости «на борту» контейнера с приложением, которое работает под рутом и с проброшенным сокетом Docker (НЕ лучшая практика!) натолкнул меня на мысль, как можно минимизировать этот риск?

И как?!
Всего голосов 11: ↑7 и ↓4+3
Комментарии11

Оптимизация гиперпараметров за 5 секунд?

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров4.5K

Пока люди с самыми малыми вычислительными машинами в пустую тратят время на перебор гиперпараметров внутри библиотеки Scikit-learn – настоящие гении тайм-менеджмента выбирают TPE и Optuna. 

В этой статье мы рассмотрим самые популярные методы оптимизации Grid.Search и Random.Search, принципы Байесовской/вероятностной оптимизации, а также TPE в Optuna. В конце прописали небольшой словарик с функциями, атрибутами и объектами фреймворка, а также привели наглядный пример использования. 

Читать далее
Всего голосов 7: ↑5.5 и ↓1.5+4
Комментарии6

Ближайшие события

Способы обхода GIL для повышения производительности

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6.1K

Привет, Хабр!

Global Interpreter Lock в Питоне предотвращающает одновременное выполнение нескольких потоков в одном процессе интерпретатора Python. Т.е даже на многоядерном процессоре многопоточные Python‑приложения будут выполняться только в одном потоке за раз. Это было введено для некой потокобезопасности при работе с объектами Python, упрощая тем самым разработку на уровне интерпретатора.

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

В этой статье рассмотрим способы обхода GIL и первый способ — использование многопроцессности вместо многопоточности.

Читать далее
Всего голосов 21: ↑13 и ↓8+5
Комментарии4

Тестирование монорепозитории в Docker контейнере

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.3K

Хочу поделиться своим опытом реализации тестирования в монорепозитории, без затрагивания написания самих тестов ...

Читать далее
Всего голосов 5: ↑3 и ↓2+1
Комментарии2

Решение систем линейных уравнений с помощью Python

Время на прочтение7 мин
Количество просмотров7.1K

Как‑то я наткнулась на статью, где говорилось о SymPy, а именно о возможности решения систем уравнений с ее помощью. Если кратко, то это бесплатная библиотека для символьных вычислений на языке Python. В символьных вычислениях компьютер работает с уравнениями и выражениями как с последовательностью символов, тогда как в численных оперирует приближёнными числовыми значениями.

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

Приятного прочтения )

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Комментарии5

Мега-Учебник Flask Глава 4: База данных (издание 2024)

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров2.2K

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

Начать изучение
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Что скрывает под собой скрытое (латентное) пространство?

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.8K

Работа с латентными пространствами

Латентное пространство полезно для изучения функций данных и поиска более простых представлений данных для анализа.

Как используются латентные пространства в библиотеке eXplain-NNs?

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

Анализ гомологии латентных пространств: Еще один метод, предоставляемый библиотекой eXplain-NNs, это анализ гомологии латентных пространств. Анализ гомологии используется для изучения структуры и связей между этих латентных представлений. Это помогает понять, каким образом информация организована внутри модели и влияет на ее способность принимать решения.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Python — list/set/dict/generator comprehensions

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.5K

Генераторы коллекций - короткий(относительно цикла for) способ создавать коллекции на основе других коллекций.

Читать далее
Всего голосов 15: ↑12 и ↓3+9
Комментарии11

Топовые подходы к решению алгоритмических задач

Время на прочтение11 мин
Количество просмотров17K

Привет! Меня зовут Дмитрий Королёв, я бэкенд-разработчик в Авито. В этой статье я расскажу про ключевые аспекты и концепции работы с наиболее популярными алгоритмами и структурами данных. Это поможет и в реальных проектах, и чтобы глубже понять алгоритмические принципы. Статья подойдёт специалистам, которые хотят углубить свои знания в программировании, и укрепить навыки нахождения оптимальных решений алгоритмических задач.

Читать далее
Всего голосов 11: ↑13.5 и ↓-2.5+16
Комментарии10

Вклад авторов

Работа

Python разработчик
137 вакансий
Data Scientist
61 вакансия