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

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

2
Я должен был использовать фабричный метод вместо конструктора. Могу ли я изменить это и при этом быть обратно совместимым?
Проблема Допустим, у меня есть класс с именем, DataSourceкоторый предоставляет ReadDataметод (и, возможно, другие, но давайте будем проще) для чтения данных из .mdbфайла: var source = new DataSource("myFile.mdb"); var data = source.ReadData(); Несколько лет спустя я решил, что хочу иметь возможность поддерживать .xmlфайлы в дополнение к .mdbфайлам в качестве источников …

1
Каковы лучшие практики для защиты веб-API?
Мне нужно создать API веб-службы для нашего мобильного приложения для взаимодействия с нашим сервером и базой данных (в ASP.Net MVC 4, но это вряд ли актуально). Поскольку большинство действий не требует регистрации пользователей в нашем сервисе, мы хотели бы ограничить доступ только пользователям нашего приложения. Каковы методы, позволяющие гарантировать, что …

1
Хорошие подходы для упаковки PHP веб-приложений для Debian
Многие веб-приложения PHP используют эту модель для установки и обновления: Разархивируйте исходный тарный шар. Укажите Apache на источник. Перейдите в веб-браузере на домашнюю страницу. Просмотрите несколько веб-страниц настроек (например, проверяет наличие библиотек, запрашивает информацию о подключении к базе данных, создает или обновляет схему базы данных и т. Д.). Пользователь переименовывает …

4
Почему реляционные базы данных принимают только SQL-запросы?
Насколько я знаю, большинство реляционных баз данных не предлагают API-интерфейсы на уровне драйвера для запросов, кроме queryфункции, которая принимает строку SQL в качестве аргумента. Я думаю, как было бы легче, если бы можно было сделать: var result = mysql.select('article', {id: 3}) Для объединенных таблиц это будет немного сложнее, но все …
15 database  sql 

5
Как лучше всего присваивать имена загруженным изображениям?
Предположим, у меня есть форма в моем веб-приложении, где пользователи могут загрузить изображение профиля. У меня мало требований к размеру файла, размерам и т. Д., Но когда пользователь загружает изображение, как мне их назвать в моей системе? Я предполагаю, что это должно быть последовательным и также уникальным. Может быть, GUID? …

4
Почему Джем Канер считает, что тест не показывает ошибку - пустая трата времени?
Как насчет подтверждения функциональности в положительных тестах, доказать, что она работает - я должен сказать, что это пустая трата времени? Какая концепция стоит за этой цитатой? Неудачные тесты, то есть тесты, которые не находят ошибок, являются пустой тратой времени. Веб-инжиниринг: Дисциплина систематической разработки веб-приложений, цитируя Cem Kaner .
15 testing  theory 

3
Сколько слишком много вложенных вызовов функций?
Цитируется из MSDN о StackOverflowException : Исключение, которое выдается при переполнении стека выполнения, поскольку он содержит слишком много вложенных вызовов методов. Too manyздесь довольно расплывчато Как я знаю, когда слишком много на самом деле слишком много? Тысячи вызовов функций? Миллионы? Я предполагаю, что это должно быть каким-то образом связано с …

5
Что может изучать технически опытный старший разработчик программного обеспечения, чтобы продолжать совершенствоваться [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения стека Exchange. Закрыто 4 года назад . Скажем, вы программируете более 10 лет. Вы знаете много языков, и лишь немногие из них находятся …

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

5
Какая функционально-программная альтернатива интерфейсу?
Если я хочу программировать в «функциональном» стиле, чем бы заменить интерфейс? interface IFace { string Name { get; set; } int Id { get; } } class Foo : IFace { ... } Может быть Tuple<>? Tuple<Func<string> /*get_Name*/, Action<String> /*set_Name*/, Func<int> /*get_Id*/> Foo; Единственная причина, по которой я в первую …

1
Лицензия Apache и патенты
Я пытаюсь понять, как Apache License влияет на патенты. Что касается веб-сайта Apache http://www.apache.org/licenses/LICENSE-2.0, раздел 3, могу ли я сказать в первой части, что он говорит, что лицензиату разрешено делать с патентом практически все, что угодно? В последней части говорится, что если лицензиар решит подать в суд на кого-то, кто …

1
Являются ли цепочечные методы, которые требуют только одного параметра на метод, эквивалентными каррированию?
В последнее время я играю с Ruby, и мне стало интересно, если в чистых объектно-ориентированных языках (и даже в тех, которые не являются чистыми) создание методов, которые принимают только один параметр, а затем объединяются в цепочки, эквивалентно каррированию в языках с функционалом стиль? Если нет, то почему нет? Буду признателен …

3
Как я могу избежать использования моего собственного имени в идентификаторах, пакетах или пространствах имен проектов с открытым исходным кодом, которые я создаю?
Я много занимаюсь разработкой в ​​свое время. Эти проекты, над которыми я работаю, предназначены только для развлечения и обучения (пока). Я обычно занимаюсь разработкой Java с Maven, но я также знаю, что увлекаюсь .NET и Python. Все проекты, над которыми я работаю, используют лицензии с открытым исходным кодом, хотя большинство …

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

6
Можете ли вы утверждать, что ваш продукт подходит по назначению, когда он использует программное обеспечение OSS, которое не гарантирует его?
Я работаю над продуктом для клиента, который должен быть действительным и соответствовать цели. Он построен на стеке LAMP (PHP / Cake), поэтому есть лицензии GPL, MIT, PHP, APACHE: «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО ВИДА, явных или подразумеваемых, включая, без ограничений, любые гарантии или условия НАЗВАНИЯ, НЕПРАВИЛЬНОСТИ, ТОВАРНОЙ …

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