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

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

3
Есть ли проблемы с реализацией пользовательских методов HTTP?
У нас есть URL в следующем формате / Экземпляр / {instanceType} / {InstanceId} Вы можете вызвать его стандартными методами HTTP: POST, GET, DELETE, PUT. Однако есть еще несколько действий, которые мы предпринимаем, такие как «Сохранить как черновик» или «Куратор» Мы подумали, что можем просто использовать собственные методы HTTP, такие как: …
34 rest  http 

2
лучшие практики для проектирования баз данных NoSQL
Я только начал использовать базу данных на основе документов NoSQL (MongoDB), и мне интересно узнать о передовых методах проектирования баз данных. Я предполагаю, что архитектура должна отличаться от реляционных баз данных? Должен ли я по-прежнему стремиться к нормализованной базе данных? Например, у меня есть конкретный случай использования; У меня есть …
34 design  nosql 

3
Обращался ли C ++ 11 к передаче объектов std lib между границами динамической / разделяемой библиотеки? (т.е. дллс и тд)?
Одна из моих главных претензий к C ++ заключается в том, насколько трудно на практике передавать объекты библиотеки std за пределы динамической библиотеки (т.е. dll / so). Библиотека std часто только для заголовков. Что отлично подходит для выполнения некоторых потрясающих оптимизаций. Однако для dll они часто создаются с различными настройками …
34 c++  libraries  c++11 

12
Является ли это запахом кода, чтобы хранить общие объекты в контейнере, а затем получать объекты и выгружать объекты из контейнера?
Например, у меня есть игра, в которой есть несколько инструментов для повышения способности игрока: Tool.h class Tool{ public: std::string name; }; И некоторые инструменты: Sword.h class Sword : public Tool{ public: Sword(){ this->name="Sword"; } int attack; }; Shield.h class Shield : public Tool{ public: Shield(){ this->name="Shield"; } int defense; }; …

4
Little Endian выиграл?
Недавно, когда я рассказывал о битве «Большой против Литва», один из студентов спросил, решено ли это, и я понял, что не знаю. Глядя на статью в Википедии , кажется, что наиболее популярные в настоящее время пары ОС / архитектура используют Little Endian, но этот протокол Интернета определяет Big Endian для …

3
Почему нам нужно поставить N перед строками в Microsoft SQL Server?
Я изучаю T-SQL. Из примеров, которые я видел, чтобы вставить текст в varchar()ячейку, я могу написать только строку для вставки, но для nvarchar()ячеек в каждом примере строки начинаются с буквы N. Я пробовал следующий запрос к таблице, в которой есть nvarchar()строки, и она отлично работает, поэтому префикс N не требуется: …

8
Как определить, соответствует ли класс единому принципу ответственности?
Принцип единой ответственности основан на принципе высокой сплоченности. Разница между ними заключается в том, что у очень сплоченных классов есть набор обязанностей, которые тесно связаны, в то время как у классов, придерживающихся SRP, есть только одна ответственность. Но как нам определить, обладает ли определенный класс набором обязанностей и, следовательно, является …

3
Что такое бинарные файлы? [закрыто]
Я часто вижу людей, использующих бинарные термины в другом контексте. Что такое бинарные файлы? Сборник на бинарные файлы, установочные файлы, файлы .dll или что? Или это просто общий термин для некоторой коллекции файлов на диске?

21
Почему крупные ИТ-проекты имеют тенденцию терпеть неудачу или имеют большие перерасходы / затраты? [закрыто]
Я всегда читаю о крупномасштабных проектах по трансформации или интеграции, которые являются полной или почти полной катастрофой. Даже если им каким-то образом удастся добиться успеха, стоимость и график выдувания огромны. Какова реальная причина того, что крупные проекты более склонны к провалу. Может ли agile использоваться в подобных проектах, или традиционный …

5
Являются ли Python mixins анти-паттерном?
Я полностью осознаю, что pylintи другие инструменты статического анализа не являются всезнающими, и иногда их советам нужно не подчиняться. (Это относится к различным классам сообщений, а не только к convention.) Если у меня есть классы, такие как class related_methods(): def a_method(self): self.stack.function(self.my_var) class more_methods(): def b_method(self): self.otherfunc() class implement_methods(related_methods, more_methods): …

3
Можно ли связать библиотеку GPL из приложения с закрытым исходным кодом?
Хорошо, прежде чем все будут кричать о дублирующих вопросах, да, я уже видел несколько подобных вопросов здесь. Но никто не отвечает на вопрос. Если я ссылаюсь на библиотеку под GPL без изменения этой библиотеки, нужно ли мне выпускать исходный код? По этому вопросу ответ - да! Но этот ответ меня …
34 gpl  linking 

5
Где вы должны положить константы и почему?
В наших в основном больших приложениях у нас обычно есть только несколько мест для «констант»: Один класс для графического интерфейса пользователя и внутренних констант (заголовки вкладок, заголовки групповых блоков, коэффициенты вычислений, перечисления) Один класс для таблиц и столбцов базы данных (эта часть является сгенерированным кодом) плюс читаемые имена для них …

1
Каков реалистичный, максимальный размер для базы данных SQLite?
В соответствии с этой статьей о подходящем использовании для SQLite говорится, что, хотя SQLite ограничен 140 терабайтами , клиент-серверная СУБД может работать лучше: Размер базы данных SQLite ограничен 140 терабайтами (2 47 байт, 128 тибибайт). И даже если он может обрабатывать большие базы данных, SQLite хранит всю базу данных в …

3
Общепринято ли вызывать NotImplementedError для методов, реализация которых находится на рассмотрении, но не планируется абстрагироваться?
Мне нравится поднимать NotImplementedErrorдля любого метода, который я хочу реализовать, но там, где я еще не удосужился сделать это. Возможно, у меня уже есть частичная реализация, но добавьте ее, raise NotImplementedError()потому что она мне пока не нравится. С другой стороны, мне также нравится придерживаться соглашений, потому что это облегчит другим …

12
Использование пиратского программного обеспечения в компании [закрыто]
Я начал работать в компании инженером пару месяцев назад. Это небольшая компания, и они в основном занимаются автоответчиком по телефону. Теперь они переходят с обычных телефонов на IP-телефоны, поэтому компьютеры занимают более важное место в работе. Однако все компьютеры, используемые работниками, оснащены пиратским программным обеспечением, включая их операционные системы. Более …
33 ethics 

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