To your credit, you have ambitious goals!
To do something like eBay, you would need a working knowledge of:
0. Basic web design concepts and standards
1.
HTML &
CSS for the actual web page construction
2. A scripting language, such as
Python,
PHP, or
Java to tie it all together, and provide various features and interactive options.
3. An SQL-type (i.e. Structured Query Language) database, such as
MySQL or
PostgreSQL4. A good overall understanding of how a web server such as
Apache,
lighthttpd or
IIS works on a basic technical level.
--------------
I'd suggest a two-prong approach to start off.
First, get a basic programming editor (I happen to like the free
Notepad++) and a book on HTML. Once you have that, start getting familiar with HTML syntax and coding by creating your first basic webpages.
Once you have a grip on how to build a basic webpage, start to learn about CSS (i.e. Cascading Style Sheets). You don't have to know HTML inside out before you start learning CSS. In some ways, it's better to study them both simultaneously once you can code a basic webpage.
After you're comfortable with building HTML/CSS webpages, you can start taking a look at the various scripting languages. I'd suggest
Python as the most beginner oriented language with the cleanest syntax. But not everybody would agree with my opinion so also take a look at
PHP,
Java,
Ruby, and possibly
Perl.
By the time you reach this stage you'll have a pretty good idea of where you want to go and what you need to do to get there. At this point you'll be setting up your own test webserver and really starting to do serious web development.
Suggestions:
Start small and slowly. If you try to learn about too much all at once you'll just wind up getting frustrated. The same goes for if you hop around, trying this and that, but not really mastering anything.
Learn HTML & CSS. Then pick a
single scripting language and get good at it before you start branching out. There are a ton of languages, development tools, and frameworks for web development. It's easy to get lost in all that's available unless you stay focused.
Hit the basics hard. Many times, the things that seem the most obscure and difficult to grasp turn out to be incredibly powerful and useful once you finally nail them down. Make sure you nail them every chance you get.
Don't fall in love with anything. Programming languages come and go. How we use the web is constantly evolving. Details will vary, but the basics will always remain the same. Once you learn how one markup language (i.e HTML) works, you have an understanding of how they all work. Once you learn one scripting language, you can apply that knowledge to mastering other languages more quickly and efficiently.
And finally, when it comes to learning technical things, the single most important ingredient is a large can of
butt-glue. The only way it works is if you put the time into it. So "apply butt to seat" and do it if you're serious. This was a lesson I learned early in my computer career. There is no substitute for putting in the time.
Hope this was helpful.