2009-03-30 5 views
9

나는 그것이 주관적이라고 알고 있습니다. 그러나, 당신이 내 신발에 몸을 담그면 당신은 배울 시간을 투자 할 것입니까?딜레마 : 해변이나 파이썬 프레임 워크를 배워야합니까?

저는 비교적 적은 양의 개인 정보, 몇 Kb 정도의 수천 가지 기록을 안전하게 취급하는 웹 앱을 만들고 싶지만 안전, 주소, 전화 번호 등을 보관해야합니다. PHP/MYSQL에서 몇 가지 웹 프로젝트를 수행하고 편리하게 결정했는데 PHP가 마음에 들지 않아서 또 다른 큰 프로젝트를하고 싶지는 않습니다 ...

새로운 것을 배워라. 그래서 나는 2 가지 옵션을 고려하고있다. (비록 제안이 있으면 행복하게 다른 사람들을 즐겁게 해줄 것이다.) 나는 결정하는 데 끔찍한 어려움을 겪고있다. 그들은 둘 다 상당히 관련되어 보이기보다는 오히려 점프하고 잠정적으로 낭비하는 일이 정보 검색의 선택을하기에 충분히 빠른 속도로 일어나서 내가 여기 와서 몇 가지 의견을 제시 할 것이라고 생각했습니다.

그래서이 고려하고 두 가지 옵션 ... 파이썬 웹 프레임 워크의

하나는 - TurboGears는 잘 간주 보인다? 장점 : 내가 파이썬을 사용해 본 모든 언어 중에서 가장 좋아하는 것은 멀리 떨어져있다. 선택할 프레임 워크가 많으며 지난 몇 년 동안 비 (非) 웹 파이썬 코딩 작업을 많이 해왔습니다. 단점 : 선택할 수있는 하중이 있으므로 선택하기가 어렵습니다! 단일 서버 프로세스를 실행해야합니까? 또는 mod_python? 나는 그 소리가 싫어. 내가 좋아하는 것은 프로세스 분리 및 구획화라는 개념입니다. 즉, 한 명의 사용자 계정이 손상되면 공격자에게 나머지 시스템에 대한 영향력을주지 않습니다. 파이썬 솔루션이 그것을 어느 정도까지 처리 할 수있을지는 확실하지 않습니다.

SEASIDE 앱으로 작성하기 내가 끽끽 거리는 앱 서버에서 실행되는 것 같습니까? Adv : 내가 들었을 때, 보안, 확장 및 중복 관점에서 훌륭한 소리를내는 다른 모든 사용자와는 별도로 각각의 작은 개인 VM을 보유하게되므로 사용자의 적절한 분류가 가능할 것이라고 들었습니다. Dis : 나는 15 년 전 Uni에서 스몰 토크를 해본 적이 없으며, 너무 깊이 파고 들지도 않았다. 나는 해변이나 그것을 사용하는 많은 프로젝트에 대한 엔트리 레벨 도움을 많이 볼 수 없습니다. 나는 본질적으로 어렵 기 때문에 동일한 이유로 서버를 실행하는 것이 어렵다고 생각하지는 않는다. 단지 온라인상의 도움이 거의 없기 때문에 Sqeak/Smalltalk에 이미 오판 된 추정 일 뿐이 기 때문이다.

그렇다면 사람들은 무엇을 생각합니까? 파이썬 프레임 워크를 사용하여 효율적으로 일종의 강력한 분리 및 구획화를 얻을 수 있습니까? 서로를 단절시키는 관점에서 해변을 내가 생각하는 것만 큼 좋을까요? 내가 가장 익숙한 언어를 고수하고 보안 현명하며 더 잘할 수 있으므로 실수로 n00b를 만들지 않아도됩니다. 해변은 학습 곡선을 확장하고 장기적으로 더 안전하고 이해하기 쉽고 유지할 수있는 가치가있는 가치가 있습니다. ? 마지막 날에는 삶이나 죽음의 결정이 아니며, 내가 먼저 시작해서 싫어하면 모든 사람이 모든 거룩한 언어 전쟁을 시작하고 누구에게나 불을 붙일 수 있습니다. ;-)이 얻을 수있는 대답에 대한

건배,

로저 :

답변

10

면책 조항 : 저는 PHP를 좋아하지 않습니다. 파이썬은 훌륭하지만, 제 책의 스몰 톡에 가까이 가지 않습니다. 그러나 저는 편향된 스몰 토크 (Smalltalker)입니다. Seaside/Squeak에 대한 답변 :

Q : 나는 squeak 앱 서버에서 실행되는 것으로 추측합니까?

해변은 여러 가지 다른 스몰 토크 (VW, Gemstone, Squeak 등)에서 작동합니다. "앱 서버"라는 용어는 Smalltalk 국가에서는 실제로 사용되지 않습니다. :)

Q : 보안, 확장 및 이중화 관점에서 훌륭한 소리를내는 모든 사용자와는 별도로 각자의 작은 개인 VM을 갖게 될 것이므로 사용자의 적절한 분류를 허용한다고 들었습니다.

예, 각 사용자마다 고유 한 WASession이 있으며 사용자가 볼 수있는 모든 UI 구성 요소는 해당 세션의 서버 측에 있습니다. 따라서 세션간에 상태를 공유하는 것은 명시 적으로 수행해야하는 작업이며, 일반적으로 db를 통해 수행해야합니다.

Q : 저는 15 년 전 Uni에서 스몰 토크를 해본 적이 없으며, 너무 깊숙이 파고 들지도 않았습니다. 나는 해변이나 그것을 사용하는 많은 프로젝트에 대한 엔트리 레벨 도움을 많이 볼 수 없습니다.

스몰 토크는 쉽게 나가기 쉽고 해변에는 전체 무료 온라인 도서가 있습니다.

Q : 동일한 이유로 서버를 실행하는 것이 어렵다고 생각합니다. 본질적으로 어렵지는 않지만, 온라인 도움말이 적기 때문에 Sqeak/Smalltalk에 대한 오해가있을 수 있습니다.

아니요, 어렵지 않습니다. :) 사실, 아주 사소한. 도움의 톤 - 해변가 ml, freenode에 IRC 등

Q : Seaside는 사용자 간 단절의 측면에서 생각만큼 좋은가요?

나는 그렇게 말할 것이다.

Q : 내가 가장 익숙한 언어를 고수하면서 보안상의 현명함을 더 잘 발휘할 수 있기 때문에 어떠한 n00b 실수 나 실수도하지 않을 것입니다. 해변은 학습 곡선을 확장하고 더 안전하고 이해하기 쉽도록 가치가 있습니다. 장기적으로 유지 보수가 가능한가?

Seaside IMHO를 선호하는 killer 인수가 진정한 구성 요소 모델입니다. 복잡한 UI와 유지 관리를 위해 정말 훌륭합니다. 당신이 "뭔가 다른"것을 배우는 것을 두려워한다면 (그렇다면 내가 생각하기에 처음에는 생각조차하지 않을 것입니다), 그러면 나는 당신에게 경고 할 것입니다. 그러나 두려워하지 않으면 아마 그것을 좋아할 것입니다.

또한 Squeak (또는 VW)는 실제 해변 세션을 디버깅하고 디버거에서 코드를 변경하고 다시 시작하는 등 정말 멋진 개발 환경입니다.

4

스몰 토크 웹 프레임 워크를 고려하는 동안뿐만 아니라 Aida/Web 봐. Aida에는 사용자/그룹/역할 관리 및 강력한 액세스 제어 기능이 내장되어있어 많은 경우 도움이 될 수 있습니다. 그렇게하면 한 이미지의 사용자 수준에서 사용자를 안전하게 분리 할 수 ​​있습니다. 그러나 정말로 원한다면 많은 이미지를 실행하면서 분리 할 수 ​​있습니다.그러나 이것은 유지 보수를 증가시키고 그것이 가치가 있다면 두 번 생각할 것입니다.

8

Django을 살펴보십시오. 이는 호스팅 OS와 독립적 인 기성품 인증 시스템이있는 Python 프레임 워크로, 손상된 응용 프로그램으로 제한됩니다 (Python 프로세스를 호스팅하는 웹 서버에 대한 악용을 막음).

+0

Django는 실수로 사용자간에 데이터를 공유하는 것으로 보이는 주요 보안 문제를 직접 해결한다고 생각하지 않습니다. SQL 오류를 피하는 것이 좋지만, 오류가있는 사용자에게 데이터를 표시 할 수 있습니다. 나는 해변에서 이것을 우연히하는 방법을 상상할 수 없다. 또한 zope를 고려하십시오 –

+0

포기 : 나는 해변에 관하여 것을 모른다. 그러나 모든 환경에서 오류가 발생할 수 있으므로 구획화로 인해 오류가 전혀 방지되지 않습니다 (특히 SQL 오류가 아님) (DB 사용자로 모든 응용 프로그램 사용자를 보유하고 있지 않은 경우 유지 보류가 될 수 있습니다.) IMHO). –

+0

SQL 데이터베이스를 사용하는 경우 올바른 것입니다. Zope과 Seide는 명시 적으로 추가하지 않는 한 SQL 데이터베이스를 사용하지 않습니다. –

1

나는 당신이 찬반 양론을 꽤 많이 요약했다고 생각합니다. 해변은 이 아니기 때문에 (나는 다양한 프로젝트를 위해 두 번 설치했습니다) 설치하기가 어렵지만, 사용법에 분명히 영향을 미칩니다. 언어를 다시 배우는 것 외에도 많은 것을 조정해야 할 것입니다. 작업 흐름에 대한 가정. 다른 사람들이 결국 그것을 유지 될 경우

또한 두 개의 다른 요인

  • 에 따라, 당신은 해변이 가고 당신이 높은 상태 사이트를 수행하는 경우
  • 파이썬 프로그래머를 찾는 더 좋은 행운이있을 것이다 내가 본 다른 프레임 워크에서 바지를 때려.
10

mod_python을 잊어 버리면, WSGI가 있습니다.

Django을 권해드립니다. 어떤 WSGI 서버에서 실행 되더라도 선택해야 할 것이 많습니다. Apache 용 mod_wsgi, wsgiref - 참조 구현은 Python에 포함되어 있으며 many more입니다. 또한 Google App Engine은 WSGI이며 장고를 포함합니다.

장고는 매우 유명하며 커뮤니티가 빠르게 성장하고 있습니다.

6

나는 해변으로 나간 적이 있지만 여러 가지면에서 시작하기가 매우 어려워서 매우 빨리 집어들 수있는 스몰 토크와 아무 관련이 없습니다. 문제는 당신이 정말로 HTML을 직접 작성하는 것으로부터 보호된다는 것입니다.

대부분의 프레임 워크에서 뭔가를하는 방법에 집착하면 항상 템플릿을 사용하여 해결하는 방법이 있습니다. 나중에이 솔루션으로 인해 문제가 명확 해지고 실제로 프레임 워크에 더 나은 솔루션이 포함되어 있지만 올바른 방법을 배울 때까지 문제를 해결할 수있었습니다.

해변에는 템플릿이 없으므로 그 버팀목을 얻지 못합니다. 아무런 문제없이 나를 곤란하게 만들었지 만 어떤 사람들은 내가 좋아했을 때보 다 해결하는데 더 오래 걸렸습니다. 이것의이면은 당신이 속일 수 없으므로 해변 방법론을 훨씬 빨리 배우는 것입니다.

해변가로 가기로 결정했다면 squeakfoundation.org의 해변가 메일 링리스트에 게시하는 것을 두려워하지 마십시오. 나는 처음에는 협박하는 것으로 나타났습니다. 왜냐하면 낮은 트래픽으로 초심자 질문을 많이 보지 않았지만 사람들은 초보자를 도울 의향이있었습니다.

또한 스택 오버 플로우를 정기적으로 모니터링하는 소수의 해변 개발자가 있습니다. 행운을 빕니다.

+0

항상 다음 작업을 할 수 있습니다. "aCanvas html : '

일부 원시 html

'"절망적 인 경우. :) – Julian

5

www.nagare.org을 보셨습니까?

특히 웹 사이트가 아닌 웹 앱용 프레임 워크.

이것은 해변 개념을 기반으로하지만 Python (nagare는 Stackless Python이라는 Python 배포판을 사용하여 연속성을 유지)을 프로그래밍합니다.

Seaside와 마찬가지로 자동으로 HTML을 생성하지만 필요에 따라 템플릿을 사용할 수도 있습니다.

최근에는 zope 및 plone과 같은 양질의 웹 프레임 워크에서 웹 응용 프로그램/사이트를 제공 한 경험이 풍부한 http://www.net-ng.com/이 오픈 소스로 출전했습니다.

나는 지금 내 자신의 필요에 맞는 것인지를 스스로 조사하고 있기 때문에 야생에서 어떻게 생각하는지 말할 수는 없다. 보시다시피 피드백을주십시오.

+0

나는 마지막에 web2py (글루 논 이었음) 프레임 워크를 배우기로 결심했습니다. 전체 론적 인 파이썬 기반의 풀 스택 웹 앱 프레임 워크와 개발 환경 하나입니다. 아직 익숙하지는 않았지만 아직 전개 단계에서부터 상당히 익숙하지만 비교적 경험이 풍부합니다. 파이썬으로 작성되었으므로 해킹을 할 수있는 웹 브라우저 기반 인터페이스/IDE가 있으며 web2py의 다른 인스턴스에서 배포하고 배포 할 수있는 바이트 코드 응용 프로그램 번들을 자동으로 빌드 할 수 있습니다. 또한 꽤 작습니다. – user84643

3

나는 해변가와 직접 놀고있어 this tutorial은 프레임 워크의 기능에 대한 통찰력을 얻는 데 매우 중요합니다.

+0

실제로 현재 가장 유용한 튜토리얼입니다. –