Forwarded from DevFM
Жизненная история
Мы часто видим на конференциях доклады об изящных технических решениях сложных проблем. Каждый второй изобретает вундервафлю, у каждого первого хайлоад и всё красиво.
Но в реальности всё не так радужно. Бизнесу нужны решения здесь и сейчас, и продукт нередко растёт стихийно, функционируя на костылях и подпорках.
Лёгкая и жизненная статья о достаточно крупной фирме, где всё было буднично. Чтобы выдержать нагрузку — накидывали железа вручную, тестирование — только на локальной машине разработчика, деплой проводили с помощью наколеночного решения.
А дальше автор описывает путь, как можно выбраться из этого болота. Статья сильно перекликается с нашим опытом, аж сжимается сердечко. Из-за постоянно меняющихся требований реального мира нельзя построить идеальную систему. Многие принимаемые решения являются компромиссами. Описанный в статье переход — это путь плавной трансформации, которая позволяет двигаться к светлому будущему в реальных условиях.
Пока происходили все эти события, бизнес вырос в пять раз. Монолит переехал на микросервисы. Инфраструктуру перенесли в kubernetes, что позволило создать распределённое отказоустойчивое решение в трёх дата-центрах.
Автор выделяет следующие преимущества kubernetes:
— канареечные выкаты, позволяющие производить A/B-тестирование
— деплой без даунтайма
— балансировка нагрузки
— горизонтальное автомасштабирование
— интеграция запуска тестов в CI с различными хитрыми конфигурациями
#skills
Мы часто видим на конференциях доклады об изящных технических решениях сложных проблем. Каждый второй изобретает вундервафлю, у каждого первого хайлоад и всё красиво.
Но в реальности всё не так радужно. Бизнесу нужны решения здесь и сейчас, и продукт нередко растёт стихийно, функционируя на костылях и подпорках.
Лёгкая и жизненная статья о достаточно крупной фирме, где всё было буднично. Чтобы выдержать нагрузку — накидывали железа вручную, тестирование — только на локальной машине разработчика, деплой проводили с помощью наколеночного решения.
А дальше автор описывает путь, как можно выбраться из этого болота. Статья сильно перекликается с нашим опытом, аж сжимается сердечко. Из-за постоянно меняющихся требований реального мира нельзя построить идеальную систему. Многие принимаемые решения являются компромиссами. Описанный в статье переход — это путь плавной трансформации, которая позволяет двигаться к светлому будущему в реальных условиях.
Пока происходили все эти события, бизнес вырос в пять раз. Монолит переехал на микросервисы. Инфраструктуру перенесли в kubernetes, что позволило создать распределённое отказоустойчивое решение в трёх дата-центрах.
Автор выделяет следующие преимущества kubernetes:
— канареечные выкаты, позволяющие производить A/B-тестирование
— деплой без даунтайма
— балансировка нагрузки
— горизонтальное автомасштабирование
— интеграция запуска тестов в CI с различными хитрыми конфигурациями
#skills
Хабр
Наши 5 лет с инфраструктурой «ВсеИнструменты.ру»: от нескольких ВМ до отказоустойчивого решения в трёх дата-центрах
Cтатья посвящена проекту «ВсеИнструменты.ру» — крупнейшему интернет-магазину DIY-товаров и нашему клиенту по совместительству. Расскажем, с чего начинали сотрудничество более пяти лет назад, как...
Forwarded from Время Валеры
Мой друг Игорь написал подробную статью про ChatGPT - которая скорее является полноценным обзором, который зайдет как новичкам, так и спецам. Советую прочитать
Еще у него есть Телеграм Канал, но это уже на ваш страх и риск
Еще у него есть Телеграм Канал, но это уже на ваш страх и риск
Хабр
ChatGPT как инструмент для поиска: решаем основную проблему
Вышедшая чуть больше месяца назад ChatGPT уже успела нашуметь: школьникам в Нью-Йорке запрещают использовать нейросеть в качестве помощника, её же ответы теперь не принимаются на StackOverflow, а...
Forwarded from Aspiring Data Science
#python #tricks #nwise #casefold #rml #tee
Собственно, где я и заметил использование casefold. Стоит посмотреть полностью, если кто не знал.
https://www.youtube.com/watch?v=iE5QLrzkGBU
Собственно, где я и заметил использование casefold. Стоит посмотреть полностью, если кто не знал.
https://www.youtube.com/watch?v=iE5QLrzkGBU
YouTube
James Powell- Why do I need to know Python- I'm a pandas user | PyData NYC 2022
It's common for data scientists to narrowly focus on the APIs of the tools they use every day—pandas, matplotlib, pymc, dask, &c.—to the detriment of any focus on the surrounding programming language. In the case of tools like matplotlib, the total amount…
Forwarded from DevFM
Введение в Kubernetes
В повседневной разработке без докера не жизнь, а каторга. Мы делились нашим опытом, какие именно задачи решает докер.
С ростом размера проекта растёт количество подсистем, особенно быстро в микросервистной архитектуре. Деление на подсистемы позволяет упростить совместную разработку, так как каждая команда работает с небольшой подсистемой вместо части большого монолита. Ценой упрощения разработки становится сложность управления этими подсистемами, и возникает проблема оркестрации. Каждую подсистему нужно деплоить, масштабировать и мониторить.
И в этот момент в дело вступает kubernetes, который вносит удобство оркестрации в больших проектах. Аккуратно, для маленьких проектов kubernetes обычно избыточно сложен и является оверинжинирингом.
Представляем серию из 6 душевных статей, посвящённых кубернетесу. Статьи читаются на одном дыхании и погружают в основы технологии.
Первая статья — концептуальное введение о необходимости оркестрации контейнеров без привязки к кубернетесу.
Вторая статья освещает основные концепции — cluster, nodes, pods, namespaces, кто на ком стоял.
Третья подробнее рассказывает о супер-важной штуке в кубере — подах (pods). Почему не хватает контейнера, из чего состоит под, в каких состояниях он может быть и как проверить его работоспособность.
Кто-то должен управлять всем развернутым зоопарком, предоставлять API для взаимодействия, решать на каком узле запустить под, контролировать работоспособность различных частей кластера и пытаться приводить всё к требуемому состоянию (desired state). Четвертая статья рассказывает о мастер-ноде и компонентах, которые берут на себя все эти задачи.
Пятая статья вводит ещё один набор концепций, которые активно применяются в кубернетесе — deployments, stateful set, daemon, jobs. Со всем этим неизбежно сталкиваешься на практике.
И заключительная, шестая статья рассказывает о том, как устроено взаимодействие различных частей в кластере, какие IP-адреса существуют, для чего они используются и как в обращении с ними помогают load balancer и ingress controller.
На практике всё гораздо сложнее, но эта серия будет отличной базой для дальнейшего освоения. Даже если не сталкивались с большими проектами, концептуальное понимание мощи оркестрации не будет лишним. В какой-то момент в профессиональной деятельности с чем-то подобным столкнетесь, на собесах про подобное тоже спрашивают. Так что лучше знать о существующих решениях, чтобы не городить свои велосипеды.
🔥, если интересна тема кубернетеса.
#skills
В повседневной разработке без докера не жизнь, а каторга. Мы делились нашим опытом, какие именно задачи решает докер.
С ростом размера проекта растёт количество подсистем, особенно быстро в микросервистной архитектуре. Деление на подсистемы позволяет упростить совместную разработку, так как каждая команда работает с небольшой подсистемой вместо части большого монолита. Ценой упрощения разработки становится сложность управления этими подсистемами, и возникает проблема оркестрации. Каждую подсистему нужно деплоить, масштабировать и мониторить.
И в этот момент в дело вступает kubernetes, который вносит удобство оркестрации в больших проектах. Аккуратно, для маленьких проектов kubernetes обычно избыточно сложен и является оверинжинирингом.
Представляем серию из 6 душевных статей, посвящённых кубернетесу. Статьи читаются на одном дыхании и погружают в основы технологии.
Первая статья — концептуальное введение о необходимости оркестрации контейнеров без привязки к кубернетесу.
Вторая статья освещает основные концепции — cluster, nodes, pods, namespaces, кто на ком стоял.
Третья подробнее рассказывает о супер-важной штуке в кубере — подах (pods). Почему не хватает контейнера, из чего состоит под, в каких состояниях он может быть и как проверить его работоспособность.
Кто-то должен управлять всем развернутым зоопарком, предоставлять API для взаимодействия, решать на каком узле запустить под, контролировать работоспособность различных частей кластера и пытаться приводить всё к требуемому состоянию (desired state). Четвертая статья рассказывает о мастер-ноде и компонентах, которые берут на себя все эти задачи.
Пятая статья вводит ещё один набор концепций, которые активно применяются в кубернетесе — deployments, stateful set, daemon, jobs. Со всем этим неизбежно сталкиваешься на практике.
И заключительная, шестая статья рассказывает о том, как устроено взаимодействие различных частей в кластере, какие IP-адреса существуют, для чего они используются и как в обращении с ними помогают load balancer и ingress controller.
На практике всё гораздо сложнее, но эта серия будет отличной базой для дальнейшего освоения. Даже если не сталкивались с большими проектами, концептуальное понимание мощи оркестрации не будет лишним. В какой-то момент в профессиональной деятельности с чем-то подобным столкнетесь, на собесах про подобное тоже спрашивают. Так что лучше знать о существующих решениях, чтобы не городить свои велосипеды.
🔥, если интересна тема кубернетеса.
#skills
Telegram
DevFM
Зачем вам нужен докер?
Встретили тут в бизнесе мысль: "мы недостаточно большие, чтобы использовать Docker". Не можем согласиться с таким тезисом. В современном мире разработки docker является такой же неотъемлемой частью разработки, как и git. Есть некоторые…
Встретили тут в бизнесе мысль: "мы недостаточно большие, чтобы использовать Docker". Не можем согласиться с таким тезисом. В современном мире разработки docker является такой же неотъемлемой частью разработки, как и git. Есть некоторые…
Forwarded from Записки Ппилифа (Ppilif Uliankin [GMT+3])
Задача коллекционера
Мы тут киндер-сюрпризы хаваем и попутно решаем задачу коллекционера. Только что Ира и Денис героически распаковали шоколадное яйцо и нашли последнюю игрушку из коллекции.
Если по-честному посчитать, получится, что E(X) ≈ n ln n.
Теоретическое математическое ожидание для коллекции из 18 игрушек оказывается примерно 52. Мы съели 50 яиц для того, чтобы собрать полную коллекцию.
Решение задачи коллекционера от меня можно найти на ютубе.
Оно очень красивое и использует два приёма: сначала надо разложить случайную величину в сумму индикаторов, а потом для каждой из маленьких случайных величин применить метод первого шага.
Много красивых задачек по терверу, кстати говоря, можно найти в культурном коде.
P.S. в случае коллекционера дисперсия довольно большая. Она пропорциональна n^2. При покупке яиц это придется учитывать.
Мы тут киндер-сюрпризы хаваем и попутно решаем задачу коллекционера. Только что Ира и Денис героически распаковали шоколадное яйцо и нашли последнюю игрушку из коллекции.
Задача:
Производитель яиц киндер-сюрприз кладёт в каждое яйцо одну из 50 случайно выбранных игрушек. Мы хотим собрать полную коллекцию. Пусть X — это количество яиц, которое надо купить. Найдите математическое ожидание E(X).
Если по-честному посчитать, получится, что E(X) ≈ n ln n.
Теоретическое математическое ожидание для коллекции из 18 игрушек оказывается примерно 52. Мы съели 50 яиц для того, чтобы собрать полную коллекцию.
Решение задачи коллекционера от меня можно найти на ютубе.
Оно очень красивое и использует два приёма: сначала надо разложить случайную величину в сумму индикаторов, а потом для каждой из маленьких случайных величин применить метод первого шага.
Много красивых задачек по терверу, кстати говоря, можно найти в культурном коде.
P.S. в случае коллекционера дисперсия довольно большая. Она пропорциональна n^2. При покупке яиц это придется учитывать.
Forwarded from Red Powerful
Data Validation
Валидация данных - одно из самых важных вещей, что бы лутать МЛ соревы, важнее только данные и их обработка.
1. Если у нас хороший FE, мы делаем вот что
- убеждаемся в том что train ~ test. Для этого проводим adversial validation и стат критерии на схожесть распределений средних и дисперсии. После чего делаем выводы о трансформации данных
2. Определяем какая валидация для нас нужна, но большинство делают просто CV без треккинга, а вы пробовали когда нибудь Repeated K-CV? Он позволяет трекать E[x] +- D[x], из чего мы можем сделать вывод о уверенности модели. А так же можно накинуть бутстрап (4 задача из демо симулятора вроде)
https://www.youtube.com/watch?v=qOwT553oMzs
Но есть такой человек Ron Kohavi, если вы смотрели внимательно видео, то он упоминается в статье. И я решил посмотреть что там за гипотезу он написал, а там огромное исследование о валидации данных, по сути видео - краткая выдержка статьи.
https://robotics.stanford.edu/users/ronnyk/teza.pdf
Мой канал - https://t.iss.one/notedatascience
Чат - https://t.iss.one/notedatasciencechat
Валидация данных - одно из самых важных вещей, что бы лутать МЛ соревы, важнее только данные и их обработка.
1. Если у нас хороший FE, мы делаем вот что
- убеждаемся в том что train ~ test. Для этого проводим adversial validation и стат критерии на схожесть распределений средних и дисперсии. После чего делаем выводы о трансформации данных
2. Определяем какая валидация для нас нужна, но большинство делают просто CV без треккинга, а вы пробовали когда нибудь Repeated K-CV? Он позволяет трекать E[x] +- D[x], из чего мы можем сделать вывод о уверенности модели. А так же можно накинуть бутстрап (4 задача из демо симулятора вроде)
https://www.youtube.com/watch?v=qOwT553oMzs
Но есть такой человек Ron Kohavi, если вы смотрели внимательно видео, то он упоминается в статье. И я решил посмотреть что там за гипотезу он написал, а там огромное исследование о валидации данных, по сути видео - краткая выдержка статьи.
https://robotics.stanford.edu/users/ronnyk/teza.pdf
Мой канал - https://t.iss.one/notedatascience
Чат - https://t.iss.one/notedatasciencechat
Forwarded from Red Powerful
А ладно искать не пришлось у noml есть
https://youtu.be/fOjdGd-7o3s
https://youtu.be/fOjdGd-7o3s
Forwarded from New Yorko Times (Yury Kashnitsky)
Санёк с Wall Street
#career #coolstorybob #friday #жзл
Как-то в ODS я рассказывал про своего друга, теперь – расширенная версия. Ничего сверхъестественного в его истории, просто как будто сериал про Wall street, запасайтесь попкорном. Wall street тут чисто как клише, речь пойдет про жизнь в ее Лондонском аналоге – the City.
С Саней мы дружим с института – вместе учились на факультете авиации МФТИ. Учился он достаточно, чтоб не терять стипендию, но без чудес. Вместе пили пиво, ходили на концерты альтернативки, вставали на сноуборд, косили траву на военных сборах, ездили волонтерить в Европу (где тоже косили траву) и знакомились с девчонками. Когда у меня все катали матан, он так же пытался меня подстебывать типа я задрот. Сам же стал активно ботать на 5 курсе, когда собрался поступать в РЭШ. Я в него, честно-то, не особо верил, но с 3-й попытки он сдал TOEFL на 112, GMAT нам физтехам проще даётся, да и с экономикой как-то проскочил.
Начались трудовыебудни, жил он с дедом на 15 тыс. рублей в месяц, готовил котлеты, дед их поедал. На неделе было по 7-8 дедлайнов. Как-то ещё умудрился девушку найти, брал у меня в долг 10к на торт и цветы, чтоб с мамой и бабушкой познакомиться (в 2017-ом мы оба женились). В РЭШ народ был еще более лютый, чем на физтехе, Саня по рейтингу был где-то на 25-ом месте, но повезло, именно он выбил грант на обучение.
Саня услышал в РЭШке про возможность постажироваться в Barclays, и понеслось. Как банный лист к заднице, приставал ко всем, кто прошёл эту программу, опять заботал просто все что можно было, и вот он в Лондоне с окладом 5к фунтов и налогами 10% (а не 40, как обычно, ибо стажировка). В барклайсе спокойно решал задачку типа регрессии с временными рядами, никакого кипиша, как в РЭШке, не было, жил припеваючи, с боссом ладил, пиво пил. Оказывается, когда тебя подсиживают ещё человек 16-17, надо быть начеку: знакомиться с руководителями прочих подразделений, даже ходить на собесы (!) внутри того же барклайса. Решают даже такие мелочи, что как-то ехал Саня в лифте, зашёл супер-босс и как-то разговор за 40 сек. не склеился. В итоге не предложили Сане контракт, хотя вся команда его за была, и босс был им доволен, а вот супер-босс нашёл на его место кого-то еще. Саня ходил 3 дождливых дня вдоль Темзы и пил джин.
В Москву (точнее, Жуковский) он вернулся зимой, как оказалось, почти на 3 месяца. Стал атаковать топовые инвест-банки, взяв прицел на JP Morgan и Goldman Sachs. И пошли собеседования... почти каждый день. Опять Саня заботал просто все брейн-тизеры и деривативы, на собесы ходил как на работу, даже волноваться перестал, в конце вёл себя просто нагло, сразу отвечая на вопросы, даже не скрывая, что знает ответ. В итоге JP Morgan устроил ему 18 (!) собесов, а на очной встрече в Лондоне эйчар честно признался, что есть 4 равноценных кандидата, и он не знает, кого брать. Отшили из-за week communication skills и отсутствия боевого опыта C++, хотя это и так из резюме было видно. А вот Голдман принял после 14 собесов.
#career #coolstorybob #friday #жзл
Как-то в ODS я рассказывал про своего друга, теперь – расширенная версия. Ничего сверхъестественного в его истории, просто как будто сериал про Wall street, запасайтесь попкорном. Wall street тут чисто как клише, речь пойдет про жизнь в ее Лондонском аналоге – the City.
С Саней мы дружим с института – вместе учились на факультете авиации МФТИ. Учился он достаточно, чтоб не терять стипендию, но без чудес. Вместе пили пиво, ходили на концерты альтернативки, вставали на сноуборд, косили траву на военных сборах, ездили волонтерить в Европу (где тоже косили траву) и знакомились с девчонками. Когда у меня все катали матан, он так же пытался меня подстебывать типа я задрот. Сам же стал активно ботать на 5 курсе, когда собрался поступать в РЭШ. Я в него, честно-то, не особо верил, но с 3-й попытки он сдал TOEFL на 112, GMAT нам физтехам проще даётся, да и с экономикой как-то проскочил.
Начались трудовыебудни, жил он с дедом на 15 тыс. рублей в месяц, готовил котлеты, дед их поедал. На неделе было по 7-8 дедлайнов. Как-то ещё умудрился девушку найти, брал у меня в долг 10к на торт и цветы, чтоб с мамой и бабушкой познакомиться (в 2017-ом мы оба женились). В РЭШ народ был еще более лютый, чем на физтехе, Саня по рейтингу был где-то на 25-ом месте, но повезло, именно он выбил грант на обучение.
Саня услышал в РЭШке про возможность постажироваться в Barclays, и понеслось. Как банный лист к заднице, приставал ко всем, кто прошёл эту программу, опять заботал просто все что можно было, и вот он в Лондоне с окладом 5к фунтов и налогами 10% (а не 40, как обычно, ибо стажировка). В барклайсе спокойно решал задачку типа регрессии с временными рядами, никакого кипиша, как в РЭШке, не было, жил припеваючи, с боссом ладил, пиво пил. Оказывается, когда тебя подсиживают ещё человек 16-17, надо быть начеку: знакомиться с руководителями прочих подразделений, даже ходить на собесы (!) внутри того же барклайса. Решают даже такие мелочи, что как-то ехал Саня в лифте, зашёл супер-босс и как-то разговор за 40 сек. не склеился. В итоге не предложили Сане контракт, хотя вся команда его за была, и босс был им доволен, а вот супер-босс нашёл на его место кого-то еще. Саня ходил 3 дождливых дня вдоль Темзы и пил джин.
В Москву (точнее, Жуковский) он вернулся зимой, как оказалось, почти на 3 месяца. Стал атаковать топовые инвест-банки, взяв прицел на JP Morgan и Goldman Sachs. И пошли собеседования... почти каждый день. Опять Саня заботал просто все брейн-тизеры и деривативы, на собесы ходил как на работу, даже волноваться перестал, в конце вёл себя просто нагло, сразу отвечая на вопросы, даже не скрывая, что знает ответ. В итоге JP Morgan устроил ему 18 (!) собесов, а на очной встрече в Лондоне эйчар честно признался, что есть 4 равноценных кандидата, и он не знает, кого брать. Отшили из-за week communication skills и отсутствия боевого опыта C++, хотя это и так из резюме было видно. А вот Голдман принял после 14 собесов.
Forwarded from Red Powerful
Библиотека для детекта разных вещей
https://docs.seldon.io/projects/alibi-detect/en/latest/cd/background.html
https://docs.seldon.io/projects/alibi-detect/en/latest/cd/background.html