Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга

Обзор Harvester — гиперконвергентного Open Source-решения на базе Kubernetes

Блог компании Флант Open source *Виртуализация *DevOps *Kubernetes *

Немецкая компания SUSE известна в Open Source-сообществе своими дистрибутивами Linux. Но этим ее деятельность не ограничивается. В конце прошлого года SUSE представила новый проект с открытым кодом — гиперконвергентное решение Harvester. Как говорит компания, Harvester — это альтернатива существующим гиперконвергентным платформам enterprise-уровня типа VMware vSAN и Nutanix HCI, адаптированная к cloud native-среде, к тому же полностью бесплатная.

В статье сделаем небольшой обзор Harvester: посмотрим на компоненты, возможности, сильные и слабые стороны.

Читать далее
Рейтинг 0
Просмотры 23
Комментарии 0

Новости

Функциональные тесты на проекте: о жизни до них и с ними

Блог компании Skyeng Тестирование IT-систем *PHP *Тестирование веб-сервисов *

Наша команда отвечает в Skyeng за личный кабинет и CJM пользователя до оплаты. Изначально проект был написан на Symfony 4.4 и представлял собой набор слабо связанных компонентов, которые были ответственны за правила работы для фронтенда. Например, можно было получить или сохранить данные из базы и построить правильный редирект в зависимости от состояния пользователя при входе на главную страницу. Состояние определяется действиями студента: только что зарегистрировался, записался на вводный урок, оплатил занятия и так далее.

У нас были лишь юнит-тесты: каждый покрывал логику одного класса. Все тесты вместе давали покрытие основной логики кода и гарантию, что все работает правильно. Но 100% покрытие кода тесты не обеспечивали. И сейчас не обеспечивают.

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

И мы обратились к функциональным.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 32
Комментарии 0

Как и для чего мы построили ML Space

Блог компании SberCloud Облачные вычисления *Машинное обучение *Суперкомпьютеры

Речь пойдет о платформе для ML-разработки полного цикла. Работа над ней стартовала с запуска одной из наиболее производительных вычислительных систем в России — суперкомпьютера Christofari. Расскажем, как мы строили ML Space и что предлагает платформа.

Читать далее
Рейтинг 0
Просмотры 30
Комментарии 0

Сегментация экземпляров с помощью Mask R-CNN

Машинное обучение *Программирование *Python *Читальный зал

Задача сегментации изображений может решаться в нескольких постановках. Самая распространённая - semantic segmentation с одним классом и фоном, необходимо просто отделить объекты от фона, не различая их между собой. Но часто просто отделения от фона недостаточно, необходимо отделять отдельные образцы друг от друга, например, чтобы оценить размер или расположение каждого отдельного объекта. Как это можно сделать?

Читать далее
Рейтинг 0
Просмотры 55
Комментарии 0

Письмо счастья: как мы разделили наши сборки для AppGallery и Google Play

Блог компании HeadHunter Разработка мобильных приложений *Разработка под Android *

В марте Google Play стал рассылать письмо-предупреждение для разработчиков, использующих Huawei Mobile Services в своих мобильных приложениях. И в этом письме было сказано, что использование HMS в сборках для Google Play противоречит политикам стора приложений, а на решение проблемы дается 120 дней. В противном случае Google Play обещает перестать принимать обновления для таких приложений.

После получения такого “письма счастья” мы окончательно убедились, что наша единая сборка приложения для всех сторов с переключением платформенных сервисов в рантайме – не самое надежное решение в столь изменчивом мире. В общем, мы решили оперативно перейти на раздельные сборки. Особенность нашего решения в том, что мы сохранили GMS+HMS сборку приложения для AppGallery, добавив в наш проект возможность сделать чистую GMS-сборку для Google Play. Мы использовали флейворы, но в связке с многомодульностью нам удалось затащить под флейворы лишь минимальное количество кода. 

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

Читать далее
Рейтинг 0
Просмотры 508
Комментарии 0

Всё что нужно знать про ECS

Проектирование и рефакторинг *Разработка игр *C# *Unity *
Из песочницы

Привет, Хабр! В этой статье я расскажу всё, что знаю про Entity-Component-System и попытаюсь развеять различные предубеждения об этом подходе. Здесь вы найдете много слов о преимуществах и недостатках ECS, об особенностях этого подхода, о том как с ним подружиться, о потенциальных граблях, о полезных практиках, а также в отдельном разделе коротко посмотрим на ECS фреймворки для Unity/C#.

Окунуться в мир ECS
Всего голосов 13: ↑13 и ↓0 +13
Просмотры 1.7K
Комментарии 3

Unity. Ленивый ECS

Разработка игр *C# *Unity *
Из песочницы

Привет, Хабр! Это статья о том как наша небольшая команда реализовывала свой ECS в рамках Unity проекта. Если вас заинтересовало как строилась архитектура, откуда брались те или иные решения, и какой она у нас получилась, или если вам просто интересно, как оно всё выглядит там, под капотом, вы можете посмотреть всё нажав на кнопку "Читать далее".

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 704
Комментарии 1

Посчитать запросы spring data jpa + hibernate на 1 rest запрос

Java *SQL *Kotlin *
Tutorial

Началось все с желания посчитать, сколько запросов в БД улетает на каждый rest запрос при использовании spring data jpa + hibernate.

Гугл выдал интересное видео про xrebel, но так же сообщил, что xrebel платный.
Дальнейший поиск привел к статье Counting Queries per Request with Hibernate and Spring.

Её и взял за основу для своего счетчика. Какого-то ещё примера не нашел, поэтому решил оставить эту заметку

Читать далее
Всего голосов 4: ↑1 и ↓3 -2
Просмотры 794
Комментарии 7

Flutter для Apple TV

Flutter *
Перевод

В марте 2021 года Flutter получил серьезное обновление, которое позволяет разработчикам создавать красивые, быстрые и портативные приложения для самых разных платформ. С Flutter 2.x вы можете использовать одну и ту же кодовую базу для отправки нативных приложений в мобильные операционные системы, такие как iOS и Android, в настольные операционные системы, такие как Windows, macOS и Linux, а также в браузеры, такие как Chrome, Firefox, Safari или Edge. Также команда Flutter дала немного информации о Flutter для встраиваемых устройств, но нигде официально не было описано, как с помощью Flutter можно разрабатывать приложения для операционных систем Smart TV.

Читать далее
Рейтинг 0
Просмотры 828
Комментарии 0

Экспорт статей Хабра в html, markdown

Habr Python *

image


До меня было написано 4 статьи по экспорту статей с хабра в FB2 и pdf:



Я же хотел получить исходники своих статей.

Читать дальше →
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 2.3K
Комментарии 6

Пятьдесят лет на стезе программирования. Отступление. Встреча с прошлым

Программирование *Карьера в IT-индустрии Читальный зал История IT Биографии гиков
imageЗаканчивая третью часть воспоминаний «Пятьдесят лет на стезе программирования», я и не предполагал, что снова буду рассказывать о военном городке под названием «Вентспилс-8», где я фактически и стал настоящим программистом.
Но человек предполагает, а Бог располагает.
Первый звонок прозвучал 31 октября 2021 года, сразу после опубликования на Хабре моей статьи «Пятьдесят лет на стезе программирования. Часть III. Становление. На страже космических рубежей и путь в большую науку»), неожиданно из Риги пришло послание:
Добрый день Владимир Николаевич!

Позвольте представиться, меня зовут Антон, работаю я в студии во многих ипостасиях (сценаристом, монтажером, и др.), в городе Рига.

Беспокою вот по какому поводу, наша студия занимается фильмом о Норке. Принцип работы у нас делать фильмы хорошо, или не делать вообще.

Информации о Норке и Вентспилсе-8 очень мало, для получения информации мы записали обращение для группы (в VK), Ваш покорный слуга дебютировал как ведущий.
Могу ли я обращаться с вопросами?

P.S. вчера были на Норке и в Вентспилсе-8, городок представляет удручающее зрелище.
На плане №36, трансформаторная.

Буду ждать ответа, удачи!
Читать дальше →
Всего голосов 27: ↑24 и ↓3 +21
Просмотры 3.3K
Комментарии 14

Сколько цветов может выдержать Windows Terminal?

Клиентская оптимизация *Обработка изображений *Разработка под Windows *
Перевод
Группа пользователей хотела реализовать простую видеоигру в терминале, но оказалось, что её производительность в Windows Terminal совершенно не подходит для такой задачи. Проблему с производительностью можно воспроизвести, многократно отрисовывая «радугу» и замеряя количество кадров в секунду (FPS). Показанная на рисунке радуга, состоящая из 20 цветов, на моём Surface Book с Intel i7-6700HQ отрисовывается с частотой 30 FPS. Однако если отрисовывать ту же радугу из 21 или более цветов, то частота упадёт ниже 10 FPS. Такое падение стабильно и ситуация не ухудшается даже при тысячах разных цветов.

Читать дальше →
Всего голосов 25: ↑24 и ↓1 +23
Просмотры 5.4K
Комментарии 3

Тестируем импорт данных в Neo4j

Блог компании Bimeister NoSQL *Хранилища данных *

Neo4j без преувеличения является самой распространенной графовой базой данных. Подход «schema free», гибкий язык запросов «cypher» — познакомиться с ней стоит хотя бы для расширения кругозора. Мы в компании Bimeister с целью повышения производительности провели серию экспериментов по переезду на Neo4j. Под катом я рассмотрю одну из сторон возможного апгрейда — импорт данных в графовую БД, проведу оценку ее преимуществ и недостатков и оценю время загрузки каждым из способов.

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 669
Комментарии 4

Как проходить архитектурные секции

Анализ и проектирование систем *Карьера в IT-индустрии

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

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

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 2.9K
Комментарии 4

Метод document.write, подобное и связанное с ним

JavaScript *HTML *
Из песочницы

Данная заДанная заметка является своего рода комментарием к другой статье на Хабре Удивительная история document.write, которая, в свою очередь, представляет из себя перевод публикации с сайта https://eager.io/ The Curious Case of document.write. Я же здесь хочу лишь подчеркнуть определённую полезность данного метода клиентского JavaScript (https://developer.mozilla.org/ru/docs/Web/API/Document/write), а также немного порассуждать о подходах и проблемах, связанных с генерацией разметки.

Читать далее
Всего голосов 7: ↑3 и ↓4 -1
Просмотры 974
Комментарии 6

Сказ о том, как мы Python-микросервисы для облака шаблонизировали

Блог компании QIWI Блог компании Конференции Олега Бунина (Онтико) Python *Программирование *Микросервисы *

Большая боль разработчиков, которые приходят на новый проект — для развертывания сервиса локально нужно пообщаться минимум с десятком людей, не говоря уже про интеграцию с CI/CD-сервером. В один момент мы решили реализовать это удобнее, заодно сократив время онбординга новых сотрудников. 

При этом мы хотели получить не только быстрый ввод новых сервисов в эксплуатацию и минимальное время развертывании любого сервиса локально — мы хотели, чтобы все наши сервисы использовали более или менее одинаковые версии библиотек, настройки линтеров и конфигурацию. А поскольку мы финтех, то должен был сохраняться высокий уровень безопасности, а риск человеческих ошибок — снижаться.

Меня зовут Олег Чуркин. Я больше 10 лет занимаюсь разработкой на Python и сейчас руковожу разработкой нового процессинга платежей в QIWI. Расскажу, как мы реализовали boilerplate-шаблон для сервисов — на примере небольшого стартапа внутри нашей большой компании.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 1.7K
Комментарии 1

О бедном Arcanum замолвите слово

.NET *Разработка игр *Игры и игровые консоли
Из песочницы

В Arcanum, как и в любой другой игре, существует масса собственных бинарных форматов. Эта статья познакомит вас с форматом упаковки изображений, который использовала студия Troika Games.

Читать далее
Всего голосов 34: ↑34 и ↓0 +34
Просмотры 4.3K
Комментарии 6

PostgreSQL Antipatterns: когда мешает внешний ключ

Блог компании Тензор Высокая производительность *PostgreSQL *SQL *Администрирование баз данных *

Внешние ключи (foreign keys) - мощный и удобный механизм контроля логической целостности данных в базе. Но он бывает не только лишь полезен, и может неплохо пригрузить вашу БД.

Внимательный взгляд на план запроса поможет избежать многих проблем - как при чтении из базы, так и при вставке в нее.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 2.2K
Комментарии 7

Security Week 2219: мобильные трояны со встроенной подпиской

Блог компании «Лаборатория Касперского» Информационная безопасность *
Эти истории слышали все: купил телефон, вроде бы ничего такого не делал, пока не обнаружил отсутствие денег на счету. Одной из причин внезапного добавления платных услуг на мобильном телефоне может быть вредоносное ПО. На прошлой неделе специалисты «Лаборатории Касперского» опубликовали обзор технических приемов в свежих вредоносных программах такого типа. Их можно называть троянами-подписчиками: звучит слегка неуклюже, зато точно передает суть.



На скриншоте выше показаны три примера приложений с вредоносной добавкой, которые какое-то время висели в официальном магазине приложений Google Play. Во всех присутствовал троян семейства Jocker. Так как в данном случае стоит задача прорваться сквозь проверки в аппстор, первоначальная версия приложения не содержит вредоносного кода. После установки активируется загрузчик, подгружающий «дополнительную функциональность», но и он срабатывает после простой проверки: опубликовано ли приложение в магазине? Если нет, программа считает, что выполняется в сендбоксе проверяющего и скрывает вредоносную функциональность.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.6K
Комментарии 0

Защита от спама и зловредного ПО в Carbonio

Блог компании Zextras Спам и антиспам Информационная безопасность *

Электронная почта, которая является одним из наиболее распространенных форматов корпоративного общения, как правило становится основной целью злоумышленников, которые используют электронные письма как средства доставки зловредного ПО во внутреннюю сеть предприятия. В результате таких атак появляются утечки важной информации или потери корпоративных данных, которые влекут за собой не только финансовые, но и репутационные потери. Надежная защита почтового сервера от кибератак позволяет купировать большую часть киберугроз и именно поэтому защита почтового сервера предприятия становится приоритетом номер один среди системных администраторов и специалистов по кибербезопасности. В Carbonio для защиты от угроз используются такие Open-Source решения, как антивирус ClamAV, антиспам SpamAssassin и интерфейс для их взаимодействия с почтовым сервером new-amavisd. В данной статье мы расскажем о том, как правильно использовать их для обеспечения безопасности почтового сервера Carbonio.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 408
Комментарии 0