SMLTECH
رفتن به کانال در Telegram
Канал про жизнь IT в Самолете. Обсуждаем технологии, развиваем PropTech и показываем, чем хорош data-driven подход. Наши вакансии: career.samolet.ru/ Хабр: habr.com/ru/companies/samolet/ О продуктах компании: @gk_samolet
نمایش بیشتر1 702
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-107 روز
-1830 روز
آرشیو پست ها
1 702
Repost from 10D. Цифровая стройка
🤩Исследуем тренды цифровизации в строительстве
Наши коллеги из агентства SALT провели исследование о том, насколько российские строительные компании готовы или уже внедрили цифровые инструменты в свои процессы.
Мы с удовольствием поддержали исследование и добавили комментарии, какую стратегию цифровой трансформации выбирает группа «Самолет».
Получите доступ к результатам исследования, чтобы узнать:
1️⃣ Какие направления в лидерах по уровню цифровизации
2️⃣ Как компании оценивают эффект от внедрения цифровых решений
3️⃣ По каким критериям выбирают ИТ-продукты
4️⃣ Сколько тратят на цифровизацию и как формируют бюджет
И много других ответов
Посмотреть результаты исследования 🎓
1 702
Так как же сортировать улиткой? 🐌
В понедельник мы дали вам задачу создать алгоритм для сортировки двухмерного массива по спирали. Надеемся, что вы справились.
Давайте теперь посмотрим на один из вариантов решения и оценим его:
def snail(array):
# Если массив не пустой (база рекурсии)
if array:
# Извлекаем первую строку и приводим её к списку.
# Эта строка будет первой в итоговой последовательности.
top_row = list(array[0])
# Обрабатываем оставшуюся часть матрицы:
# 1. array[1:] — все строки кроме первой.
# 2. zip(*array[1:]) — функция zip с распаковкой строк превращает колонки в строки,
# получая "транспонированный" вариант оставшейся матрицы, где каждая новая строка
# представляет собой столбец исходной матрицы.
rotated_array = zip(*array[1:])
# Преобразуем объект zip в список, чтобы иметь возможность применять индексирование и разворот.
rotated_array = list(rotated_array)
# Инвертируем порядок строк (reverse):
# Так мы меняем направление обхода так, что столбец, ранее располагавшийся справа,
# становится следующей строкой при обходе.
rotated_array = rotated_array[::-1]
# Выполняем рекурсивный вызов:
# Объединяем ранее полученную верхнюю строку (top_row) с результатом обхода оставшейся (повёрнутой) матрицы.
return top_row + snail(rotated_array)
else:
# База рекурсии: если массив пустой, возвращаем пустой список.
return []
А как решили вы? 💬1 702
Наши разработчики постоянно решают различные задачи, как рабочие, так и теоретические. Это помогает им развиваться и держать себя в тонусе. 🎓
Сегодня предлагаем вместе с ними решить теоретическую задачу. Для решения вам понадобятся знания алгоритмов и матриц. Условие задачи ниже, а немного позднее мы поделимся с вами одним из вариантов решения.
Представьте, что у вас есть квадратная матрица n x n. Ваша задача — пройтись по ее элементам по спирали, начиная с внешнего слоя и двигаясь к центру по часовой стрелке. Если же матрица пустая ([[]]), то вернуть пустой список. Напиши функцию snail(array), которая будет возвращать список элементов в нужном порядке на привычном вам языке.
Пример:
array = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
snail(array) ➞ [1, 2, 3, 6, 9, 8, 7, 4, 5]
Удачи! И не забудьте поделиться своим вариантов решения в комментариях!1 702
+4
Сегодня решили поделиться с вами целой подборкой мемов, которые нам понравились! 🎁
Они не только развлекут, но и помогут освежить в памяти терминологию.
Можете восполнить свои пробелы в знаниях или скинуть тем, кому нужнее 😉
1 702
+4
В команде Самолета работают не только разработчики, но и дизайнеры. Их цель — создать интуитивно понятный интерфейс, который помогает пользователям быстро разобраться в приложении. 🌺
Стремясь создать красивые и привлекательные продукты, можно упустить удобство и ясность. Никита Чернов, ex-руководитель UX-редактуры, подготовил чек-лист, который поможет проверить, что дизайн не только стильный, но и понятный каждому пользователю.
А еще больше полезной информации для дизайнеров и редакторов можно найти в канале Никиты.
#строим
1 702
+4
С международным днем бэкапа! ⚙️
31 марта ежегодно отмечается международный день резервного копирования. Мы желаем вам никогда не сталкиваться с потерей данных и надежных легко восстанавливаемых бэкапов! 🤝
В честь праздника мы предлагаем вам проверить свои резервные копии и сделать свежую на всякий случай. А ещё вместе вспомнить известные случаи потери данных, которые повлияли на наш мир.
1 702
Почему мы выбрали Tangl для визуализации аналитики
В своей работе мы используем кучу различных инструментов, а еще больше — тестируем для использования. Для работы с BIM-данными мы остановили свой выбор на отечественной платформе Tangl. За два года команда разработчиков показала, что они могут гибко адаптировать свои решения под потребности заказчика. Поэтому и для визуализации данных мы решили использовать их компонент.
Разработка компонента заняла около 4 месяцев и нескольких итераций по улучшению функциональности и оптимизации производительности. За это время решение обросло множеством возможностей и теперь позволяет эффективно визуализировать и анализировать данные по охране труда на строительных объектах с использованием трехмерных моделей, обрабатывая одновременно до 20 моделей в корпоративном облаке заказчика.
В будущем мы планируем не только расширение его применения для других аналитических задач компании, но и адаптацию под отечественные BI-системы, которые постепенно внедряются в работу девелопера.
#строим
1 702
+4
Мы создали «Инкубатор специалистов качества данных и аналитиков» 🎓
Так мы назвали свой авторский курс для начинающих специалистов по данным. И несмотря на сложность в создании собственного курса с нуля, это того стоило. В карточках расскажем подробнее.
1 702
+7
Ребята, а накидайте ваших любимых фонов для созвонов
Давайте соберем платиновую коллекцию, чтобы к понедельнику всем быть готовыми на планерках 🤓
1 702
Измеряем «пульс» Kafka-консьюмера для автоматического перезапуска с помощью livenessProbe ❤️
Во многих наших инструментах мы используем Kafka для обработки потоков данных. В связке с Kubernetes это очень удобно и эффективно. За исключением моментов, когда Kafka-консьюмер зависает без ошибок или падений, но перестав обрабатывать сообщения. Отследить такое сложно, но можно.
Например, проблему можно решить с помощью livenessProbe, но в случае Kafka-консьюмеров единого способа для этого нет, что усложняет задачу. Сергей Коник нашел наиболее оптимальное решение этой задачи с помощью паттерна HeartBeat и Python. Благодаря периодической проверке «пульса» консьюмера мы можем быстро обнаружить зависание и автоматически перезагрузить контейнер с консьюмером.
О том, как пошагово реализовать такой механизм Сергей рассказал в новой статье. Заходите почитать!
#шерим
1 702
+6
ИИ в флиппинге: революция в инвестициях в недвижимость 🏙
Флиппинг недвижимости — это стратегия инвестиций в недвижимость на короткое время для ее последующей перепродажи после улучшения. Раньше это была игра интуиции, насмотренности и опыта, но теперь — наука, подкрепленная большими данными и искусственным интеллектом.
Мы запустили онлайн-платформу для флипперов с ИИ, которая помогает минимизировать риски, находить выгодные объекты и увеличивать прибыльность сделок, превращая сложный процесс в автоматизированный и предсказуемый. Сейчас расскажем подробнее!
#строим
1 702
Не только строим, но и помогаем строить 🌱
Мы создали целый арсенал инструментов, которые помогают нам на всех этапах строительства — от инвестиционной стадии до ввода в эксплуатацию. За этими решениями огромный опыт и экспертиза наших специалистов. Но этот же опыт может помогать и другим компаниям, поэтому мы разработали и SaaS-продукты.
Так у нас появилась Платформа 10D — система из 10+ инструментов, которая даёт возможность всем, кто связан с девелопментом упростить:
🤩Автоматизация мастер-планирования — преддевелопмент
🤩Среда общих данных — работу с документацией
🤩Управление качеством строительства — контроль качества на всех этапах, акты КС-2
🤩Управление безопасностью объектов — КПП
🤩А скоро будут доступны управление стоимостью и сроками и управление МТО
Для создания платформы мы взяли существующие продукты «Самолета», а затем адаптировали их под нужды пользователей! В их основе лежат известные Open Source технологии: React.js, Django, PostgreSQL, Redis, Kafka и REST API, а также облачные решения от Yandex Cloud.
Еще одна важная особенность — мультитенантность — архитектура, при которой один экземпляр приложения обслуживает несколько независимых клиентов. За счет нее обеспечивается экономия ресурсов, масштабируемость и упрощение обслуживания всего решения. При этом пользователи могут использовать как часть инструментов платформы, так и все ее возможности.
💬 Про какие инструменты Платформы нам рассказать в следующий раз? Пишите свои пожелания в комментариях!
А больше информации про 10D можно узнать в канале @samolet_10D.
#строим
1 702
Что такое DevSecOps и зачем он нам нужен 🛡
DevSecOps — это подход, который делает безопасность неотъемлемой частью разработки программного обеспечения. Он объединяет разработку (Dev), безопасность (Sec) и эксплуатацию (Ops), позволяя выявлять и устранять уязвимости еще на ранних этапах.
Он помогает нам позаботиться о безопасности с самого начала, ускоряя работу и снижая риски благодаря автоматизации. Преимущества очевидны по нашему опыту: время на исправление уязвимостей сократилось на 40%, количество дефектов снизилось на 80%, а тесты безопасности покрывают до 90% кода!
Это достигается за счет слаженной работы наших команд: DevOps-инженеры автоматизируют процессы CI/CD, DevSecOps-специалисты внедряют инструменты анализа, а разработчики оперативно устраняют проблемы. Например, в наших пайплайнах безопасность проверяется на всех этапах — от статического анализа кода до мониторинга приложений с помощью WAF после развертывания.
Сегодня, когда киберугрозы растут, а скорость вывода продуктов на рынок критична, DevSecOps становится не просто трендом, а необходимостью. Он повышает качество ПО, снижает затраты и помогает бизнесу оставаться конкурентоспособным. А у вас применяется такой подход?
Поделитесь своим опытом внедрения и мнением о DevSecOps в комментариях!
#строим
1 702
Мы создали собственную аналитическую платформу 🔑
Каждый день мы работаем с огромными массивами разнородной информации: финансовыми прогнозами, экономическими показателями, данными контрагентов и подрядчиков. Чтобы делать это эффективно, дирекция данных создала аналитическую платформу на базе Open Source и собственных разработок.
Мы применили на практике самую современную парадигму архитектур — LakeHouse. Она расширяет традиционную аналитику данных, сочетая гибкость озер с четкой структурой хранилищ. Это позволяет оптимизировать загрузку, обработку и анализ данных, а также обеспечивает изоляцию хранения от вычислений для облегчения масштабирования.
В итоге мы имеем возможность работать как с готовыми витринами, так и напрямую с качественными очищенными и описанными данными в озере.
Аналитическая платформа уже агрегирует информацию из 170+ мастер-систем и источников, превращая данные в ценный актив компании. На уровне LakeHouse мы обеспечиваем не только кросс-системность данных, но и обогащаем их и приводим к стандартам качества, а также описываем каждый атрибут данных в каталоге данных.
Для компании это был стратегически важный проект: не просто централизовать данные, но и сделать их пригодными для принятия управленческих решений. При этом мы реализовали ряд крупных проектов: осуществили переезд с облака в собственный ЦОД компании, мигрировали с Hadoop на S3, применили последние практики dataops и iac подход, развернули весь стек по работе с данными в Kubernetes, добились оптимизации хранения данных в 6 раз.
Хотите узнать больше? Ставьте 🔥
1 702
+7
Первые итоги магистерской программы «Самолет» и НИУ ВШЭ
В 2023 году «Самолет» вместе с факультетом компьютерных наук НИУ ВШЭ запустили магистерскую программу «Анализ данных в девелопменте». Всего в программе 63 студента и первый выпуск состоится уже этим летом.
А пока что мы решили подвести промежуточные итоги программы в карточках!
1 702
Наверное, бабушка каждого айтишника удивлялась, как он зарабатывает деньги, сидя перед компьютером. Согласны?
Кстати, кого у нас больше — разработчиков, создающих ошибки или тестировщиков, которые эти ошибки ищут? Помогите нам разобраться!
#смеемся
1 702
+7
Как прошла Зимняя школа 🎓
7-9 февраля в Санкт-Петербурге состоялась Зимняя школа ИПКН 2025 «Проектная деятельность в IT: от разработчика до руководителя». Сейчас расскажем, как это было!
#какэтобыло
1 702
+3
.NET: Часть 3. Опыт Кирилла Бажайкина 🚀
Завершаем нашу серию о .NET. — об этой экосистеме в прошлых постах рассказывали Олег Федоров и Игорь Сердюков, а сегодня своим опытом поделится Кирилл Бажайкин, руководитель группы автоматизации бюджетирования!
А еще Кирилл рассказывает об отдельных способах улучшения производительности у себя в канале. Если вы специалист по .NET, то рекомендуем подписаться!
#строим
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
