Pull to refresh
1
0
Send message

Начинаем работу с Google Sheets на Python. От регистрации до чтения данных

Reading time11 min
Views196K
Довольно долго я обходился выгрузкой данных в Excel, но мода меняется, пользователи хотят в облака.

Начав переводить ряд проектов на Python, решил, что самое время сменить (или дополнить) Excel чем-то более современным.

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

Мне очень помогли статьи:


Как обычно – когда впервые за что-то берешься, то сталкиваешься с массой вопросов, которые потом вызывают лишь недоумение – как можно было об этом вообще задумываться. Элементарно же!

Возможно, я просто шел длинным путем – буду рад, если вы меня поправите.

Все действия выполнялись на компьютере с Windows + Python 3.6.6, также использовался Jupyter Notebook.

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

Код, использованный в статье, доступен в репозитории
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments4

Простой Telegram-бот на Python за 30 минут

Reading time4 min
Views1.2M
На Хабре, да и не только, про ботов рассказано уже так много, что даже слишком. Но заинтересовавшись пару недель назад данной темой, найти нормальный материал у меня так и не вышло: все статьи были либо для совсем чайников и ограничивались отправкой сообщения в ответ на сообщение пользователя, либо были неактуальны. Это и подтолкнуло меня на написание статьи, которая бы объяснила такому же новичку, как я, как написать и запустить более-менее осмысленного бота (с возможностью расширения функциональности).

Читать дальше →
Total votes 35: ↑29 and ↓6+23
Comments22

PyTelegramBotAPI на примере проекта сбора обратной связи #2

Level of difficultyEasy
Reading time5 min
Views10K

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

Эта статья направлена именно на новичков, в ней я постараюсь объяснить тему ботов на примере сбора обратной связи.

Читать далее
Total votes 2: ↑1 and ↓1+2
Comments3

PyTelegramBotAPI на примере проекта сбора обратной связи #1

Level of difficultyEasy
Reading time4 min
Views10K

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

Эта статья направлена именно на новичков, в ней я постараюсь объяснить тему ботов на примере сбора обратной связи.

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

Зачем нужен проектный офис, если компания работает в продуктовом подходе?

Reading time8 min
Views9.1K

Привет! Это Оля Муттер, руководитель проектного офиса в СберМаркет Tech. Сегодня я хочу рассказать о проектном подходе в продуктовой разработке. Нужны ли проджекты, если в компании уже есть продакты? Как построить синергию между проектным офисом и продуктовой командой и какую пользу от этого могут получить все участники процесса, включая бизнес? Кто такие деливери менеджеры как они могут усилить вашу команду?

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

Читать далее
Total votes 15: ↑12 and ↓3+10
Comments7

Какую библиотеку на Python выбрать для создания телеграм-бота?

Reading time12 min
Views59K

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

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

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

Этот обзор поможет вам сохранить время и ресурсы, а также создать более надежный и эффективный телеграм-бот на Python.

Читать далее
Total votes 19: ↑9 and ↓10+1
Comments12

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

Reading time13 min
Views189K

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

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

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

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

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

Кроссдоменная координация. Как двигать огромные IT-проекты в огромной компании

Reading time11 min
Views4.7K

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

Если вам интересно довольно простое решение этой задачи, проверенное опытом нескольких лет и многими десятками проектов в Ozon, — смело читайте дальше!

Читать далее
Total votes 13: ↑10 and ↓3+8
Comments3

Как увеличение команды влияет на её продуктивность, или почему 9 женщин не смогут родить ребенка за 1 месяц

Reading time6 min
Views5.9K

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

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

Python: коллекции, часть 4/4: Все о выражениях-генераторах, генераторах списков, множеств и словарей

Reading time17 min
Views186K
Часть 1 Часть 2 Часть 3 Часть 4
imageЗаключительная часть моего цикла, посещенного работе с коллекциями. Данная статья самостоятельная, может изучаться и без предварительного изучения предыдущих.

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

imageБудут рассмотрены: выражения-генераторы, генераторы списка, словаря и множества, вложенные генераторы (5 вариантов), работа с enumerate(), range().
А также: классификация и терминология, синтаксис, аналоги в виде циклов и примеры применения.

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

Оглавление:


1. Определения и классификация.
2. Синтаксис.
3. Аналоги в виде цикла for и в виде функций.
4. Выражения-генераторы.
5. Генерация стандартных коллекций.
6. Периодичность и частичный перебор.
7. Вложенные циклы и генераторы.
8. Использование range().
9. Приложение 1. Дополнительные примеры.
10. Приложение 2. Ссылки по теме.
Изучаем детали, иллюстрации и примеры
Total votes 22: ↑21 and ↓1+20
Comments45

Как ответить на вопрос «Когда будет готово?» на основе статистики

Level of difficultyMedium
Reading time6 min
Views8.5K

Всем привет! Я Анастасия Жадринская, деливери-менеджер в Тинькофф. Да, эта статья опять про оценки и сроки выполнения задач. Сроки без вуду, астрологии, гаданий и привлечения экспертов. В статье рассмотрю метод Монте-Карло — элегантный и простой в применении математический подход для прогнозирования сроков завершения проектов или объема выпуска задач.

Читать далее
Total votes 20: ↑18 and ↓2+17
Comments40

Процесс ревью кода в hh.ru

Reading time7 min
Views19K
Мне на глаза попался документ с правилами и рекомендациями по процессу ревью кода внутри компании. Я решил, что такой полезной информацией надо поделиться с внешним миром. С благословения автора я публикую работу.


Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments2

Часть вторая. Как проходить code review по версии Google

Reading time3 min
Views26K
Возможно вы читали первую часть статьи про код ревью со стороны ревьювера (кстати, мы уже успели ее обсудить в последнем выпуске подкаста "Цинковый прод").

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

Как обычно, будем говорить MR (Merge Request) вместо CL, потому что термин CL мало кто понимает.


Оригинал инструкции для авторов MR по версии Google можно посмотреть здесь, а я дам краткую выжимку.


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

Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments36

Лидерство руководителя: как привести коллектив к работе не за страх, а за совесть

Level of difficultyEasy
Reading time24 min
Views15K

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

Читать далее
Total votes 16: ↑11 and ↓5+10
Comments17

Squad Health Check: измеряем здоровье команд

Reading time9 min
Views27K
Метрики, KPI, SLA, DoD, OKR — численных показателей производительности и эффективности команд существует много, но часто их недостаточно, чтобы понять, как на самом деле обстоят дела в команде. Довольны ли люди тем, что они делают, гордятся ли своим продуктом, хотят ли идти в офис?

Squad Health Check — модель оценки здоровья команды, придуманная в Spotify, и сегодня расскажем, как мы в Яндекс.Деньгах измеряем наше здоровье и что из этого вышло.


Читать дальше →
Total votes 20: ↑17 and ↓3+16
Comments9

Как синхронизировать множество команд между собой

Level of difficultyEasy
Reading time7 min
Views5.7K

Привет! Я Юля, менеджер продукта в Тинькофф Кассе. Мы делаем интернет-эквайринг для бизнеса, и в разработке продукта участвуют 30 команд. При создании новой фичи какие-то команды могут действовать обособленно, но это редкость. В большинстве случаев командам при разработке нужна помощь друг друга. Расскажу, как у нас получилось сделать так, чтобы не было очередей из команд.

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

Создание карты зависимостей: как увидеть системный уровень в процессах

Reading time14 min
Views9.5K

Хабр, привет! Я Саша, Product Manager в Ozon. Хочу сегодня поговорить с вами об исследовании зависимостей между подсистемами проекта, в частности, и повышении прозрачности процессов в разработке в общем.

Обычное дело: в команду приходит заказчик, приносит суперзадачу — киллер-фичу, которая по приблизительным оценкам будет приносить не меньше N денег в секунду. Очень важная и нужная штука. Потом проходит 3 месяца, а фича так и не появляется на проде. Более того, команда к ней так и не приступала. 

Почему? 

– вместо суперзадачи команда занимается какой-то ерундой — проблемы с приоритизацией;

– команда не поняла, что фича принесёт реальные деньги и насколько это важно — сложности с коммуникацией с заказчиком;

– недостаточно описаны требования, команда отфильтровала задачу как «не готовую к взятию в работу» — продакт не доработал;

– задача потерялась в недрах бэклога — продакт проглядел.

Все эти варианты говорят нам о наличии рассинхрона команд, ожиданий и реальности, рассинхрона подсистем относительно общего процесса, вследствие этого команда(ы) делает «не то» «не так» или не делает вовсе.

Давайте разбираться — расскажу вам об инструменте, который поможет выявлять приводящие к подобным ситуациям серые зоны, нестыковки, зависимости между подсистемами проекта; поможет всё это дело визуализировать и анализировать. Инструмент я назвала картой зависимостей.

Читать далее
Total votes 17: ↑16 and ↓1+17
Comments0

Как учиться эффективнее и быстрее: база и полезные материалы

Reading time5 min
Views15K

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

Наливайте чай, присаживайтесь поудобнее и жмите кнопку "I want to know this!".

I want to know this!
Total votes 4: ↑3 and ↓1+2
Comments4

Продуктовый подход к инхаус-разработке: отвечаем бизнесу, когда наконец-то будет готово через метрики и 85й перцентиль

Level of difficultyMedium
Reading time9 min
Views4.3K

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

В 2020 году задачи бизнеса сыпались в «общий котел», коллеги из бизнеса буквально бились за ИТ-ресурсы по принципу «чьё важнее». Команды разработки формировались по принципу «кто делал что-то похожее», оценки делались примерные, с умножением на «пи» или на «е».

Эта статья о том, как мы разбирали 1С УТ на продукты и сервисы, запускали “почти что Scrum-подход с элементами Kanban”, учились отвечать на вопросы “сколько ждать хотя бы примерно?” и “когда уже будет готово?” через метрики и перцентили – и как в конечном итоге благодаря продуктовому подходу нам удалось удвоить пропускную способность команд.

Читать далее
Total votes 11: ↑10 and ↓1+9
Comments8

Что такое *args и **kwargs в Python?

Reading time4 min
Views400K
Функции — это жизнь. Правда? Если вы только начали осваивать Python, неважно — первый ли это ваш язык программирования, или вы пришли в Python из другого языка, то вы уже знаете о том, что количество параметров в объявлении функции соответствует количеству аргументов, которые передают функции при вызове.



Это — основы. Это то, что помогает людям понимать окружающий мир. Но утверждение «количество параметров равно количеству аргументов» закладывает в голову новичка бомбу замедленного действия, которая срабатывает после того, как он увидит в объявлении функции таинственные конструкции *args или **kwargs.

Не позволяйте всяким значкам загонять себя в ступор. Тут нет ничего архисложного. В общем-то, если эти конструкции вам незнакомы — предлагаю с ними разобраться.
Читать дальше →
Total votes 39: ↑32 and ↓7+44
Comments15

Information

Rating
Does not participate
Registered
Activity