Не просто отслеживайте свои эксперименты с машинным обучением, а версионируйте их (c DVC)
Новости
Apache Kafka. Безопасность, мониторинг и управление кластером
Мы расскажем, как настроить безопасность кластеров Kafka и Zookeeper, какие инструменты можно использовать для мониторинга и управления кластером, а также про особенности продукта, с которыми мы столкнулись.
Почему Apache Kafka?
Apache Kafka — это унификация. Десятки поставщиков и потребителей, миллионы сообщений в день и огромные массивы данных — для этого нужна надежная, отказоустойчивая и высокопроизводительная шина данных. Существует множество версий дистрибутивов Apache Kafka, например vanilla kafka, oбразы от confluent, bitnami, wurstmeister и т.д. Мы расскажем про решение на базе сборок от Confluent в виде Docker-образов. Оно самое надежное в плане информационной безопасности. Конфигурирование и запуск контейнеров с Kafka в данном случае происходит с помощью docker-compose.
За время работы с Kafka мы прошли путь от «коробочного» решения до тонкой настройки безопасности кластера, применения TLS шифрования и разворачивания по рекомендациям вендора по построению геораспределенного кластера. В конфигурации «из коробки» нет первоначальных настроек безопасности. Для контроля доступов, вносимых изменений и безопасного взаимодействия перед нами встала задача настройки на кластере Apache Kafka TLS шифрования, аутентификации и авторизации средствами встроенного ACL.
TLS шифрование
Обеспечивает шифрование соединения между брокерами Kafka, серверами Zookeeper, клиентами и брокерами. Вся ключевая информация помещается в хранилища — keystore, которые разделяют на два вида:
• keystore, где хранятся ключи и сертификаты стороны, в отношении которой пройдет процедура аутентификации и установления защищенного соединения, например, приватный ключ и ассоциированный с ним и подписанный со стороны центра сертификации (ЦC) сертификат.
Байесовская Сеть Доверия: Практика
Мы продолжаем нашу серию статей, связанных с байесовскими методами, один из которых — Байесовские Сети Доверия (БСД). Теоретическую основу БСД вы можете найти в этой статье.
В этой статье мы сначала вкратце вспомним теорию. Дальше будет, что называется, только хардкор: на примере данных “Титаника” мы будем строить БСД.
Как беспроводные сети могут помочь беспилотным машинам?
В данной статье мы рассказываем о том, как беспроводные сети могут помочь беспилотным машинам справляться с некоторыми “edge case” ситуациями и описываем подход для упрощения операции поиска объектов, влияющие на свойства беспроводных каналов.
Итак, начнем!
Производительность фронтенда: большое приложение на реактивном SSR-топливе
Каждый день сайтом SuperJob пользуется более миллиона людей. Как построить архитектуру фронта, чтобы приложение загружалось быстро и при этом выполняло требования поисковой оптимизации? Как мы можем это измерить?
Значительно повысить производительность можно при помощи серверного рендеринга, но какая будет цена у такой оптимизации? Какой инструмент выбрать — готовую библиотеку или собственное решение? Какие ограничения в дальнейшем могут быть вызваны выбором того или иного подхода?
На все эти вопросы ответил frontend-разработчик Виталий Старов на конференции FrontendConf 2021. Он рассказал о серверном рендеринге на примере приложения SuperJob. Читайте под катом, как SuperJob пришли к своей реализации серверного рендеринга, узнав по пути много интересного. Узнаете, когда хорош SSR и как он работает, из чего он устроен, чем может быть полезен и кому.
Свой Composer без баннеров
Короткий мануал их 7 шагов о том, как собрать из официальных исходников свой Composer без политических лозунгов авторов или просто внести свои изменения и подписать валидной сигнатурой.
Кейс: алгоритм возврата товара на маркетплейсе поставщикам компании Евраз
В этом примере мы не просто описали алгоритм возврата товара на маркетплейсе, а показали основные проблемы бизнеса и его поставщиков при использовании неавтоматизированного процесса возврата продукции, а также измеряемую выгоду от внедрения претензионного механизма.
Тестировало тестирование тестировщика, или Как мы используем и тестируем распределенную систему тестирования
Привет, Хабр!
Вам наверняка знакома ситуация, когда обновления, которые необходимо выкатить, — это россыпь отдельных файлов, которую надо соединить, протестировать на всех видах продуктов и поддерживаемых ОС, а потом загрузить на серверы, чтобы апдейты получили конечные пользователи.
Но что, если обновлений насчитывается 250+ типов? А если поддерживаемых ОС — порядка 250? И для тестирования требуется 7500+ тестовых машин? Такой вот типичный хайлоад. Который должен постоянно масштабироваться…
Я — Иван Лауре, менеджер по тестированию в «Лаборатории Касперского». Именно так, как я описал выше, выстроено «выкатывание» у нас. В этой статье я расскажу о центральной части всего процесса — как мы тестируем обновления для более чем 500 уникальных версий ПО, да и саму распределенную систему тестирования. Не сомневаюсь, что наш опыт будет вам полезен.
[Личный опыт] Турция: как здесь живется сейчас
Аланья
Маша Меркушина, продакт-менеджер одной из московских компаний, в начале марта без особого плана отправилась в Турцию.
Там она пережила весь набор приключений: невозможность обменять деньги, снегопады, резкие прыжки курса, лимиты на покупку, блокировки карт и знаменитый турецкий интернет.
С чем ей пришлось столкнуться в первые недели после переезда — и какие уроки она извлекла.
Слово Маше.
Обработка Push уведомлений на клиенте при их получении. И немного кода
Привет, Хабр!
При разработке приложения мы столкнулись с проблемой правильной обработки Push (т.н. пушей) уведомлений на стороне клиента.
Ниже расскажу про метод его создания и подключения, сертификаты и возможности для пушей, приведу подробные примеры кода с пояснениями. Также поделюсь некоторыми тонкостями. Например, про логирование информации о получении пуша с применением опции keychain sharing, загрузку картинки в пуш-уведомление и изменение счетчика пушей.
Ленивый Reverse Engineering — Часть 2
Статья расскажет о практическом аспекте при использовании инструментария, который позволяет производить исследование программного обеспечения с минимальным порогом вхождения и максимальной информативностью. Рассмотрим следующие инструменты:
• эмуляторы
• библиотеки для разбора форматов файлов
• интерактивные дизассемблеры
• документация
• динамическая инструментация
Китайские домены: интересные факты
Китайские домены, в отличие от доменов других стран, обладают интересными особенностями использования. В рамках данной статьи рассмотрим основные постулаты их применения и приведем некоторые примеры.
Добро пожаловать в семью
Привет, Хабр! Меня зовут Игнат Нахай и это мой первый пост. Я работаю в команде по внедрению платформы ZIIoT для промышленности. Конкретнее – отвечаю за архитектурные решения при внедрении платформы в информационный слой заказчика.
ZIIoT объединяет все источники промышленных данных на предприятии и через набор MES-сервисов позволяет управлять качеством, отслеживать генеалогию продукции, анализировать производительность, проводить оперативное и детальное планирование, контролировать состояние и распределение ресурсов и много чего еще. В связи с этим в платформе рождается большой объем информации, которая востребована в других информационных системах предприятия. Здесь я расскажу, как мы решали задачу построения информационных потоков и как нам в этом помог Apache NIFI.
Запустился бесплатный курс «Подготовка к алгоритмическому собеседованию» от Яндекс Практикума
Курс будет полезен разработчикам независимо от уровня алгоритмической подготовки:
- если вы раньше изучали алгоритмы и структуры данных, вы сможете применить их на практике;
- если вы только планируете их изучать, то курс поможет вам сориентироваться и уделять время только тому, что пригодится на собеседованиях.
Менталитет для инвесторов: «Горшочек с золотом»
Автор: Аарон Харрис — инвестор, основатель Tutorspree, бывший главный по раунду А в Y Combinator.
В основе работы над стартапом есть одно болезненное противоречие: все хорошее, что ты можешь создать, находится где-то в будущем, но все, с помощью чего ты учишься, находится в прошлом. Это толкает нас к смешным поступкам. С одной стороны, так можно увидеть насколько великим может стать проект, а с другой, легко подумать «окей, всё великое уже случилось, и случилось без меня». И вот ты начинаешь новый проект — и он кажется крошечным, по сравнению с большими компаниями. Такое сравнение приводит к бесконечному кругу пессимизма. Готов поспорить, что это убивает много новых проектов даже до их старта. [1]
А бывает и еще хуже. Например, у тебя был шанс присоединиться или проинвестирировать в какой-то начинающий проект, который после стал большим. [2] Ты представляешь свою жизнь, вложись ты в тот проект тогда, и ранишь себя, потому что это вымышленная успешная альтернативная реальность, которая уже не существует. Предполагаю, у тебя было много таких возможностей. [3] И теперь ты чувствуешь себя глупцом, вдобавок обескураженным.
Я стал жертвой такого мышления. Это стало причиной большинства моих худших решений в роли инвестора. Я потратил много времени, борясь с чувствами злости и беспомощности по поводу проектов, в которые я не вложил деньги, но в которые вложились другие. [4] Это сложный процесс, но я все чаще полагаюсь на другой способ мышления о возможностях и успехе. И этот способ оказывается чрезвычайно полезным.
Надгробья современного геймдева. Мнение большинства
"Обычный продуктовый магазин. Хлебный отдел. У заставленного водкой прилавка продавщица объясняет покупательнице:
- По данным опроса большинство хочет водку! Не хотите, всё равно купите. В продаже нет ничего, кроме водки."
Ненормальная картина, не правда ли?
Возможно, когда апологеты Data Driven Decisions (далее DDD) и ему подобных системных передёргиваний переключат своё внимание с продуктов для автоматизации торговли на саму торговлю (проклянём тот час!) - мы увидим и такое, и не такое.
На сегодняшний день же, к счастью, это поветрие поразило исключительно IT как самодостаточное явление (и, возможно, политику - но, как мягко намекал Пелевин, этого мы не узнаем никогда) и почти не перекидывается на другие отрасли. Но в любой момент свой "пациент №0" может появиться в торговле, пищевой промышленности, медицине...
Сегодня же у нас в прицеле находится строго разработка видеоигр, уникальный фрагмент отрасли, не так давно стоявший на стыке IT и искусства - и не устоявший.
Почему? Попробуем порассуждать.
Шпаргалка по коллекциям в Java
Сравним коллекции Java по следующим параметрам:
На чем основана — какая структура данных или коллекция используется под капотом.
Дубли — разрешены или нет в коллекции повторяющиеся значения.
Null — позволяет ли коллекция вставлять null.
Синхронизированность — все ли методы коллекции синхронизированы.
Потокобезопасность — безопасно ли использовать коллекцию в многопоточной среде.
Тип итератора — поведение итератора в многопоточной среде.
МойОфис интегрировал почтовую систему и ВКС-решение TrueConf. Рассказываем, как это работает
В рамках недавнего релиза 2.0 мы улучшили и расширили возможности продукта «МойОфис Почта» для корпоративных заказчиков. Подробности о составе релиза читайте здесь. Сегодня же рассмотрим одно из его интересных нововведений — возможность интегрировать с «МойОфис Почта» сторонние системы видеоконференцсвязи для проведения онлайн-совещаний. Востребованность подобных решений существенно выросла в период пандемии; согласно исследованию МойОфис, 65% коммерческих клиентов сегодня нуждаются в удобном инструменте резервирования видеоконференций.
На данный момент в «МойОфис Почта 2» реализовано межпрограммное взаимодействие с ВКС-решением TrueConf. При наличии у вашей компании лицензий на оба продукта, вы можете легко осуществить их интеграцию.
Под катом мы наглядно демонстрируем новую возможность почты на примере нашего тестового стенда. Показываем, как зарезервировать то или иное событие в почтовом календаре, отправить приглашения участникам и присоединиться к конференции. Все это — буквально в несколько кликов.
Тестируем шлюз безопасности UserGate на железе зарубежного NGFW
Я работаю в центре киберзащиты DataLine и в числе прочего занимаюсь межсетевыми экранами нового поколения (NGFW): тестирую новые решения, внедряю, настраиваю, слежу за работоспособностью.
В прошлый раз коллеги уже рассказывали про аналог западных NGFW на случай санкций и показывали схемы подключения виртуального шлюза безопасности в облаке. Но что если компания имеет на балансе аппаратный межсетевой экран и хочет продолжать использовать именно его, а не облачное решение? Например, если нужна частная инсталляция, а покупать новый аппаратный шлюз пока нет возможности.
С этой мыслью мы запустили тесты производительности отечественного UTM UserGate в интересном контексте: мы подняли версию UserGate на программно-аппаратном комплексе от зарубежного вендора NGFW. В статье поделюсь сценариями тестирования и покажу результаты на популярном устройстве розового цвета. При желании такие же тесты можно прогнать на любом другом оборудовании.
Код-ревью для начинающих: советы и ориентиры из практики
Привет, Хабр! Сегодня публикуем не совсем обычный для нас текст: решили сделать полезный гайд для новичков в код-ревью. Разобрались, кому нужна и не нужна эта практика, а еще — каких ошибок лучше избежать на старте.
Текст пригодится разработчикам и лидам, которые еще близко не знакомы с код-ревью или хотят упорядочить свои знания, узнать лайфхаки из практики. Если вы тоже захотите внести свою лепту, что-то посоветовать или рассказать историю из опыта — пишите в комментариях.