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

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

1
Java 8: Хорошая практика для передачи потоков в API для ленивых операций?
В лямбда-тяжелых библиотеках до Java 8, таких как Guava, в выходных данных используются общие интерфейсы Java Collection Framework, поэтому их легко передавать во внешние / внутренние API-интерфейсы и при этом использовать некоторые ленивые вычисления, если это делает метод библиотеки (например, lazy filter()and transform()). Тем не менее, в Java 8 Streams, …
12 java  lambda 

2
Что означает, что алгоритм сходится?
Я продолжаю сталкиваться с этим термином, читая об обучении с подкреплением, например, в этом предложении: Если проблема смоделирована с осторожностью, некоторые алгоритмы обучения усилению могут сходиться к глобальному оптимуму http://reinforcementlearning.ai-depot.com/ или здесь: Было доказано, что описанный выше алгоритм TD для любой фиксированной политики Pi сходится к VPi. http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node62.html Я понимаю, …

1
Быстрая индексация k-комбинаций
Я возвращаюсь к старой проблеме, над которой я работал некоторое время назад. Типичный сценарий: «3 бита устанавливаются в 8-битном целом числе», т.е. 00000111. Все уникальные комбинации с 3 установленными битами могут быть легко созданы (по порядку) с помощью вложенных циклов. Меня интересует комбинация индекса отображения <->, т. Е. «00001011» будет …

2
Авторизация пользователя с микросервисами
Должны ли микросервисы отвечать за обработку своих собственных авторизаций или вы считаете, что лучше иметь отдельную службу авторизации, которая будет использоваться всеми или подмножеством (в пределах одной бизнес-сферы) микросервисов? Для меня последнее имеет больше смысла, так как упрощает применение изменений, применение политик; это СУХОЙ и т. д. Однако он может …

3
Использование «этого» на Голанге
На ближайшей вещи Golang имеет к руководству по стилю нашла здесь , под ресивером имен это написано: Имя получателя метода должно отражать его идентичность; часто достаточно одной или двух буквенных аббревиатур этого типа (например, «c» или «cl» для «Client»). Не используйте универсальные имена, такие как «я», «это» или «я», идентификаторы, …

2
Нарисуйте график звонков
Я поддерживаю старую базу кода, написанную на python. В частности, существует сложный фрагмент кода, который из модуля вызывает другие функции из других модулей, которые вызывают другие функции и так далее. Это не ООП, просто функции и модули. Я пытался отследить, где начинается и заканчивается поток, каждый раз, когда я вызываю …

1
Асинхронные контроллеры в ASP.NET MVC: реальные преимущества / как их достичь?
Я работал над статьей об асинхронных методах контроллера в ASP.NET MVC ( http://visualstudiomagazine.com/articles/2013/07/23/async-actions-in-aspnet-mvc-4.aspx ) и думаю, Я могу упустить момент. Рассмотрим этот метод, который я написал, который очень похож на пример из статьи: [HttpGet] [AsyncTimeout(8000)] [HandleError(ExceptionType = typeof(TimeoutException), View = "TimedOut")] public async Task<ActionResult> Index(CancellationToken cancellationToken) { WidgetPageViewModel model = …

2
Какова связь между областью видимости и пространствами имен в Python?
Я обнаружил, что во многих ресурсах «видимость» и «пространства имен» используются взаимозаменяемо, что немного сбивает с толку, поскольку они означают разные вещи. Область действия определяет область кода, в которой доступно имя. Правило LEGB определяет способ поиска имен. Пространство имен - это место, где вы ищите имена. Тогда я читаю: «имена …
12 python 

2
Скала инфиксная нотация
Можно ли вызвать метод с использованием инфиксной записи? Например, в Haskell я мог бы написать следующую функцию: x `isAFactorOf` y = x % y == 0 и затем используйте это как: if 2 `isAFactorOf` 10 ... Что в некоторых случаях допускает очень читаемый код. Возможно ли что-нибудь подобное в Scala? …
12 scala 

7
Как ООП эволюционировала, чтобы включить понятие свойств
Я пришел из C ++ фона и полностью использую C # в своей текущей работе, и я только что прочитал много вопросов и ответов о том, в чем разница между открытыми полями и свойствами, и обо всем, что есть в вариантах и ​​воплощениях этого основной вопрос (например, этот пост SO …

2
В чем разница между неинициализированной переменной объекта и переменной объекта, инициализированной нулем в Java
У меня есть следующие две объектные переменные Date a; Date b=null; Определенно и «a», и «b» не относятся ни к каким объектам. Теперь, если я призываю следующее утверждение System.out.println(a.toString()); Там будет ошибка времени компиляции, тогда как, если я вызову следующее утверждение System.out.println(b.toString()); Не будет ошибки времени компиляции, но будет ошибка …
12 java 

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

2
С точки зрения непрофессионала, что осталось от рекурсии?
Согласно одной странице на code.google.com, «левая рекурсия» определяется следующим образом: Левая рекурсия просто относится к любому рекурсивному нетерминалу, который, когда он создает форму предложения, содержащую себя, эта новая копия сама появляется слева от производственного правила. Википедия предлагает два разных определения: В терминах контекстно-свободной грамматики нетерминальный r является леворекурсивным, если крайний …

3
Принцип обращения зависимостей против «Программы для интерфейса, а не для реализации»
Я пытаюсь понять, чем принцип инверсии зависимости отличается от принципа «программа - интерфейс, а не реализация». Я понимаю, что означает «Программа для интерфейса, а не для реализации». Я также понимаю, как это позволяет создавать более гибкие и поддерживаемые конструкции. Но я не понимаю, чем принцип инверсии зависимости отличается от принципа …

3
Глобальный контекст запроса - анти-паттерн?
Я говорил сегодня с моим коллегой о веб-фреймворках Python и наших впечатлениях о них. Я сказал ему, что думаю, что у Flask глобальный запрос плохо пахнет и это анти-паттерн. В документах говорят о контексте запроса: Напротив, во время обработки запроса существует пара других правил: пока запрос активен, локальные объекты контекста …

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