Обновить
512K+

Python *

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

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

Эволюция игрового фреймворка. Постановка проблемы

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

Скорость разработки и качество кода — вот, пожалуй, одно из главнейших противоречий IT-индустрии. Можно долго продумывать архитектуру приложения, потом ее совершенствовать, улучшать, а в итоге так ничего и не сделать. А можно быстро что-то сварганить, а потом и зарелизить, но из-за ошибок проектирования завести весь проект в тупик. На каждые два часа разработки, шесть часов будет уходить на поиск и исправление багов, в результате чего вся последующая разработка фактически застопорится.

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

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

Как тут быть, что поделать? Попробуем разобраться.

Читать далее

GitHub Copilot

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

В современном компьютерном и интернет-мире всё взаимодействие, не только пользователей, а в общем со структурой выстраивается с помощью различных программ, интерфейсов, и подобных им оптимизированных для простого человека сложных разработках. Но кто же занимается непосредственно разработкой различного вида software? Первый ответ, который придет в голову обывателю – это конечно же ПРОГРАММИСТ. Если обобщить в понятие программист всевозможные виды и подходы к разработке, можно согласиться с ответом обывателя. Давайте рассмотрим всех инженеров, backend, frontend разработчиков как единое понятие – программист.

Читать далее

Мистика культурных ценностей Петербурга глазами аналитика

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

На днях мне позвонил друг и сказал, что хочет остановиться в Питере на пару-тройку дней и посмотреть старинные памятники архитектуры нашей культурной столицы. Спросил совета, — где бы ему остановиться поближе к центру города, чтобы успеть посмотреть Летний сад и все такое

А поскольку буквально на днях я завершил вводную часть курса Аналитик данных, то и решил потренироваться на друге в применении логики такого анализа. Забегая вперед, скажу, что результат меня несколько удивил, возможно где-то в моей логике ошибка. Если так, то поправьте меня. Я только учусь.

Погрузиться в исследование

Делаем тетрис в QR-коде, который работает

Время на прочтение5 мин
Охват и читатели18K
Не просто тетрис, но и совершенно рабочий QR-код. Потестите!

Впервые такой QR-тетрис я увидел на канале linkmeup. Приложенный QR-код не читался, и авторы не удостоили его комментарием. Решил, что это повод разобраться в основах самому и предложить улучшенный вариант — не просто веселую, но и функциональную пикчу.
Читать дальше →

Итераторы в Python для самых маленьких

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

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

Наше путешествие мы начнем с того, что вообще такое итератор. Итератор — это некий объект, который в себе реализует интерфейс перебора чего-либо. А говоря рабоче-крестьянским языком — это такая штука, которая в себе описывает правило, по которому мы будем перебирать содержимое той или иной коробки.

Читать далее

Лямбда-функция в Python простыми словами

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

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

Лямбда-функции в Python являются анонимными. Это означает, что функция безымянна. Как известно, ключевое слов def используется в Python для определения обычной функции. В свою очередь, ключевое слово  lambda  используется для определения анонимной функции.

Читать далее

JIT-компилятор Python в 300 строк

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

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

Как оказалось, может, но с нюансами.

Читать далее

Как я писал асинхронные веб-запросы на Python, или почему провайдер считает, что я бандит

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

На днях по работе потребовалось сделать утилиту, которая прямо вот из консоли ходит в апи нашего клауд сервиса и берет оттуда кое-какую информацию.

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

Здесь я хочу поделиться своим ресёрчем на тему запросов, как делать круто, а как нет. С примерами кода конечно. А так же рассказать, как я тупил.

Читать далее

Книга «Python. Чистый код для продолжающих»

Время на прочтение7 мин
Охват и читатели27K
image Привет, Хаброжители! Вы прошли обучающий курс программирования на Python или прочли несколько книг для начинающих. Что дальше? Как подняться над базовым уровнем, превратиться в крутого разработчика? «Python. Чистый код для продолжающих» — это не набор полезных советов и подсказок по написанию чистого кода. Вы узнаете о командной строке и других инструментах профессионального разработчика: средствах форматирования кода, статических анализаторах и контроле версий. Вы научитесь настраивать среду разработки, давать имена переменным и функциям, делающие код удобочитаемым, грамотно комментировать и документировать ПО, оценивать быстродействие программ и сложность алгоритмов, познакомитесь с ООП. Такие навыки поднимут вашу ценность как программиста не только в Python, но и в любом другом языке. Ни одна книга не заменит реального опыта работы и не превратит вас из новичка в профессионала. Но «Чистый код для продолжающих» проведет вас чуть дальше по этому пути: вы научитесь создавать чистый, грамотный, читабельный, легко отлаживаемый код, который можно будет назвать истинно питоническим.
Читать дальше →

Обзор книги «Python для чайников», худшая книга для начинающих с нуля

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

Всем доброго времени суток!

Публикую обзор книги "Python для чайников" от автора Джон Пола Мюллера.

Ссылку на бесплатную электронную версию этой книги оставлю в конце поста.

Стоит читать? Нет! Почему? Опишу в статье.

Python - хороший первый язык программирования, а это худшая книга для его изучения.

Читать далее

Найти всё. Text Mining

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

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

Читать далее

Интеграция оплаты Юкасса в telegramm для самозанятых

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

Привет тем кто хочет опробовать себя в качестве бизнесмена! Недавно в голову пришла идея, получить некоторый опыт предпринимательства. В качестве продукта выступает доступ к некоторой цифровой услуге, а контроль за оплатой этой услуги ложиться на плечи телеграмм бота. В ходе поисков системы оплаты была найдена Юкасса, одна из немногих систем (если вообще не единственная), которая работает с самозанятыми.
На сайте подробно описана интеграция оплаты в telegramm бота. Однако на этапе подписания документов выясняется что интеграция недоступна для самозанятых.

Читать далее

Воспроизводимость ML экспериментов с помощью MLflow project

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

Всем привет! Меня зовут Игорь Дергунов и я руководитель инновационной лаборатории Digital Design, которая занимается оптимизацией бизнес-процессов с помощью методов машинного обучения. В процессе работы над проектами в данной сфере быстро приходит осознание необходимости учета и структурирования проводимых экспериментов. В нашем случае мы воспользовались инструментом MLflow, который предоставляет функциональность для отслеживания экспериментов и управления жизненным циклом моделей машинного обучения.

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

Читать далее

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

Собираем генератор данных на Blender. Часть 3: Материалы и освещение

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

Привет, Хабр! На связи Глеб, ML-разработчик Friflex. В этой серии статей я делюсь своим опытом работы с Blender (мы используем Blender для работы над нашими проектами по оцифровке спорта). В предыдущих статьях мы говорили о работе с объектами и с камерами: научились наводить объектив на объекты, менять фокусное расстояние и многое другое. В этой статье мы поговорим о том, как сделать сцену более реалистичной: настроим освещение, добавим тени, создадим текстуру для объекта, свойства которой будем менять через API.

Читать далее

Я не придумал, куда сходить — и скодил своего бота, который решает эту проблему за меня

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

Он рассказывает мне об интересных для меня событиях, которых не найдешь на популярных сайтах-агрегаторах мероприятий.

Рождение идеи

Примерно за неделю до нового 2022 года, сидя в гостях у друга и покуривая кальян, мы сидели и думали “чоб такого придумать-замутить, чтобы было интересно”. Начали накидывать идеи, но все были так себе. Сначала приходили на ум всякие сложные идеи, типа убийцу %PopularService%, но было решено начать с чего-то попроще, например, какого-нибудь бота для Телеграм... начали обсуждать, чего не хватает конкретно нам и что могло бы быть удобно для большого числа людей.

Потом кто-то сказал: “Мы почему-то дома часто сидим, не ходим никуда. На ** (одном из многих сайтов-агрегаторов мероприятий) всякий шлак, а что-то интересного нет”. И возникла идея - а что если сделать бота в Телеграме, которому ты просто однажды поставил, о каких мероприятиях хочешь получать уведомления, и после этого про него забываешь? А он тебе рассказывает только о тех событиях, которые тебе действительно интересны. Да еще впереди и праздники новогодние - идея должна стрельнуть.

Мы быстро раскидали зоны ответственности за бота - кто собирает мероприятия, кто пишет бота, кто думает о том, как продвигать. И забили нафиг.

Читать далее

Создание модели предсказания кода МКБ-10 на основе текста описания болезни

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

Привет, Хабр! Решила с вами поделиться одной простой работой, которая привела к неплохим результатам. Расскажу о всем подробно и очень просто:) Интересно тем, кто еще не решал задачи NLP до этого момента.

Читать далее

Чемпионаты стандартов WorldSkills: как решать кейсы, справляться с волнением и зачем вообще участвовать

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

Всем привет!

Сегодня хотим поговорить с вами об участии в чемпионатах, хакатонах, соревнованиях. Меня зовут Максим Межов, я аналитик отдела предиктивного анализа компании «Цифрум» (Госкорпорация «Росатом») и уже дважды участвовал в чемпионатах, построенных на концепции WorldSkills. Эти соревнования задают стандарты технической подготовки и квалификации специалистов. Кроме оригинального чемпионата, в ряде организаций проводятся ещё внутренние. Например, в Росатоме – это AtomSkills.

Зачем участвовать в чемпионатах?

В первую очередь, для самого себя. Не все чемпионаты подразумевают награду, могут грамоту выдать. Самое главное – это возможность перезагрузиться, заново взглянуть на привычные процессы, попробовать себя в новом и оценить свои силы. Стрессануть и получить заряд адреналина.

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

Как проходят чемпионаты

Марафоны с окончанием «skills» построены по модели известного чемпионата Worldskills. Так, DigitalSkills-2021 длился 3 дня. Каждый день мы, участники, садились спиной к спине за компьютеры и в течение определенного  времени решали модуль за модулем. По сути, это как сдать 6 экзаменов за 3 дня. К каждому дню надо готовиться, работать 2 модуля, по 3 часа. В середине модуля нам давали перерыв около 15 минут и один перерыв на обед между модулями. Мобильные телефоны, прочая собственная вычислительная техника запрещены. Только выданные компьютеры, у всех одинаковые.

Читать далее

Как незаметно запускать виртуальный Linux на QEMU

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

О том, как замаскировать QEMU с Linux под приложение на Windows.

В некоторых задачах Linux просто необходим. И самым ярким тому примером на сегодня является наличие системы WSL. Однако не везде ею можно пользоваться. Некоторые предприятия принципиально застревают на Win7. И их можно понять. Эта система не столь требовательна к железу (особенно к видео-подсистеме), не ломится чуть-что в интернет, да и в Ultimate варианте вообще не требует подключения к глобальной сети.

В большей части случаев можно обойтись родными для системы средствами разработки и сторонними инструментами. Но представьте себе, что для работы Вашего комплекса нужно собрать вместе более десятка не маленьких opensource проектов с перекрёстными зависимостями. Причём часть из них написана под python (и тут никаких проблем нет - виртуальная среда и всё ок), а часть собирается в бинарные исполняшки, от которых зависят другие модули. И тут может быть как минимум три решения.

Читать далее

Все не то, давай по-новой или модерация объектов в Django Rest Framework

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

— Ты не работал с пакетом django-moderation? И если нет, были ли у тебя задачи по модерации объектов, а конкретно: пользователь предлагает изменения, а другой пользователь либо отклоняет, либо принимает их?

— Не, не делал такого. Вот я все таки ох обескуражен от твоих занятий. Зачем такое вообще нужно?

... как всегда вырвано из контекста.

Читать далее

Простой шаблонизатор DOCX-документов с помощью Smart Document Engine

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

Мы в Smart Engines занимаемся системами распознавания документов, и мы решили проверить, сколько нужно времени, чтобы создать MVP инструмента, позволяющего предзаполнять типовые шаблоны в формате DOCX данными, извлекаемые из сканов и фотографий документов. В этой статье мы вам покажем как на базе нашей системы распознавания Smart Document Engine быстро сделать простой шаблонизатор, готовый к использованию и не требующий никакой предварительной подготовки пользователя. Кому интересно - добро пожаловать под кат!

Читать далее