Попробовали на работе предметно-ориентированное проектирование (Domain Driven Design). Это такой способ построения архитектуры, когда ты (чаще всего с помощью системы типов и ООП) описываешь физическую суть вещей, которые представлены в твоей программе.
Например, если в программе есть объект "Книга", то её нужно снабдить свойствами, которые бывают у книг в реальности: число страниц, автор, язык, тип обложки и т.д. При этом данные свойства должны быть такими, чтобы присвоить им нереалистичные значения было нельзя. Допустим, число страниц не может быть отрицательным (и скорее всего в реальном мире не может быть нулём). При попытке установить отрицательное число страниц программа должна выбросить исключение. А совсем в идеальном случае -- не дать этого сделать программисту на уровне статического анализа кода.
Описав все свойства книги, вы снабжаете её операциями, которые над ней можно сделать. Например, из книги можно вырвать страницу, и при этом число страниц уменьшается. Нет такого случая, когда можно вырвать страницу без изменения числа страниц. Вы строго программируете эту зависимость, делаете у книги метод "Вырвать страницу", а он уже уменьшает число. Кстати, свойство "Число страниц" при этом нельзя переназначить в уже созданной книге. Можно только создать книгу, передав в её конструктор (так называется в программировании функция создания объектов) заданное число страниц. Но поменять число страниц можно только специальными методами "Вырвать страницу" и "Вклеить страницу".
С помощью этого подхода вы гарантируете, что ваши объекты всегда находятся в валидном состоянии -- то есть таком, которое возможно в реальной жизни с объектом, представленным программой.
Плюсы подхода очевидны: меньше число ошибок. Код описывает сам себя, и программист, если не лезет внутрь объекта "Книга", вообще не сможет сделать с книгой ничего недопустимого.
Минусы, думаю, тоже понятны: изначально проектировать сложнее, нужно учесть много нюансов, писать тесты. Время разработки изрядно растёт. Изменение требований даётся дороже: например, если каким-то образом в ваш книжный магазин поступят книги со страницами из кевлара, которые невозможно вырвать :)
Но первый проект с этим подходом мы сдали хорошо, без багов. Лучше, чем многие предыдущие.
#dev
#HIVE/USDT analysis :
#HIVE is currently experiencing an upward trend, trading above the 200 EMA. The price is positioned above the support zone following a corrective pullback. It is anticipated that the price will rebound from this level and test the previous swing high.
TF : 1h
Entry : $0.2807
Target : $0.3037
SL : $0.2675
#HIVE/USDT analysis :
#HIVE is in an uptrend, forming higher highs (HHs) and higher lows (HLs) structure while trading above the 200 EMA. The price is currently trading above the support zone. It is anticipated to rebound from this level and sustain its bullish momentum to test previous highs.
TF : 1H
Entry : $0.1770
Target : $0.1814
SL : $0.1743
#HIVE/USDT analysis :
#HIVE is currently consolidating above the support zone and the 200 EMA. The price is expected to sustain its bullish momentum and establish new highs. It is advisable to await a pullback for a long entry.
TF : 2H
Entry : $0.1859
Target : $0.2026
SL : $0.1818
#HIVE bounced from the Green zone on Weekly time frame,now price is trying to break up the trendline to continue the bullish trend 👀
❄️@signals_bitcoin_crypto❄️
❄️@Shadow_support0o❄️
Bitcoin Miner Invests in AI Tech
HIVE, a Canadian bitcoin miner, invests $30 million in AI computations using Nvidia GPUs. HIVE aims for around $15 million annual revenue from this initiative post-bitcoin halving. Meanwhile, many public mining stocks are expected to end the year in loss due to rising operational costs and reduced mining profitability. Full details here: Forklog.
#Bitcoin#AI#Mining#HIVE#Investment#Nvidia#Cryptocurrency#Halving#TechInnovation#PublicMining#CryptoMarket
#вакансия#hadoop#sql#java#hive#spark#python#scrum#agile
🚀 Вакансия: Старший разработчик Hadoop🚀
Локация: Санкт-Петербург/Москва (гибридный формат)
Вилка: 250 - 350К
✈️ Готовы обсудить релокационный пакет для кандидата не из Санкт-Петербурга и Москвы.
О нас:
Мы — ведущий банк России, активно развивающий свои цифровые продукты и услуги. Сейчас мы ищем опытного и амбициозного Старшего разработчика Hadoop, который присоединится к нашей команде для работы над инновационными проектами в области данных и аналитики.
Что вам предстоит делать:
- 🤝 Взаимодействовать с бизнес-заказчиками, понимать и структурировать их требования.
- ✍️ Разрабатывать функциональные требования для построения витрин данных.
- 🛠 Создавать прототипы витрин с использованием SQL, Java, Python, Spark.
- 🧪 Разрабатывать алгоритмы тестирования.
- 📑 Документировать разрабатываемые компоненты ПО.
- 🔧 Устранять дефекты, анализировать и исправлять инциденты в рамках 3-й линии поддержки.
- 🏃♂️ Работать в SCRUM спринтах.
Наши ожидания:
- ✅ Знание SQL (подтверждается прохождением теста).
- 📈 Опыт в бизнес и системном анализе не менее 2 лет: выявление, фиксация, согласование требований, постановка задач разработке, разработка проектной и сопроводительной системной документации.
- 👥 Опыт командной разработки с использованием Jira и Confluence; знание BitBucket будет плюсом.
- 🧩 Умение формализовывать задачи в виде четких и понятных алгоритмов.
- 🎓 Высшее образование.
- 💬 Отличные коммуникативные навыки, самостоятельность, внимательность к деталям, обязательность, ответственность.
Будет преимуществом:
- 📚 Опыт работы с Hadoop и знания его архитектуры.
- 🖥 Знание Hive, Java, Python, Spark.
- 🏃 Опыт работы в Agile.
- 📜 Знание и умение работы с wiki-системой Confluence и трекинговыми системами (Jira, Redmine и т.д.).
- 🏦 Знание банковской предметной области.
Мы предлагаем:
- 📄 Официальное оформление и стабильный, прозрачный доход.
- 🏆 Все льготы и преимущества работы в аккредитованной ИТ-компании.
- 🎁 Партнерские программы и скидки для сотрудников.
- 🏢 Гибридный формат работы.
Если вы хотите развиваться в динамичной компании и работать над интересными проектами в сфере больших данных, мы будем рады видеть вас в нашей команде!
🙋🏼♀️По всем вопросам к @BekhterevaElena
#вакансия#ds
Мы в Циан 🏘 ищем сильного Senior Data Scientist-а в команду CRM.
Локация - Полная удаленка внутри РФ. Если есть желание ходить в офис, у нас есть замечательные современные офисы в Москве, Питере и Новосибе.
Вилка - от 350 до 500 гросс, готовы обсуждать
О нас
В Циан большая команда ML. В команде настроены процессы перфоманс ревью, регулярного обмена опытом, выделяем время на исследовательскую работу!
Команда CRM занимается прямыми коммуникациями с клиентами (пуши, емейлы, смски и тд)
Наш стек
● Python (Numpy, SciPy, Pandas, sklearn, PyTorch);
● Экосистема Hadoop (PySpark, Hive, Kafka);
● Airflow;
Задачи:
● Повышение эффективности пуш-уведомлений, емейлов и других каналов прямых коммуникаций с клиентами;
● Оптимизация коммуникационной нагрузки, выбор оптимального канала коммуникации, выбор оптимального времени отправки;
Требования к кандидату
● Опыт: Не менее 3х лет релевантного опыта на позиции DS в продуктовой компании
● Python: пишет легко читаемый и поддерживаемый код
● SQL (оконные функции, оптимизация запросов)
● Apache стек: HDFS/Kafka/Spark (DF API)
● Классический ML: бустинги, линейные модели.
● Базовые знания в NLP и CV: трансформеры, TF-IDF
● DL: PyTorch.
Плюшки:
ДМС с первого дня (стоматология, госпитализация, полис ВЗР), Кафетерий льгот Benefactory, 5 day off в год, помимо основного отпуска.
Пишите в ЛС рекрутеру / мне (@DANAlina95 / @kgavrilchik) или скидывайте свои резюме на [email protected]
#Python#Numpy#SciPy#Pandas#sklearn#PyTorch#Hadoop#PySpark#Hive#Kafka#Airflow