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

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

2
Быстрое сжатие видеопотока без потерь
У меня есть видео со стационарной камеры. И разрешение, и FPS довольно высоки. Я получаю данные в формате Байера и использует 10 бит на пиксель. Поскольку на моей платформе нет 10-битного типа данных, исходные данные хранятся в памяти с использованием 16-битных слов. Я хочу реализовать какое-то сжатие данных без потерь …

1
Как соотносятся бесплатная монада и реактивные расширения?
Я пришел из C #, где LINQ эволюционировал в Rx.NET, но всегда интересовался FP. После некоторого введения в монады и некоторых побочных проектов в F # я был готов попытаться перейти на следующий уровень. Теперь, после нескольких разговоров о бесплатной монаде от людей из Scala и нескольких рецензий на Haskell …

4
Шаблон для алгоритма, который выводит объяснение того, как он попадает в решение при необходимости
Следующий сценарий случился со мной несколько раз. Я запрограммировал алгоритм, который решает определенную проблему. Работает нормально и находит правильные решения. Теперь я хочу указать алгоритму «написать полное объяснение того, как вы пришли к решению». Моя цель - использовать алгоритм в онлайн-демонстрациях, на уроках и т. Д. Я все еще хочу …

3
Поддержка разработки для старых ОС
Я поддерживаю большую часть унаследованного кода, написанного на C. Этот код изначально был написан для компиляции с Windows 3 для рабочих групп, а затем была создана версия для NT. Это унаследованное приложение все еще используется сегодня, оно весело работает на рабочих станциях 3.11 и NT начала 90-х годов. Он работает, …
14 c  windows  legacy 

4
Насколько конкретным должен быть шаблон единой ответственности для классов?
Например, предположим, что у вас есть консольная игровая программа, которая имеет все виды методов ввода / вывода в консоль и из консоли. Будет ли это быть умным , чтобы держать их все в одном inputOutputклассе или разбить их на более конкретных классы , как startMenuIO, inGameIO, playerIO, gameBoardIOи т.д. , …

4
Какие проблемы программирования решают Monads? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 3 года назад . Я прочитал много постов, которые объясняют, что такое монады, как unitи …

4
Как «начать все сначала» в GitHub?
Я планирую полностью переписать свой проект, используя другую платформу и т. Д. Было бы неплохо сохранить старый код, включая историю, для справки. Как лучше всего это сделать, чтобы избежать риска, путаницы и неожиданностей? Моя идея состоит в том, чтобы создать новую ветвь, заменить там все и получить базовую «новую» версию, …
14 git  github 

3
Должен ли я добавить источник библиотек вместо ссылок на них?
Я относительно новичок в C ++, поэтому я не уверен, как лучше всего обрабатывать небольшие зависимости (например, язык сценариев или анализатор JSON / YAML / XML). Должен ли я создавать отдельные проекты и связывать их как статическую библиотеку, или есть недостатки в том, чтобы просто помещать файлы .h / .cpp …
14 c++  linking 

2
Развертывание без простоя - переходная схема БД
Достижение нулевого времени простоя Развертывание затронуло ту же проблему, но мне нужен совет по стратегии, которую я рассматриваю. контекст Веб-приложение с Apache / PHP для обработки на стороне сервера и MySQL DB / filesystem для сохранения. В настоящее время мы строим инфраструктуру. Все сетевое оборудование будет иметь избыточность, а все …

5
Разве плохо писать объектно-ориентированный C? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Мне всегда кажется, что я пишу код на C, который в основном является …
14 c 

1
Как задокументировать вездесущий язык?
Наша компания находится в процессе преобразования большого количества ручных бизнес-процессов (и связанных с ними институциональных знаний) в новое корпоративное программное обеспечение. Проект продвигается действительно хорошо, но по мере того, как мы продвигаемся, становится ясно, что существует много путаницы в отношении терминов и определений как с точки зрения бизнеса, так и …

1
Модульное тестирование клиента API и оболочек
Я ходил кругами, пытаясь найти лучший способ модульного тестирования клиентской библиотеки API, которую я разрабатываю. Библиотека имеет Clientкласс, который в основном имеет отображение 1: 1 с API, и дополнительный Wrapperкласс, который обеспечивает более удобный интерфейс поверх Client. Wrapper --> Client --> External API Сначала я написал несколько тестов для обоих …

4
Как побудить клиента провести домашнее тестирование?
Обновление / разъяснение. Мой клиент понимает необходимость их внутреннего тестирования, и он / они всегда клянется, что «сделают лучше» (то есть сделают что-то), но этого просто не происходит. У них нет бюджета для внешнего тестирования. Я предполагаю, что спрашиваю (смутно, признаю), что могло бы привести к «раннему тестированию, частому тестированию, …

3
Как мы можем отслеживать, какая версия нашего кода находится в каждой среде?
В настоящее время моя команда использует довольно простой процесс ветвления / развертывания, который выглядит следующим образом: ┌────────┐ ┌────┐ ┌──────┐ Environments: │ DEV │ │ QA │ │ PROD │ └────────┘ └────┘ └──────┘ ▲ ▲ ▲ │ │ │ ┌────────┐ ┌────┐ ┌──────┐ Builds: │ DEV │ │ QA │ │ PROD …

3
Зачем создавать объект Logger вместо использования статических методов ведения журнала в приложении?
Возьмем пример простого приложения Ruby on Rails. Он создает Loggerобъект в процессе загрузки приложения: # in environment.rb config.logger = Logger.new(<STDOUT | file | whatever>) # and in our application we use this object logger.warn "This process is taking too long to process. Optimization needed." Мой вопрос: почему мы не используем …

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