Phát triển web không giống như trước đây. Nó được sử dụng để bao gồm hack cùng một vài kịch bản PHP (tôi không có gì chống lại PHP, thực sự nó là ngôn ngữ lập trình chính của tôi), tải chúng qua FTP tới một số webhost và đó là điều đó. Ngày nay, mọi thứ phức tạp hơn. Như tôi có thể thấy bằng cách xem xét một số trang web chuyên nghiệp và hiện đại (SO là trang web chính, tôi coi SO là một ví dụ tuyệt vời về thực hành tốt trong phát triển web, ngay cả khi được tạo bằng ASP.NET và được lưu trữ trên Windows), một trang web là nhiều hơn thế:Cách tạo trang web phù hợp?
- các mã trang web thực sự là trong một kho lưu trữ (có ít svn sửa đổi ở chân làm cho cảm xúc của tôi Nerdy nức);
- Tệp tĩnh (CSS, JavaScript, hình ảnh) được lưu trữ trên một tên miền riêng biệt;
Ok, đây là những quan sát của tôi. Bây giờ cho câu hỏi của tôi:
- Bạn làm gì với tệp JavaScript và CSS? Bạn chỉ cần không giữ chúng dưới sự kiểm soát phiên bản? Điều đó có vẻ ngu ngốc. Bạn có tạo một kho lưu trữ riêng cho họ không?
- Làm cách nào để bạn thiết lập kho lưu trữ? Bạn chỉ cần tạo một trong thư mục gốc của máy chủ web? Hoặc bạn có tạo ra một loại trình kích hoạt sau cam kết sao chép các tệp mới nhất đến các đích thích hợp của chúng không?
- Điều gì sẽ xảy ra nếu bạn có nhiều máy chạy trang web và muốn đẩy một số thay đổi cho tất cả chúng?
- Mọi dự án như vậy đều phải có tệp cấu hình. Chúng khác với kho lưu trữ cục bộ đến kho lưu trữ từ xa. Ví dụ, trên máy phát triển của tôi, tôi không có mật khẩu gốc MySQL, trong khi trên máy chủ sản xuất, tôi chắc chắn có một mật khẩu. Mật khẩu này sẽ được lưu trữ trong một tập tin cấu hình, trong số những thứ khác, mà sẽ hoàn toàn khác trên máy tính của tôi và trên máy chủ. Có lẽ chúng cũng khác nhau giữa các máy sản xuất (như tôi đã nói trước đó, có thể trang web chạy trên nhiều máy để cân bằng tải). Làm cách nào để xử lý?
tôi đang tìm cách để bắt đầu một dự án web mới sử dụng:
- Python + SQLAlchemy + Werkzeug + Jinja2
- Apache httpd + modwsgi
- MySQL
- Mercurial
Điều tôi muốn là một số lời khuyên thực hành tốt nhất về cách sử dụng các công cụ và câu trả lời nói trên cho các câu hỏi của tôi ở trên.
Tôi không biết phải chấp nhận câu trả lời nào. Tất cả chúng đều cung cấp cái nhìn sâu sắc rất hữu ích. Tuy nhiên, việc chọn một câu trả lời là "câu trả lời được chấp nhận" sẽ có vẻ không công bằng và, tốt, sai. Tất cả đều được chấp nhận. Đánh dấu bài đăng này là wiki cộng đồng có phải là một ý tưởng hay không? – Felix