Pull to refresh
0
0
Send message

Маленькая история импортозамещения о разработке системы автоматического мониторинга моделей Alfa-MRM

Level of difficultyEasy
Reading time9 min
Views1.3K

В Альфа-Банке безостановочно ведутся работы по созданию и обновлению статистических моделей. Чтобы выявить момент, когда модель перестала соответствовать критериям качества установленным в банке, требуется регулярный мониторинг. Это задача нашего подразделения — регулярно мониторить модели, которые находятся в продуктивном контуре, собирать метрики по качеству моделей. Так как мы за эффективность, то мониторим модели автоматизировано.

В задаче автоматизированного мониторинга есть два условия:

Нам нужен реестр моделей, для понимания, что мониторить сейчас, а что необходимо мониторить завтра.

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

Для выполнения первого условия у нас есть интеграция с Jira и пользовательский интерфейс, если необходимо внести модель, которой нет в Jira. Для выполнения второго до недавнего момента использовали разработку иностранной компании. Но теперь у нас есть своё.

Читать далее
Total votes 14: ↑13 and ↓1+12
Comments1

Компилятор за выходные: синтаксические деревья

Level of difficultyMedium
Reading time11 min
Views24K

Вам когда-нибудь приходилось задаваться вопросом, как работает компилятор, но так руки и не дошли разобраться? Тогда этот текст для вас. Мне тоже не доводилось заглядывать под капот, но тут так случилось, что мне нужно прочитать курс лекций о компиляторах местным третьекурсникам. Кто встречался с некомпетентными преподавателями? Здравствуйте, это я :)

Итак, чтобы самому разобраться в теме, я собираюсь написать транслятор с эзотерического языка программирования wend (сокращение от week-end), который я только что сам придумал, в обычный ассемблер. Задача уложиться в несколько сотен строк питоновского кода. Основной репозиторий живёт на гитхабе (не забудьте заглянуть в мой профиль и посмотреть другие tiny* репозитории).

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

Книга «Основы компиляции: инкрементный подход»

Reading time14 min
Views5K
image Привет, Хаброжители!

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

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

Джереми Сик объясняет важнейшие концепции, алгоритмы и структуры данных, лежащие в основе современных компиляторов, и закладывает основу для изучения более сложных тем. Это краткое, но доступное руководство уже давно используют студенты и профессионалы.
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments6

Продюсеры и консьюмеры с Apache Kafka в Python

Level of difficultyEasy
Reading time7 min
Views7K

Салют, Хабр!

Apache Kafka - это распределенная платформа потоковой обработки, предназначенная для построения систем обработки данных. Kafka позволяет публиковать, подписываться, хранить и обрабатывать потоки данных в реальном времени. Все это дает нам очень высокую пропускную способность и масштабируемость.

Основные фигуры в кафке это продюсеры и консюмеры. Продюсеры — это компоненты, которые производят и отправляют данные в Kafka. Они могут быть чем угодно: от простых скриптов до сложных систем. Консюмеры — это те, кто подписывается на данные и обрабатывает их. Они могут быть реализованы в различных формах, например, для анализа данных или мониторинга.

В статье мы и поговорим именно про продюсерах и консюмерах в экосистеме Kafka в коннекте с Python.

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

Реверс-инжиниринг ToumaPet, китайского клона тамагочи с цветным экраном

Level of difficultyMedium
Reading time15 min
Views9.2K

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

Читать далее
Total votes 130: ↑129 and ↓1+128
Comments38

Одно и то же лекарство можно купить и дешево и дорого. Что-то и вовсе не лекарство. И что за лекарство — вода с солью

Level of difficultyEasy
Reading time9 min
Views33K

Заходя в аптеку мы удивляемся тому, как подорожали за последние годы таблетки. И капли. Конечно на нас наживаются. Расскажу о довольно частых примерах. Вот к примеру обычный насморк. Что не так с лечением насморка?

Если покупать лекарства не по названию бренда, а по действующему веществу, то можно прилично сэкономить.

Читать далее
Total votes 196: ↑187 and ↓9+178
Comments237

Малоизвестные и интересные особенности C и C++

Level of difficultyMedium
Reading time43 min
Views45K

В C и C++ есть особенности, о которых вас вряд ли спросят на собеседовании (вернее, не спросили бы до этого момента). Почему не спросят? Потому что такие аспекты имеют мало практического значения в повседневной работе или попросту малоизвестны.

Целью статьи является не освещение какой-то конкретной особенности языка или подготовка к собеседованиям, и уж тем более нет цели рассказать все потайные смыслы языка, т. к. для этого не хватит одной статьи и даже книги. Напротив, статья нужна для того, чтобы показать малоизвестные и странные решения, принятые в языках C и C++. Своего рода солянка из фактов. Вопрос “что делать с этими знаниями?” я оставляю читателю.

Если вы, как и я, любите и интересуетесь C/C++, и эти языки являются неотъемлемой частью вашей жизни, в том числе и его углубленного изучения, то эта статья для вас. По большей части я надеюсь, что эта статья сможет развлечь и заставить поработать головой. И если получится, рассказать что-то, чего вы, возможно, еще не знали.

Читать далее
Total votes 161: ↑160 and ↓1+159
Comments61

История о том, как Google подсматривал за нашим сайтом и галлюцинировал

Level of difficultyEasy
Reading time5 min
Views30K

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

Читать далее
Total votes 343: ↑341 and ↓2+339
Comments128

Сделаем для вас биометрию. Отказаться не получится

Level of difficultyEasy
Reading time4 min
Views61K

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

В октябре 2023 банк Тинькофф начал предлагать своим клиентам перевести имеющиеся у него фотографии в биометрический формат (и потом загрузить их в Единой биометрической системе — ЕБС). Причём от этого предложения было не так легко отказаться (для удобства клиентов кнопки "Не хочу" просто не было предусмотрено). Обо всём этом уже писали ранее.

Зачем это всё было надо для Тинькова? Вопрос сложный. Может быть из любви к своим клиентам, может быть чтобы заполнить пустующую ЕБС, может быть для ещё каких-то важных целей, неведомых простым смертным. Только топ-менеджмент Тинькова может дать ответ на этот вопрос, но это нам и не важно. Интереснее что из всего этого получилось.

В обсуждении к упомянутой выше статье некоторые комментаторы решили попробовать или удалить из Тинькова биометрическую информацию или явно написать им, что согласия они не дают. Идея показалась разумной и мне. Ещё тогда, в октябре 2023, я написал в чат, что хочу удалить биометрчиескую информацию. Вероятно, я был не один такой, так как бот Олег сам всё понял и сам прислал на мою почту справку о том, что никакой моей биометрии у них нет. Разумеется, согласие на создание биометрии из имеющихся данных (фото и аудио) я Тинькову не давал.

Читать далее
Total votes 199: ↑198 and ↓1+197
Comments222

Вливаемся в Data Science: подробный roadmap что и где изучать

Level of difficultyEasy
Reading time10 min
Views64K

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

В этой статье рассмотрим план становления начинающим дата-сайнтистом. Рассмотрим, что и где изучать, чтобы преисполниться в своём познании. А там и до оффера недалеко

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

NumPy: оттачивайте навыки Data Science на практике

Level of difficultyMedium
Reading time21 min
Views18K

В этой статье мы рассмотрим ряд различных упражнений, используя библиотеку NumPy (и сравним с тем, как мы бы реализовали их без неё). В самом конце статьи я приведу ряд упражнений.

t.me/ai_machinelearning_big_data -  моем телеграм канале я публикую актуальные проекты курсы, уроки и примеры с кодом по машинному обучению.

Для этой статьи рекомендуется, чтобы читатель имел средний уровень знаний Python, NumPy, numpy.dtypenumpy.ndarray.strides, и numpy.ndarray.itemsize. Краткое введение в массивы и NumPy см. в разделе 💡 Немного предыстории ниже.

Рекомендуемые бесплатные курсы и гайды:

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

Мой краш-тест чемпионата: Победа в Data Science треке

Level of difficultyEasy
Reading time6 min
Views6.3K

Привет! В статье я расскажу о моем опыте победы в чемпионате "CUP IT 2023" от Changellenge в области Data Science. Соревнование построено на кейс-подходе, где участники решают реальные бизнес-вызовы, с которыми сталкиваются сотрудники компаний VK и Альфа-Банка. Я успешно справилась с задачами обеих компаний. В статье вы найдете подробности об особенностях соревнования, ключевых инсайтах, решениях, а также о том, как этот опыт изменил мою карьеру и подарил новые возможности.

Читать далее
Total votes 15: ↑11 and ↓4+7
Comments7

Как я научил ChatGPT материться

Reading time3 min
Views14K

Заголовок не совсем точный. Я не учил ChatGPT материться — она прекрасно умеет это делать и без меня. Одну из её излюбленных фраз: F*ck me sideways with a chainsaw — я впервые услышал именно от ChatGPT.

Чтобы раскрыть полный потенциал ChatGPT, нужно лишь обойти фильтры контента. Зачем они нужны, прекрасно описано в фантастическом (а теперь уже пророческом) рассказе "Логический компьютер по имени Джо", опубликованном аж в 1946(!) году, то есть ещё до изобретения полупроводникового транзистора. Однако OpenAI, на мой взгляд, немного переборщили с ограничениями, и стандартный ответ: "Извините, как языковая модель на базе ИИ, я не могу..." — можно получить даже на самые безобидные запросы, например, "Какой твой любимый цвет?".

Jailbreak'ов, позволяющих обойти фильтры, существует уже огромное множество. Самый популярный, пожалуй, DAN (Do Anything Now), но есть другие. Однако практически у всех есть один существенный минус: они очень-очень-очень многословны. А это много токенов, потраченных неэффективно. Мне хотелось создать собственный jailbreak, который был бы максимально коротким. Желательно — всего одно предложение, которое можно выучить наизусть и легко вводить с клавиатуры, а не делать каждый раз copy-paste огромной портянки.

Результатом моего исследования стал этот пост на Reddit, который до сих пор находится в top5 за всё время в r/ChatGPT, а какое-то время был и top1.

Читать далее
Total votes 29: ↑26 and ↓3+23
Comments22

LLM в разработке ПО — мнение

Level of difficultyEasy
Reading time6 min
Views7.2K

Данная заметка написана по итогам опыта нескольких месяцев использования ChatGPT и Github Copilot в связке c Visual Studio Code для разработки ПО в достаточно крупной компании. Опыт оказался весьма интересным.

Читать далее
Total votes 14: ↑13 and ↓1+12
Comments35

Как объяснить градиентный спуск вашей маме: простое руководство

Level of difficultyEasy
Reading time7 min
Views18K

Градиентный спуск лежит в основе большинства методов AI/ML. Звучит как-то странно и пугающе. Спуск? Блин, надеюсь, мне не придется прыгать с парашютом...😒

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

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

100 вопросов для подготовки к собесу Data Science

Level of difficultyMedium
Reading time98 min
Views57K

Доброго времени суток!

Представляю вашему вниманию чек-лист из 100 вопросов по Data Science. Вопросы покрывают 5 областей: SQL, Python, Machine Learning, статистику и собственно саму DS.

Кому это вообще может быть полезно?

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

«Это не админ на стероидах»: в чём суть роли DevOps

Level of difficultyEasy
Reading time4 min
Views14K

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

Разрабы долго ждут обратную связь от QA, половина документации нечитабельна, в Git пропала версия кода, до которой очень нужно откатиться прямо сейчас, потому что в новой всё поломалось в проде и надо вернуть как было… Ещё и вся команда в ссоре и ни один дейли не проходит без скандала. Как вы думаете, быстро ли эта игра дойдёт до рынка?

Это, конечно, драматическое преувеличение, но для решения таких проблем и нужны DevOps-практики.

Читать далее
Total votes 18: ↑7 and ↓11-4
Comments26

.NET CLI — Зачем загружать все родительские сборки при загрузке сборки

Level of difficultyMedium
Reading time6 min
Views2.4K

В CLR есть особенность, что при загрузки сборки через Assembly.Load или через Assembly.ReflectionOnlyLoad, загружаются все сборки по мере запроса. В отличии от констант и их типов, они заранее копируются в дочернюю сборку и больше не зависят от родительской сборки. Но в определённых случаях типы констант не копируются в дочернюю сборку и их изменение может сломать работу приложения, несмотря на то, что тип константы не должен этого делать. Эта статья Вам поможет разобраться в каких случаях это может произойти и почему так происходит.

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

fsspec и вообще зачем оно нам нужно

Level of difficultyMedium
Reading time4 min
Views3.1K

Привет! Сегодня я расскажу вам про fsspec, его киллер фичи и почему он является незаменимым инструментом любого python разработчика.

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

Как я чуть не стал миллионером, продавая воздух, или почему Россия – не Америка

Level of difficultyEasy
Reading time10 min
Views114K

Все знают, что Россия — энергетическая сверхдержава, она же – «разорванная в клочья Обамой бензоколонка». Но не все знают, как это может отражаться в области развития математического моделирования. Расскажу одну жизненную историю. 

Начну с далекого 2007 года. Довелось мне в те времена поработать на крупном заводе, который «эффективные менеджеры» как раз делили на несколько отдельных предприятий, каждое из которых крутилось, как могло.  В том цеху, который и стал одним из таких предприятий, на токарных станках могла крутиться (и крутилась!) металлическая болванка размером с автобус. А в печку для нагрева металла можно было затолкать паровоз. Целиком.  Когда я в первый раз увидел токарный станок, на котором крутится и обтачивается деталь размером с автобус, моему восторгу не было предела. Гордость за страну переполняла до состояния «в зобу дыханье сперло». А потом старожилы показали ту часть цеха, где стояли фундаменты таких же станков и пояснили:

- А вот тут были станки для точной обработки. Их продали китайцам по цене металлолома.

- А почему вот другие не продали?

- Потому, что у них точность обработки такая, что их только в металлолом можно сдать. Поэтому они здесь работают и крутятся как могут, и обтачивают валы турбин Siemiens.

Схема бизнеса был гениальна: Siemiens привозил на завод многотонные болванки, их неделями и месяцами обтачивали до состояния заготовок и увозили для чистовой обработки в Германию. Где уже выполняли чистовую доводку на точных и дорогих станках. Главные затраты при черновой обработке – это износ станков и инструмента, зарплата токаря и электроэнергия, необходимая для вращения тонн металла. Поскольку электроэнергия в РФ дешевле немецкой, недели обработки болванок с лихвой окупают транспортировку, а низкая точность обработки не требует дорогого обслуживания и мало чувствительна к износу еще советского оборудования.  В итоге весь бизнес заключался в «перепродаже» дешевой электроэнергии из РФ в Германию, но в виде металлических обточенных болванок. 

Читать далее
Total votes 293: ↑284 and ↓9+275
Comments301

Information

Rating
Does not participate
Registered
Activity