Pull to refresh
4
0.8
Дмитрий Померанцев @pda0

User

Send message

Английский для продакта: как я выучил язык для срочного поиска работы

Reading time9 min
Views32K

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

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

Читать далее

Управление проектами и задачами в Obsidian

Level of difficultyMedium
Reading time13 min
Views25K

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

Читать далее

Пацанский английский. Ленивый способ наконец выучить английский язык: без курсов, без зубрежки, бесплатно

Level of difficultyEasy
Reading time9 min
Views202K

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

Наконец случилось чудо. В одну из очередных попыток я нащупал способ, который позволил продолжать развиваться, делать успехи, осознавать их и разжигать мой огонь всё сильнее и сильнее. Сегодня мне сложно представить день, проведенный без английского языка. И мне не хочется говорить без “изучения”, поскольку не сказал бы, что я именно учу. Скорее — постепенно “прошиваюсь” английским, как это обычно происходит с новорожденным детьми, которые постепенно начинают говорить, слушая и наблюдая за своими родителями. В настоящее время мой словарный запас не такой большой: 9 — 12 тысяч слов (зависит от теста). Я свободно смотрю видео на Ютубе разнообразной тематики (видеоуроки, спорт, фитнес, музыка, путешествия, кулинария, обзоры и т.д.), читаю документацию, компьютерную и популярную литературу, публицистику.

Читать далее

PyQt: простая работа с потоками

Reading time4 min
Views29K
Очень часто в программах приходится использовать многопоточность. Иногда это монстрообразные пулы потоков со сложным взаимодействием, но гораздо чаще это бывает простой код, главное требование к которому — не замораживать интерфейс.

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

Высоконагруженный IPC между C++ и Python

Level of difficultyMedium
Reading time6 min
Views4.3K

Несколько лет назад Аурига по заданию известного медицинского стартапа разрабатывала решение, связанное с параллельной обработкой нескольких потоков видеоданных. Ключевой особенностью технического решения была скоростная передача и обработка большого потока видеоданных от драйвера, написанного на С++, в обработчик, написанный на Python.

В процессе разработки мы успели отрефакторить код, написанный математиками, перепробовать распространённые протоколы IPC и написать свой собственный, и дать полную нагрузку на 40-ядерный Xeon.

А ещё мы дебажили Windows.

Читать далее

И еще несколько полезных библиотек для Python (с примерами)

Reading time9 min
Views20K

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

Хотелось бы рассмотреть несколько интересных на мой взгляд библиотек.

Ознакомиться

Параллельное программирование в Python при помощи multiprocessing и shared array

Reading time6 min
Views102K

Введение.


Python замечательный язык. Связка Python + NumPy + Matplotlib, на мой взгляд, сейчас одна из лучших для научных расчётов и быстрого прототипирования алгоритмов. Но у каждого инструмента есть свои светлые и тёмные стороны. Одной из самых дискутируемых особенностей Python является GIL – Global Interpreter Lock. Я бы отнёс эту особенность к тёмной стороне инструмента. Хотя многие со мной не согласятся.

Если кратко, то GIL не позволяет в одном интерпретаторе Python эффективно использовать больше одного потока. Защитники GIL утверждают, что однопоточные программы при наличии GIL работают намного эффективнее. Но наличие GIL означает, что параллельные вычисления с использованием множества потоков и общей памяти невозможны. А это достаточно сильное ограничения в современном многоядерном мире.

Один из способов преодоления GIL при помощи потоков на C++ был недавно рассмотрен в статье: Использование Python в многопоточном приложении на C++. Я же хочу рассмотреть другой способ преодоления ограничений GIL, основанный на multiprocessing и shared array. На мой взгляд, этот способ позволяет достаточно просто и эффективно использовать процессы и разделяемую память для прозрачного параллельного программирования в стиле множества потоков и общей памяти.
Читать дальше →

pyqtdeploy, или упаковываем Python-программу в exe'шник… the hard way

Reading time16 min
Views45K

КДПВ


Наверняка, каждый, кто хоть раз писал что-то на Python, задумывался о том, как распространять свою программу (или, пусть даже, простой скрипт) без лишней головной боли: без необходимости устанавливать сам интерпретатор, различные зависимости, кроссплатформенно, чтобы одним файлом-exe'шником (на крайний случай, архивом) и минимально возможного размера.


Для этой цели существует немало инструментов: PyInstaller, cx_Freeze, py2exe, py2app, Nuitka и многие другие… Но что, если вы используете в своей программе PyQt? Несмотря на то, что многие (если не все) из выше перечисленных инструментов умеют упаковывать программы, использующие PyQt, существует другой инструмент от разработчиков самого PyQt под названием pyqtdeploy. К моему несчастью, я не смог найти ни одного вменяемого гайда по симу чуду, ни на русском, ни на английском. На хабре и вовсе, если верить поиску, есть всего одно упоминание, и то — в комментариях (из него я и узнал про эту утилиту). К сожалению, официальная документация написана довольно поверхностно: не указан ряд опций, которые можно использовать во время сборки, для выяснения которых мне пришлось лезть в исходники, не описан ряд тонкостей, с которыми мне пришлось столкнуться.


Данная статья не претендует на всеобъемлющее описание pyqtdeploy и работы с ним, но, в конце концов, всегда приятно иметь все в одном месте, не так ли?

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

Учимся писать многопоточные и многопроцессные приложения на Python

Reading time6 min
Views421K
Эта статья не для матёрых укротителей Python’а, для которых распутать этот клубок змей — детская забава, а скорее поверхностный обзор многопоточных возможностей для недавно подсевших на питон.

К сожалению по теме многопоточности в Python не так уж много материала на русском языке, а питонеры, которые ничего не слышали, например, про GIL, мне стали попадаться с завидной регулярностью. В этой статье я постараюсь описать самые основные возможности многопоточного питона, расскажу что же такое GIL и как с ним (или без него) жить и многое другое.
Читать дальше →

Практический гайд по процессам и потокам (и не только) в Python

Level of difficultyMedium
Reading time5 min
Views26K

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

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

Читать далее

Qt Bitcoin Trader — программа для торговли Bitcoin под Windows, Mac и Linux

Reading time7 min
Views109K
В этой статье я покажу вам, как работает программа Qt Bitcoin Trader, и поведаю историю ее разработки.
Эта программа с открытым исходным кодом позволяет быстро делать ставки на BTC-e и Mt.Gox, задавать правила для автоматической торговли.
Написана она на чистом Qt 4 с использованием OpenSSL, и, по моему мнению, в ней есть интересные особенности со стороны разработки, о которых тоже хочу рассказать.


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

Модули multiprocessing и threading в Python

Level of difficultyEasy
Reading time9 min
Views19K

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

Читать далее

Автоматическое тестирование QT GUI с помощью python и funq

Reading time5 min
Views12K

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

Читать далее

Всё своё ношу с собой. Мои простые правила организации личной базы знаний

Reading time4 min
Views54K

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

А потом высокоскоростной Интернет нас избаловал — мы перестали скачивать файлы и формировать свои собственные локальные библиотеки знаний и контента. Теперь всё лежит на сайтах и в облаках. Зачем что-то скачивать, если всё это моментально доступно по одному клику?

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

Читать далее

Suno как аранжировщик etc

Level of difficultyMedium
Reading time14 min
Views13K

Доброго времени всем пользователям Suno и тем, кто интересуется технологиями ИИ в музыке. Как и ранее не претендую на полноту освещения вопроса, но надеюсь, что информация будет полезной

Под аранжировкой обычно понимают создание инструментального трека (минусовки, backing track) на основе мелодии или мелодии + гармонии, с определенным стилем, темпом, формой/структурой. Suno генерирует песни (и инструментал) целиком с задаваемыми (относительно) стилем и формой. Показалось интересным протестировать систему на возможность создания нужной аранжировки. Особенно после своих экспериментов с Audio Input (см. статью), когда эта функция Suno стала очевидной. Да и читатели обращались с подобным вопросом. Так я затеял серию экспериментов, результаты которых представил в пяти тестах. (Все звуковые примеры и детали у меня на сайте).

За последние пару месяцев я сделал более 80 DS (dataset, исходников), как с вокалом, так и инструментальных. Причем, чаще это была не просто отрезка фрагмента до 60 сек. из готового трека, а его препарация или сборка фрагмента c нужным содержанием (вокал, аккорды, Hi-Hat Loop и т.п.).

Тест #1 / от спетой мелодии, текста... ("По-Гру-Гла-Но ...") *.

Отталкиваясь от удачного опыта с генерацией аранжировок в разных стилях на а капеллу Воробей я решил провести более детальный эксперимент: на входе спетая мелодия + текст (Lyrics) и задание Style. Классно же спеть свою мелодию, скормить Suno и получить готовую песню в нужном стиле...

Написал простую мелодию, сочинил шуточный текст, включающий Bridge, Verse и Chorus и пропел все это на простую гармонию. Сначала в темпе 90 bpm - тогда пришлось сделать 2 разных DS: Bridge+Verse и Bridge+Chorus, иначе нельзя было уложиться в ограничение в 60 сек. Затем - в темпе 102 bpm: Bridge+Chorus, здесь Bridge уже не пропевался.

Читать далее

Попробуйте Tauri

Level of difficultyMedium
Reading time6 min
Views17K

Хочу рассказать про один из моих любимых Opensource проектов: Tauri. Это среда для создания десктопно-мобильных приложений на JavaScript, но быстрых и легковесных. С опциональными дополнениями на Rust, а через него и на всех других языках.

Читать далее

Защита домена: как запретить конкурентам использовать похожие домены

Reading time6 min
Views2.3K

Бизнес часто сталкивается с ситуацией, когда в сети Интернет появляется сайт с похожим доменным именем. Конкуренты могут намеренно использовать чужой домен, чтобы уводить клиентов, или случайно зарегистрировать похожее имя. Эти действия приводят к тому, что тот, кто использовал домен изначально, теряет аудиторию, репутацию или бизнес. Оба предпринимателя не могут полноценно осуществлять деятельность в онлайн-пространстве. 

Меня зовут Юрий Горбачев. Я руковожу патентным бюро «Лирейт». В этой статье я расскажу, как защитить домен и устранить конкурентов, паразитирующих на вашей узнаваемости. 

Для чего домен бизнесу?

Сайты есть у большинства компаний, которые ведут бизнес в России. У каждого ресурса есть домен – имя, по которому пользователи переходят на сайт в сети. 

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

Почему использование схожих доменов конкурентами вредит бизнесу?

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

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

Читать далее

Английские идиомы с именами

Reading time2 min
Views61K
Сегодня в рамках наших уроков английского мы расскажем об английских идиомах с именами.

John


John – одно из самых распространённых английских имён. Наверное, именно поэтому оно породило так много интересных идиом, а вымышленные и вполне себе реальные Джоны превратились в нарицательных персонажей:

John Q. Public или John Q. Citizen (товарищ или гражданин Джон Кью) – американизм, обозначающий среднестатистического гражданина, обычного человека. К слову, среднестатистическую гражданку называют Jane Q. Public.

John Hancock (Джон Хэнкок) – имя этого американского государственного деятеля, чья размашистая подпись под Декларацией независимости США приобрела всеобщую известность, стало нарицательным и используется для обозначения вообще всякой подписи. У нас шутливо говорят «поставить закорючку», а американцы просят «поставить своего джона хэнкока», тоже в шутку, разумеется.
Читать дальше →

Прогнозируем солнечные затмения с помощью ~100 строк кода Python

Reading time6 min
Views2.8K

8 апреля 2024 года автор статьи, основатель и СЕО компании Modal Labs, Эрик Бернхардссон планировал посмотреть свое первое полное солнечное затмение. За день до этого ему пришла в голову идея — что, если попробовать рассчитать периодичность этого явления в прошлом и будущем, используя Python? Несмотря на незначительные сложности с системой координат, автору удалось создать работоспособное решение всего за несколько часов.

Под катом читайте, как с помощью ~100 строк кода удалось вычислить и проследить путь каждого солнечного затмения в период с 2020 по 2030 год.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее

Администрирование PostgreSQL для начинающих (часть 5)

Level of difficultyEasy
Reading time17 min
Views7.1K

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

Читать далее

Information

Rating
2,625-th
Location
Химки, Москва и Московская обл., Россия
Date of birth
Registered
Activity