Pull to refresh
0
0
Данил @Danya_Violet

Автоматизирую рутину

Send message

Celery для новичков

Level of difficultyEasy
Reading time4 min
Views11K

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

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

Используя Celery можно легко организовать выполнение фоновых задач.

Читать далее
Total votes 12: ↑8 and ↓4+4
Comments14

Решаем задачу: как сохранить нервные клетки пользователей с помощью валидации поля ввода

Level of difficultyMedium
Reading time9 min
Views5.9K

Всем привет! Меня зовут Алексей Гмитрон, я фулстек-разработчик и наставник на курсе «Фронтенд-разработчик» в Практикуме. Довольно долгое время я разрабатываю интерфейсы, а ещё дольше — пользуюсь ими. 

В этом году я много путешествовал, поэтому нередко заполнял формы с анкетами на разные визы — в них бывало по 30—40 полей. Когда что-то шло не так, часто сайты не давали никакой обратной связи. Иногда они сбрасывали всё, что я заполнял в течение часа, если одно из полей невалидно. 

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

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

Читать далее
Total votes 12: ↑8 and ↓4+4
Comments7

Как я с 0 поднял свой уровень английского до B2 и подтвердил этот уровень на экзамене IELTS Academic

Level of difficultyEasy
Reading time10 min
Views154K

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

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

Начнем с бекграунда и причин.

Я – инженер машиностроитель (мой профиль – торцевые уплотнения вращающихся валов). Я начал работать в своей отрасли сразу после бакалавра, параллельно заканчивая магистратуру, и как только я начал работать, я стал стараться впитать как можно больше теоретических знаний по моей специальности из академических источников. Достаточно бысто я понял, что последняя серьезная книга по моей специальности на русском языке была написана в 1978 году. И спустя больше чем 40 лет технологии сильно поменялись, а вот их описание на русском языке отсутствовает. Зато я нашел на reddit людей работающих в штатах в моей же отрасли. Они мне насоветовали кучу классной литературы. Разумееется, она вся на английском, и русского перевода не имеет.

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

Конечно, перед началом обучения я прочитал много статей на хабре о том как люди учат языки. Некоторые из них поражали скоростью овладения материалом (что-то вроде с нуля до fluent за 4 месяца). Но одна вещь была неизменна – у всех был какой-то план изучения языка.

Читать далее
Total votes 173: ↑169 and ↓4+165
Comments220

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

Reading time11 min
Views21K
В марте-22 внезапно отключились Visa и MasterCard. Это посредники передачи информации между разными банками. По сути, системы обеспечивают маршрутизацию сообщений между банками и позволяют вам использовать карту любого банка с банкоматом или платёжным терминалом другого, а заодно проверяют операции на фрод и делают ещё много чего.

Потом было 2–3 дня, когда мы не спали. Мы — это разработчики компании Мультикарты (входит в Холдинг T1) — одного из самых крупных процессингов в России, да и в мире, пожалуй.

Потом система восстановилась (не сама собой, конечно), и конечные пользователи (вы) практически не почувствовали проблем с сервисом.

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

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

Поэтому ниже — общий рассказ про принципы процессинга. Пойдёмте ковыряться под капотом.

image
Читать дальше →
Total votes 88: ↑81 and ↓7+74
Comments37

Извлечение текста из файлов PDF при помощи Python

Level of difficultyMedium
Reading time15 min
Views32K

▍ Введение


В эпоху больших языковых моделей (Large Language Model, LLM) и постоянно расширяющейся сферы их применений непрерывно растёт и важность текстовых данных.

Существует множество типов документов, содержащих подобные виды неструктурированной информации, от веб-статей и постов в блогах до рукописных писем и стихов. Однако существенная часть этих данных хранится и передаётся в формате PDF. В частности, выяснилось, что за каждый год в Outlook открывают более двух миллиардов PDF, а в Google Drive и электронной почте ежедневно сохраняют 73 миллионов новых файлов PDF (2).

Поэтому разработка более систематического способа обработки этих документов и извлечения из них информации позволит нам автоматизировать процесс и лучше понять этот обширный объём текстовых данных. И в выполнении этой задачи, разумеется, нашим лучшим другом будет Python.
Читать дальше →
Total votes 55: ↑54 and ↓1+53
Comments10

Кто такие Senior, Middle и Junior? И на кой ляд нужны грейды?

Level of difficultyMedium
Reading time12 min
Views9.5K

Собрали комментарии специалистов из разных компаний и агентств. Это выжимка из третьего выпуска НЕОЧПОП про грейды. Кому нравится смотреть и слушать, просим на Ютуб.

Читать далее
Total votes 19: ↑11 and ↓8+3
Comments22

9 архитектурных антипаттернов при разработке телеграм-ботов на Python

Level of difficultyEasy
Reading time17 min
Views15K

Привет, Хабр! Если вас заинтересовал заголовок этой статьи, значит, вас интересует созданием телеграм-ботов, и вы стремитесь к совершенству в этом. Разработка телеграм-ботов требует не только креативности, но и правильной архитектуры. В этой статье мы рассмотрим 9 архитектурных антипаттернов, которые могут стать серьезными преградами на вашем пути к созданию бота.

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

Читать далее...
Total votes 21: ↑14 and ↓7+7
Comments6

Я люблю питон, и вот почему он меня бесит

Level of difficultyEasy
Reading time18 min
Views56K

Вас приветствует ваш зануда!

Если вы следите за моей ленивой активностью, то заметили бы, что у меня много от чего пригорает. Вот, например:
- У меня пригорает от низкосортных статей на потоке: Питон против Безумного Макса, или как я посты на Хабре замораживал
- У меня пригорает от Django: Окей, Джанго, у меня к тебе несколько вопросов
- И от Яндекса тоже: Собеседование в Яндекс: театр абсурда :/
- И от рекрутеров: Я единственный из 1400, или самый крутой рекрутинг, что я проходил

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

Это что же получается, kesn опять открыл postman и сломал вёрстку на сайте? Поразительно, никогда такого не было, и вот опять! В принципе, тут можно писать текст любой длины (похоже, у них на бэкенде не Char(255), а Text). Они проверяют длину только на фронтенде, а бэкенд принимает строку любой длины. И это, блин, забавно) Вообще мой девиз - 'кто ищет, тот всегда найдёт', поэтому я ищу постоянно. Кстати, на Хабре скоро выйдет статья про программирование глазами Погромиста, там в том числе про уязвимости на сайтах будет - поэтому если не хотите пропустить, то подписывайтесь на меня в телеге: @blog_pogromista
Total votes 248: ↑238 and ↓10+228
Comments143

Программистов победит не ИИ, а архитектор + ИИ

Level of difficultyEasy
Reading time4 min
Views2.7K

Провокационно? Да. Реально? Тоже да. Вроде бы понятно, что на вопрос уровня SteckOwerflow нынешний ИИ отвечает влет и, как правило, верно. Что же будет, если попробовать написать на нем фреймворк, например. Я попробовал. Понятно, что нужно подсказывать что проектировать и как это реализовывать. Вот тут типичный заказчик спасует. Потому что он не мыслит таблицами, классами, связями, зависимостями. А типичный миддл скажет - дайте мне ТЗ, как я тут иначе все буду придумывать, а потом переделывать? Ему не нужна ответственность. Синьор сдюжит, и именно потому что опыт и вопрос этот больше про архитектуру, чем про код. Вот тут наш взгляд и падает на software architect позицию. Потому что там и про опыт, и про код, и про требования заказчика и про проектирование сложных систем.

Ведь именно на стадии проектирования нужно понять куда может повести заказчика потом и заложить эти возможности на старте. Нужно знать как это будет в БД, как в коде, как в шине данных. Какие будут протоколы, какие хранилища, где, когда, сколько. Тот же ИИ тоже вполне вменяемо ответит на эти вопросы. Надо только их поставить.

Немного рваное повествование, извините, но тут подход с двух сторон, поэтому буду перепрыгивать. Я говорил про фреймворк. Так вот, сначала все шло хорошо. Таблицы, классы, ORM, авторизация, токены и вот это все. Как по учебнику. Да, файлы надо создавать руками, исправления вносить, чтобы помнить где и т.п. Неудобно, но терпимо. А потом начинаешь возвращаться к уже пройденному коду, просить добавить роли и ACL и тут понимаешь, что он контекст потерял и лепит уже другое.. Иными словами, работать неудобно. Т.е. не невозможно, а неудобно...

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

Автоматизация написания ВКР: LaTeX, GitHub, Google Drive и ChatGPT в действии

Level of difficultyMedium
Reading time9 min
Views5.1K

В жизни каждого студента наступает момент, когда необходимо написать выпускную квалификационную работу (ВКР). Бывшие выпускники говорят, что успех ВКР в значительной степени зависит от правильного оформления документации, в то время как основное содержание работы остается на втором плане. Но почему бы не внедрить автоматизированный процесс оформления, который соответствовал бы ГОСТам и внутренним стандартам университета, был бы удобен для проверки научному руководителю и позволял бы студенту сконцентрироваться на сути своего проекта ВКР? Вкратце, в процессе чтения вы узнаете, зачем и как внедрить LaTeX в ВКР, настроить отправку документов на Google Drive через Github Actions для отзыва научного руководителя и пользоваться LLM.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments12

«Дайте им цель и оставьте в покое», или Нужно ли управлять сильными сотрудниками?

Level of difficultyEasy
Reading time7 min
Views2.8K
image

Сильный сотрудник — это …


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

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

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

Если же сотрудник идеально выполняет текущую работу и соответствует корпоративной культуре, при этом не хочет/не может большего, он не может относится к категории сильных. Он просто идеально соответствует занимаемой должности. Если продолжать использовать терминологию слабый-сильный, такой сотрудник будет отнесен к категории середнячков. При этом стоит помнить, что эта категория является фундаментом любой компании и ее основной движущей силой. Поэтому не стоит ее ущемлять в правах, игнорировать, лишать мотивации.
Читать дальше →
Total votes 7: ↑4 and ↓3+1
Comments4

Искусство компонентов. Пишем карточку контакта Facebook Messenger

Reading time12 min
Views8.7K
Вполне возможно оценить компонент и сказать, что он легко пишется на HTML и CSS. Соглашусь, это легко, когда вы работаете, только чтобы практиковаться, но в реальном проекте всё по-другому. Идеальный адаптивный компонент, который вы только что создали, быстро перестаёт работать, когда сталкивается с реальным контентом настоящего проекта. Почему? Потому, что, пока вы рассуждаете о разработке компонента, вы можете упустить крайние случаи. Сегодня, специально к старту нового потока нашего курса по веб-разработке, поделюсь переводом статьи, в которой показан простой на первый взгляд компонент, за которым стоит огромная работа. Ради реалистичности это будет пример прямо из Facebook Messenger.


Приятного чтения!
Total votes 25: ↑23 and ↓2+21
Comments7

Твое рабочее окружение в нордическом стиле

Reading time4 min
Views14K

Хочу поделиться своей интересной находкой, которая помогла мне наконец осуществить свою маленькую мечту. Объединить все свои рабочие инструменты единым стилем. И не просто стилем, а хорошо продуманным, выверенным и целостным. Что мне помогло этого добиться? Это палитра Nord, портированная для большинства современных и не очень редакторов, терминалов и не только. Если вам не чужда подобная мечта, прошу под кат.


Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments16

Raspberry Pi, Python и полив комнатных растений

Reading time8 min
Views28K
У меня не складываются отношения с комнатными растениями. Дело в том, что я забываю их поливать. Зная это, я начал размышлять о том, что кто-то, наверняка, уже нашёл способ автоматизации полива. Как оказалось, способов таких существует очень много. А именно, речь идёт о решениях, основанных на Arduino или на Raspberry Pi. В этом материале я хочу рассказать о том, как создал систему, основанную на Raspberry Pi и Python, предназначенную для автоматизации полива растений.


Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments73

Как грамотно перевести сотрудников на дистанционку? Юридические лайфхаки

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

В этой статье мы разбираем какие плюсы и минусы таит в себе дистанционная работа и как переходить на неё правильно. Актуально не только в связи с грядущей неделей Шредингера (не понятно, в соответствии с Указом Президента, то ли нерабочей, то ли почти рабочей), но и в долгосрочной перспективе.


Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments5

Корпоративные телефоны каждому из 31 тысячи сотрудников

Reading time8 min
Views26K
У каждого сотрудника Леруа Мерлен есть корпоративный телефон. Там два слота под симки: один — под корпоративную с пакетом в 100 минут и трафиком для корпоративных приложений и 3 Гб на мобильный интернет-трафик, во второй можно втыкать личную. На телефонах — мессенджеры, соцсети, личные звонки и корпоративный EMM с двумя десятками корпоративных же приложений. То есть если надо сказать что-то сотруднику в магазине, то он получит сообщение в Ватсапе. Заболел ребёнок — тоже жена дозвонится в рабочее время.

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

Я с командой провела исследование на 1000 человек про то, можно ли перенести наши основные процессы в мобильность, тогда ещё было не ясно нужен нам терминал или телефон. И если да — какой он должен быть. Будут ли сотрудники использовать свой личный телефон или устройство должно быть предоставлено компанией? Какой личный аппарат сейчас у сотрудника? После этого мы смотрели на мировые практики. В итоге выбор пал в сторону телефона от компании, чтобы не поддерживать зоопарк устройств. Телефон — потому что устройство должно быть у каждого в руках и доступно в любой момент, что нельзя обеспечить с терминалом.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments43

Анализируем резюме юристов на hh.ru без api

Reading time4 min
Views10K
Hh.ru — неплохой сайт, не нуждающийся в дополнительном представлении. Поиск вакансий на нем удобен и прозаичен. Однако, порой интереснее посмотреть со стороны работодателя:

  • как выглядит выдача резюме по целевому запросу,
  • как видно собственное резюме в выдаче,
  • как «проседает» резюме со временем, заодно собрать резюме коллег-юристов для построения мини-статистики.

Несмотря на то, что у hh есть собственное api и оно добротно задокументировано, доступ к нему тщательно оберегается.

Доступ к api осуществляется как и в ситуации со многими api соц. сетей — через предварительную регистрацию приложения в web-кабинете аккаунта, в данном случае, работодателя на hh.ru/employer:


Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments5

Знакомство с FastAPI

Reading time5 min
Views181K
Вместо предисловия

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


Исходные данные:

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

Соответственно, задача заключается в том, чтобы поднять HTTP API, который сможет принять POST запрос, проверить подпись, извлечь нужную информацию из тела запроса и передать её дальше по инстанции. Как тут не попробовать FastAPI, на который я давно глаз положил?


Кто такой FastAPI?


FastAPI — это фреймворк для создания лаконичных и довольно быстрых HTTP API-серверов со встроенными валидацией, сериализацией и асинхронностью,
что называется, из коробки. Стоит он на плечах двух других фреймворков: работой с web в FastAPI занимается Starlette, а за валидацию отвечает Pydantic.


Комбайн получился легким, неперегруженным и более, чем достаточным по функционалу.

Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments58

Еще раз про эмоциональное выгорание

Reading time10 min
Views34K
Вот уже более 12 лет я сгораю. Работаю, выгораю и ухожу в запой на неделю. Затем с болью и титаническими усилиями возвращаюсь к жизни, к клиентам, которых не успел потерять за недели небытия и цикл повторяется. Больше 12 лет.

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

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

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

Скульптура
12 лет фриланства

Total votes 36: ↑25 and ↓11+14
Comments74

Создание полноценного Viberbot. Часть вторая — первый контакт или «сonversation_started»

Reading time4 min
Views10K

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


В первой части мы научились запускать стартер устанавливать webhook для нашего проекта botviber.

В этой 2-й мы научимся отправлять первое сообщение показываемое для наших пользователей, создавать ссылки для поиска и запуска нашего бота как внутри ViberURL так и NoViberURL

image

Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments1
1
23 ...

Information

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

Specialization

Backend Developer
Middle
Python
PostgreSQL
Linux
Git
Nginx
Bash
Flask