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

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

3
Що робити, коли критична функціональність залежності порушена і перешкоджає розвитку?
Вчора я працював над проектом API Rails 5, який використовує бібліотеку act-as-taggable-on, щоб дозволити речам мати теги (наприклад, питання щодо SE). Rails 5 зараз є альфа-підтримкою. В даний час є PR, щоб виправити помилку, яка чекає, щоб її об'єднати в головний; помилка спричинила зупинку моєї гілки функцій на півдорозі завершення …

2
Як саме програма спілкується з драйвером пристрою?
Тож я розгублений у тому, як саме ми, як програмісти, розмовляємо з пристроями на комп’ютері. Зараз я не кажу про великі ідеї. Я знаю, що є драйвери пристроїв, які сидять на верстаті обладнання, щоб різні програми могли використовувати там функції. Але загалом, хто саме розмовляє з водіями? Чи відповідає програміст, …
12 hardware  drivers 

2
Шаблони для збереження узгодженості в розподіленій системі, що базується на заходах?
Я читав про пошук подій останнім часом і дуже люблю ідеї, які стоять за ним, але я застряг у наступній проблемі. Скажімо, у вас є N одночасних процесів, які отримують команди (наприклад, веб-сервери), генерують події в результаті і зберігають їх у централізованому магазині. Припустимо також, що всі перехідні стану додатків …

1
Що означає тут Google, коли вони говорять "не копіюйте та не вставляйте цей код"?
Ось уривок із коду з API recaptcha Google ( https://www.google.com/recaptcha/api.js ): /* PLEASE DO NOT COPY AND PASTE THIS CODE. */ (function() { if (!window['___grecaptcha_cfg']) { window['___grecaptcha_cfg'] = {}; }; if (!window['___grecaptcha_cfg']['render']) { window['___grecaptcha_cfg']['render'] = 'onload'; }; window['__google_recaptcha_client'] = true; var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; …

2
Чому масиви змінної довжини стали необов’язковими в C 2011?
Коли в 1999 році були представлені VLAs, я подумав, що мова є чудовою інновацією для мови. Однак, дізнавшись, що це стало необов’язковим у C 2011 році, мені цікаво, що призвело до зміни його статусу, і якщо це означає, що ця функція насправді спрямовується на застарілість. Якщо так, чи існує еквівалентне …

5
Спадщина проти додаткової властивості з нульовим значенням
Чи краще для класів з необов’язковими полями використовувати успадкування або властивість, що зводиться нанівець? Розглянемо цей приклад: class Book { private String name; } class BookWithColor extends Book { private String color; } або class Book { private String name; private String color; //when this is null then it is …
12 java  inheritance  class  null 


3
Це нормально, якщо я не можу вирішити проблему, сидячи перед комп’ютером? [зачинено]
Зачинено. Це питання поза темою . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно було тематичним для обміну стеками програмного забезпечення. Закрито 4 роки тому . Я програвач-хобіст і початківець. Здебільшого я не можу вирішити проблему, сидячи перед комп'ютером. Наприклад, я намагався з’ясувати, чи є одне …

2
Чи слід мати дозвіл на невідомі параметри?
Я розробляю API RESTful і стикаюся з проблемою заголовка, перезавантаженою для ясності: Чи потрібно швидко відмовитися, якщо клієнт надсилає нерозпізнаний параметр? Наприклад, http://example.com/api/foo?bar=true&paula=bean У вищесказаному barє допустимим параметром, але paulaне визначений API. Чи я повинен Попередити клієнта про помилку Збій швидко Ігноруйте це Якщо я попередив клієнта, я можу винести …
12 rest  api-design 

6
Чи погана практика мати стовпчик "статус запису" в таблиці бази даних?
Спершу я повинен уточнити, що стовпець статусу не призначений для відображення стану реального елемента, представленого записом (рядком) у таблиці. Швидше, це покликане показати статус самої записи. Він може бути таким же простим, як Активний / Неактивний або складний, як затверджений / видалений / заблокований / очікуючий / відхилений тощо. Статус …

2
Haskell шляхи вирішення проблеми 3n + 1
Ось проста проблема програмування від SPOJ: http://www.spoj.com/problems/PROBTRES/ . В основному, вас просять вивести найбільший цикл Колатца для чисел між i і j. (Цикл Колатца з числа $ n $ - це кількість кроків, щоб в кінцевому підсумку отримати від $ n $ до 1.) Я шукав спосіб Haskell вирішити проблему …

3
Чи краще захистити виклик методу або сам метод?
Я пишу заявку, і я дійшов до цього пункту: private void SomeMethod() { if (Settings.GiveApples) { GiveApples(); } if (Settings.GiveBananas) { GiveBananas(); } } private void GiveApples() { ... } private void GiveBananas() { ... } Це виглядає досить прямо. Існують деякі умови, і якщо вони є правдивими, методи викликаються. …

1
Багато асинхронних дзвінків проти одного виклику в API
Ми розробляємо API REST, який, серед інших, буде використовуватися в інтерфейсі HTML5 через JavaScript. Додаток призначений для використання в організації та зазвичай має близько 300 користувачів, але ми хочемо масштабувати масштаб до 1000 користувачів. Зазвичай підключення до API буде здійснюватися в межах локальної мережі, тому якість та затримка з'єднання будуть …
12 rest  api  ajax 

1
Підтримуйте API проти використання ідіом у порту
Я працюю над портом від Python до Rust і натрапив на якийсь код, який не може бути виражений так природно в Rust, як вони можуть в Python. Один випадок цього - використання параметрів за замовчуванням: class Foo: def __init__(self, a="Hello"): self._a = a У Rust ви можете реалізувати це за …

2
Чому підтипування поведінки не можна визначити?
Робота Ліскова в цій галузі була зосереджена на поведінковому підтипу, який, окрім безпеки системи безпеки, розглянутий у цій статті, також вимагає, щоб підтипи зберігали всіх інваріантів, гарантованих супертипами в якомусь договорі. [3] Це визначення підтипу, як правило, не можна визначити, тому воно не може бути перевірене засобом перевірки типу. Від: …

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