Pull to refresh
5
0
Эмир Тахавиев @Emir2010

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

Send message

Алертинг состояния выполения DAG`ов Apache Airflow в Telegram за 1 минуту

Level of difficultyEasy
Reading time4 min
Views2.9K

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

Представляю небольшое решение, которое позволит отправить сообщение в Telegram с информацией о состоянии DAG`а Apache Airflow

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments8

Дорогая, что-то пошло не так. Гид по пустым состояниям и ошибкам + шаблоны на все случаи

Level of difficultyEasy
Reading time11 min
Views26K

Всем привет! Меня зовут Кира Калимулина, я руководитель группы UX-редактуры в Ozon. Я занимаюсь всеми интерфейсными текстами в приложении и на сайте. 

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

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

Что же случилось?
Total votes 65: ↑64 and ↓1+63
Comments48

Проектирование ML-сервиса для прогнозирования котировок акций (для Advisors’ Axiom от Росбанка)

Level of difficultyMedium
Reading time6 min
Views3.2K

Привет, меня зовут Илья Померанцев, я руководитель ML-направления в Globus IT. Расскажу, как мы разработали нейросеть для оценки тональности новостей для инвестиционной платформы Advisors’ Axiom от Росбанка.

О проекте

Инвестиционная платформа Advisors’ Axiom — это площадка для совместной работы инвесторов сегмента Premium и VIP, инвестиционных консультантов и финансовых экспертов, разработанная ПАО «Росбанк».

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

Задача

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

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

Как загрузить исторические данные по криптовалютам

Level of difficultyEasy
Reading time4 min
Views5.6K

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

Потребуется небольшой код на Python, библиотеки backtrader_binance,  backtrader и API ключ полученный с биржи Binance.

Читать далее
Total votes 7: ↑1 and ↓6-5
Comments6

Безопасная разработка на Python

Reading time6 min
Views9.7K

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

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

Читать далее
Total votes 19: ↑14 and ↓5+9
Comments2

Пишем торгового бота для акций

Level of difficultyEasy
Reading time19 min
Views29K

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

Читать далее
Total votes 13: ↑7 and ↓6+1
Comments26

Как мы делали скоринг на микросервисной архитектуре руками не-программистов

Level of difficultyEasy
Reading time9 min
Views8.6K

2023 год — год противоречивых сигналов для будущего IT-отрасли и, в частности, занятости айтишников. 

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

С другой — необходимость участия программистов во многих прежде «аналоговых» процессах как таковая стала превращаться в препятствие для цифровизации. Естественным образом, со стороны заказчиков и работодателей возник спрос на решения, которые позволят оцифровывать и автоматизировать процессы без необходимости заменять весь прежний штат программистами. Компании ищут выходы где угодно, включая надежды на то, что программистов заменят нейросети. 

В реальности все, кто хоть немного разбираются в вопросе, понимают, что до этого далеко: во многих чувствительных областях нейросети, возможно, никогда не заменят человека — потому что с человека можно спросить за ошибки, а с нейросети взятки гладки. Реальным ответом на запрос рынка видятся сегодня low-code и no-code — то есть, технологии создания ПО с помощью визуального редактора с минимальным написанием кода или без написания кода вообще.

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

Читать далее
Total votes 24: ↑22 and ↓2+20
Comments11

Оптимизация сервинга нейросетей

Reading time10 min
Views4.1K

Я работаю ML-инженером в OK и последнее время занимался оптимизацией скорости инференса нейросетей, поэтому сегодня расскажу о них. И не просто о нейросетях, а о нейросетях в продакшене. 

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

Простой способ развернуть телеграмм бота с Aiogram + Webhook на хостинг

Level of difficultyEasy
Reading time4 min
Views18K

Расскажу самый простой и бесплатный способ развернуть на хостинге телеграмм бота, написанного на aiogram и перевести на webhook. Посмотреть видео-версию, которую я разместил, можно на https://youtu.be/Gw-cVvsaOGE .

Бот будет работать 24/7 пожизненно.

Без использования VPS, фреймворка (django, flask, fastapi,..), pythonanywhere и heroku.

Краткое содержание действий:

Пункт 1. Сохранить пример к себе, регистрация на хостинге.

Пункт 2. Через FTP поместить наш файл бота на хостинге.

Пункт 3. Через SSH установить библиотеку aiogram.

Пункт 4. Настроить сервис бота на хостинге.

Пункт 5. Настроить веб-сайт на переадресацию всех запросов на сервис бота.

Пункт 6. Отредактировать файл запуска бота с учетом наших настроек.

Пункт 7. Перезапуск сервиса бота, проверка бота. Просмотр логов.

________________________________________________________

Пункт 1. Сохранить пример к себе, регистрация на хостинге.

Идем на страницу официальной документации:

https://docs.aiogram.dev/en/v2.25.1/examples/webhook_example.html

Копируем содержимое webhook_example.py к себе в файл webhook.py и сохраняем.

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments10

Пишем свой личный Duolingo на минималках

Reading time15 min
Views8.4K

Привет, меня зовут Емельянов Михаил, я Python-программист и я хотел бы показать вам свой небольшой «проект выходного дня» — Flywheel, микро-платформу для изучения иностранных языков — смесь Duolingo и Anki, программу, которая может помочь вам правильно писать на английском. Flywheel доступен в исходниках, лежит на GitHub.



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


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

Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments5

Хотите проектировать устройство, которое использует миллиард человек — решайте микроархитектурные задачки

Reading time8 min
Views10K

Длинный извилистый путь Школы Синтеза Цифровых Схем приближается к годовой кульминации. 21-23 пройдет хакатон по процессорам в зеленоградском МИЭТ, после чего 150 слушателей из дюжины российских городов оправятся готовится к майским праздникам, приближающимся сессиям и лету.

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

Для экзамена мы выбрали три темы в четырех упражнениях:

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

Массовые IT-увольнения создают условия для нового бума стартапов

Reading time7 min
Views13K


За последние месяцы сотни тысяч сотрудников потеряли работу в Google, Meta и других IT-гигантах. Некоторые, оставшись без дела, решают создать собственные компании. Или раскручивают свои пет-проекты. Что закладывает новый фундамент для будущего всей индустрии.

Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments41

От парсинга к Private API. В гонке за производительностью

Level of difficultyMedium
Reading time4 min
Views5.9K

В статье будет затронут способ с применением ревёрсинга траффика Android-устройства для обнаружения endpoints, по которым можно взять то, что лежит в более приятной форме, нежели получаемое через парсинг HTML-дерева.

Читать далее
Total votes 20: ↑10 and ↓100
Comments6

«Кандидат сбежал в слезах»: 5 главных вопросов для собеседования на Python разработчика

Reading time3 min
Views98K

В июле и августе 1991 года я, с подачи Гвидо Ван Россума, проводил технические интервью на позицию Middle Python Backend developer. И, видимо, буду вынужден продолжать проводить, о чём ниже.

Задача формулировалась как «найти человека, который сможет задать и поддерживать высокий уровень профессионализма в применении языка Python». Под эту задачу я сформировал новый опросник вместо того, которым пользовался несколько дней — старый имел слишком жесткий закос под промышленное программирование.

И вот что я хочу сказать вам, коллеги: вы меня огорчаете.

Читать далее
Total votes 322: ↑193 and ↓129+64
Comments358

Как мы разрабатывали приложение для школьников со школьниками: космический дизайн и job story для домашки

Level of difficultyMedium
Reading time7 min
Views5.8K
«Я школьник» — это что-то вроде Todoist, Trello и календаря, только для школьников.
В приложении они могут пользоваться электронным дневником, следить за своей успеваемостью и получать подсказки о том, на какие предметы нужно обратить особое внимание. Все по-серьезному: job story и продуктовый подход на домашке и табелях успеваемости.


Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments16

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

Reading time4 min
Views6.1K

Привет! Меня зовут Дима Дынников, я руководитель команды продуктовой аналитики в Профи. Расскажу, как мы ищем поведенческие аномалии в продукте и зачем это вообще нужно делать.

Что такое аномалии?
Total votes 20: ↑20 and ↓0+20
Comments9

Как Параллелизм в Swift предотвращает взрывы потоков?

Reading time6 min
Views1.9K

Как Параллелизм в Swift предотвращает взрывы потоков?

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

Это заставило меня задуматься… Так ли это на самом деле? Как это работает за кулисами? Можем ли мы как-то обмануть систему, чтобы она создавала больше потоков, чем ядер ЦП?

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

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

Асинхронность в питоне — это хайп, не стоит отказываться от блокирующего кода

Reading time5 min
Views10K

Здравствуйте, читатели хабра! Читайте в этой статье - развенчание мифов об асинхронном программировании в Python! Действительно ли асинхронная модель - более производительная? И как обстоят дела с драйверами баз данных?

На картинке - скриншот бенчмарков от авторов драйвера asyncpg. Как Вы можете догадаться, автор этой статьи с ними не согласен.

Некоторые читатели знают из моих предыдущих статей о моих (вполне успешных!) попытках сделать асинхронную версию django. Я решил прекратить работу над ней - столько труда напрасно! Читайте - и не делайте так.

Стандарту WSGI 19 лет (c хвостиком). Выясняем, есть ли ещё куда развиваться приложениям с блокирующим вводом-выводом в 2022.

Читать
Total votes 27: ↑14 and ↓13+1
Comments19

Как всё успевать: 10 проверенных принципов борьбы с хаосом задач

Reading time9 min
Views32K

Задачи окружают нас повсюду — и дома, и на работе, и во всяческих аспектах нашей повседневной жизни. У каждого со временем появляются собственные приёмы и методики работы со списками задач. Кто-то предпочитает модные приложения и продвинутые программы, кто-то по старинке всё записывает в бумажный ежедневник. А некоторые вообще не занимаются специальным планированием, но при этом чудесным образом всё успевают.

За долгие годы работы в IT такие методики и принципы выработались и у меня. Например, «Принцип пустого почтового ящика». Или «Принцип постепенного проявления». Они проверены временем и помогают мне успешно ориентироваться в окружающем потоке задач. В этой статье я хочу поделиться с вами этими принципами. Возможно, какие-то из них покажутся вам полезными и пригодятся.

Читать далее
Total votes 51: ↑48 and ↓3+45
Comments26

Information

Rating
Does not participate
Location
Россия
Registered
Activity