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

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

17
Чи все ж є потреба в написанні SQL?
Маючи стільки інструментів ORM для більшості сучасних мов, чи все ще є приклад використання для написання та виконання SQL в програмі, в мові / середовищі, яка їх підтримує? Якщо так, чому? Для наочності: я не запитую про те, чи потрібно програмістам знати SQL, чи потрібно мати інструмент SQL на робочому …
12 design  sql 

5
Чим JVM та Java WORA відрізняються від інших мов високого рівня?
У світі Java ми часто говоримо про JVM, а коли Java була новою, у неї була нібито вбивча функція "Пишіть один раз, запускайте будь-де". Наприклад, від того, як люди говорять і пишуть, це здається відмінним від того, як працює, наприклад, Python. Але я жодним чином не усвідомлював, що код Python, …

8
Як Ви знаходите час для роботи над проектами з відкритим кодом? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 5 років тому . Трохи передісторії: у мене є невеликий проект з відкритим кодом, який я розпочав, базовий …

9
Чи варто витраченого часу на налаштування середовища для ваших розробників?
Бувають випадки, коли я працюю над проектом програмування, і в мене виникає свербіж, щоб змінити деякі речі в моєму середовищі (OSX або Linux). Vim, можливо, не робить саме те, що я хочу, тому замість того, щоб робити це навколо того, як я займався пару місяців (іноді років), я йду і …

2
Винятки в DDD
Я вивчаю DDD і замислююся над тим, щоб кинути винятки в певних ситуаціях. Я розумію, що об'єкт не може перейти в поганий стан, тому тут винятки є прекрасними, але в багатьох прикладах винятки також є, наприклад, якщо ми намагаємося додати нового користувача з наявною електронною поштою в базу даних. public …

2
Тестування - БД в пам'яті проти глузування
Коли пишуть тести, чому б хтось хотів використовувати базу даних в пам'яті, щоб просто глузувати з даних? Я міг бачити, що бази даних в пам'яті можуть бути корисними для тестування сховищ. Але якщо використовувати фреймворк (наприклад, Spring Data), тестування сховищ було б тестуванням фреймворку, а не дійсно логікою програми. Однак …

2
Як створити кінцеві точки API для розміщення дочірнього об'єкта та отримання всіх дітей усіх батьків?
Наприклад, у мене є організації: Клієнт, Звіт. У клієнта може бути багато звітів, і я думаю, що кінцева точка для одного управління звітом має бути вкладена так: /clients/{client_id}/reports/{report_id} Що стосується всіх звітів одного клієнта, то очікується: /clients/{client_id}/reports Але як має виглядати кінцева точка для отримання всіх Звітів усіх Клієнтів, щоб …
12 rest  api  api-design 

1
Яка запропонована дорожня карта щодо запровадження простого контролю доступу на основі атрибутів (ABAC)?
Читаючи про ACL та RBAC, я, здається, це легко розумію - є або імена користувачів, або ролі, яким надається доступ до ресурсу. Я також бачу, як я міг би їх реалізувати. тобто це зображення дає чітке уявлення про ACL та RBAC для мене (як і я можу продовжувати та проектувати …

8
Чи можливо тримати код журналу повністю поза діловою логікою?
За допомогою AOP я можу вилучити код журналу зі своєї логіки бізнесу. Але я думаю, що його можна використовувати лише для реєстрації простих речей (тобто методів входу / виходу методу входу та виходу та параметрів). Однак що робити, якщо мені потрібно щось записати у свою ділову логіку? напр public void …

4
Чи підтримують парадигми, що не входять в ООП, такі поняття, як капсулювання?
Однією з важливих концепцій об’єктно-орієнтованого програмування є інкапсуляція. Однак останнім часом світ програмного забезпечення, схоже, нахиляється на користь інших парадигм, таких як функціональне програмування. Мене змушує задуматися, що з інкапсуляцією та іншими принципами OOP? Вони помиляються? Хіба що OOP застосовується неправильно? Наприклад, Алан Кей відзначається тим, що говорить в основній …

3
Чи погана практика використовувати дефіси в клавішах JSON?
Я бачу багато питань, що обертаються навколо доступу до клавіш JSON, в яких використовуються дефіси (шашлик), але зараз мені здається, що мені просто дотримуватися camelCase або snake_case у своїх ключах. Я знаю, що дефіси також можуть створювати складні відображення, коли вони переносяться між мовами. Я бачив, як деякі бібліотеки JSON …

1
Як інверсія управління пов'язана з інверсією залежності
У багатьох статтях по всьому Інтернету терміни Принцип інверсії контролю та залежності залежно змішуються і використовуються як синоніми (подальше плутанину застосовується за допомогою інструментів, які називаються "DI-контейнери" та "контейнери IoC"). Стаття у Вікіпедії робить гарну роботу, намагаючись пояснити, що IoC - це не те саме, що DI: інверсія управління (IoC) …

2
Якщо RESTful API зможе повернути файли чи просто розташування
Це мене спантеличує вже деякий час. Наприклад, у нас є REST API, який забезпечує базовий контент для системи, що споживає та виробляє JSON. У цій кінцевій точці він створює URL-адресу до зображення та опису, і знайдеться так: // localhost / myApi / pictures / 1 { id: 1, description: "This …

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

4
Найпростіший спосіб написати логічно процедурне програмне забезпечення мовою ОО
Я інженер-електромонтажник, і я не знаю, що, до біса, роблю. Будь ласка, збережіть майбутніх утримувачів мого коду. Останнім часом я працюю над низкою менших програм (в C #), функціональність яких логічно "процедурна". Наприклад, одна з них - це програма, яка збирає інформацію з різних баз даних, використовує цю інформацію для …

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