Pull to refresh
10
0
Кирилл Петряев @Recosh

Full Stack разработчик

Send message

Как написать генератор изображений, который вас понимает

Reading time13 min
Views39K

Автор статьи рассказывает, как за неделю создал Text2Art.com — генератор изображений на основе VQGAN+CLIP, способный рисовать пиксель-арт и живопись, а также изображать то, что вы напишете в текстовом поле.

Для интерфейса используется Gradio, модель работает на сервере FastAPI, а системой очереди сообщений служит Firebase. Подробностями делимся к старту курса по ML и DL.

Читать далее
Total votes 15: ↑13 and ↓2+12
Comments22

Маркетинговая аналитика на Python. Пишем код для RFM-сегментации

Reading time8 min
Views13K

RFM - классический инструмент маркетинга для сегментации вашей клиентской базы. Я использую ее для работы в В2В, В2G сегменте. В основе него - понятные управленцу ценности: LTV и Purchase Frequency. Как можно строить сегменты с помощью Python - читайте в материале.

 

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

Как Kubernetes создает и запускает контейнеры: Иллюстрированное руководство

Reading time7 min
Views27K

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

Kubernetes позволяет выполнять много полезной работы без глубокого понимания деталей. Утилита командной строки kubectl и дашборды в Openshift помогают управлять вашими контейнерами. Однако, как только вы заглянете глубже в Kubernetes все может быстро усложниться.

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

Такая аналогия правдива и для работы с Kubernetes. Просто сказать: "Давайте оставим это на усмотрение разработчиков" - недостаточно, с таким же успехом можно предоставить выбор системы кондиционирования обычным рабочим со строительной площадки. За каждой хорошо спроектированной системой стоит как множество деталей, так и архитектор, который понимает их значение.

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

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

Универсальный Helm-чарт для ваших приложений

Reading time5 min
Views12K

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

Читать далее
Total votes 21: ↑20 and ↓1+20
Comments11

WebRTC для всех и каждого. Часть 1

Reading time26 min
Views68K



Привет, друзья!


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


Справедливости ради следует отметить, что на Хабре уже публиковался "вольный" перевод первых 2 частей оригинала (часть 1, часть 2), но автор по какой-то причине решил не продолжать. Я, свою очередь, решил начать с самого начала, без лишних вольностей и сокращений.


Ссылка на вторую часть перевода.


Если вам это интересно, прошу под кат.

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

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

Reading time12 min
Views179K

Мало просто сменить свою сферу работы на IT, желательно еще и стать хорошим разработчиком. Бывший тимлид и консультант Александр Усков рассказывает, как понять, что перед вами плохой разработчик и что с ним вообще можно делать

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

Читать далее
Total votes 263: ↑159 and ↓104+93
Comments403

Как с помощью трансферного обучения обнаружить вулканы на Гавайях

Reading time8 min
Views1.8K

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

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

Создаем точные датасеты для сегментации (доступны на kaggle)

Reading time2 min
Views3.2K

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

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

Читать далее
Rating0
Comments2

Эскимо из зяблика → разбираем птицу

Reading time13 min
Views20K


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

Узнав длину крыла и массу зяблика, а заодно раздув ему пух на животе для проверки количества жира (он просвечивает через кожу), можно установить запас его хода. У нашего почти 2 грамма. Это не очень много, но каждый килограмм жира даёт около 8 тысяч килокалорий, то есть у нашего героя массой 21,4 грамма есть топлива на примерно 450 километров. Это для птицы критично, потому что лететь далеко, и дальше это прямо повлияет на принятие зябликом решения о продолжении миграции.



Так. В общем, добро пожаловать на старейшую в мире орнитологическую станцию в Калининградской области. Пошли смотреть газоанализатор для внутреннего мира воробьиных и человека с уткой на голове. И вот эти огромные ловушки с фотографии выше.
Читать дальше →
Total votes 139: ↑137 and ↓2+174
Comments60

Как работает крупнейший маркетплейс: что у него под капотом

Reading time7 min
Views49K

Всем привет, я — Сергей Бобрецов, CTO в Wildberries. 

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

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

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

Сегодня я хочу рассказать немного про нашу инфраструктуру.

Читать далее
Total votes 63: ↑48 and ↓15+39
Comments55

Сколько ты стоишь? Метод анализа вакансий с HR-агрегаторов

Reading time8 min
Views10K

Конечно, когда мы решаемся сменить работу, мы исходим из своих личных побуждений и мотиваций; и очевидно, что увеличение своего материального положения — не последняя из причин. Но при ответе себе лично на вопрос «сколько я хочу получать» обычно оперируем своим собственным потреблением. Но случалось ли вам слышать именно на собеседовании такой вопрос: «А почему Вы хотите получать именно столько?» Мне случалось пару раз, и, признаюсь, в те разы терялся что ответить. Некоторые размышления меня натолкнули, что лучший ответ будет: «Столько предлагает рынок».

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

Полярная звезда

Reading time6 min
Views49K

Она указывает путь. Но лишь временно


image

Наверное это самая популярная звезда среди людей. Причем, ее популярность начала расти еще в те давние времена, когда Солнце за звезду не считали. Но если быть справедливым, то её “звездный час” наступил по историческим меркам относительно недавно, и по ним же — довольно скоротечен.

Её подозревают в какой-то особенной яркости, но она не самая яркая, а довольно заурядная в этом смысле. Кто-то считает, что она самая близкая. Но и это — неправда. Бытует мнение, что Полярная звезда видна всюду на Земле, и во всех морях и пустынях планеты можно прокладывать по ней курс. Но и это неверно. Истинную причину важности этого светила знают лишь знакомые с астрономией люди.

Чем же так знаменита Полярная звезда?

Читать дальше →
Total votes 102: ↑100 and ↓2+124
Comments37

Логистика. Часть 3. Еще одна модель динамического ценообразования

Reading time41 min
Views6.3K
Бывает так, что попадается какая-то задача, находится ее решение, причем довольно неплохое, но потом эта задача все равно не отпускает. Появляется навязчивая мысль о том, что у нее должно быть более оптимальное решение. Примерно так и получилось с задачей динамического ценообразования для авиабилетов, которую мы описывали более года назад в прошлой статье. Решение основывалось на алгоритме семплирования Томпсона. Компьютерное моделирование продаж показывало превосходные результаты, а тот факт, что такие гиганты как Walmart и Amazon уже давным давно и более чем успешно используют различные модификации этого алгоритма, только укрепляло уверенность в том, что мы на верном пути и иных способов оптимального решения задачи просто нет. Но в подавляющем большинстве случаев то, что отлично и везде работает, в авиаотрасли должно работать лучше. Не потому что так хочется, а потому что в этом действительно есть сильная потребность. Должно быть меньше экспериментов с ценой, она не должна меняться очень часто, а сам процесс поиска оптимальной цены должен быть еще быстрее. Но самое главное, алгоритм семплирования Томпсона не позволяет получить более-менее адекватную вероятностную модель спроса, без которой невозможно в полной мере использовать стохастическое программирование и заняться задачами глобальной оптимизации.


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

Распознаём позу прямо в браузере в реальном времени

Reading time9 min
Views7.1K


Сегодня показываем и рассказываем, как прямо в браузере при помощи ИИ распознать сложную позу человека. Это пригодится, например, в разработке приложений для физических упражнений. Ранее с этой задачей не справлялись даже лучшие детекторы. За подробностями приглащаем под кат, пока у нас начинается флагманский курс Data Science.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments3

Здоровый сон взрослого человека — это засыпать за 15 минут и не вставать ночью попить и пописать

Reading time13 min
Views164K


Послушала на днях 2х-часовое выступление «Здоровый сон» врача-невролога, сомнолога Елены Царевой. Выдернула самые важные для себя пункты:

  1. Спать регулярно, ложиться и вставать в одно и то же время — самое важное. 
  2. Биоритмы — частично наследуются, частично регулируются стилем жизни. На них можно влиять самому.
  3. Нормальное время отхода ко сну около 22:00. Сова и жаворонок — это отклонение на ±1-2 часа. Больше — это нарушение и сдвиг фазы сна, чаще из-за внешних раздражителей.
  4. Самая частая причина плохого сна и тяжелого засыпания — неправильный свет.
  5. Для сдвига режима на 1 час организму нужен 1 день на адаптацию.
  6. Невозможно «доспать» бессонную ночь. Досыпание устраняет только 30% последствий недосыпа.
  7. Прежде, чем искать причины плохого сна, исключите психологические проблемы (тревожность, депрессию), нарушения щитовидки, дефицит железа, диабеты, сердечно-сосудистые заболевания и патологию почек и мочеполовой системы.
  8. Водителям и пассажирам: 17 часов без сна равны 0,5 промилле, 21 час без сна — 0,8 промилле.
  9. В постели без сна больше 15 минут не находиться — совет при бессоннице. 
  10. Самые физиологичные будильники — те, что светятся. 

Под катом конспект 2х-часового выступления про сон на 15 минут чтения. Еще один поинт в копилку полезных материалов про сон — Sleep Hackers.
Читать дальше →
Total votes 139: ↑119 and ↓20+126
Comments247

Правила «идеального программиста»

Reading time6 min
Views9.6K

Когда меня спрашивают про мой опыт работы программистом, в частности про время потраченное от первого, до последнего рабочего куска кода, я привык отвечать — «От пары лет, до пары месяцев». До текущего момента этот ответ был довольно странный, но имеющий право на жизнь, ибо может показаться, что полученный опыт работы «IT-шником-одиночкой» (кем я и был до недавнего времени) не в IT компании довольно сложно применить к боевой разработке и в расчет к опыту профессиональной деятельности применяться не должен. Но это не так. Недавно мне довелось перечитать один из бестселлеров трилогии дядюшки Боба -«Идеальный программист» и сквозь призму времени, довольно странного опыта и изученного материала я готов обозначить, пожалуй, главные навыки, которые должен иметь, либо развивать «Идеальный программист». Данный список является несколько абстрактным, что делает его применимым не только для разработки, но и для других сфер.

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

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

Reading time8 min
Views13K


Open In Colab


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


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


По этой причине мы бы хотели поделиться с сообществом системой, которая:


  • Расставляет заглавные буквы и основные знаки препинания (точка, запятая, дефис, вопросительный знак, восклицательный знак, тире для русского языка);
  • Работает на 4 языках (русский, английский, немецкий, испанский);
  • По построению должна работать максимально абстрактно на любом тексте и не основана на каких-то фиксированных правилах;
  • Имеет минимальные нетривиальные метрики и выполняет задачу улучшения читабельности текста;

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

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

Многомерные данные и оценка качества их визуализации

Reading time5 min
Views3.9K
image

  • Многомерные данные — что они из себя представляют?
  • Зачем их визуализировать и что мы можем понять из визуализации?
  • Какими способами можно уменьшить размерность таким образом, чтобы сохранилась главная структура данных и какие свойства учитывать при проектировании?
Читать дальше →
Rating0
Comments1

Почему инженеры презирают Agile

Reading time5 min
Views27K

Мы продолжаем цикл публикаций о недостатках Аgile методологии. Сегодня перевод статьи о том, почему инженеры презирают Agile (много новых удивительных наблюдений!)

Читать далее
Total votes 73: ↑37 and ↓36+12
Comments129

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity