Я знаю большое изображение, но не могу поместить его на месте

Я интересуюсь веб-разработкой, и этим я имею в виду большие проекты как Facebook или Твиттер. Я знаю основы Java, CSS, php и mysql. Я знаю, что существует намного больше там. Я читал об этом. Но я не знаю то, что цель и как поместить на месте.

Вещи как: Скрайбирование, экономия, casandra, Unix/Linux, shell/perl/python сценарии, PostgreSQL, MongoDB, нереляционные хранилища данных NoSQL, JVM, nginx

Я хочу знать, почему им нужен он, как они используют его и какова te цель.

То, в чем я нуждаюсь, является книгой как техническое образование Facebook для макетов или около этого. Есть ли какие-либо книги или веб-сайты, которые объясняют это с нуля?

Спасибо!

Править:

Спасибо за Ваши ответы!Вы нам очень помогли. Я был в предположении, опытные программисты знают, что почти что-либо о технологии там используется сегодня. Но поскольку я читал, можно только знать так много, и я должен выяснить который технология использовать. Я беру поддержку, чтобы начать создавать маленький. И возьмет php и улучшит мои навыки оттуда.

Еще раз спасибо!

5
задан timmy 8 June 2010 в 15:49
поделиться

6 ответов

Существует множество фреймворков, которые делают много разных вещей. Вы назвали много разных вещей из разных областей. Лучший способ подумать об этих вещах - сгруппировать их по категориям. Вот пример:

Предположим, у вас есть ноутбук, и вы хотите разместить на нем веб-сайт. Вам понадобится как минимум следующее:

1) Программное обеспечение веб-сервера. Двумя популярными вариантами являются IIS от Microsoft и веб-сервер Apache.

Это действительно все, что вам нужно. Вы можете настроить свою папку www_root и загружать в нее файлы. Предполагая, что все настроено правильно, теперь вы можете загружать HTML-страницы в эту папку и получать к ним доступ через свой IP-адрес. Каждая страница, которую вы просматриваете в своем веб-браузере, имеет формат HTML. CSS - это язык таблиц стилей, который определяет, как будет форматироваться ваш HTML. Вы также можете начать писать Javascript, поскольку большинство современных браузеров поддерживают язык сценариев на стороне клиента.

Скорее всего, вам также понадобится следующее:

2) Программное обеспечение для баз данных. Двумя популярными вариантами являются Microsoft SQL Server и MySQL. 3) Серверные сценарии. PHP очень популярен, как и ASP. Вам понадобится среда выполнения, развернутая на вашем сервере. Python, Ruby, Perl и т. Д. Подпадают под эту категорию. 4) Платформа (и) веб-приложений. Это предоставит вам библиотеки для выбранного вами языка, которые помогут разрабатывать веб-приложения и веб-сайты. CakePHP, Ruby on Rails и Google Web Toolkit являются примерами фреймворков веб-приложений.

Дополнительно вы можете использовать:

5) Дополнительные библиотеки. Например, JQuery быстро становится популярной библиотекой для Javascript, которая решает за вас множество общих задач. Вместо того, чтобы писать код сложных эффектов и чего-то еще, просто используйте заранее написанный код в библиотеке JQuery. 6) Технология обмена данными. Если вы передаете много информации туда и обратно, вы, вероятно, захотите инкапсулировать эти данные в логическом формате. В идеале этот формат описывал бы данные и позволял вашим приложениям легко читать / обрабатывать их в соответствии со стандартом. Здесь в игру вступают XML и JSON.

Я не могу порекомендовать вам хорошую книгу, чтобы научиться этому, но я чувствую, что коллективных ответов на ваш вопрос здесь должно быть более чем достаточно, чтобы вы начали.

В конечном итоге вам нужно определить, какие технологии вам нужны, а затем выбрать наиболее подходящую для работы. Не создавайте приложение с использованием Ruby on Rails только потому, что это то, что использует Twitter, а выбирайте его, потому что он дает вам некоторое преимущество перед другими вариантами.

0
ответ дан 13 December 2019 в 19:22
поделиться

Scribe, thrift, casandra, Unix/Linux, shell/perl/python scripting, PostgreSQL, MongoDB, нереляционные NoSQL хранилища данных, JVM, nginx

Те, которые я бы поискал в Wikipedia для получения краткого обзора. Facebook написан на PHP/MySQL. Есть несколько книг на тему создания сайтов социальных сетей, и некоторые книги получили достойные отзывы на Amazon.com, однако я сам не читал ни одной из них.

На вашем месте я бы начал с PHP/MySQL и сел писать простую социальную сеть. Разбейте проект на компоненты и задачи и погуглите для каждой проблемы, с которой вы столкнетесь, например, сессии, структура базы данных, безопасность, структура друзей, обработка запросов POST и GET.

Вы многому научитесь и получите общую картину. Как только вы увидите общую картину, вы сможете еще раз взглянуть на различные доступные технологии, а затем решить, какой компонент вы могли бы разработать лучше с помощью других инструментов. Я лично не думаю, что слишком глубокое изучение доступных технологий полезно для тех, кто все еще находится на начальном этапе. Начните делать, учитесь на практике, и тогда ваши вопросы станут гораздо более конкретными, а многие вещи обретут смысл.

1
ответ дан 13 December 2019 в 19:22
поделиться

На мой взгляд, все дело в выборе правильного инструмента для работы. Технологий так много, что невозможно изучить их все. Просто выберите подмножество, которое подойдет вам.

2
ответ дан 13 December 2019 в 19:22
поделиться

Лучше всего начать с создания небольших простых сайтов, а по мере того, как вы будете сталкиваться с проблемами, которые вам нужно решить, изучайте инструменты, необходимые для решения этих проблем.

Если вы сразу возьметесь за все области, это будет слишком сложно, и вы ничего не добьетесь.

Для общего обзора того, что делает каждая из технологий, Википедия дает хороший обзор большинства технологий.

Если вас интересует содержание баз данных, а похоже, что так оно и есть, хорошим началом будет чтение о нормализации.

2
ответ дан 13 December 2019 в 19:22
поделиться

Проблема в том, что вы смотрите на более мелкие специализированные продукты, а не на более крупные и зрелые технологии. Википедия действительно даст вам достойный обзор большинства средних и крупных проектов.

Cassandra, Hadoop, Mongo и NoSQL прекрасны ... но это специальные инструменты. SQL - это решение общего назначения, которое работает для 99% сайтов в сети.

Unix / Linux не является специализированным инструментом; вы можете попробовать зайти на веб-сайт Ubuntu и установить Linux, и просто использовать его изо дня в день, как вы бы использовали Windows. Когда вам нужно придумать что-то новое, например, настроить веб-сервер, сделайте это в системе Linux и в системе Windows, и в конечном итоге вы чертовски хорошо изучите Linux.

Что касается написания сценариев, О'Рейли написал отличную серию книг по Bash, Perl и Python.

JVM - это виртуальная машина Java, которая является ядром запуска кода Java. На веб-сайте Sun есть отличный набор руководств по изучению Java.

Может быть намного проще выбрать проект (или три), который вы хотели бы изучить, и изучить некоторые из них на практике. Я бы, наверное, посоветовал изучить SQL, прежде чем изучать новые альтернативы; это позволяет вам изучить остальную часть системы, поскольку SQL довольно прост. Когда у вас все получится, попробуйте на этом этапе заменить решение NoSQL.

1
ответ дан 13 December 2019 в 19:22
поделиться

http://highscalability.com/

Это один из лучших сайтов. Там есть несколько тематических исследований, описывающих, что и почему используют многие веб-сайты, и указатели на дополнительные ссылки. Я бы также посмотрел выступления на конференции Google Scalability Conference 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

5
ответ дан 13 December 2019 в 19:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: