Обновить
1024K+

Python *

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

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

Тайны мозга. Анализируем данные MRI с помощью FreeSurfer и Python

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

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

Читать далее

Книга «Внутри CPYTHON: гид по интерпретатору Python»

Время на прочтение12 мин
Охват и читатели21K
image Привет, Хаброжители!

CPython, самая популярная реализация Python, абстрагируется от сложностей ОС и предоставляет платформу для создания масштабируемых и высокопроизводительных приложений. Каждому python-разработчику на какой-то стадии необходимо будет узнать, как работает CPython. Это позволит в полной мере использовать его мощь и оптимизировать приложения. Вы разберетесь с основными концепциями внутреннего устройства CPython и научитесь: читать исходный код интерпретатора CPython и свободно ориентироваться в нем; вносить изменения в синтаксис Python и компилировать их в вашу собственную версию CPython; понимать внутреннюю реализацию таких структур, как списки, словари и генераторы; управлять памятью CPython; масштабировать код Python за счет параллелизма и конкурентного выполнения; дополнять базовые типы новой функциональностью; выполнять наборы тестов; профилировать и проводить бенчмарк Python-кода и исполнительной среды; отлаживать код C и Python на профессиональном уровне; изменять или обновлять компоненты библиотеки CPython, чтобы они могли использоваться в будущих версиях.
Читать дальше →

Эргономичный мониторинг на практике

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели14K

Всем привет! Меня зовут Алексей Леонтьев, я старший разработчик и системный архитектор в компании KTS.

Мониторинг проекта — это комплексная задача. В неё входит не только передача метрик, но и сбор логов, трейсов, health-чеки, правила для алертов и система их доставки до ответственных разработчиков.

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

Читать далее

Особенности автоматического дифференцирования в PyTorch. Часть 2

Время на прочтение6 мин
Охват и читатели2.7K

Привет! На связи команда «БАРС Груп», и мы продолжаем разговор о фреймворке PyTorch. Это фреймворк ML для Python с открытым исходным кодом, широко применяемый для решения прикладных задач, связанных с нейросетями. Как правило, фреймворки машинного обучения часто заточены либо на удобство использования, либо на скорость. PyTorch же отличается тем, что сочетает в себе оба преимущества. Он поддерживает код как модель, упрощает отладку и согласуется с другими популярными библиотеками научных вычислений, оставаясь при этом эффективным и поддерживая аппаратные ускорители, такие как графические процессоры. При этом каждый аспект PyTorch — это обычная программа Python, находящаяся под полным контролем пользователя.

Это вторая часть статьи‑перевода от команды разработчиков PyTorch (Адама Пашке, Сэма Гросса и их единомышленников).

Читать далее, узнать более

SimpleUI — фреймворк для быстрого создания бизнес приложений на Android

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

Добрый день! Меня зовут Дмитрий Воронцов. Несколько лет назад, я сделал небольшую локальную разработку под нужды своих 1С проектов (ERP, MES, WMS) — андроид клиент для ТСД и планшетов, который по сути являлся тонким клиентом для 1С и работал через HTTP сервис. Он был написан на Java и Android SDK и причина его создания была такая — нужен был легковесный и высокроизводительный клиент для работы с оборудованием и с возможностью быстрой разработки бизнес логики. Довольно простой бизнес‑логики, укладывающейся в рамки того, что обычно делается на ТСД. Он был достаточно примитивен и умел отрисовывать экраны на мобильном устройстве, а логика выполнялась на стороне 1С в рамках HTTP‑запроса. Постепенно он обрастал функционалом, добавились возможности для offline работы, добавился Python, CV‑функционал и многое другое. Им стали пользоваться кроме меня и моих коллег другие комманды разработчиков. И вот сегодня, в феврале 2023 я хочу подвести определенные и рассказать о том, во что превратился этот проект сейчас и что из себя представляет фреймфорк на текущий момент.

Сейчас SimpleUI для Android — это бесплатный full‑app фреймворк для упрощенного создания широкого спектра бизнес‑приложений (клиентских приложений для ERP,WMS и других корпоративных систем, а также самостоятельных приложений). За счет особой архитектуры и принципов проектирования значительно сокращается время разработки, распространение и администрирование, поддержка.

Читать далее

Градиентный спуск, который мы заслужили

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели9.7K

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

Разве такое возможно?

Не пытайтесь измерить использование памяти в Pandas

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

Представьте: у вас есть файл с данными, которые вы хотите обработать в Pandas. Хочется быть уверенным, что память не закончится. Как оценить использование памяти с учетом размера файла?


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


  • покажу широкий диапазон использования памяти ещё до обработки, только во время загрузки данных;
  • расскажу о других подходах — измерении и передаче файла по частям.
Читать дальше →

Перевод предобученной модели Keras на матричные вычисления

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели9.1K

По заказу одного из проектов мне потребовалось сделать агрегатор новостей в Телеграм. После долгих поисков реализации (о них ниже в статье) была создана нейронная сеть на базе Keras, которая имела высокое качество, но оказалось, что Keras нельзя было установить на инфраструктуре (просто не было соответствующей сборки) и мне пришлось решать вопрос, как перевести обученную модель в Keras на реализацию, которая не требует установленного Keras.

Эта статья о том, как я переписал обученную в Keras сеть на работу с матричными операциями в Numpy. Заодно это помогло мне "заглянуть под капот" нейронной сети.

Читать далее

Основы PyCharm

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели180K

Сегодня я расскажу новичкам про полезные и удобные функции PyCharm. Эта статья предназначена для тех, кто только знакомится с PyCharm и написал свои первые программы. Затронем основной функционал пайчарма, который поможет упростить и ускорить вашу работу и узнаем, как запускать сервер и тесты Django в один клик. А ещё, я поделюсь подборкой полезных плагинов и горячих клавиш.

Читать далее

Chaos Engineering, применение на практике

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели13K

В современном мире, где ПО является фундаментальной частью нашей жизни, надежность и отказоустойчивость систем приобрела первостепенное значение. Chaos Engineering - это дисциплина, направленная на тестирование и повышение отказоустойчивости сложных распределенных систем путем проведения контролируемых экспериментов, имитирующих реальные сценарии отказов. Такой подход помогает выявить и устранить потенциальные проблемы до того, как они появились и могли бы привести к значительным сбоям, сократить время простоя и повысить общую доступность систем. В этой статье мы рассмотрим Chaos Engineering и преимущества этого подхода, известные интеграции, результаты, а также приведем примеры кода, чтобы показать, как использовать данную технологию на практике.

Читать далее

C/C++ из Python (Kivy, ctypes) на iOS

Уровень сложностиСложный
Время на прочтение11 мин
Охват и читатели3.2K
main

Ранее я писал статьи C/C++ из Python (ctypes), C/C++ из Python (Kivy, ctypes) на Android. В них описывается процесс запуска на Linux и Android. Теперь поговорим как тоже самое сделать на iOS. В этой статье речь пойдет о сборке, необходимых инструментах, механизмах отладки и установки.

Читать дальше →

Диалог между JS и Python если бы они были людьми

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

Не так давно мне в голову пришла идея воспользоваться моделью text-davinci-003 от OpenAI чтобы сгенерировать диалог между двумя языками программирования так, если бы они были реальными людьми. Я выбрал Javascript и Python.

Для этого я подготовил следующую инструкцию...

Читать далее

Справится ли ChatGPT с внесением изменения в код?

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.4K

В предыдущей статье я рассказывал как провести рефакторинг кода GildedRose с целью снижения Time2Market.

В результате из кода с цикломатической сложностью 19 получился код с цикломатической сложностью 5, при этом сам код изменился до неузнаваемости.

Мне стало любопытно сможет ли ChatGPT описать что делает этот код и реализовать в нем новое требование.

Что из этого вышло — узнайте в тексте статьи.

Покажите что получилось

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

Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

Уровень сложностиСредний
Время на прочтение26 мин
Охват и читатели62K

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

И уж конечно, никогда при написании a * b мы не задумываемся о том, как реализовано умножение чисел a и b в нашем языке. Какие вообще есть алгоритмы умножения? Это какая-то нетривиальная задача?

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

Скорее к формулам!

Как без денег и знаний в AI повторил Copilot'а

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

Создаём своего Copilot'а без знаний в AI и денег.

Читать далее

Про микросервисы на примерах

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

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

И так, эта статья не для разработчиков и опытных архитекторов, а для аналитиков, которые хотят понять, а что же такое микросервисы на самом деле. Пример здесь максимально простой и не претендует на хороший стиль написания кода, чтобы его запустить не нужно обладать вообще никаким ИТ‑бэкграундом и не нужно настраивать никакие IDE.

Приступим?

Бот для телеграмма, использующий Яндекс.Диск (Python)

Время на прочтение13 мин
Охват и читатели37K

Всем привет!

О том как я делал бота, который файлы с Яндекс.Диска показывает, для лично-производственных целей.

Читать далее

Задача «Индекс Линкольна»

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели2.9K

Предположим ваш тестер нашел в программе 20 ошибок. И теперь вы хотите прикинуть сколько в программе всего ошибок на самом деле. Вы точно знаете что в программе как минимум 20 ошибок, и если вы абсолютно уверены в высокой квалификации вашего тестера вы можете предположить что в программе на самом деле где-то около 20 ошибок. Но что если квалификация вашего тестера вызывает сомнения? Возможно в программе сотни ошибок. Как в этом случае вы можете оценить количество ошибок? Увы имея в своем распоряжении только одного тестера ничего больше сделать нельзя. Но если у вас два тестера то у вас есть отличный способ оценить общее количество ошибок даже если квалификация тестеров вызывает сомнения.

Читать далее

Как я написал Telegram-бота для учёта подписок

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.6K

Как я написал Telegram-Бот для учёта подписок

Написал Telegram-Бот для учёта подписок и регулярных расходов на Python и Yandex. Cloud

Он умеет предупреждать по 3 основным сценариям:

1. Окончание пробного периода.

2. Ежемесячная подписка.

3. Ежегодная подписка.

В статье расскажу про особенности технологического стэка и дополнительные возможности бота.

Читать далее

Просим бота написать бота

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

В этой статье, хочу поделиться интересным опытом работы с ChatGPT, в рамках которого был написан телеграм-бот на языке Python, использующий API OpenAI для получения ответов на запросы.

Началось все с того, что я захотел зарегистрировать себе аккаунт на OpenAI и понять, кто такой этот ваш ChatGPT. Немного танцев с бубном, и желаемая цель была достигнута. Бот понравился, но возникали некоторые неудобства из-за доступа по VPN. Тогда у меня появилась идея создать телеграм-бота, который будет отправлять запросы в API OpenAI и возвращать ответы.

Я потратил следующий час на чтение документации по API OpenAI, но моя лень оказалась более находчивой, и я решил дать ChatGPT задание написать бота самостоятельно.

Что из этого вышло?

Читать далее