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

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

8
Что происходит с мусором в C ++?
У Java есть автоматический сборщик мусора, который время от времени останавливает мир, но заботится о мусоре в куче. Теперь приложения на C / C ++ не имеют таких зависаний STW, их использование памяти также не увеличивается бесконечно. Как достигается это поведение? Как ухаживать за мертвыми предметами?

9
Стоит ли защищаться от неожиданных значений внешних API?
Допустим, вы кодируете функцию, которая получает данные от внешнего API MyAPI. Этот внешний API MyAPIимеет контракт, в котором говорится, что он возвратит a stringили a number. Является ли он рекомендовал , чтобы защититься от таких вещей , как null, undefined, booleanи т.д. , даже если это не часть API из …

10
Каким должен быть код состояния http для ошибки «Служба недоступна в вашем регионе»?
Наш сервис сейчас в 5 городах. Если кто-то пытается вызвать наш сервис API из любого другого города, мы хотим выбросить эту ошибку Service not available in your area. Вопрос в том, какой код http будет подходящим для этой ошибки? сервис 503 недоступен 403: запрещено или что-то другое?
51 api  api-design  http 

7
PM выбрал слишком сложную установку, с которой никто не сталкивался [закрыто]
Недавно я запустил проект, который не казался слишком сложным, концепция представляла собой довольно простое приложение, которое время от времени должно было принимать входные данные (возможно, 10 раз в день), и пытаться выполнять над ними некоторые операции и собирать все результаты. в конце. Это приложение затем получило бы интерфейсный веб-портал, который …


3
Каково современное значение SOAP
В последний раз я сталкивался с сервисом на основе SOAP во время моей стажировки в финансовой фирме в 2013 году. Именно тогда я начал свою карьеру в IT. Я помню, что у меня был некоторый учебный материал по SOAP на одном из моих инженерных курсов. Помимо этого, я не использовал …
51 rest  api  web-services  soap 

7
ТОДО комментирует со сроками?
Фон Я работаю в команде, которая стремится внедрить развертывание без простоев. Мы планируем использовать сине-зеленую стратегию развертывания для достижения этой цели. Одна из вещей, которые я осознаю, выполняя исследования, это то, насколько сложно вносить изменения в базу данных. Простая операция, такая как переименование столбца, может занять 3 полных цикла выпуска, …

5
Можно ли считать «ошибку уровня 256» в игре Pacman необработанным сегфоутом?
Я пытаюсь объяснить кому-то ошибки сегментации, и я размышлял об уровне экрана уничтожения 256 в Pacman, и о том, как он вызывается целочисленным переполнением, и о том, как поведение похоже на «неизвестное состояние», часто описываемое в сегментации неисправность. Я хочу сказать, что это хороший пример того, что я называю «необработанным …
51 memory  errors 

8
Каковы недостатки создания многопоточной реализации JavaScript во время выполнения? [закрыто]
На прошлой неделе я работал над многопоточной реализацией JavaScript. У меня есть доказательство концепции, сделанной на C ++ с использованием JavaScriptCore и boost. Архитектура проста: когда среда выполнения завершает оценку основного скрипта, который он запускает и присоединяется к пулу потоков, который начинает выбирать задачи из общей очереди приоритетов, если две …

13
Почему Eval-подобные функции считаются злом, в отличие от других, возможно, вредных функций?
Большинство современных языков (которые так или иначе интерпретируются) имеют какую-то функцию оценки . Такая функция выполняет произвольный код языка, большую часть времени передаваемый в качестве основного аргумента в виде строки (разные языки могут добавлять больше функций в функцию eval). Я понимаю, что пользователям нельзя разрешать выполнять эту функцию ( редактировать, …

2
Являются ли ветви Git «гомеоморфными эндофункторами, отображающими подмногообразия гильбертова пространства»?
Как мы все знаем: Git становится легче, когда вы понимаете, что ветви - это гомеоморфные эндофункторы, отображающие подмногообразия гильбертова пространства. Что похоже на жаргон, но с другой стороны, В общем, монада в X - это просто моноид в категории эндофункторов X, с произведением ×, замененным композицией эндофункторов и единицей, установленной …
51 git 

8
Является ли использование баз данных NoSQL нецелесообразным для больших наборов данных, где вам нужно искать по содержимому?
Я изучаю базы данных NoSQL уже неделю. Я действительно понимаю преимущества баз данных NoSQL и множество вариантов их использования. Но часто люди пишут свои статьи, как будто NoSQL может заменить реляционные базы данных. И есть точка, которую я не могу понять: Базы данных NoSQL (часто) являются хранилищами значений ключей. Конечно, …

5
Контейнеры МОК нарушают принципы ООП
Какова цель контейнеров МОК? Объединенные причины этого могут быть упрощены до следующего: При использовании принципов разработки OOP / SOLID Dependency Injection становится беспорядочным. Либо у вас есть точки входа верхнего уровня, управляющие зависимостями для нескольких уровней ниже их самих и рекурсивно пропускающие зависимости через конструкцию, либо у вас есть несколько …

13
Должен ли разработчик программного обеспечения получать ежегодный бюджет на оборудование? [закрыто]
Я смотрю на новую должность с новой компанией. Я говорил с некоторыми людьми в прошлом (в общем, не в этой компании), что им давали ежегодный бюджет на покупку новых компьютерных вещей, чтобы идти в ногу со временем. Теперь, почему я чувствую, что этот вопрос стоит задать здесь, так это то, …

9
Как сделать планирование спринта увлекательным
Наши встречи по планированию спринтов не только не веселые, но и ужасные. Встречи утомительны, скучны и занимают вечность (день, но кажется, что это намного дольше). Разработчики жалуются на это и боятся предстоящих планировок. Наша процедура довольно стандартна (пользовательская история вставляется в список спринтов по приоритету >> история разбита на задачи …

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