Программная инженерия

Q & A для профессионалов, преподавателей и студентов, работающих в жизненном цикле разработки систем

2
Как инкапсулировать внутренние классы в API, написанном на Java?
Мы должны написать библиотеку. Естественно, он должен иметь только очень маленький API (настолько широкий, насколько это необходимо, настолько маленький, насколько это возможно). Внутренние элементы библиотеки несколько сложны. Поэтому им нужно структурирование. Для структурирования я в настоящее время вижу два пути: 1. использовать пакеты. плюсы: библиотека может быть аккуратно структурирована. Все …

3
Как изменить программное обеспечение, чтобы стать в режиме реального времени? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 3 года назад . Во-первых, я хотел бы отметить, что я новичок в системном программировании …
9 c++  real-time 

2
Является ли это хорошим подходом для иерархии классов на основе pImpl в C ++?
У меня есть иерархия классов, для которой я хотел бы отделить интерфейс от реализации. Мое решение состоит в том, чтобы иметь две иерархии: иерархию дескрипторов классов для интерфейса и иерархию закрытых классов для реализации. Базовый класс дескриптора имеет указатель на реализацию, которую производные классы дескриптора приводят к указателю производного типа …
9 design  c++  c++11 

3
Как хранить большие объемы _structured_ данных?
Приложение будет непрерывно (примерно каждую секунду) собирать местоположение пользователей и сохранять их. Эти данные структурированы. В реляционной базе данных она будет храниться как: | user | timestamp | latitude | longitude | Однако данных слишком много. Ежедневно будет 60 × 60 × 24 = 86 400 записей на пользователя. Даже …

3
Эпоха доменной логики в базах данных закончилась? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 3 года назад . Я недавно наткнулся на это мнение от 2016 года, сказав, что в базе …
9 database 

1
Что Identity Server предлагает, что ASP.NET Core Identity не
Я пытаюсь понять общую картину при создании нового веб-сайта с использованием ASP.NET Core. Я хочу, чтобы пользователи моего сайта могли регистрироваться и входить в социальные сети, такие как Facebook и Google. После регистрации, когда они отправляют запросы в мой WebAPI на ресурсы, мне нужно знать, какой пользователь вошел в систему, …
9 asp.net  oauth2 

2
Что делает итератор шаблоном дизайна?
Мне было интересно, что же делает Итератор особенным по сравнению с другими подобными конструкциями, и это заставило Банду Четырех перечислить его как шаблон проектирования. Итератор основан на полиморфизме (иерархия коллекций с общим интерфейсом) и разделении задач (итерации по коллекциям должны быть независимы от структуры данных). Но что, если мы заменим …

3
Как смоделировать подготовку истории для вопросов, которые решаются в нескольких проектах
В нашей компании несколько команд будут работать над разными компонентами нескольких проектов одновременно. Например, одна группа может сделать определенные виды программного обеспечения (или аппаратного обеспечения) для какого-либо проекта (-ов), а другая группа - другой конкретный вид программного обеспечения. Мы используем проекты Jira для размещения вопросов для конкретных проектов и доски …

2
Корпоративные шаблоны для аутентификации JWT для приложений на основе REST?
Спецификация JWT описывает только полезную нагрузку и то, как она отправляется, но оставляет протокол аутентификации открытым, что обеспечивает гибкость, но, к сожалению, гибкость может привести к антипаттернам и неправильному дизайну. Я ищу хорошо продуманный и проверенный корпоративный шаблон для аутентификации JWT, который я мог бы использовать или адаптировать, но мне …

1
Сохранение чистой истории git при использовании gitflow - неотправленные коммиты на разработке
Используя gitflow, при создании release-1.0.0ветви и объединении ее с обеими ветвями masterи developобеими ветвями будет отсутствовать коммит: masterне будет коммит, где release-1.0.0было слияние сdevelop developне будет коммит, где release-1.0.0было слияние сmaster Вместо этого после hotfix-1.0.1создания и слияния с ним master, когда слияния с develop, коммиты для слияния будут включать в …
9 git  gitflow 

2
Микросервисы и каноническая модель
Когда я читал о микросервисах на этом сайте , я наткнулся на следующее утверждение. Что подразумевается под канонической схемой? Разве это не то же самое, что модель предметной области? Шаблон архитектуры микросервисов также отклоняет другие части SOA, такие как концепция канонической схемы.

3
Это нормально для интерфейсов, чтобы зависеть от конкретных классов?
Я создаю интерфейс на Java для пользовательского обработчика ошибок. Хочу передать объект ошибки аргумента, но мне нужно, чтобы он был потомком Exceptionкласса. Можно ли использовать мое имя класса в интерфейсе? Разве это не сделает его менее интерфейсным с точки зрения отсутствия зависимости от какой-либо реализации? Я пытаюсь сделать что-то вроде …

3
Иногда частные функции - это просто еще не извлеченные внутренние единицы функциональности. Так почему бы не проверить их?
Иногда закрытые функции модуля или класса - это просто пока не извлекаемые внутренние единицы функциональности, которые могут заслуживать собственных тестов. Так почему бы не проверить их? Мы будем писать тесты для них позже , если / когда они извлечены. Так почему бы не написать тесты сейчас, когда они все еще …
9 python  testing 

3
Выбор наиболее калорийной расстановки блюд
Предположим, я ем пять раз в день, а поскольку в неделю семь дней, у меня есть рецепты по семь на каждый прием пищи, всего 35 рецептов. Каждый рецепт имеет количество калорий. Каждый день должен содержать один рецепт на каждый прием пищи, и каждый рецепт привязан к определенному приему пищи (например, …

4
Декораторы классов в Python: практические примеры использования
Я ищу практические и не синтетические варианты использования декораторов классов Python. До сих пор единственный случай, который имел смысл для меня, - это регистрация класса в системе издатель-подписчик, например, плагины или события, что-то вроде: @register class MyPlugin(Plugin): pass или @recieves_notifications class Console: def print(self, text): ... Любые другие вменяемые случаи, …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.