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

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

3
Як створити додаток з високою доступністю
В даний час у нас є класичне n-ярусне додаток: DB / веб-сервіс / front-end. У нього є інші компоненти, але це основний макет. Ми хочемо покращити доступність програми з 3 основних причин: Наш хост іноді відчуває перебої (як це роблять усі), і ми хочемо мінімізувати вплив на наших клієнтів, тому, …

2
Чи може API REST повертати кілька ресурсів як один єдиний складний ресурс?
Я зараз розробляю API REST, і наразі у мене виникає така проблема: Fooє першим ресурсом. Операції CRUD можна застосувати через /foo/URI. Barє другим ресурсом. Операції CRUD можна застосувати через /bar/URI. Кожен Fooасоціюється з нулем або одним Bar. Причина, по якій я не Barставлюсь до субресурсу, Fooполягає в тому, що один …

3
Чи є сенс використовувати будівельники та інтерфейси флюїду з ініціалізаторами об'єктів?
У Java та C # ви можете створити об’єкт із властивостями, які можна встановити при ініціалізації, або визначивши конструктор з параметрами, визначивши кожну властивість після побудови об'єкта, або використовуючи шаблон інтерфейсу будівельника та флюїду. Однак C # 3 представив ініціалізатори об'єктів та колекцій, що означало, що модель побудови була багато …

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

1
Залежності Node.js важать занадто багато
Нещодавно я почав грати з node.js. Тепер у кожному навчальному посібнику із вузла зазначено, що слід починати npm init а потім, скажіть, що ви хочете отримати якийсь стандартний серверний фреймворк, скажіть, що ви вибираєте express: npm install express але тоді вам захочеться ще багато речей, до яких ви звикли з …

1
Чи надає файли об’єктів задовольняє застереження про повторне посилання LGPL?
З цього запитання про СО я прочитав, що: Власний вихідний код + вихідний код LGPL статично пов'язані: Ви повинні випустити обидві частини як LGPL. Або надайте все, що дозволяє користувачеві повторно зв’язати програму з іншою версією вихідного коду LGPL. У цьому випадку інші вимоги такі ж, як якщо б вони …

4
Дизайн, керований доменом, та взаємодія між доменами
Я - родич DDD, але я читаю все, і все, що можу взяти в руки, щоб кипіти і перегнати свої знання. Я натрапив на це питання DDD, і одна з відповідей мене заінтригувала. Контексти та домени, обмежені DDD? В одній з відповідей плакат наводить приклад системи електронної комерції з продуктами, …

1
Тестування блоку для трубопроводів для обміну даними, що складається з однолінійних функцій
Читаючи практичне вступ до функціонального програмування Мері Роуз Кук , вона наводить як приклад антидіаграму def format_bands(bands): for band in bands: band['country'] = 'Canada' band['name'] = band['name'].replace('.', '') band['name'] = band['name'].title() з тих пір функція виконує більше ніж одне назва не є описовим це має побічні ефекти В якості запропонованого …

4
Чи повинен API REST перетворювати дату на відповідний часовий пояс клієнтів?
Під час впровадження нашого API виникло питання про дату та часові пояси. Усі дати нормалізуються на UTC в базі даних. Наразі в додатку, що не належить до API, всі дати перетворення конвертуються на основі вподобань користувачів, перш ніж представлені. Тепер те саме питання виникло і для API: чи API повинен …
10 rest  api  time 

3
Пріоритетність функції в алгоритмі Шунтування
Я працюю за алгоритмом « Шунтинг-двір» , як описано у wikipedia. Опис алгоритму при роботі з операторами такий: Якщо маркер є оператором, o1, то: в той час як у верхній частині стека оператора є маркер оператора, o2, і будь-який o1 is left-associative and its precedence is less than or equal …

4
Чи гарантування незмінності є виправданням для відкриття поля замість властивості?
Загальне керівництво для C # - завжди використовувати властивість над загальнодоступним полем. Це має сенс - відкриваючи поле, ви розкриваєте багато деталей щодо реалізації. Маючи властивість, ви інкапсулюєте цю деталь, щоб вона була прихована від споживання коду, а зміни в реалізації відокремлюються від змін інтерфейсу. Однак мені цікаво, чи є …

3
Абстрактні властивості в базовому класі змусити програміста визначити його
Я кодую схему стану для вбудованого пристрою. У мене є базовий / абстрактний клас під назвою State, і тоді кожен дискретний (конкретний) клас класу реалізує абстрактний клас класу. У державному класі я маю кілька абстрактних методів. Якщо я не реалізую абстрактні методи в дискретному (конкретному) класі, Visual Studio видасть помилку …

2
Ідентифікатор і об’єкт домену як параметр методу
Чи існують об'єктивні аргументи за або проти використання об'єктів проти унікального ідентифікатора як параметрів методу / функції? (а члени інших об’єктів?). Спеціально в контексті мов, що мають статичний тип (C # / Java / Scala) Плюси самого об’єкта: Більше типів безпечних дзвінків. Ідентифікатори мають ризик неправильного впорядкування аргументів. Це можна …

3
Як відобразити / уточнити ліцензію на код у блозі
Скажімо, у мене є блог, доступний за однією з ліцензій Creative Commons . Такий тип ліцензії відображатиметься внизу кожної сторінки із посиланням на фактичну ліцензію тощо. Однак, мабуть, ліцензії Creative Commons насправді не підходять ні для програмного забезпечення, ні для розповсюдження вихідного коду , тож як бути з будь-яким кодом …

1
Чи був би SQLite менш корисним, не приймаючи в числові стовпці вставки нечислових значень?
У SQLite наступне твердження було б успішним, і рядок буде вставлено / оновлено у SALARYстовпчик типу INTEGER: update employee set salary='TOO MUCH' where emp_id=1; Зауважте, що нуль не буде вставлено / оновлено, а фактична рядок "TOO MUCH" , тому мова не йде про автоматичне перетворення типу. FAQ задає: Це особливість …
10 design  sqlite 

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