Pull to refresh
2
0
Иванюшин Дмитрий @DeFANCE

Пользователь

Send message

Двухсторонние очереди в Python: как альтернатива спискам повышает производительность

Reading time4 min
Views13K


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

В некоторых приложениях необходима обработка данных по методу FIFO (first-in, first-out). Он подразумевает, что элементы, добавленные в последовательность первыми (first-in), будут первыми из неë удалены (first-out). Эту задачу можно решить и с помощью объекта «список», и с помощью двухсторонних очередей. Но для этой цели двухсторонние очереди удобнее списков благодаря особенностям их реализации. 
Читать дальше →
Total votes 33: ↑30 and ↓3+38
Comments6

Web3.0 на Python, часть 2: advanced

Reading time13 min
Views16K

Привет, хабр! В первой части мы рассмотрели базовые операции на web3py. Здесь же речь в основном пойдет про улучшение производительности и различные "фишки". Скорее всего, они не будут полезны тем, кто делает какой-то pet-project или проект на хакатоне. А полезны они будут тем, кто делает реальный боевой проект и кому важна производительность.

Нырнуть в advanced web3
Total votes 7: ↑6 and ↓1+5
Comments0

Настройка Visual Studio Code для Django

Reading time3 min
Views26K

Настройка Visual Studio Code для работы над проектами Django немного отличается от типичного сетапа для pure Python проектов. Например, в Django мало пользы от mypy, так как он не поддерживает типы Django. Точно также дела обстоят с линтерами, которые, без предварительной настройки, работают с кодом Django неправильно.

Читать далее
Total votes 7: ↑5 and ↓2+5
Comments4

Реализация и применение Entity Component System на примере python

Reading time11 min
Views3.5K

Entity Component System (ECS) - это паттерн, используемый при разработке видеоигр, для хранения игровых объектов.

В данной статье я хотел бы показать как используется этот паттерн на примере простой сцены в pygame.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments6

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

Reading time5 min
Views10K

Здравствуйте, читатели хабра! Читайте в этой статье - развенчание мифов об асинхронном программировании в Python! Действительно ли асинхронная модель - более производительная? И как обстоят дела с драйверами баз данных?

На картинке - скриншот бенчмарков от авторов драйвера asyncpg. Как Вы можете догадаться, автор этой статьи с ними не согласен.

Некоторые читатели знают из моих предыдущих статей о моих (вполне успешных!) попытках сделать асинхронную версию django. Я решил прекратить работу над ней - столько труда напрасно! Читайте - и не делайте так.

Стандарту WSGI 19 лет (c хвостиком). Выясняем, есть ли ещё куда развиваться приложениям с блокирующим вводом-выводом в 2022.

Читать
Total votes 24: ↑11 and ↓13+1
Comments19

Обзор книги Дэна Бейдера «Чистый Python. Тонкости программирования для профи»

Reading time4 min
Views13K

Для кого эта книга? Точно не для начинающих — это не учебник. Скорее, для профессионалов, но и не для гуру. Если вы уже программируете на Python, но всё ещё чувствуете себя неуверенно в чисто питоновских концепциях, то эта книга для вас. Особенно, если до этого вы писали приложения на каком-то другом языке программирования. Книга «Чистый Python» позволит вам существенно продвинуться на пути к цели — постижению дзена Python. Ваш код станет чище, красивее и понятнее. А ещё гораздо более эффективным, ведь дзен — это не только про красоту, но и про использование всех возможностей этого прекрасного языка. И даже только ради этого книгу «Чистый Python» стоит прочитать.

Читать далее
Total votes 16: ↑14 and ↓2+14
Comments9

У вас нет причин использовать alpine для python-проектов

Reading time9 min
Views11K

По мотивам моего доклада на PyCon "Контейнеризация Python без боли". На своей практике я постоянно сталкиваюсь со спорами какой базовый образ лучше использовать для проектов: alpine или debian. Аргументы есть и у той, и у другой стороны, но мне это настолько надоело, что я решил сам разобраться и наконец-то поставить точку. В конце концов "В наше время верить нельзя никому, даже себе. Но мне - можно." (с)

Читать далее
Total votes 17: ↑15 and ↓2+15
Comments20

Груг против сложности. Я пролинтил все посты на Хабре про Python, и вот что я нашёл

Reading time52 min
Views60K

В какой-то момент времени я превратился в педанта брюзгу. В фильмах малейшие нестыковки и провалы в логике портят мне весь просмотр. В чатах меня бесит it's вместо its. А в статьях про программирование... Всё плохо. За меня всё уже сказал @AlexanderAstafiev, я лишь процитирую:

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

Самое забавное, что, по моим ощущениям, везде я вижу одни и те же классы проблем. Я даже запилил сервис, где можно закинуть код и получить код ревью, и, собрав немного статистики, понял, что 50 типов ошибок достаточно, чтобы покрыть большую часть проблем в чужом коде. Но выборка у меня была небольшая, и я подумал: а что, если проверить много кода?

И всё заверте...
Total votes 119: ↑114 and ↓5+134
Comments153

Заблуждения программистов о картах

Reading time12 min
Views54K


Дизайн систем быстро выявляет ошибки в восприятии закономерностей функционирования мира. Те правила, которые кажутся непреложными истинами, могут ими не оказаться.

Списки подобных заблуждений составлялись про имена или телефонные номера. Настало время карт и систем навигации.

Заблуждение 1. Форма Земли — это просто


Шар — множество точек в пространстве, удалённых от центра на расстояние не выше радиуса. Однако хотя бы из-за суточного вращения форма нашей планеты отличается от идеального шара. Планета сплюснута у полюсов и утолщена на экваторе, а также обладает рельефом и испытывает циклы приливов и отливов.
Читать дальше →
Total votes 240: ↑236 and ↓4+306
Comments114

Памятка архитектору

Reading time8 min
Views21K

Я работаю архитектором (Solution Architect если быть точным) в аутсорсинговой компании. В ходе работы я занимаюсь такими активностями как: дизайн и внедрение архитектурных решений, аудит систем заказчика и разного рода консультации вокруг архитектуры систем.

Иногда в разговоре с коллегами я говорю «спокойно, действуем ровно по учебнику». Но тут есть большая доля лукавства, т.к. одной книги где были бы собраны базовые принципы я так с ходу назвать не могу. По большей части это сборная солянка из разных книг, личного опыта и историй, рассказанных коллегами. Что-то освещено в одной из книг Фаулера, что-то есть в курсах от AWS.

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

Что там уже в списке?
Total votes 42: ↑41 and ↓1+51
Comments23

Выгорание эволюционирует. Что такое «тихий уход» — новый тренд среди офисных сотрудников

Reading time7 min
Views93K


«Громкий уход» — это когда ты объявляешь всем, что увольняешься. Когда об этом знают по крайней мере твои работодатели. Но в последнее время резко начал набирать популярность так называемый «тихий уход» («quiet quitting»). Когда о том, что ты по сути перестал стараться, знаешь только ты.

Читать дальше →
Total votes 90: ↑77 and ↓13+88
Comments330

Как я стал пентестером за 4 месяца без опыта работы в IT cфере

Reading time4 min
Views41K

Привет, Хабр! Меня зовут Кошевой Данила и мне 22 года. На данный момент живу и работаю в Москве. В июне 2022 года я получил работу в сфере ИБ в качестве Junior Pentester. Интересным является то, что за 4 месяца до выхода на работу я даже не знал о том, что из себя представляет сфера информационной безопасности, какие знания требуются на рынке, какие технологии используются, а также понятия не имел о том, кто такой “Pentester” и чем он занимается.

У вас наверно возникает вопрос: “Как же у тебя получилось вкатиться в IT сферу с 0 знаниями за 4 месяца???”. Именно на этот вопрос я отвечу в этой статье, дам полезные советы и поделюсь обучающими ресурсами с людьми, которые хотят заполучить свою первую работу в сфере ИБ, не имея при этом 10 лет опыта работы за плечами.

Читать далее
Total votes 21: ↑6 and ↓15-4
Comments27

12 мобильных офлайн-игр, чтобы научить ребенка программировать

Reading time4 min
Views21K

Привет, Хабр!  Учить детей программировать с помощью мобильных игр – это уже классика. Собрала для вас подборку 12 игр и каждую протестировала. Есть варианты для дошкольников и школьников. Приложения работают в офлайн-режиме, поэтому можно отключить интернет и спокойно оставить малыша с телефоном. Он ничего случайно не купит и не зайдет, куда не нужно. И заниматься можно в любом месте, даже на даче с плохой связью! 

Читать далее
Total votes 11: ↑9 and ↓2+7
Comments43

Почему некоторым так сложно учиться программированию?

Reading time15 min
Views108K

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

Однако с этим я согласиться никак не могу. Программирование по содержанию ничуть не сложней многих других отраслей знаний, а в чем-то даже и легче, особенно когда касается прикладных задач. Наткнулся на заметку человека, который высказал весьма небанальную мысль: при обучении программированию "с нуля" этот "ноль" для всех сильно разный. И у меня есть стойкое убеждение, что сложность освоения четко зависит от значения этого нуля. А вот почему он разный и что на него влияет- мне и хотелось бы поразмышлять.

Читать далее
Total votes 252: ↑226 and ↓26+241
Comments720

Как за две недели освоиться с реальным проектом: стандарт OMG Essence

Reading time10 min
Views10K

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

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

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments27

YouTube Vanced больше нет. Но есть ReVanced

Reading time8 min
Views157K


Статья навеяна этой новостью на Хабре


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

Читать дальше →
Total votes 41: ↑41 and ↓0+41
Comments97

Что не показывает аналитика в Тинькофф Инвестициях. Подробно разбираем свой портфель

Reading time10 min
Views17K

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

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

К примеру, покупаем 1 акцию по 1000, после падения до 900 усредняем еще одной акцией. Затем при отскоке до 950 продаем 1 акцию. В итоге оставшаяся акция в портфеле "горит зеленым" (образуется плюс +50 по правилу fifo), хотя фактический результат бумаги на данный момент будет 0 (без учета комиссий). Такое отображение бумаг в приложении может сбить с толку, и привести к неправильным решениям и большим потерям, при совершении множества сделок.

Идея вести дневник сделок в excel, или периодически копаться в налоговом/брокерском отчете, мне не понравилась. Зато приглянулась мысль - обрабатывать данные полученные из официального API.

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

В статье я продемонстрирую, как пользоваться созданным инструментом, и какие задачи решаются. Подсвечу некоторые особенности данных полученных из API.

Читать далее
Total votes 31: ↑31 and ↓0+31
Comments53

Пять книг, которые изменили мою карьеру программиста

Reading time4 min
Views84K

"Читатель проживает тысячу жизней, прежде чем умрет.. Человек, который никогда не читает, проживает только одну "

- Джордж Р.Р. Мартин.

Читать далее
Total votes 33: ↑29 and ↓4+33
Comments30

Окей, Джанго, у меня к тебе несколько вопросов

Reading time36 min
Views54K

Недавно я проходил очередное интервью, и меня спросили, пишу ли я на flask, на что я ответил, что я себя люблю, и поэтому пишу на django. Меня не взяли, потому что, кхм, у них, оказывается, много чего было на фласке, и вышло неловко. Да-да, я знаю, фласк крут, потому что он простой, всё что надо ставишь сам, а чего не надо там и так нет, но как по мне, всё равно потом получается django.

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

Читать далее
Total votes 78: ↑74 and ↓4+85
Comments23

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity

Specialization

Backend Developer
Python