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

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

5
Как «запаздывающие числа», которые должен знать каждый программист, Джеффа Дина могут быть точными в контексте различных аппаратных реализаций?
Я имею в виду этот график показателей латентности , приписываемый Джеффу Дину из Google. Вещь, которую я не понимаю, состоит в том, не меняются ли эти цифры от одного набора оборудования к другому? Как они могут быть точными для всех типов оперативной памяти, процессора, материнской платы, жесткого диска и т. …
11 hardware 

1
Как инверсия контроля связана с инверсией зависимости
Во многих статьях по всему миру термины «Инверсия управления» и «Принцип инверсии зависимостей», похоже, перепутаны и используются как синонимы (дальнейшая путаница обеспечивается инструментами, которые называются «DI-контейнеры» и «IoC-контейнеры»). Статья в Википедии делает хорошую работу, пытаясь объяснить, что IoC - это не то же самое, что DI: Инверсия управления (IoC) описывает …

3
Что такое «модель приложения»?
В настоящее время я изучаю .NET Core, и в первых документах, в которых впервые был представлен .NET Core, мы видим, что говорят о множестве различных вертикалей. Это может показаться на этой картинке: Во всех вертикалях мы видим среду выполнения, фреймворк, но есть еще и вещь «Модель приложения». Кроме того, во …

3
REST API дизайн для веб-страниц с мастерами
У меня есть веб-страница в формате мастера. Кнопка отправки в API будет на 4-м шаге мастера. Однако я хочу, чтобы введенные данные были сохранены в базе данных перед переходом к следующему шагу в мастере. Я также хочу, чтобы REST API работал для страниц, имеющих одну вкладку. Поэтому я разработал API …
11 design  rest 

1
Использование порядка разрешения методов Python для внедрения зависимостей - это плохо?
Я наблюдал за речью Рэймонда Хеттингера о Pycon «Супер рассмотренный супер» и немного узнал о MRO (порядок разрешения методов) Python, который линеаризует классы «родительские» классы детерминистическим способом. Мы можем использовать это в наших интересах, как в приведенном ниже коде, для внедрения зависимостей. Так что теперь, естественно, я хочу использовать superдля …

2
Обходной путь для выполнения операций над двусвязными или циклическими структурами данных в языках с неизменяемыми данными
Я хотел бы узнать, как создавать графики и выполнять некоторые локальные операции над ними в Haskell, но этот вопрос не является специфическим для Haskell, и вместо графиков мы можем рассмотреть двусвязные списки. Вопрос: Каким был бы идиоматический или рекомендуемый способ реализации двусвязного списка (или другой двусвязной или круговой структуры данных) …

2
Обмен кодами angularJS через гибридное приложение Ionic и обычный мобильный сайт
Итак, в нашей «инновационной лаборатории» в настоящее время есть толчок к использованию Ionic, гибридной среды приложений, построенной на основе Cordova для нативного доступа и angularJS для «веб-кода». Есть также несколько проектов, которые представляют собой чистый мобильный веб, например, с использованием Angular + начальной загрузки для адаптивного дизайна. Дело в том, …

2
Объектно-ориентированное позднее связывание
В определении объекта Alan Kays есть определение, которое я частично не понимаю: Для меня ООП означает только обмен сообщениями, локальное хранение и защиту, а также скрытие процесса состояния и крайнюю LateBinding всех вещей. Но что означает «LateBinding»? Как я могу применить это на языке, как C #? И почему это …

1
статические глобалы и анонимные пространства имен в C ++
Почему в C ++ проводилось какое-либо различие между статическими глобальными переменными (внутренняя связь) и символами в безымянном пространстве имен (внешняя связь, но в любом случае нет возможности ссылаться на нее извне) при представлении последнего? Какие-либо из этих причин все еще действительны, или есть новые? Есть ли места, где они все …

9
Я понимаю, что такое указатель стека - но для чего он используется?
Указатель стека указывает на вершину стека, в котором хранятся данные на основе того, что мы называем «LIFO». Чтобы украсть чужую аналогию, это похоже на стопку посуды, в которую вы кладете и принимаете посуду сверху. Указатель стека OTOH указывает на верхнюю «тарелку» стека. По крайней мере, это верно для x86. Но …
11 stack  x86 

1
Представляем Pull Requests для команды из 2 человек - объединить мои собственные запросы?
Я представляю git младшему члену команды (кооператив). Теперь они знакомы с основами добавления, фиксации, толкания и вытягивания. Теперь я хочу представить их для получения запросов и веток. Если они начнут делать запросы извлечения в филиалах, я должен сделать то же самое для моей текущей работы? Я буду тем, кто объединяет …

5
Полезна ли область действия уровня пакета Java?
Я понимаю идею объема пакета, и иногда даже думал, что я хотел это. Однако каждый раз, когда я с серьезным намерением пытался использовать его, я обнаруживал, что он не соответствует потребностям, которые, как я думал, он будет обслуживать. Моя главная проблема всегда заключается в том, что вещи, которые я хочу …
11 java  scope 

4
Сокращение шаблонов в классе, который реализует интерфейсы посредством композиции
У меня есть класс: Aэто состав из нескольких меньших классов B, Cи D. B, CИ Dреализовывать интерфейсы IB, ICи IDсоответственно. Так как Aподдерживает все функциональные возможности B, Cи D, Aреализует IB, ICи IDтакже, но это, к сожалению, приводит к большой перенаправления в реализацииA Вот так: interface IB { int Foo …

3
В C ++, когда я должен использовать final в объявлении виртуального метода?
Я знаю, что finalключевое слово используется для предотвращения переопределения виртуального метода производными классами. Тем не менее, я не могу найти никакого полезного примера, когда я действительно должен использовать finalключевое слово с virtualметодом. Более того, такое ощущение, что использование finalвиртуальных методов - это неприятный запах, так как это не позволяет программистам …
11 c++  final 

2
Являются ли (базовые) запросы SQL семантически эквивалентными функциям высшего порядка?
Является ли SQL в основном специфичным для домена экземпляром map + fold + filter? Мне кажется, что следующий SQL: SELECT name FROM fruits WHERE calories < 100 просто синтаксический сахар для следующей операции map + filter + fold: var fruits = [{id : 1, name: 'orange', calories : 100}, {id …

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