퓨즈 박스(프로그래밍)
Fusebox (programming)초기 릴리즈 | 1997 |
---|---|
최종 릴리즈 | 5.5.2 / 2012년 5월 8일 |
기입처 | CFML, PHP |
유형 | 웹 응용 프로그램 프레임워크 |
면허증. | Apache 라이선스 |
웹 사이트 | www |
Fusebox는 CFML과 PHP를 위한 웹 애플리케이션 프레임워크였습니다.원래 1997년에 출시된 최종 버전 5.5.2는 2012년 5월에 출시되었습니다.2012년 1월에 Fusebox에 대한 권한이 TeraTech에서 5명의 [1]개발자로 구성된 팀으로 이전되었고, 개발자는 권한을 제거하고 프레임워크를 커뮤니티의 [2]손에 맡겼습니다.
Fusebox는 개발자가 일련의 간단한 규약을 통해 코드를 구조화할 수 있도록 지원함으로써 쉽게 배우고 이점을 제공할 수 있도록 고안되었습니다.또한 Fusebox는 고급 개발자가 설계 패턴과 객체 지향 프로그래밍 기술을 활용하여 대규모 애플리케이션을 구축할 수 있도록 했습니다.
개요
Fusebox는 웹 애플리케이션 개발자들에게 비교적 간단하고 배우기 쉬운 코어 파일 세트와 권장 규약을 사용하여 애플리케이션을 개발하는 표준화된 구조화된 방법을 제공했습니다.프레임워크 자체뿐만 아니라 Fusebox는 FLiP(Fusebox Lifecycle Process용)로 알려진 지지자들에 의해 개발된 웹 애플리케이션 개발 방법론과 밀접하게 관련되었습니다.(많은 사람들이 Fusebox를 "방법론"이라고 부르지만, 사실 그것은 개발 프레임워크였다.단, FLiP는 방법론입니다).이 프레임워크는 ASP, JSP, Lasso, Perl/CGI 및 PHP에서도 포팅되어 사용되고 있습니다.단, Fusebox의 CFML과 PHP 버전만이 추진력을 얻고 있습니다.
Fusebox는 주로 컨트롤러의 액션(양식 제출 등)과 비즈니스 로직 계층의 프런트 엔드로 함께 보기 상태(페이지)를 배선하는 작업을 다루었습니다.이 프레임워크에서는 데이터베이스 상호작용이나 서비스 계층 등의 비즈니스 로직 작성 및 유지보수는 다루지 않았습니다.
개념
퓨즈 박스, 회로 및 퓨즈 동작
Fusebox의 원래 개념은 각각 자체 퓨즈가 있는 다수의 회로를 제어하는 전기 퓨즈 박스의 가정 용어에 기초했습니다.Fusebox 웹 응용 프로그램에서는 모든 요청이 단일 지점을 통해 라우팅됩니다(일반적으로).index.cfm
Fusebox 코어 파일에 의해 처리됩니다.어플리케이션은 관련된 기능을 포함하는 다수의 회로(일반적으로 서브디렉토리 내)로 분할됩니다.응용 프로그램의 각 회로는 간단한 작업을 수행해야 하는 퓨즈라고 불리는 작은 파일로 더욱 분할됩니다.따라서 Fusebox는 공통 설계 패턴인 프론트 컨트롤러의 구현으로 간주됩니다.
Fusebox 웹 응용 프로그램 내의 URL은 보통 다음과 같습니다.index.cfm?fuseaction=cname.fname
여기서.cname
"는 회선의 이름이고,fname
"는 퓨전이라고 하는 회선내의 XML 정의의 「방식」입니다.쿼리 문자열 변수 이름 "fuseaction"은 구성 매개 변수에 따라 달라질 수 있으므로 Fusebox를 사용하는 모든 응용 프로그램에서 작업 변수 "fuseaction"을 사용할 필요는 없습니다.
명명 규칙
Fusebox는 프레젠테이션 로직과 비즈니스 로직의 분리를 권장하지만 강제하지는 않습니다.프레젠테이션 파일은 dsp(디스플레이) 또는 lay(레이아웃)로 시작하고 데이터베이스 액세스파일은 qry(쿼리)로 시작하며 일반 비즈니스 파일은 act(액션)로 시작합니다.일반적인 파일명은 dsp_loginform.cfm과 같은 [prefix]_[filename] 형식입니다.일부 Fusebox 개발자는 추가 명명 규칙을 사용하지만, 이것이 가장 일반적인 규칙입니다.
퓨즈를 종료하다
Fusebox가 권장하는 또 다른 개념은 웹 페이지의 모든 종료 지점을 회로 제어 파일에 설정된 변수로 코딩하여 매개 변수를 지정하는 것입니다.이러한 종료 지점을 XFA - eXit FuseActions라고 합니다.웹 페이지에서 종료 지점을 매개 변수화함으로써 제어 흐름을 보다 쉽게 업데이트할 수 있으므로 웹 페이지 또는 웹 페이지의 단편화를 더 많이 재사용할 수 있습니다.
Fuse Docs
프레임워크와 관련된 개념이지만 엄밀하게는 그 일부가 아닙니다.FuseDocs는 각 퓨즈 파일의 입력과 출력을 지정하는 XML로 작성된 반정형 형식의 문서입니다.FuseDocs를 사용하여 테스트 하니스 코드 생성과 같은 작업을 수행할 수 있는 타사 도구가 있습니다.
역사
Fusebox는 수년간 몇 가지 주요 개정을 거쳤다.Fusebox 3에서는 제어 파일이 모두 기본 프로그래밍 언어로 작성되었습니다(예: CFML의 경우 fbx_Switch.cfm).Fusebox 4 이후 버전에서는 제어 파일(fusebox.xml 및 circuit.xml)에 XML을 사용하지만 다른 프레임워크 구성 요소는 기본 프로그래밍 언어(예: fusebox5.cfm, CFML용)를 사용하여 작성됩니다.이론적으로는 프레임워크에 대한 도구 지원을 개선하는 데 도움이 됩니다.또한 각 퓨즈 동작을 처리하기 위한 단일 템플릿을 사전 파싱 및 생성할 수 있어 성능이 크게 향상되었습니다.Fusebox 5.5에서는 특정 규칙을 따르는 경우 XML 파일을 생략할 수 있습니다.
퓨즈 박스(버전 1)
Fusebox 1은 1998년 4월 CF-Talk 메일링 리스트의 대화에서 벗어났다.스티브 넬슨과 게이브 로프만은 최초의 퓨즈박스 프로그램이 Josh Cyr에 의해 작성되었지만 오리지널 퓨즈박스를 만든 것으로 알려져 있다.이 방법론은 끊임없이 발전해 왔으며, 백서와 소수의 예시를 넘어서는 공식적인 문서는 존재하지 않았습니다.초기 Fusebox에 노출된 개발자는 거의 없었다.
퓨즈 박스 2
Craig Girard와 Steve Nelson은 Hal Helms와 Nat Papovich와 함께 2000년에 Fusion Authority에 의해 출판된 Fusebox: Methodology and Technics라는 책을 썼습니다.책에 기술된 관행을 따르는 프로그래머들은 "퓨즈박스 2"를 하고 있다고 한다.
XFB
Hal Helms는 Fusebox 2를 기반으로 구축되었으며 그의 아이디어를 eXtended Fuse Box(XFB)라고 불렀습니다.
퓨즈 박스 3
Fusebox 3(주로 Hal Helms, John Quarto-von Tivadar 및 Nat Papovich에 의해 작성됨)는 Fusebox 커뮤니티의 주요 구성원들이 XFB 및 기타 아이디어를 "핵심 파일"로 알려진 재사용 가능한 라이브러리에 통합하기 위해 노력한 것입니다.단순한 API를 통해 애플리케이션 코드가 코어 파일과 통신할 수 있었습니다.2001년 가을에 출시되자 Fusebox는 방법론이 아닌 프레임워크가 되었습니다.이후 3.01 릴리즈에서는 사소한 문제가 해결되었습니다.퓨즈박스 3은 퓨즈박스 2에서 완전히 바뀐 것이다.원래 원리만 비교적 변경되지 않은 상태로 유지되었습니다. 퓨즈 박스 2와 퓨즈 박스 3 애플리케이션은 매우 다르게 구조되었습니다.
퓨즈 박스 4
퓨즈박스 4는 퓨즈박스 3을 완전히 고쳐 쓴 것이다.코어 파일(오픈 소스)의 라이센스는 Hal Helms와 John Quarto-von Tivadar가 소유한 개인 회사가 보유하고 있습니다.Fusebox Corporation[permanent dead link](폐업한 법인인 것으로 보입니다.
Fusebox 4.1은 4.0에서 사용할 수 있는 것 외에 웹 서비스뿐만 아니라 오브젝트(COM, Java 및 ColdFusion Components)를 선언, 인스턴스화 및 조작할 수 있는 몇 가지 새로운 XML 문법 요소를 도입했습니다.이러한 기능을 통해 Fusebox 개발자는 객체 지향 모델(비즈니스 로직)을 컨트롤러에 직접 연결할 수 있게 되었습니다.그러나 많은 Fusebox 개발자들은 이러한 문법 요소를 사용하지 않고 Fusebox의 이전 버전이나 현재 버전에서 객체 지향 또는 고도로 구조화된 모델을 사용했습니다.
퓨즈 박스 5
2006년, Fusebox Corporation은 Sean Corfield에게 차세대 Fusebox 개발을 주도해 줄 것을 요청했습니다.Fusebox 5는 새로운 기능과 향상된 성능을 갖춘 또 다른 완전한 개서입니다.퓨즈박스 5는 퓨즈박스 4.1과의 하위 호환성을 거의 완벽하게 유지했다.2006년 11월 Fusebox Corporation은 TeraTech 사장 겸 Fusebox 스피커인 Michael Smith의 지도 하에 핵심 파일과 Fusebox 웹사이트의 소유권을 TeraTech에 양도했습니다.TeraTech는 Fusebox가 오픈소스를 유지할 것이며, 이 프로젝트에 대한 커뮤니티의 참여를 다시 늘리는 방안을 모색하고 있다고 발표했다.Fusebox 5.1 및 이후의 모든 릴리스는 Apache Source License 2.0에 따라 라이센스가 부여됩니다.2007년 2월, 팀 Fusebox의 구성원들은 Bethesda Maryland의 Frameworks Conference에서 만났고, Fusebox의 9개 다른 영역에서 자원봉사자를 이용하여 지역사회 참여를 위한 행동 계획을 수립했다.
퓨즈 박스 5.5
이 릴리스에서는 주로 XML 구성 파일을 사용하지 않고 Fusebox 응용 프로그램을 만들 수 있는 일련의 규칙을 추가하는 데 초점을 맞췄습니다.XML 대신 이러한 새로운 기능을 사용하는 것을 "암묵적 퓨즈 박스"라고 합니다.
- 알파 테스트는 2007년 6월에 개시되었습니다.
- 공개 베타판은 2007년 10월에 Adobe MAX에서 입수 가능
- Fusebox 5.5의 공식 릴리스는 2007년 12월 초에 제공되었습니다.
퓨즈 박스 5.5.1 및 퓨즈NG
2008년 3월에 Fusebox 5.5.1을 발매한 것은 Sean Corfield의 마지막 릴리즈입니다.2008년 8월 Adam Haskell은 개발을 인수했지만 Fusebox [3]조직에 좌절하여 FuseNG(Next Generation을 위한 NG, Star Trek 레퍼런스)라는 새로운 프레임워크를 분기하려고 했습니다.FuseNG는 빠르게 힘을 잃고 출시 없이 [4]끝났다.
퓨즈 박스 5.6
2012년 1월 존 블레이터가 이끄는 5명의 커뮤니티 개발자 팀은 TeraTech로부터 [2]Fusebox의 권리와 저작권을 취득했다고 Fusebox 메일링 리스트에 발표했습니다.프레임워크 코드는 저작권이 제거되었으며 커뮤니티 참여를 장려하기 위해 GitHub에서 이용할 수 있습니다.Fusebox 5.6 목표는 발표되었지만,[5] 실행되지는 않았습니다.
「 」를 참조해 주세요.
레퍼런스
외부 링크
- 공식 웹사이트, Fusebox.org
- 야후 그룹의 공식 Fusebox 메일링 리스트
- Adobe DevNet에서의 ColdFusion 프레임워크 소개
- Fusebox 4 리뷰 (sys-con.com, 2003년 9월)
- 퓨즈 박스 3의 기능 (sys-con.com, 2001년 11월)
- House of Fusion의 퓨즈박스 메일링 리스트