Розробка програмного забезпечення

Питання та відповіді для професіоналів, науковців та студентів, які працюють у життєвому циклі розвитку систем

5
Дозволити користувачам адміністратора входити в систему як інші користувачі
Як ви вважаєте, це вдала практика впровадити можливість дозволити користувачеві-адміністратору увійти як інший користувач, передаючи пароль? Це може бути реалізовано головним паролем або функцією всередині адміністрації користувача "Увійти як цей користувач". Адміністратори просять, щоб така функція могла спробувати відтворити проблему, про яку повідомлялося, або перевірити, чи грант, наприклад, добре.


4
Обмеження швидкості * un * -аутентифіковані запити
Скажімо, у нас є балансир навантаження, який також обмежує швидкість. Обмеження швидкості здається досить простим для користувачів, які ввійшли в систему - просто подивіться на JWT і, можливо, скористайтеся сховищем даних в пам'яті, щоб побачити, скільки запитів за останні 10 секунд для цього користувача. Однак що робити з користувачами, які …

5
Як реалізувати успадкування RealNumber та ComplexNumber?
Сподіваємось, не надто академічний ... Скажімо, мені потрібні справжні та складні номери у моїй бібліотеці SW. На основі співвідношення is-a (або тут ), дійсне число - це комплексне число, де b у уявній частині комплексного числа просто 0. З іншого боку, моя реалізація полягала б у тому, щоб дитина продовжувала …

4
Що робити, коли оптимістичне блокування не працює?
У мене такий сценарій: Користувач робить GET запит до /projects/1та отримує ETag . Користувач робить запит PUT до /projects/1ETag з кроку №1. Користувач робить ще один запит PUT до /projects/1ETag з кроку №1. Зазвичай другий запит PUT отримав би відповідь 412, оскільки ETag тепер застарілий - перший запит PUT змінив …

4
Як перетворити послугу, щоб вона була простішою
Ми маємо залежність від стороннього сервісу, який виявляє гігантський інтерфейс, нам потрібні лише три методи. Крім того, інтерфейс часто змінюється ... Я вирішив зафіксувати інтерфейс у класі в нашому проекті і лише розкрити потрібні нам методи. Але я не впевнений, як мені обробляти повернені значення ... Інтерфейс повертає об'єкт типу …

6
Служби ін'єкцій DDD за дзвінками методів особи
Короткий формат запитання Чи в межах найкращих практик DDD та OOP вводити послуги на дзвінки методу особи? Приклад довгого формату Скажімо, у нас є класичний випадок Order-LineItems в DDD, де у нас є доменна сутність під назвою "Порядок", яка також виступає як корінговий корінь, і ця сутність складається не лише …

6
Витягують запити місце для підготовки юніорів
У нас є концепція, що весь код у програмі "Запит на виклик" для майстра повинен бути готовим до виробництва. Це має сенс і є справедливим твердженням на мою думку. Ідея тут полягає в тому, що, коли ви створюєте PR, ви заявляєте, що ви б поставили це в майстер, але хотіли …

3
Чому в Python 3.4+, чому я повинен використовувати nametuple над SimpleNamespace, коли не використовую dict, вони здаються дуже схожими
У той чи інший момент ви можете натрапити на функції з великою кількістю аргументів. Іноді є сенс поєднувати деякі аргументи в супер-аргументи. Я часто робив це за допомогою диктів, але зараз я розглядаю кращі способи зробити це. Я хотів би звернутися ... def do_something(ax, ay, az, bu, bv, c): # …

2
Оцінка того, чи слід писати тестовий блок або тести інтеграції спочатку на проекти синього неба / прототип
Щось я помітив останнім часом, коли я роблю такі проекти: При початку проекту Робота над MVP / прототипом Додавання функцій, які не повністю визначені Робота над меншим масштабом проекту Для довідки, я зараз працюю над проектом Python, який наразі має ~ 1k рядків коду, включаючи деякі коментарі та весь пробіл. …

4
Найкраща практика позначити метод, який викликається через рефлексію?
У нашому програмному забезпеченні є кілька класів, які слід динамічно знаходити за допомогою рефлексії. Усі класи мають конструктор з певним підписом, за допомогою якого код відображення створює об'єкти. Однак, коли хтось перевіряє, чи посилається на метод (наприклад, через Visual Studio Code Lens), посилання через відображення не враховуються. Люди можуть пропустити …

3
Чи є метод тестування функції тестування функцією, яка називає її, все-таки тестовою одиницею?
Якщо ми перевіряємо функцію B, тестуючи функцію C, яка викликає цю функцію B, тобто пишемо програму тестування для тестування функції C, яка викликає цю функцію B, тестовий метод все ще називається одиничним тестом чи щось інше? Коли бажано тестувати опосередковано функцію, яка викликає цільову функцію, а коли перевагу тестувати функцію …

1
Створення гарної постановки проблеми
<посилання> Днями я схопив книгу під назвою Code Complete у книжковому магазині, бо почув, що це велика книга, і почав її читати. Приблизно через 10 сторінок я зрозумів, що я був дурним щодо недавнього проекту, над яким працював. Трохи роз’яснень, які я маю викласти в цьому пункті: я не на …

2
Як правильно керувати залежностями для проекту C / C ++?
У мене є проект, який використовує 3-4 різні бібліотеки C / C ++ з відкритим кодом. Я створив ці бібліотеки для декількох платформ і зареєстрував у своєму проекті включення файлів та статичних ліб для різних платформ. Однак я борюся з парою проблем. Усі ці проекти є навколо управління залежностями. І …

2
Службовий рівень програми виклику функцій бази даних. Погана архітектура?
Сценарій: Стек: Java, весна, сплячка. Модель: Клієнт-серверна програма. Шаблон: Контролер перегляду моделі (MVC). Класи службового шару мають три форми поведінки: Деякі служби мають ділове правило в рамках методів і делегують наполегливість додатку. Подібно до: EntityManager.save (сутність); Деякі служби просто викликають функцію бази даних (передаючи параметри). CallableStatement cls = con.prepareCall ("{call …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.