2009-03-09 6 views
0

이 웹 응용 프로그램의 구현 언어를 선택하는 데있어 마지막 질문을 던지기를 바라지 만 누구에게나 피칭하기 전에 응용 프로그램 유지 관리 경험이 무엇인지 알고 싶습니다.웹 프레임 워크 유지 관리성

우리는 Perl을 기반으로 웹 포털을 유지 관리 (이후 호스팅 솔루션으로 이전)했습니다.

문제는 Perl이 업데이트되거나 모듈이 업데이트 된 경우가 있었고 전체 웹 사이트가 상호 연결 되었기 때문에 CPAN 모듈의 작은 변화로 인해 전체 웹 사이트가 죽을 수 있으므로 쉽게 악몽이되었습니다 (이것은 오픈 소스 포털 이었지만 우리는 만들지 않았습니다) 포털의 어떤 것이 그것이 받아 들일 수있는 버전 모듈에 대해 매우 구체적 이었기 때문입니다.

무해한 보안 업데이트로 인해 웹 사이트가 눈에 띄게 오랫동안 충돌 할 수 있습니다.

PHP, Django 또는 Ruby on Rails를 기반으로 웹 응용 프로그램을 만들기로 결정할 때 프레임 워크 또는 언어의 전체 또는 일부를 업그레이드 할 때 웹 사이트의 유지 관리가 수반 한 작업을 공유 할 수 있습니까?

작성하지 않은 모듈/보석에 대한 보안 수정 사항을 설치하려고 할 때 웹 응용 프로그램을 손상 시키거나 고장 나게하는 것이 얼마나 쉬운가요? 아니면 정말로 문제가되지 않습니까?

답변

2

요즘 파이썬 앱을 배포하는 경우라면 확실히 virtualenv을 확인해야합니다. 자신의 페이지에서

는 :

VIRTUALENV는 절연 파이썬 환경을 만들 수있는 도구입니다.

기본 문제는 종속성과 버전 중 하나이며 간접적 인 사용 권한은 입니다. 에 LibFoo의 버전 1이 필요하다고 가정 해보십시오. 그러나 다른 응용 프로그램 에는 버전 2가 필요합니다. 두 응용 프로그램을 어떻게 모두 사용할 수 있습니까? 당신이 /usr/lib/python2.4/site-packages (또는 플랫폼의 표준 위치는 어떤 )에 모든 것을 설치 경우, 당신이 실수로 'shouldn 응용 프로그램을 업그레이드 어디 상황에서 결국 쉽게 t 업그레이드하십시오.

또는 더 일반적으로 을 설치하고 으로 남겨 두려면 어떻게해야합니까? 응용 프로그램이 작동하는 경우 해당 라이브러리의 변경 또는 해당 라이브러리의 버전을 사용하면 응용 프로그램이 손상 될 수 있습니다.

0

Django를 사용하면 포인트 리비전 사이에서 업그레이드 할 때 어떤 문제도 발생하지 않았습니다. (일부 프로젝트는 0.96 정도에서부터 비트 록팅되었으므로 더 복잡했습니다.) 재사용 가능한 애플 리케이션이가는 한, 그것은 정말로 애플 리케이션에 달려있다. 하지만 개발자가 개발 버전을 실행한다고 가정하기보다는 앱을 출시 할 수있을만큼 충분히 훈련 된 개발자는 버전 간의 마이그레이션이 쉽지 않은 경향이 있습니다.

0

tests.py에 그냥 regression tests을 포함하십시오. 테스트를하지 않으면 잘못하고있는 것입니다 ...

+0

그는 코드가 깨 졌는지 알아 보는 것이 아니라 의존성이 변경되었을 때 코드가 손상되지 않도록하는 가장 좋은 방법을 묻습니다. – dmanxiii

0

파이썬의 easy_install과 distutils를 사용하면 필요한 버전을 쉽게 찾을 수 있습니다. 인터페이스를 무효로하는 놀라운 보안 변경 사항은 거의 없습니다.

관련 문제