Apps/Script 용 Ruby MVC 프레임 워크에 대해 들어 본 사람이 있습니까?Ruby App MVC 프레임 워크 (웹이 아님)
레일즈가 출현 한 것은 웹 개발자들에게 MVC를 가져다 주었기 때문에 한번은 혁명적 인 도구 였고, 한번은 디자인 패턴과 규칙을 사용하도록 강요했다. 나는 그런 것을 찾고 있지만, cron이나 사용자에 의한 평범한 관리 작업을 스크립팅하기 위해 : 업데이트, 백업, 관리 도구 상자 등. 이제는 모든 사람들이 자신 만의 설정 방법을 가지고 있다고 확신합니다. 애플 리케이션 및 도구 상자,하지만 일을 MVC 방법이 있는지 궁금 해서요. 디자인 패턴과 규칙을 사용하게 만드는 무언가 (나는 다른 사람들이 가끔씩 단축키를 사용한다고 확신하는 것처럼 유죄입니다.)
이제 narf와 bowline을 시도해 보았습니다.하지만 narf는 버려졌고 bowline은 GUI를 목표로하고 초기 알파 상태입니다.
피드백을 바탕으로 새 웹 응용 프로그램을 시작할 때 - 아무리 작아도 루비 또는 머블을 사용하거나 분주하게 사용할 수 있습니다. 이러한 프레임 워크의 모든 장점과 모범 사례를 사용하려면이 작업을 수행하십시오. 물론 당신은 당신의 작은 서버와 하나의 파일 웹 어플리케이션을 작성할 수 있습니다,하지만 왜? 그래서 애플 리케이션/스크립트를위한 프레임 워크가 있는지 궁금하네요.
누구에게 추천이 있습니까? @Michael :
아래 몇 가지 의견에 대한 언급을 둘 다 잘하지만, 전에 요리사와 꼭두각시로보고 - 그들은 응용 프로그램을 작성하지, 설치 작업을 자동화에 대한 더 많은입니다.
@ 만수 : 나는 Cron이나 Scheduled Tasks를 교체하고 싶지 않습니다. 이미 잘하고 있습니다. MVC 스크립트를 실행하기 만하면됩니다.
@Robert : Anvil은 버려진다고 소리를냅니다. 마지막 업데이트는 2007 년부터이며 GUI 프레임 워크로 조정되었습니다. 나는 이것이 과잉이라고 생각하지 않는다 - 그리고 그 이유는 바로 지금 약 40 개의 스크립트가 사용되어 (고객 CSV에서 MySQL로 데이터를 업데이트하고, 백업을 실행하고, FTP에서 스크립트를 실행하는 등), 나는 그것을 확신한다. 자랄거야 내가 깨닫게 된 사실은 내 스크립트 중 일부가 같은 일을한다는 것입니다. 즉, CSV에서 MySQL로 데이터를 업데이트하는 것과 같이 설정 파일을 사용하는 공통 라이브러리를 사용하도록 코드를 리팩토링했습니다. 그래서 나는 과잉 생각하지 않습니다. 나는 이미 이것에 대한 기본 틀이 있는지 궁금해하고 있었다.
@mereghost : RuGUI는 GUI 관점에서 매우 흥미로 우며 더 많은 조사가 필요합니다. 적극적으로 유지 관리되는 것 같습니다. 내가 그것을 사용할 수 있는지, 아니면 내가 그걸 기초로 무언가를 발전시킬 수 있는지 알게 될 것이다.
@bantic : 어떻게 내가 thor를 놓쳤는 지 확신하지 못한다. 나는 때때로 Katz의 블로그를 체크 아웃한다. 그것은 내가 찾고있는 것과 다소 비슷하지만, 여러 가지 옵션, 즉 copy 명령을 사용하는 방법에 관한 params를 가진 copy 명령을 사용하여 하나의 도구를 개발하는 것이 중요하지는 않습니다. 나는 많은 일을하는 앱이 더있는 곳에서 뭔가를 원한다.
@ Chuck : 척, 나는 DB를 업데이트하는 스크립트를 작성하기 전까지 거의 같은 생각을하고있었습니다. 그래서 그 의미에서 볼 수 없다면 M 부분의 MVC가 있습니다. 당신은 잠재적으로 하나의 뷰를 가지고 있다고 주장 할 수 있습니다 - 콘솔, 또는 심지어 여러개 - 내 스크립트가 매일 실행해야하고 공유에있는 일부 .xls 파일을 업데이트해야한다고 말하면서 csv로 그리고 아마도 tsv 파일로 출력하고, 클라이언트 서비스에 의해 소비되기 위해 XML을 수행 할 수 있어야합니다. 파일 유형으로의 변환 (레일즈의 포맷터라고도 함)은 컨트롤러에서 발생하지만 데이터의 실제 레이아웃 (일부 필드를 굵게 표시하고 .xls에서 파란색으로 표시하고 다시 정렬하려는 경우)이 View에서 발생해야합니다.필자는 필자가 복잡한 것을 끝내고 있다고 느낀다. 그러나 다른 한편으로는 PHP 개발자들이 Rails가 PHP가 정상적으로 작동 할 때까지 프레임 워크에 대해 말했던 것이다. :-)
또한이 예제를 계속 진행합니다. 다양한 스크립트에서 사용되는 ClientData라는 모델이 있다고 가정 해 봅니다. 일부는 해당 테이블에 쓰고 그 중 일부는 데이터를 가져옵니다. 지금 당장이 테이블의 여러 부분을 사용하여 csv를 가져 오거나 내보낼 수있는 4 개의 스크립트가 있으며 DBI :: MySQL을 사용하여 쿼리를 작성하고 실행합니다. 문제는 그 모델 (표)을 변경 한 후에 열 이름이나 그 밖의 변경 사항을 반영하기 위해 4 개의 스크립트를 모두 업데이트해야한다는 것입니다. 지금은 스크립트로드시 필요한 객체 및 구성 파일의 작은 lib가있는 것에 의지했습니다. 그러나 나는 Jerry-rigged solution보다는 이것을하기위한 적절한 틀을 사용하기를 바랬다 :-) 이것은 또한 웹 어플리케이션을위한 것이 아니다. 나는 웹 인터페이스가 필요 없다. - 이것에 접근 할 수있는 유일한 2 명은 나 자신과 다른 시스템 관리자 다. 잠재적으로 사용자에게 일종의 액세스 권한을 제공해야 할 수 있습니다. 권한이 부여 된 사용자가 특정 스크립트를 실행하도록 할 수는 있지만 필수 사항은 아니며 Sinatra를 부트 스트랩하여이를 수행 할 수 있다고 말합니다.
Joe, 재미있는 제안을 살펴 봐야 할 것입니다. 나는 그것이 내가 찾고 있었던 것에 가장 가깝다고 생각한다. 그리고 그것이 작동하지 않는다면 나는 항상 새로운 해결책을 개발할 수 있습니다. :-) – konung