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

Python. Developer/QA Automation.

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

Best Practices для Python

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

Лучшие практики в Python по моему мнению

Многие разработчики хоть раз задумывались о негласных правилах разработки. Самые популярные подобные практики стали широко известными и их стараются придерживаться все программисты.

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

Читать далее
Всего голосов 33: ↑27 и ↓6+24
Комментарии48

Что должен знать дата-инженер. Роадмап для джуниора

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

Привет, username! Меня зовут Иван Васенков и я джуниор дата-инженер в дирекции данных и аналитики Lamoda. Но к этой профессии я пришел не сразу: окончив университет, я начал работать аналитиком данных, затем стал BI-разработчиком, а уже после этого — дата-инженером.

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

Читать далее
Всего голосов 23: ↑21 и ↓2+22
Комментарии11

Логирование в Python: руководство разработчика

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

Сталкивались ли вы с трудностями при отладке Python-кода? Если это так — то изучение того, как наладить логирование (журналирование, logging) в Python, способно помочь вам упростить задачи, решаемые при отладке.

Если вы — новичок, то вы, наверняка, привыкли пользоваться командой print(), выводя с её помощью определённые значения в ходе работы программы, проверяя, работает ли код так, как от него ожидается. Использование print() вполне может оправдать себя при отладке маленьких Python-программ. Но, когда вы перейдёте к более крупным и сложным проектам, вам понадобится постоянный журнал, содержащий больше информации о поведении вашего кода, помогающий вам планомерно отлаживать и отслеживать ошибки.

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

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

Читать далее
Всего голосов 17: ↑15 и ↓2+20
Комментарии9

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

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

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

Читать далее
Всего голосов 19: ↑19 и ↓0+19
Комментарии6

Многопоточный Python на примерах: избавляемся от дедлоков

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

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

Разблокировать
Всего голосов 31: ↑31 и ↓0+31
Комментарии14

Нейронная сеть считает лес кругляк и распознает автомобильные номера. Как это сделано?

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров16K

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

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

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

Какие вопросы задать работодателю на собеседовании?

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

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

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

Читать далее
Всего голосов 22: ↑20 и ↓2+22
Комментарии18

«Я не ответственный, я — Responsible» — как объяснить бабушке, что такое RACI-матрица

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


Приехала я год назад к друзьям играть в настолки. А они ссорятся. Из-за того, что Маша сказала Саше вынести мусор / убрать носки / погулять с хомяком, а он не сделал, потому что тупо забыл. Рассказала я Саше и Маше про ToDoList и таск-трекеры и нарисовала им на холодильнике импровизированную асану. Маша наклеила стикеры с задачами и сроками, Саша терпеливо кивнул. Настолки состоялись.

Недавно я снова заглянула в гости. Стикеры на холодильнике висят, а Маша и Саша опять ссорятся. Точнее, громко выясняют, кто хотел починить стол / вывести холодильник / искупать кота, кто по-факту должен был это делать, и почему до сих пор ничего не сделано. Я промолчала, т.к. в чужие семейные разборки со своим PMBOK-ом не лезут.

Но потом решила, что всё нормально, лезут, т.к. вспомнила, что видела RACI-матрицу для распределения ответственности с шуточным объяснением через поездку семьи на дачу. Полезла искать эту картинку для Саши с Машей, нашла, а в ней куча ошибок:



Простите. Не могу промолчать. Не надо так.
Читать дальше →
Всего голосов 69: ↑63 и ↓6+74
Комментарии45

Избегайте токсичного молчания: как дают фидбэк сотрудники Netflix

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


— Часто я предпочитаю просто токсично молчать.
— Может, тактично?
— Может.


Вот что пишет CEO Netflix в книге «Никаких правил. Уникальная культура Netflix» про «тактичное молчание»:

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

Фидбэк в Netflix дают по следующим правилам:

1. Стремись помочь.
2. Предлагай конкретные меры.
3. Будь благодарен.
4. Прими или отклони.

В Netflix никто не плакал от того, что начальник спросил твоё мнение. До открытия офиса в Японии. Так что 5-ое правило, Netflix поняли только после выхода на международный рынок:

5. Учитывай культурные различия.

Под катом я привела кейсы работников Netflix про фидбэк, рассказала про «360 градусов» в компании, а еще прикрепила культурную карту Netflix и расписала, по каким параметрам топ-менеджеры её составляли.

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

Еще одна статья в копилку канала с полезными конспектами клевых книг.
Читать дальше →
Всего голосов 32: ↑24 и ↓8+27
Комментарии62

Уж послала, так послала: словосочетания-паразиты в технических текстах

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

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

Вспомним наш любимый мультфильм «Падал прошлогодний снег» с его шикарными крылатыми фразами. Одна из них: «Уж послала, так послала». Вот и система так же — вместо отправки запроса посылает его куда-то далеко. А запросу обидно.

Читать далее
Всего голосов 56: ↑47 и ↓9+50
Комментарии93

Python и чистая архитектура в 2021 году

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

Прошло уже почти 3 года с тех пор, как я впервые воспользовался чистой архитектурой на практике. С тех пор я побывал на многочисленных конференциях, где выступал с докладами на эту тему (вот, например, доклад Clean Architecture in Python с конференции PyGotham 2018). Кроме того, я написал статью о чистой архитектуре на Python, которая попала в рассылку RealPython.com … но сейчас заканчивается 2021 год, и мы ушли далеко вперед. Давайте рассмотрим, как развился Python, изучим разные крутые библиотеки, благодаря которым реализовывать чистую архитектуру на Python сегодня стало гораздо проще.

Сначала вспомним о том, зачем она нужна.

Читать далее
Всего голосов 9: ↑8 и ↓1+8
Комментарии1

Протоколы в Python: утиная типизация по-новому

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

В новых версиях Python аннотации типов получают всё большую поддержку, всё чаще и чаще используются в библиотеках, фреймворках, и проектах на Python. Помимо дополнительной документированности кода, аннотации типов позволяют таким инструментам, как mypy, статически произвести дополнительные проверки корректности программы и выявить возможные ошибки в коде. В этой статье пойдет речь об одной, как мне кажется, интересной теме, касающейся статической проверки типов в Python – протоколах, или как сказано в PEP-544, статической утиной типизации.

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

Перефразирование русских текстов: корпуса, модели, метрики

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

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

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

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии5

13 проектов для Python-программистов уровня intermediate

Время на прочтение10 мин
Количество просмотров76K
Изучение основ Python — прекрасный опыт. Но эйфория от изучения языка постепенно заменяется желанием создать что-то своими руками. И это нормально, но нужны идеи.

Проблема здесь в том, что некоторые проекты либо слишком просты, либо слишком сложны для разработчика среднего уровня. Эта статья — помощь программисту уровня intermediate. Она предоставляет несколько идей проектов, которые могут стать интересным вызовом для вас. Материал адаптирован на русский язык совместно с Алексеем Некрасовым, лидером направления Python в МТС, программным директором направления Python в Skillbox.
Читать дальше →
Всего голосов 11: ↑6 и ↓5+6
Комментарии0

Восемь интересных возможностей PostgreSQL, о которых вы, возможно, не знали

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

Привет, Хабр! Приглашаем на бесплатный Demo-урок «Параллельный кластер CockroachDB», который пройдёт в рамках курса «PostgreSQL». Также публикуем перевод статьи Тома Брауна — Principal Systems Engineer at EnterpriseDB.

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

Читать далее
Всего голосов 32: ↑29 и ↓3+36
Комментарии8

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

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

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

Итак, полетели!

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

Вот и наш системный аналитик только начал свой карьерный путь, но он думает о своем развитии в лида. Может ли он сейчас стать лидом? Нет, конечно. А почему? Он должен вырасти до лида.

В Альфа-Банке этот рост происходит по одному из путей в рамках карьерного трека для системного аналитика. Аналитик прокачивает свои навыки, чтобы вырасти в лида. Лид работает с командой системных аналитиков от 3 и до 9 человек.

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

Git Rebase: руководство по использованию

Время на прочтение8 мин
Количество просмотров812K
Rebase — один из двух способов объединить изменения, сделанные в одной ветке, с другой веткой. Начинающие и даже опытные пользователи git иногда испытывают нежелание пользоваться ей, так как не видят смысла осваивать еще один способ объединять изменения, когда уже и так прекрасно владеют операцией merge. В этой статье я бы хотел подробно разобрать теорию и практику использования rebase.

Теория


Итак, освежим теоретические знания о том, что же такое rebase. Для начала вкратце — у вас есть две ветки — master и feature, обе локальные, feature была создана от master в состоянии A и содержит в себе коммиты C, D и E. В ветку master после отделения от нее ветки feature был сделан 1 коммит B.


Читать дальше →
Всего голосов 122: ↑121 и ↓1+120
Комментарии169

Как правильно внедрять изменения, которые никто не хочет

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

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

«Но доклад был классный! Это точно рабочий инструмент!» — думает тимлид. Он начинает поддавливать, иногда уговорами, иногда — другими способами. Команда — «в штыки». Лид получает странный опыт: пришел с благой целью, а получил негатив. Теперь он больше ничего не хочет менять, даже когда это на самом деле нужно. Команда тоже пострадала: после неумелого change-менеджмента она не готова к изменениям вообще. Знакомая история?

И что же, теперь обходить конференции и заразительные идеи стороной? Не внедрять изменения в рабочие процессы команды, пока коллеги сами их не захотят? Совсем нет. Сейчас я ведущий разработчик в облачной платформе Selectel, возглавляю команду Compute. На собственном примере расскажу, как правильно внедрять новые идеи в работу команды и можно ли собрать целый «фреймворк» для улучшений.
Читать дальше →
Всего голосов 56: ↑49 и ↓7+55
Комментарии34

Git. Коротко о главном

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

Привет, Хабр!

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

Читать далее
Всего голосов 25: ↑18 и ↓7+14
Комментарии18

Selenium python как сохранить данные сессии и установить кастомный путь до профиля Chrome

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

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

В статье будет рассказано, как была решена данная проблема.

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

Информация

В рейтинге
Не участвует
Откуда
Нижний Новгород, Нижегородская обл., Россия
Зарегистрирован
Активность