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

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

2
В чем причина того, что стандарт C рассматривает константу рекурсивно?
Стандарт C99 говорит в 6.5.16: 2: Оператор присваивания должен иметь модифицируемое lvalue в качестве своего левого операнда. и в 6.3.2.1:1: Модифицируемое lvalue - это lvalue, которое не имеет типа массива, не имеет неполного типа, не имеет типа с константой, и если это структура или объединение, не имеет какого-либо члена (включая …
9 design  c 

3
использует PUT с приемлемыми побочными эффектами (REST)
Я хочу создать историю отмен, когда пользователь обновляет форму. Поскольку это обновление, я хочу использовать запрос PUT. Тем не менее, я прочитал, что PUT не должен иметь побочных эффектов . Допустимо ли здесь использовать PUT? Есть ли лучшие альтернативы? PUT /person/F02E395A235 { time: 1234567, fields: { name: 'John', age: '41' …

4
Почему большие данные должны быть функциональными?
Я начал работать над новым проектом, связанным с большими данными, для моей стажировки. Мои менеджеры рекомендовали начать изучать функциональное программирование (они настоятельно рекомендовали Scala). У меня был скромный опыт использования F #, но я не мог понять, насколько важно использовать эту парадигму программирования, поскольку в некоторых случаях это дорого. Дин …

4
Обеспечение согласованности транзакций с DDD
Я начинаю с DDD и понимаю, что совокупные корни используются для обеспечения транснациональной согласованности. Мы не должны изменять несколько агрегатов в одном сервисе приложений. Однако я хотел бы знать, как справиться со следующей ситуацией. У меня есть совокупный корень под названием Продукты. Существует также совокупный корень, называемый группой. Оба имеют …

4
Стили кодирования при использовании нескольких разнородных библиотек
Я работаю над кодом C ++, который использует несколько библиотек, включая некоторые библиотеки C, которые имеют разные стили кодирования. Это будет с открытым исходным кодом, как только он достигнет полезной стадии. Что может вызвать наименьшее замешательство у краткосрочного участника, который проверяет код, чтобы исправить одну ошибку или добавить одну функцию? …

2
В чем разница между типами личности и наследованием признаков в Scala?
Когда Googled, появляется много ответов на эту тему. Однако я не чувствую, что кто-либо из них хорошо иллюстрирует разницу между этими двумя функциями. Поэтому я хотел бы попробовать еще раз, в частности ... Что можно сделать с помощью самоподтипов, а не наследования, и наоборот? Для меня должно быть какое-то количественное, …

4
Почему REST Api не следуют шаблону дизайна Фасада
Сравнивая структуру REST [api] с OO-моделью, я вижу следующие сходства: Обе: Ориентированы на данные REST = Ресурсы ОО = объекты Объемная работа вокруг данных REST = объемные VERBS (Get, Post, ...) вокруг ресурсов OO = продвигать работу вокруг объектов путем инкапсуляции Тем не менее, хорошие методы OO не всегда основаны …
9 http  rest  definition 

1
Можно ли использовать доказательства реляционной алгебры / исчисления для проверки / проверки SQL?
Возможно ли или даже возможно использовать реляционную алгебру и / или реляционное исчисление в форме доказательств для проверки / проверки правильности операторов, функций и хранимых процедур SQL? Мне кажется, что это должно быть по крайней мере возможно, но я не знаю, есть ли какая-то деталь, которую я упускаю, которая делает …

1
Жизнеспособно ли сделать порт из приложения C ++ в Java через LLVM
Насколько жизнеспособно портировать приложение C ++ на байт-код Java, используя LLVM (я думаю, LLJVM)? Дело в том, что в настоящее время у нас есть процесс, написанный на C ++, но новый клиент сделал обязательным, чтобы иметь возможность запускать программу многоплатформенным способом, используя виртуальную машину Java без явно собственного кода (без …
9 java  c++  porting 

1
Алгоритм «плохое яблоко», или процесс вылетает из общей песочницы
Я ищу алгоритм для решения следующей проблемы, которую я (пока) называю алгоритмом «плохого яблока». Проблема У меня N процессов, запущенных в M песочницах, где N >> M. Непрактично давать каждому процессу свою собственную песочницу. По крайней мере, один из этих процессов ведет себя плохо и разрушает всю изолированную программную среду, …

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

1
Макро против статических функций в заголовке
для многих быстрых задач, где можно использовать функцию f(x,y), в простом C используются макросы. Я хотел бы спросить конкретно об этих случаях, которые разрешаются вызовом функции (т. Е. Макросы, используемые для встраивания функций, а не для расширения кода произвольного кода). Обычно функции C не являются встроенными, поскольку они могут быть …
9 c 

2
Как на практике работает поддержка OpenJDK?
В частности, я хотел бы понять разницу между Oracle JDK и OpenJDK с точки зрения исправления ошибок и других исправлений. Какая ветвь получает исправления первыми, и есть ли у Oracle привычка делать исправления, которые никогда не попадают в OpenJDK?
9 java 

2
Тесты RSpec + Selenium для .NET в Windows
Я разработчик Rails, работающий над TDD на Mac с RSpec, Capybara и Selenium webdriver. Теперь моя компания попросила меня использовать этот подход для среды .NET в Windows. Каков наилучший способ сделать это? Я мог бы просто установить Ruby и использовать веб-драйверы RSPEC, Capybara и Selenium для интеграционного тестирования. Но как …
9 .net 

3
Работа с пирамидой обратного вызова node.js
Я только начал использовать узел, и одну вещь, которую я быстро заметил, это то, как быстро обратные вызовы могут вырасти до глупого уровня отступа: doStuff(arg1, arg2, function(err, result) { doMoreStuff(arg3, arg4, function(err, result) { doEvenMoreStuff(arg5, arg6, function(err, result) { omgHowDidIGetHere(); }); }); }); Официальный стиль говорит поместить каждый обратный вызов …

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