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

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

5
Где должны проводиться проверки разрешений пользователей в MVC и кем?
Должны ли пользовательские проверки прав доступа выполняться в модели или контроллере? И кто должен обрабатывать проверки разрешений, объект User или какой-либо помощник UserManagement? Где это должно произойти? Проверка в контроллере: class MyController { void performSomeAction() { if (user.hasRightPermissions()) { model.someAction(); } } ... Наличие проверок в контроллере помогает сделать модели …
26 mvc  permissions 

1
Если я выпускаю программу под лицензией GPL, должен ли я продолжать делать это?
Рассмотрим этот сценарий: Я занимаюсь разработкой программы FooSuite, которая использует лицензированную по лицензии GPL библиотеку QuuxTools Я выпускаю программу FooSuite 1.0 под GPL Позже я обнаружил, что по какой-то причине мне нужно лицензировать программу кому-то на других условиях. Следовательно: Я удаляю зависимость от GPL через QuuxTools, либо ... переписать программу, …
26 licensing  gpl 

5
Можно ли считывать память из другой программы, выделяя все пустое пространство в системе?
Теоретически, если бы я создал программу, которая бы выделяла всю неиспользуемую память в системе и продолжала запрашивать все больше и больше памяти, поскольку другие приложения освобождали память, которая им больше не нужна, было бы возможно читать недавно освобожденную память из других приложений ? Или это как-то защищено современной операционной системой? …

7
Почему ссылки редко используются в PHP?
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 6 лет назад . У меня есть некоторые знания C ++, и я знаю, что там часто используются указатели, но я начал изучать открытый исходный код PHP и никогда не вижу …
26 php  reference 

2
Как код Javascript становится асинхронным при использовании обратных вызовов?
Я много читал в Интернете, пытаясь понять, как писать асинхронный код JavaScript. Одна из техник, которая часто используется в моих исследованиях, - это использование обратных вызовов. Хотя я понимаю процесс написания и выполнения функции обратного вызова, я запутался, почему обратные вызовы автоматически делают выполнение JavaScript асинхронным. Итак, мой вопрос: как …

8
Существуют ли варианты ООП, в которых некоторые или все принципы SOLID противоположны чистому коду?
Недавно у меня был разговор с моим другом об ООП в разработке видеоигр. Я объяснял архитектуру одной из моих игр, которая, к удивлению моего друга, содержала много небольших классов и несколько уровней абстракции. Я утверждал, что это было результатом того, что я сосредоточился на том, чтобы дать всем Единую Ответственность, …

4
Почему не рекомендуется размещать несколько дефектов в одном выпуске / билете?
Я не уверен, что это место, где можно задать следующий концептуальный вопрос (Stackoverflow определенно нет). Я видел этот вопрос на экзамене с несколькими вариантами ответов (один ответ), похожем на экзамены ISTQB : Почему не рекомендуется сообщать о нескольких дефектах в одной и той же проблеме / тикете? а. Чтобы отчет …

7
Является ли символ возврата каретки устаревшим
Я написал библиотеку с открытым исходным кодом, которая анализирует структурированные данные, но намеренно исключил обнаружение возврата каретки, потому что не вижу смысла. Это добавляет дополнительную сложность и накладные расходы для небольшой выгоды. К моему удивлению, пользователь представил ошибку, из-за которой анализатор не работал, и я обнаружил, что причиной проблемы было …

12
Существует ли антипаттерн для описания этого метода кодирования? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . У меня есть кодовая база, где программист склонен заключать вещи в области, которые не …

6
Это работа разработчика, чтобы предложить ИТ-требования?
Я единственный разработчик, работающий над веб-приложением, которое подходит к концу. Теперь мы собираемся сделать его Live, может быть, через пару месяцев. Это веб-приложение для не ИТ-компании. Хотя у них есть собственная внутренняя ИТ-команда, они спросили меня, каковы, например, требования к оборудованию для действующих серверов. ОЗУ, 32 бит или 64 бит. …

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

8
Почему крупные сайты используют разные языки для бэкэнда и внешнего интерфейса?
Насколько я понимаю из небольших приложений MVC, у вас есть внешний интерфейс, который имеет дело с HTML, JS, jQuery и т. Д., И у вас есть внутренний интерфейс, который состоит из ваших контроллеров и моделей. Однако, когда я общаюсь с разработчиками из крупных компаний, они часто упоминают наличие уровня внешнего …


4
Как разработать интерфейс (UI) для моего сайта Django
Я изучаю Django и новичок в веб-разработке. Пожалуйста, извините, если вы нашли этот вопрос слишком глупым. Итак, я создаю приложение Facebook с использованием Django, которое я хотел бы разместить в Google App Engine. Проект будет сосредоточен на чтении RSS / Atom-каналов любого веб-сайта (это все, что я могу сейчас сказать). …

11
С точки зрения обслуживания, считается ли «еще какое-то время» без промежуточных скобок безопасным?
Есть else whileбез промежуточных брекеты считаются «безопасными» обслуживание мудрым? Написание if-elseкода без скобок, как показано ниже ... if (blah) foo(); else bar(); ... несет в себе риск, потому что отсутствие фигурных скобок делает очень легким непреднамеренное изменение значения кода. Тем не менее, ниже также рискованно? if (blah) { ... } …

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