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

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

Отправить сообщение

Мой топ книг о Python

Время на прочтение8 мин
Количество просмотров134K
Привет, Хабр! Я Слава, руководитель команды «Профессиональные инструменты» в Циане, член ПК Moscow Python Conf и член core-команды авторов в Яндекс.Практикуме.

Вместе с ребятами мы развиваем курс «Мидл python-разработчик», и сегодня я хочу поделиться моим личным списком книг, которые помогут вам структурировать и углубить свои знания о разработке на языке Python.


Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии3

Подборка о релокейте: страны, в которых хорошо

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


Мы уже несколько лет выпускаем на Хабре истории о переезде. Некоторые успешные, некоторые не очень (примерно 30% экспатов со временем возвращались).


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


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

Читать дальше →
Всего голосов 80: ↑63 и ↓17+46
Комментарии317

Сделайте Linux похожим на Windows 95

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

Темы и наборы иконок Linux, вдохновлённые другими операционными системами, существуют с тех пор, как в Linux появился графический интерфейс. Иногда эти темы становятся очень похожими на оригинал. Но… Что, если бы вы могли сделать свой рабочий стол Linux почти таким же, как Windows 95?

Читать далее
Всего голосов 73: ↑72 и ↓1+71
Комментарии82

Разбираемся с параллельными и конкурентными вычислениями в Python

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

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

Прим. Wunder Fund: для задач, где не критичны экстремально низкие задержки — при сохранении и обработке биржевых данных, мы используем Питон, и естественно применяем описанные в статье подходы. Статья будет полезна начинающим разработчикам.

Мы увидим, что когда один человек одновременно делает несколько дел — это похоже на конкурентность, а когда несколько человек, работая бок о бок, заняты каждый собственным делом — это напоминает параллелизм. Эти ситуации мы разберём на простом и понятном примере закусочных, в которые люди заходят в обеденный перерыв. Такие заведения стремятся обслуживать клиентов как можно быстрее и эффективнее. Потом я покажу реализацию механизмов этих закусочных на Python, а в итоге мы сравним разные возможности одновременного «приготовления нескольких блюд», которые даёт нам этот язык, и разберёмся с тем, в каких ситуациях их применение наиболее оправдано.

А именно, я раскрою здесь следующие вопросы:

▪ Отличия конкурентности от параллелизма.
▪ Различные варианты организации конкурентного выполнения кода (многопоточность, модуль asyncio, модуль multiprocessing, облачные функции) и их сравнение.
▪ Сильные и слабые стороны каждого подхода к организации конкурентного выполнения кода.
▪ Выбор конкретного варианта организации конкурентного выполнения кода с использованием специальной блок-схемы.

Читать далее
Всего голосов 25: ↑24 и ↓1+23
Комментарии6

Глобальная блокировка интерпретатора (GIL) и её воздействие на многопоточность в Python

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

Прим. Wunder Fund: в статье рассказано, зачем появилась и существует глобальная блокировка интерпретатора в Питоне, как она работает, и как она влияет на скорость работы Питона, а также о том, куда в будущем, вероятно, будет двигаться Питон. У нас в фонде почти всё, что не написано на плюсах — написано на Питоне, мы пристально следим за тем, куда движется язык, и если вы тоже — вы знаете, что делать )

Как вы, наверное, знаете, глобальная блокировка интерпретатора (GIL, Global Interpreter Lock) — это механизм, обеспечивающий, при использовании интерпретатора CPython, безопасную работу с потоками. Но из-за GIL в конкретный момент времени выполнять байт-код Python может лишь один поток операционной системы. В результате нельзя ускорить Python-код, интенсивно использующий ресурсы процессора, распределив вычислительную нагрузку по нескольким потокам. Негативное влияние GIL на производительность Python-программ, правда, на этом не заканчивается. Так, GIL создаёт дополнительную нагрузку на систему. Это замедляет многопоточные программы и, что выглядит достаточно неожиданно, может даже оказать влияние на потоки, производительность которых ограничена подсистемой ввода/вывода.

Здесь я опираюсь на особенности CPython 3.9. По мере развития CPython некоторые детали реализации GIL, определённо, изменятся. Материал опубликован 22 сентября 2021 года, после публикации в него внесено несколько дополнений.

Читать далее
Всего голосов 63: ↑60 и ↓3+57
Комментарии12

Python for Ops, разработчикам вход воспрещён

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


Инженеру нужен не только bash, да вы и сами в курсе. Наверняка в закладках пара курсов по основам python, может и книжку Марка Лутца купили.

На курсе «Python для инженеров» вы НЕ будете решать абстрактные задачки вроде: переверните список, не используя reverse(). В нашей практике только то, что применимо в работе, примеры:

  • Написать агент, который будет опрашивать систему управления правам и вносить изменения в конфигурации прав внутри установленных сервисов.
  • Написать скрипт для извлечения данных из биллинга и передачи данных в Prometheus. Формат данных не подходит. Необходимо ещё реализовать коннектор.
  • Генерация change log из заголовков коммитов.
Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии4

Микшерный пульт из USB-звучки и опенсорса

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

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


  • Колонка 50 Вт
  • Два микрофона
  • Аудиоинтерфейс из серии BEHRINGER U-PHORIA
  • Ноутбук на линуксе
  • Ardour в качестве микшера и хоста плагинов
  • Calf Studio Gear для обработки звука
  • JACK в качестве звукового сервера
  • VLC в качестве основного плеера

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


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

Измерение и формирование частотных характеристик электрогитар

Время на прочтение10 мин
Количество просмотров16K
Поговорим об искусстве. Например, о музыке. Например, о гитарах.

Создание электрогитар вещь достаточно консервативная. Несмотря на огромные успехи в обработке сигналов, которые позволяют доставать из гитар любые звуки в реальном времени (JTV89), до сих пор достаточно ценится тот самый «теплый и ламповый» звук, которым гитара должна обладать сама по себе. С другой стороны, при этом всем,  звук гитары должен обладать именно теми характеристиками, которые хочет заказчик, которому вдруг захотелось иметь какой-то специфический звук у своей гитары.


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

Почему функциональное программирование такое сложное

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

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


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


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

Читать дальше →
Всего голосов 176: ↑157 и ↓19+138
Комментарии715

Эффект реалистичного перелистывания страниц на JS

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



Демо и документация
Github
Плагин для React

Подобный эффект я реализовывал данным давно, еще в университете и на Delphi. Получилось вполне достойно, правда времени я потратил тогда очень много. Сейчас, во время самоизоляции, стало интересно реализовать что-то подобное на JS, для PC и мобильных устройств.

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

Написано все на Typescript. Не использовались ни какие сторонние библиотеки. Зависимостей нет.

Ключевые особенности библиотеки


  • Работает как с простыми изображениями, с отрисовкой на canvas, так и с html блоками — используя css трансформации
  • Довольно гибкая система конфигурации и простое API
  • Поддерживает мобильные устройства
  • Автоматическая смена ориентации между портретным и ландшафтным режимом
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии14

23 ответа о депрессии от профессионального психиатра Максима Малявина (dpmmax)

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

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


Это в недобрый час посетила вас классическая «депрессивная триада».


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


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


Максим Малявин — участковый врач-психиатр психоневрологического диспансера города Тольятти
Он уже общался с читателям Хабра в интервью «Профессиональное выгорание айтишников: 15 ответов психиатра Максима Малявина».


Психиатр ведёт очень известный в сети «Блог Добрых Психиатров» (dpmmax), и пишет невероятно забавные психиатрические байки, которые способны отогнать осенне-зимнюю хандру. Издал немало книг: от «Записки психиатра, или Всем галоперидолу за счет заведения» и «Новые записки психиатра или Барбухайка, на выезд!» до «Укол повелителю галактики».


Кроме того Максим ведёт проект «Найди своего психиатра» специально для тех, кто не знает, к кому обратиться и как подобрать по-настоящему хорошего специалиста.


Но не будем бесконечно тянуть шприц за поршень и приступим к самому интервью...



Читать дальше →
Всего голосов 64: ↑59 и ↓5+54
Комментарии40

Проект Lacmus: как компьютерное зрение помогает спасать потерявшихся людей

Время на прочтение19 мин
Количество просмотров21K
Всем привет!

Возможно, вы уже знаете про инициативу Machine Learning for Social Good (#ml4sg) сообщества Open Data Science. В её рамках энтузиасты на бесплатной основе применяют методы машинного обучения для решения социально-значимых проблем. Мы, команда проекта Lacmus (#proj_rescuer_la), занимаемся внедрением современных Deep Learning-решений для поиска людей, потерявшихся вне населённой местности: в лесу, поле и т.д.


Читать дальше →
Всего голосов 79: ↑78 и ↓1+77
Комментарии36

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность