2010-06-08 19 views
5

Tôi quan tâm đến việc phát triển web và theo đó tôi muốn nói đến các dự án lớn hơn như facebook hoặc twitter. Tôi biết những điều cơ bản về java, css, php và mysql. Tôi biết có rất nhiều thứ ngoài kia. Tôi đọc về nó. Nhưng tôi không biết mục đích là gì và cách đặt ra.Tôi biết bức tranh lớn nhưng không thể đặt nó vào vị trí

Những điều như: Scribe, thực hành tiết kiệm, Casandra, Unix/Linux, vỏ/perl/python kịch bản, PostgreSQL, MongoDB, kho dữ liệu NoSQL không quan hệ, JVM, nginx

Tôi muốn biết lý do tại sao họ cần, cách họ sử dụng nó và mục đích của te là gì.

Những gì tôi cần là một cuốn sách như nền tảng kỹ thuật của facebook cho núm vú giả. Có bất kỳ sách hoặc trang web nào giải thích điều này từ đầu không?

Cảm ơn bạn!

EDIT:

Cảm ơn câu trả lời của bạn! Bạn đã được rất hữu ích. Tôi đã ở trong giả định, các lập trình viên có kinh nghiệm biết hầu như bất cứ điều gì về công nghệ được sử dụng ngày nay. Nhưng khi tôi đọc, bạn chỉ có thể biết rất nhiều và tôi cần phải tìm ra công nghệ để sử dụng. Tôi khuyến khích để bắt đầu xây dựng nhỏ. Và sẽ thực hiện php và cải thiện kỹ năng của tôi từ đó.

Cảm ơn bạn lần nữa!

Trả lời

0

Có rất nhiều khung làm nhiều việc khác nhau. Bạn đã đặt tên cho rất nhiều thứ khác nhau từ rất nhiều lĩnh vực khác nhau. Cách tốt nhất để nghĩ về những điều này là nhóm chúng theo thể loại. Dưới đây là ví dụ:

Giả sử bạn có máy tính xách tay và bạn muốn lưu trữ trang web. Bạn sẽ cần những điều sau đây ở mức tối thiểu:

1) Phần mềm máy chủ web. Hai tùy chọn phổ biến là IIS của Microsoft và Apache Web Server.

Đó thực sự là tất cả những gì bạn cần. Bạn có thể thiết lập thư mục www_root của mình và tải các tệp vào thư mục đó. Giả sử mọi thứ được cấu hình đúng cách, bây giờ bạn có thể tải các trang HTML vào thư mục đó và truy cập chúng thông qua địa chỉ IP của bạn. Mỗi trang bạn xem trong trình duyệt web của bạn ở định dạng HTML. CSS là một ngôn ngữ định kiểu định nghĩa cách HTML của bạn sẽ được định dạng. Bạn cũng có thể bắt đầu viết Javascript, vì hầu hết các trình duyệt hiện đại đều hỗ trợ ngôn ngữ kịch bản phía máy khách.

Có thể bạn sẽ muốn như sau:

2) Phần mềm cơ sở dữ liệu. Hai tùy chọn phổ biến là Microsoft SQL Server và MySQL 3) Kịch bản phía máy chủ. PHP là rất phổ biến, như là ASP. Bạn sẽ cần thời gian chạy được triển khai trên máy chủ của bạn. Python, Ruby, Perl, vv tất cả đều thuộc thể loại này. 4) Khung ứng dụng web (s). Điều này sẽ cung cấp cho bạn thư viện cho ngôn ngữ bạn chọn để giúp phát triển các ứng dụng web và trang web.CakePHP, Ruby on Rails và Google Web Toolkit là các ví dụ về các khung ứng dụng web.

Ngoài ra, bạn có thể muốn sử dụng:

5) Thư viện bổ sung. Ví dụ, JQuery nhanh chóng trở thành một thư viện phổ biến cho Javascript xử lý rất nhiều tác vụ phổ biến cho bạn. Thay vì viết mã hiệu ứng phức tạp và không phải là chính bạn, chỉ cần sử dụng mã được viết sẵn trong thư viện JQuery. 6) Công nghệ trao đổi dữ liệu. Nếu bạn đang chuyển rất nhiều thông tin qua lại, có thể bạn sẽ muốn đóng gói dữ liệu này theo định dạng lôgíc. Lý tưởng nhất, định dạng này sẽ mô tả dữ liệu và cho phép các ứng dụng của bạn dễ dàng đọc/xử lý nó theo một tiêu chuẩn. Đây là nơi XML và JSON đi vào hoạt động.

Tôi không thể giới thiệu một cuốn sách hay để bạn học những thứ này, nhưng tôi cảm thấy rằng các câu trả lời tập thể cho câu hỏi của bạn ở đây là quá đủ để bạn bắt đầu.

Cuối cùng, những gì bạn cần làm là xác định công nghệ bạn cần, sau đó chọn công nghệ phù hợp với công việc. Đừng xây dựng một ứng dụng bằng Ruby on Rails chỉ vì đó là những gì Twitter đã sử dụng, mà là chọn nó vì nó cung cấp một số lợi thế cho bạn qua các tùy chọn khác.

2

Đó là tất cả về việc chọn đúng công cụ cho công việc trong mắt tôi. Có rất nhiều công nghệ ra khỏi đó nó không thể tìm hiểu tất cả. Chỉ cần chọn tập con sẽ làm việc cho bạn.

2

Nơi tốt nhất để bắt đầu là xây dựng các trang web đơn giản nhỏ và khi bạn gặp phải các vấn đề cần giải quyết, bạn nghiên cứu các công cụ cần thiết để giải quyết những vấn đề đó.

Nếu bạn tấn công tất cả các khu vực cùng một lúc, nó sẽ bị áp đảo và bạn sẽ không nhận được bất cứ nơi nào.

Để biết tổng quan chung về những gì từng công nghệ, Wikipedia cung cấp một cái nhìn tổng quan về hầu hết các công nghệ.

Nếu bạn quan tâm đến nội dung cơ sở dữ liệu mà nó có vẻ như bạn đang có, một nơi tốt để bắt đầu là đọc lên trên bình thường.

+0

Có vẻ như tôi cần bắt đầu nhập nhanh hơn :) –

1

Scribe, thực hành tiết kiệm, Casandra, Unix/Linux, vỏ/perl/python kịch bản, PostgreSQL, MongoDB, kho dữ liệu NoSQL không quan hệ, JVM, nginx

Những người tôi sẽ tìm kiếm trên Wikipedia cho đến xem tổng quan nhanh. Facebook được viết bằng PHP/MySQL. Có một số cuốn sách về chủ đề tạo trang web mạng xã hội và một số sách đã nhận được đánh giá tốt trên Amazon.com, tuy nhiên, tôi chưa tự mình đọc bất kỳ cuốn sách nào.

Nếu tôi là bạn, tôi sẽ bắt đầu với PHP/MySQL và ngồi xuống và viết một mạng xã hội đơn giản. Chia dự án thành các thành phần và nhiệm vụ và Google cho mỗi thử thách bạn gặp phải như các phiên, cấu trúc cơ sở dữ liệu, bảo mật, cấu trúc bạn bè và xử lý các yêu cầu POST và GET.

Bạn sẽ học được rất nhiều và bạn sẽ có được bức tranh lớn. Một khi bạn nhìn thấy bức tranh lớn, bạn có thể xem xét các công nghệ khác nhau có sẵn và sau đó quyết định thành phần nào bạn có thể phát triển tốt hơn với các công cụ khác. Cá nhân tôi không nghĩ rằng tìm kiếm quá nhiều vào công nghệ có sẵn là tốt cho một người vẫn còn trong giai đoạn đầu.Bắt đầu làm, học hỏi từ nó, và sau đó câu hỏi của bạn trở nên cụ thể hơn và rất nhiều thứ sẽ có ý nghĩa hơn.

5

http://highscalability.com/

Đây là một trong những trang web tốt nhất hiện có. Có một số nghiên cứu điển hình mô tả những gì và lý do tại sao nhiều trang web sử dụng, và con trỏ để tham khảo thêm. Tôi cũng sẽ nhìn vào các cuộc đàm phán Hội nghị Google Khả năng mở rộng 2007

http://www.google.com/search?q=Google+Scalability&hl=en&client=firefox-a&hs=YUg&rls=org.mozilla:en-US:official&prmd=v&source=univ&tbs=vid:1&tbo=u&ei=fl4OTPUkorIwueCQxQw&sa=X&oi=video_result_group&ct=title&resnum=4&ved=0CDIQqwQwAw

+0

+1. Yêu thích liên kết đầu tiên! –

1

Vấn đề bạn đang gặp phải là bạn đang nhìn vào các sản phẩm đặc sản nhỏ hơn, và không phải ở công nghệ lớn hơn, trưởng thành hơn. Wikipedia sẽ thực sự cung cấp cho bạn một cái nhìn tổng quan về hầu hết các dự án vừa và lớn trên mạng.

Cassandra, Hadoop, Mongo và NoSQL đều đáng yêu ... nhưng chúng là công cụ đặc biệt. SQL là một giải pháp mục đích chung hoạt động cho 99% các trang web trên mạng.

Unix/Linux không phải là công cụ đặc biệt; bạn có thể muốn thử truy cập trang web của Ubuntu và cài đặt Linux và chỉ sử dụng nó hàng ngày, cách bạn sử dụng Windows. Khi bạn cần tìm ra một cái gì đó mới, như thiết lập một máy chủ web, hãy làm điều đó trên hộp Linux một hộp Windows, và cuối cùng bạn sẽ tìm hiểu linux khá darn tốt.

Theo như kịch bản, O'Reilly tạo một dòng sách tuyệt vời trên Bash, Perl và Python.

JVM là một máy ảo Java, là cốt lõi để nhận mã Java. Trang web của Sun có một bộ hướng dẫn tuyệt vời về việc học Java.

Có thể dễ dàng hơn nhiều khi chọn một dự án (hoặc ba) mà bạn muốn tìm hiểu và tìm hiểu một số điều này bằng cách thực hiện. Tôi có thể khuyên bạn nên học một số SQL trước khi học các giải pháp thay thế mới được thành lập; cho phép bạn tìm hiểu phần còn lại của hệ thống, vì SQL khá dễ dàng. Một khi bạn đã có phần còn lại của điều vững chắc, hãy thử trao đổi trong một giải pháp NoSQL tại thời điểm đó.

Các vấn đề liên quan