[data-driven] 데이터 기반 프로그래밍이란 무엇입니까?

저는 고객에게 제안하기 위해 코딩중인 물류 애플리케이션에 대한 상세한 엔지니어링 계획을 작성하는 작업을 맡았습니다. 나는 그것이 데이터 기반 응용 프로그램이라고 들었습니다. 애플리케이션이 “데이터 기반”이라는 것은 무엇을 의미합니까? 그 반대는 무엇입니까? 웹 검색 중에 많은 사람들이 자신의 예제를 게시하는 것을 볼 수 있지만 이것에 대한 명확한 대답을 얻을 수없는 것 같습니다. 어떤 도움이라도 대단히 감사하겠습니다.



답변

데이터 기반 프로그래밍은 데이터 자체가 프로그램 로직이 아닌 프로그램의 흐름을 제어하는 ​​프로그래밍 모델입니다. 프로그램 논리가 흐름 또는 상태 변경의 일반적인 형태 인 프로그램에 다른 데이터 세트를 제공하여 흐름을 제어하는 ​​모델입니다.

예를 들어 네 가지 상태가있는 프로그램이있는 경우 : UP-DOWN-STOP-START

상태를 나타내는 입력 (데이터)을 제공하여이 프로그램을 제어 할 수 있습니다.

  • set1 : DOWN-STOP-START-STOP-UP-STOP
  • set2 : 위-아래-위-아래

프로그램 코드는 동일하게 유지되지만 데이터 세트 (동적 입력 유형이 아니지만 컴퓨터에 정적으로 제공됨)가 흐름을 제어합니다.


답변

데이터 기반 프로그래밍이 무엇인지에 대해 몇 가지 아이디어가 있지만 데이터 구조와 함수를 사용하여 예를 들어 보겠습니다.

데이터 기반이 아닌 예 :

data_lloyd = {'name': 'Lloyd', 'lives': 'Alcoy }
data_jason = {'name': 'Jason', 'lives': 'London' }
go = function(x)
    if x.name == 'Lloyd'
    then
        print("Alcoy, Spain")
    else
        print("London, UK")
end

데이터 기반의 예 :

data_lloyd = {'name': 'Lloyd', 'lives': function(){ print("Alcoy, Spain") }
data_jason = {'name': 'Jason', 'lives': function(){ print("London, UK") }
go = function(x)
    x.lives()
end

첫 번째 예에서 하나의 결과를 표시하기위한 결정은 코드 로직에 있습니다. 마지막 예에서 출력은 함수에 전달 된 데이터에 의해 결정되며, 따라서 출력은 데이터에 의해 ‘구동’된다고 말합니다.


답변

“데이터 기반 애플리케이션이라는 말을 들었습니다.”라고 말한 사람에게 물어봐야합니다.

여기에서 그럴듯한 답변을 읽고 프로젝트 책임자가 의미하는 바가 전혀 아님을 알고 싶지 않습니다. 이 문구는 프로젝트에 확실히 적용되는 명확한 의미를 갖기에는 너무 모호합니다.


답변

데이터 기반 개발은 코드가 아닌 데이터 구조를 편집하여 프로그램의 논리를 변경할 수있는 것입니다.

http://www.faqs.org/docs/artu/ch09s01.html 에서 데이터 기반 프로그래밍에 대한 자세한 정보를 찾을 수 있습니다 .

절차 적 프로그래밍

var data = {
            {do:'add',arg:{1,2}},
            {do:'subtract',arg:{3,2}},
            {do:'multiply',arg:{5,7}},
            };

foreach(var item in data){
    switch(item.do){
        case 'add':
            console.log(item.arg[0] + item.arg[1]);
        break;
        case 'subtract':
            console.log(item.arg[0] - item.arg[1]);
        break;
        case 'multiply':
            console.log(item.arg[0] * item.arg[1]);
        break;
    }
}

데이터 기반 프로그래밍

var data = {
            {do:'+',arg:{1,2}},
            {do:'-',arg:{3,2}},
            {do:'*',arg:{5,7}},
            };

foreach(var item in data){
    console.log(eval (item.arg[0] + item.do + item.arg[1]);
}


답변

데이터 기반 애플리케이션은 다음과 같습니다.

(1) 각 특정 데이터 세트에 대해 미리 결정된 결정을 내리고 결과로 결과를 던지기 위해 서로 다른 데이터 세트를 허용하는 일련의 규칙

(2) 결과에 따라 트리거되는 몇 가지 미리 결정된 프로세스.

완벽한 예는 ifttt.com입니다.

응용 프로그램에는 규칙 만 있습니다. 유용한 것은 그것을 통과하는 데이터입니다.


답변

이 기사는 내가 이해하는 용어의 의미를 가장 명확하게 설명합니다.

테이블 기반 및 데이터 기반 프로그래밍이란 무엇입니까?
http://www.paragoncorporation.com/ArticleDetail.aspx?ArticleID=31

데이터 / 테이블 기반 프로그래밍은 반복적 인 프로그래밍 구성을 데이터 및 변환 패턴으로 분해하는 기술입니다. 이 새로운 데이터는 이러한 방식으로 사용될 때 순수 주의자들에 의해 메타 데이터 라고 종종 불립니다
.


답변

이 질문에 도움을 줄 수있는 사람이 직장에 없습니까? 더 큰 예없이 작업하는 것을 시각화하는 것은 매우 어렵습니다. 그러나 내가 수집 한 것은 그들이 주로 정보를 입력하는 프로그램이 될 것입니다. 그러면 고객이 관리해야하는 정보를 검색하고 편집 할 수 있습니다.

행운을 빌어 요!!