Beruflich Dokumente
Kultur Dokumente
Object 2
1
handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change
the way that you write JavaScript.
JavaScript frameworks like Script.aculo.us, Prototype or Mootools are very popular. In fact,
there are numerous attempts developing and maintaining a good JavaScript framework that can
be used with ease by those non familiar with this client side scripting language. What my point is
not that the frameworks mentioned above are not good enough; there are lots of people who
swear for them, but my point is that jQuery is something different!
1. No problem if an elements doesn’t exists (needless to check null objects)
2. Incredibly good CSS selector integration
3. Using chains of actions
4. Model-View-Controller + JavaScript architecture (great decoupling, benefits of cohesion)
5. Great community behind: lots of great plugins and helpful support
6. Simple, clean development
7. AJAX just performs great!
8. Tons of tutorials online
9. Lightweight (less than 20 KB)
10.CSS 3 compliant and
jQuery is basically a JavaScript library and it was designed to make the client-side scripting of
HTML more simple. The person responsible for its birth is John Resig at BarCamp NYC in
2006.
It is an open-source software and dual-licensed by MIT License and the GNU General Public License.
Version 2. jQuery has received an enormous success and it is used by 31% of the 10,000 most visited
websites over internet. This makes jQuery the most popular JavaScript library being used today. We
have been sharing jQuery related posts for some time now, so I came up with a post that just defines
this new fashion of developing websites.
Before we go further remember to Subscribe to our Free Rss Feed or Follow us on
Twitter to stay updated with our postings
Introduction
The best thing I like in the syntax is that document navigation is quite easy, the code is also very
compact (their slogan is Write Less, Do More); yet it works great for:
• Creating Animations
• Handling Events
• Selecting DOM Elements
• Developing Ajax Programs
jQuery is excellent for developing dynamic web pages and page elements. It allows the developers to
create plugins that would work on top of the JavaScript library. These capabilities enable the designers
to make abstractions for low-level interactions and animations, and also to create high-level widgets.
Perks
Simplicity
It can be added to any HTML code in using this simple method.
view source
Object 3
print?
1 <head>
2 <script type="text/javascript" src="jquery.js"></script>
3
4 <script type="text/javascript">
5 .....
6 </script>
7 </head>
You can download jQuery from jQuery Download Page
Implementation
There are two basic ways to use jQuery.
1. via the $ function, which can be called the default work method for the jQuery object. $
functions, often called commands, are patchable; so each of them returns a jQuery object.
2. via $.-prefixed functions. These are utility functions which do not work on the jQuery object
per se.
Typically, access and manipulation with multiple DOM nodes begins with the $ function being called
with a CSS selector string, which results in a jQuery object referencing matching elements in the
HTML page.
Plugins
jQuery has got a very well organized architecture. Developers can use it to create their own add-on
code to take its functionality to a whole new level. There are millions of jQuery plugins already
available on internet for free, including Ajax helpers, data grids, XML tools, drag and drop, cookie
handlers…. and the list goes on and on. Probably the best place to download jQuery Plugins is jQuery’s
homepage
Special Effects
Another fancy thing about jQuery is that can create special effects with very little code. Here’s an
example of an onClick Fade Out function:
view source
Object 4
print?
01 <pre><code><!DOCTYPE html>
02 <html>
03 <head>
04 <style>
05 p { font-size:150%; cursor:pointer; }
06 </style>
07 <script src="http://code.jquery.com/jquery-1.4.4.js"></script>
08 </head>
09 <body>
10 <p>
11 If you click on this paragraph
12 you'll see it just fade away.
13 </p>
14 <script>
15 $("p").click(function () {
16 $("p").fadeOut("slow");
17 });
18 </script>
19
20 </body>
21 </html></code></pre>
Now, when you will click this link, it will slowly disappear. You can check this demo and some more
good example tutorials here.
Drawbacks
Quite honestly, there are not many drawbacks, in fact, there are none. It’s just that sometimes one tool
is not suitable in a situation. It’s just a case of appropriateness. There still are a few things that you
should know before you decide to use jQuery on your website.
Use of Selector
jQuery always crosses through all the elements each time you use selectors. This makes the application
dull.
Solution: Cache your selections with some variable(s) if you are using the same selection at multiple
places. And if you are not selecting an element more than once, just don’t cache selection by assigning
it to some variable.
Browser Display
There have been many cases where the code worked fine in one browser, but some properties changed
in the other. Actually this is not a jQuery specific problem, this happens with many JavaScript based
applications, so it is critical that you don’t just test your page in one or two browsers, but in all of them
(at least the four major ones, IE-Firefox-Chrome-Opera).
Conclusion
Simply put, jQuery is great. You can easily perform tasks such as:
• drop down menus
• drag and drop elements
• animations and form validation
All of these with very little coding. Since it synchronizes well with PHP, .Net and most of the other
languages, it is a pretty handy resource.
DRAWBACKS
A big, big drawback is its abstraction hides the "ugly parts" of JavaScript, therefore making
learning JS a lot more difficult. This is a problem that plagues the JS community. What
ends up happening is you have designers/developers that can do simple rollovers and
slideshows, but run into big problems once real DOM manipulation comes into play.
5 down
vote
Another drawback is not just size, but how amorphous jQuery really is. With each new
accepted
browser (most notably Internet Explorer), a fair amount of work is being done behind the
scenes to expand the codebase. This was most evident with IE8, in which a fair amount of
jQuery had to be re-written to at least comply with the newest version of IE. The result is
you have a giant collection of methods and properties (over 200KB since about jQuery
1.5). Even with a wide array of options to compress/cache the files, you're still going to
experience a decent amount of load time (a few seconds on a good connection).
One of those options is through Google's Content Distribution Network (CDN). It can
cache jQuery for you and lead to quicker load times. However, you're now relying on two
sources to operate flawlessly. Recently, Google flubbed one of the new (>= 1.5) versions
of jQuery. This led to some incompatibilities for a few hours and posed problems for
jQueryUI and various plugins. As I said earlier, you're relying on two sources to always
work. Saving your own localized version can mitigate this risk.
I think given proper planning and usage, it can be a boon to most projects. However, I do
emphasize that proper planning needs to be used. First ask yourself (or your team) if flashy
fades and pseudo-tweens are really required for your project. These are the types of things
that should be added last in order to maximize efficiency.
Those are the problems I have on my mind right now. Hopefully, this will be of some aid
to you in the future.
link|edit|flag
Matt McDonald
1,3321213
Haha this reminds me of a talk we had earlier @Matt McDonald +1 :) – Loktar Mar 18 at
3:30
Care to explain what "real DOM manipulation" would be... in terms of what you can do
that would be better accomplished without jQuery?? – philwinkle Mar 18 at 3:31
@philwinkle, it was more of an observation related to DOM theory. If someone lacks the
understanding of the DOM, manipulation can become troublesome. No library can give
you the knowledge to know how to use the DOM. That has to be learned through time
and effort. – Matt McDonald Mar 18 at 3:34
1
One technique I've seen is to serve your own copy of jQuery, and put a timestamp in the
filename (e.g. "jQuery_20110317.min.js") and tell your web server to set the cache
expiration time for that file to a year. Then your users only load it once per year at most,
unless you post a new version and change the filename. The downside is you have to
change the filename in every <script> tag it's used in. – Mike DeSimone Mar 18 at 3:43
1
"A big, big drawback is its abstraction hides the "ugly parts" of JavaScript" <-- which is
also the major benefit for using it. – DA Mar 18 at 3:46
show 1 more comment
I think it depends on the level of JavaScript expertise we're talking about. If we're talking
from the beginner through intermediate perspective, the drawback is that it can be a crutch
preventing developers from honing their native JS skills (on the other hand, it can also be a
bridge INTO JS development - it certainly has been for me).
Once you become interested in working more in pure JS, the main drawback is that it is
DOM-centric. As your programming becomes more data-focused, the bias towards the
DOM can sometimes get in the way.
It can also get a bit tricky to keep all your code organized as your code gets larger.
up vote 1
down
I think what I would most like to see going forward is some sort of dependency management
vote
- eg, let my scripts auto-load, or not, any needed plugins and components.
Having said all that, I am definitely a fan of jQuery and it is my JS library of choice. I find
the strengths far outweigh the weaknesses, and that it is improving all the time.
up vote 1 Compared to what? In what context? In and of itself, it's hard to say it has any drawbacks.
down
vote But in certain situations, there are some drawbacks:
• it's big. The jQuery library is a hit on your server and something the end-user has to
download. Minimizing, CDN'ing, Caching, etc all help minimize it, but if you're are
looking for super-light-weight JS solution, writing it from scratch will likely get you
a small file size.
• a lot of the DOM CSS manipulation it does isn't necessarily optimized from an
accessibility POV. It's getting better...especially all the ARIA stuff the filament
group is doing
• not everyone is a fan of jQuery UI. It's good, for sure. But also a bit heavy handed,
IMHO.
• it can be a bit confusing if you don't understand some of the basics of JS. It's good to
understand what jQuery is doing behind the scenes at times.
But, honestly, you have to dig to really complain about it. IMHO, jQuery + StackOverflow
has made Web Development fun again. ;o)
DA
3,574619
Almost nothing, jQuery now matured and have a complete set of javascript functionality
with cross browser support. Out from the jQuery core scope, there are a lots of plugin can be
use to extend the feature. If you afraid on trying the new thing like jQuery, simply try it first.
Sure you will not going back to native javascript programming.
up vote
0 down
vote answered Mar 18 at 3:18
link|edit|flag
CallMeLaNN
457111
See this bugs.jquery.com/roadmap for their to do list. – CallMeLaNN Mar 18 at 3:19
1
That's a pretty naive answer with all things considered. It's not the magical unicorn that
does everything and anything for you. – Matt McDonald Mar 18 at 3:20
yes but based on much projects I experienced in real world, jQuery does not give any
drawback rather than making development fast. – CallMeLaNN Mar 18 at 3:25
1
Also don't get me wrong, I love jQuery ... I'm just showing you the other side of the story
up vote 0
:)
down vote
answered Mar 18 at 3:25
link|edit|flag
Mike Lewis
9,8491419
For me, any drawbacks with jQuery would not be about what features it's missing, but what
unnecessary features it includes.
up vote
0 down • jQuery seems to include so many different ways of doing the same thing. Even within
vote the same method, there are often different ways to order the arguments.
It means that the documentation seems needlessly complex in places and it's hard to
remember every different way of using some method. It can make it harder to
understand other people's code if they use different ways of doing the same thing.
• The codebase just keeps growing. Less than 30Kb gzipped and minified is still
impressive, but it's reaching the size where it's larger than any CSS file or header
image I ever had to load. It takes a "monolithic kernel" sort of approach to a Javascript
library, which is probably a large factor in its success - it includes everything you'd
want in one place rather than making it more modular.
It's not a huge complaint. jQuery is very powerful and robust. But I brought this up because
the original question seems to assume that jQuery could only be improved by adding more
features to it. I disagree - jQuery has reached a maturity level where lack of features is no
longer one of its major drawbacks.
link|edit|flag
thomasrutter
11.6k2145
I never thought of any unnecessary features already present in jQuery, thanks for pointing
me in that direction. – Rachel Mar 18 at 3:33
There are never different ways to order arguments, some of them are just optional and you
will often see options hashes. IMO that is the only sane way of doing things, the alternative
tends to be fairly unreadable code, even if the documentation becomes more straight
forward. – Matt Briggs Mar 18 at 3:47
I struggled with my choice of words I think. When I said different ways to order arguments
I meant that many methods could be given different combinations of arguments to achieve
the same thing, or sometimes even adding arguments would distinctly change behaviour.
Such as, including an "options" object vs listing the same options as separate arguments, or
adding an extra argument to make the method change from a getter to a setter.
– thomasrutter Mar 21 at 6:22
If the question is "Should I use a library for javascript?" The answer is an unequivocal yes.
The worst thing about javascript is the differing implementations, and using a js library will
dramatically mitigate that problem. There hasn't been much professional javascript work done
without using some sort of library since around 2005 or so when prototype hit.
If the question is more "What are the relative strengths of JQuery?", here are some points
up vote
• It is only a dom abstraction library. If you need to do more then small animations or
0 down
style changes, jquery by itself is not enough.
vote
• That being said, that is all most people want to do, which is a big part of why it is so
popular. The problem with extreme popularity is people who are not serious javascript
developers tend to think javascript == jquery, which it really isn't.
• Basically, if you are adding some trivial behavior to a page, jquery is fantastic. If you
are building a "RIA" webapp, you want to look more at dojo (or even sproutcore,
depending on how far you want to go). If you are somewhere in the middle, MooTool
will do everything you need.
• If you are the type of person that would rather build their own toolset rather then go
for a "Everything and the kitchen sink" type framework, jquery + underscore +
backbone will take you pretty far.
link|edit|flag
Matt Briggs
11.4k11039
It's more than 'just' a dom abstraction library for 'small trivial behaviors'. Certainly Dojo or
ExtJS or other libraries may be better suited for a particular project, but jQuery is much
more than just making animations. – DA Mar 18 at 3:47
@DA: Ok, it is dom library with a few utility methods thrown in, where it is comprehensive
and really shines is in dom manipulation. Ext is a a full GUI toolkit, but it isn't a
comprehensive library either. Things like Dojo and sproutcore are full platforms that cover
everything you need to write a javascript application. JQuery is useful for sites, or for
webapps where the majority of the work is done server side. – Matt Briggs Mar 18 at 3:51
1
rebecca murphy did a great job talking about this here blog.rebeccamurphey.com/on-jquery-
large-applications (although backbone didnt exist when she wrote it). Personally, I prefer a
"hodgepodge of tools" when I can get away with it rather then massive frameworks. But
even though I would rather tie all the pieces together that I need, I think it would be a lie to
say that it is in any way more productive to wire all that stuff together then use something
appropriate for the problem in the first place. – Matt Briggs Mar 18 at 3:56
That's a good blog post. And I agree. That said, I'd say jQuery, in the enterprise, 75% of the
time, is going to be an improvement over what is currently there (often a mish-mash of
antiquated active-x controls, bloated paid-for JS components, way too much being handled
server-side, Flash, browser-centric code, etc.). I've been a part of projects where Dojo was
spec'd before realizing a) all they really needed was some nice UI improvements and b) they
couldn't find anyone that had used it. ;) – DA Mar 18 at 4:07
PHP
An icon on the taskbar tray displays the status of WAMP, letting you know if; a) WAMP is running but
no services are opened (the icon will appear red), b) WAMP is running and one service is opened (the
icon will appear yellow) or c) WAMP is running with all services opened (the icon will appear white).
Apache and MySQL are considered to be services (they can be disabled by left-clicking on the taskbar
icon, guiding your cursor over the service you wish to disable and selecting "Stop Service").
The files/web pages that are hosted on your WAMP server can be accessed by typing http:/localhost or
http://127.0.0.1/ in the address bar of your web browser. WAMP must be running in order to access
either of the above addresses.
WA
Read more: http://wiki.answers.com/Q/What_is_wamp_server#ixzz1JspUh6qQ
Do I need a website? (-)
A website is not a luxury in today’s competitive markets. It is simply a must. Without a good
website your business will always be a step behind your competition.
1. What is the difference between a freelancer & a reputable web development company? (-)
A freelancer is a self-employed web designer or developer who works independently and
directly with their clients, while a reputable design & Development firm is an established
company that provides complete solutions for clients. The main advantage of using a firm is that
the range of services they offer is much greater and their expertise in each of these services is
usually a lot higher due to the fact that they have a team of people behind them. Furthermore, in
dealing with a firm, you have the peace of mind knowing that your developers will complete
their assigned tasks on time and within the budget and will be there tomorrow when you need to
take your web projects to the next level. One main problem a lot of clients have faced in the past
when dealing with freelancers is the lack of professionalism.
2. What constitute a professional web layout? (-)
A professional web layout is not simply a layout that looks good. It also has to use proper color
schemes, be functional and achieve its task of generating income or increasing the awareness of
your products or services well.
3. Is hosting and domain registration included in web development? (-)
Domain registration and web hosting is NOT commonly included in the web development
process. However a good development firm will be there to consult you on what domains would
be better and guide you through the process in order to achieve the maximum return on the
investment you have made in purchasing a website.
4. What is the difference between Dedicated (Private) hosting vs. Shared Hosting? (-)
Dedicated hosting is when your site is the only site on a given physical server. You may either
use a third-party hosting company or opt to host your site on a server on site (not-
recommended). Shared hosting is when your site is hosted within a shared environment. In this
case, multiple websites will be hosted by the provider on a given physical server. The shared
solution is much cheaper than the dedicated solution. However the drawback of the shared
environment is that you are compromising on performance and security.
5. What are LAMP Servers? (-)
LAMP is an acronym for the Linux (operating system), Apache (web server), MySQL Database
& Perl, PHP, or Python (scripting languages) used in combination to create a server. These
softwares were not written exclusively to be used together, but their combined solution is very
popular in todays servers. The main advantage of a LAMP server is that it uses all open source
technologies that are free of charge. At the same time the LAMP is perfectly suitable for use in
small businesses all the way up to large enterprise solutions.
6. What are Microsoft Servers? (-)
Microsoft web server is one that is setup on the Microsoft server 2003 operating system.
Microsoft products, being proprietary software, are quite costly, and many clients prefer to
implement the LAMP server. For more information on Microsoft Servers please refer to the
Microsoft website.
7. Where can I find the right hosting paDo I need a website? (-)
A website is not a luxury in today’s competitive markets. It is simply a must. Without a good
website your business will always be a step behind your competition.
1. What is the difference between a freelancer & a reputable web development company? (-)
A freelancer is a self-employed web designer or developer who works independently and
directly with their clients, while a reputable design & Development firm is an established
company that provides complete solutions for clients. The main advantage of using a firm is that
the range of services they offer is much greater and their expertise in each of these services is
usually a lot higher due to the fact that they have a team of people behind them. Furthermore, in
dealing with a firm, you have the peace of mind knowing that your developers will complete
their assigned tasks on time and within the budget and will be there tomorrow when you need to
take your web projects to the next level. One main problem a lot of clients have faced in the past
when dealing with freelancers is the lack of professionalism.
2. What constitute a professional web layout? (-)
A professional web layout is not simply a layout that looks good. It also has to use proper color
schemes, be functional and achieve its task of generating income or increasing the awareness of
your products or services well.
3. Is hosting and domain registration included in web development? (-)
Domain registration and web hosting is NOT commonly included in the web development
process. However a good development firm will be there to consult you on what domains would
be better and guide you through the process in order to achieve the maximum return on the
investment you have made in purchasing a website.
4. What is the difference between Dedicated (Private) hosting vs. Shared Hosting? (-)
Dedicated hosting is when your site is the only site on a given physical server. You may either
use a third-party hosting company or opt to host your site on a server on site (not-
recommended). Shared hosting is when your site is hosted within a shared environment. In this
case, multiple websites will be hosted by the provider on a given physical server. The shared
solution is much cheaper than the dedicated solution. However the drawback of the shared
environment is that you are compromising on performance and security.
5. What are LAMP Servers? (-)
LAMP is an acronym for the Linux (operating system), Apache (web server), MySQL Database
& Perl, PHP, or Python (scripting languages) used in combination to create a server. These
softwares were not written exclusively to be used together, but their combined solution is very
popular in todays servers. The main advantage of a LAMP server is that it uses all open source
technologies that are free of charge. At the same time the LAMP is perfectly suitable for use in
small businesses all the way up to large enterprise solutions.
6. What are Microsoft Servers? (-)
Microsoft web server is one that is setup on the Microsoft server 2003 operating system.
Microsoft products, being proprietary software, are quite costly, and many clients prefer to
implement the LAMP server. For more information on Microsoft Servers please refer to the
Microsoft website.
7. Where can I find the right hosting package for me? (-)
Hosting is an interesting issue that needs some serious thought put into it. The most important
advice you can get in terms of hosting will come from your web developer. Once you have a
clear idea of the functions of your website and the type of bandwidth requirements you will
have, you can decide whether to opt for a shared or dedicated solution. Once this decision is
made you must either select a windows or Linux (LAMP) server. This decision has to be done
before your site is developed. Your website will be built according to the hosting environment
that you have selected. Since Microsoft is proprietary software while LAMP is open source, you
will find that LAMP solutions are generally much cheaper than the Microsoft solutions.
8. What is FLASH and how does it work? (-)
Flash, in a nutshell, is the common term for Adobe Flash formerly known as Macromedia Flash.
This refers to both the player (free to download) and the authoring software used to create the
high impact multimedia animations that are viewed with this player. For more information
please read the full resource on flash.
9. How much will this cost and what guarantees do I get? (-)
The key to building an effective website within budget restrictions is good planning and a great
developer. We can assist you from the beginning of your planning process to the completion of
your website in order to maintain solutions that strictly adhere to your budget restrictions and to
avoid any surprises that could come up in the future. We also provide our clients with a
satisfaction guarantee giving you peace of mind. Lastly, we offer our clients an initial free
consultation and sample design mockup free of charge with no obligation. Therefore, if you are
prepared to take your business to the next level, and improve your online marketing, contact us
today, and we will be happy to be of service.
8.
ckage for me? (-)
Hosting is an interesting issue that needs some serious thought put into it. The most important
advice you can get in terms of hosting will come from your web developer. Once you have a
clear idea of the functions of your website and the type of bandwidth requirements you will
have, you can decide whether to opt for a shared or dedicated solution. Once this decision is
made you must either select a windows or Linux (LAMP) server. This decision has to be done
before your site is developed. Your website will be built according to the hosting environment
that you have selected. Since Microsoft is proprietary software while LAMP is open source, you
will find that LAMP solutions are generally much cheaper than the Microsoft solutions.
9. What is FLASH and how does it work? (-)
Flash, in a nutshell, is the common term for Adobe Flash formerly known as Macromedia Flash.
This refers to both the player (free to download) and the authoring software used to create the
high impact multimedia animations that are viewed with this player. For more information
please read the full resource on flash.
10.How much will this cost and what guarantees do I get? (-)
The key to building an effective website within budget restrictions is good planning and a great
developer. We can assist you from the beginning of your planning process to the completion of
your website in order to maintain solutions that strictly adhere to your budget restrictions and to
avoid any surprises that could come up in the future. We also provide our clients with a
satisfaction guarantee giving you peace of mind. Lastly, we offer our clients an initial free
consultation and sample design mockup free of charge with no obligation. Therefore, if you are
prepared to take your business to the next level, and improve your online marketing, contact us
today, and we will be happy to be of service.
<!--
google_ad_client = "pub-0048225869877719";
google_ad_slot = "3851696716";
google_ad_width = 728;
google_ad_height = 90;
//-->Building a LAMP Server
by Bruce Timberlake
This document will walk you through the installation of what is known as a "LAMP" system: Linux,
Apache, MySQL and PHP. Depending on who you talk to, the P also stands for Perl or Python, but
in general, it is assumed to be PHP. I run CentOS on my servers; these directions were written for
CentOS/Red Hat/Fedora. I have had requests for SuSE (another RPM-based distribution) as well as
Debian-based systems, so I will work on variants of these directions for those distributions in the future
(donations might help speed that process up!). The main difference between the distributions is in the
paths to the startup scripts. Red Hat systems used /etc/rc.d/init.d and SuSE uses
/etc/init.d.
I have my first translation! Belorussian provided by Ucallweconn -- thank you very much!
If you need an SSL-enabled server, I have a LAMP with SSL howto as well.
I designed this document so you can just copy/paste each line or block of commands into your shell
session and it will "just work" for you. This avoids tedious typing, and the inevitable typos or missed
steps that result. These commands work properly via copy/paste. If you are having problems and
you are not using copy/paste, please re-check your typing before sending me an email saying "It
doesn't work."
Text in a "command" box like this one is a literal Linux commandline, and should be typed or pasted
exactly as written.
One note: many many people have followed these directions as written, and have not had any
problems.
If you are having a problem, chances are it's something you are doing (or not doing), something
different
about your computer, etc.
chown -R root.root *
make clean
./configure \
--prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--disable-maintainer-mode \
--with-mysqld-user=mysql \
--with-unix-socket-path=/tmp/mysql.sock \
--without-comment \
--without-debug \
--without-bench
18-Jul-2005: If you are installing MySQL 4.0.x on Fedora Core 4, there is a problem with
LinuxThreads that prevents MySQL from compiling properly. Installing on Fedora Core 3 works fine
though. Thanks to Kevin Spencer for bringing this to my attention. There is a workaround listed at
http://bugs.mysql.com/bug.php?id=9497. Thanks to Collin Campbell for that link. Another solution can
be found at http://bugs.mysql.com/bug.php?id=2173. Thanks to Kaloyan Raev for that one.
Now comes the long part, where the source code is actually compiled and then installed. Plan to get
some coffee or take a break while this step runs. It could be 10-15 minutes or more, depending on your
system's free memory, load average, etc.
make && make install
Configure MySQL
MySQL is "installed" but we have a few more steps until it's actually "done" and ready to start. First
run the script which actually sets up MySQL's internal database (named, oddly enough, mysql).
./scripts/mysql_install_db
Then we want to set the proper ownership for the MySQL directories and data files, so that only
MySQL (and root) can do anything with them.
chown -R root:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data
Copy the default configuration file for the expected size of the database (small, medium, large, huge)
cp support-files/my-medium.cnf /etc/my.cnf
chown root:sys /etc/my.cnf
chmod 644 /etc/my.cnf
If you get an error message about the data directory not existing, etc., something went wrong in the
mysql_install_db step above. Go back and review that; make sure you didn't get some sort of
error message when you ran it, etc.
Now we have to tell the system where to find some of the dynamic libraries that MySQL will need to
run. We use dynamic libraries instead of static to keep the memory usage of the MySQL program itself
to a minimum.
echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
ldconfig
Now create a startup script, which enables MySQL auto-start each time your server is restarted.
cp ./support-files/mysql.server /etc/rc.d/init.d/mysql
chmod +x /etc/rc.d/init.d/mysql
/sbin/chkconfig --level 3 mysql on
Then set up symlinks for all the MySQL binaries, so they can be run from anyplace without having to
include/specify long paths, etc.
cd /usr/local/mysql/bin
for file in *; do ln -s /usr/local/mysql/bin/$file /usr/bin/$file; done
MySQL Security Issues
First, we will assume that only applications on the same server will be allowed to access the database
(i.e., not a program running on a physically separate server). So we'll tell MySQL not to even listen on
port 3306 for TCP connections like it does by default.
Edit /etc/my.cnf and uncomment the
skip-networking
line (delete the leading #).
For more security info, check out this MySQL security tutorial.
Start MySQL
First, test the linked copy of the startup script in the normal server runlevel start directory, to make sure
the symlink was properly set up:
cd ~
/etc/rc.d/rc3.d/S90mysql start
If you ever want to manually start or stop the MySQL server, use these commands:
/etc/rc.d/init.d/mysql start
/etc/rc.d/init.d/mysql stop
Let's "test" the install to see what version of MySQL we're running now:
mysqladmin version
It should answer back with the version we've just installed...
Now we'll set a password for the MySQL root user (note that the MySQL root user is not the same
as the system root user, and definitely should not have the same password as the system root
user!).
mysqladmin -u root password new-password
(obviously, insert your own password in the above command instead of the "new-password" string!)
You're done! MySQL is now installed and running on your server. It is highly recommended that you
read about MySQL security and lock down your server as much as possible. The MySQL site has info
at http://www.mysql.com/doc/en/Privilege_system.html.
Test MySQL
To run a quick test, use the command line program mysql:
mysql -u root -p
and enter your new root user password when prompted. You will then see the MySQL prompt:
mysql>
First, while we're in here, we'll take care of another security issue and delete the sample database test
and all default accounts except for the MySQL root user. Enter each of these lines at the mysql>
prompt:
drop database test;
use mysql;
delete from db;
delete from user where not (host="localhost" and user="root");
flush privileges;
As another security measure, I like to change the MySQL administrator account name from root to
something harder to guess. This will make it that much harder for someone who gains shell access to
your server to take control of MySQL.
MAKE SURE YOU REMEMBER THIS NEW NAME, AND USE IT WHEREVER
YOU SEE "root" IN OTHER DIRECTIONS, WEBSITES, ETC.
mysql>
Delete the database:
drop database foo;
You should see the result:
Query OK, 0 rows affected (0.06 sec)
mysql>
To exit from mysql enter \q:
\q
Build and Install Apache (with DSO support)
The advantage to building Apache with support for dynamically loaded modules is that in the future,
you can add functionality to your webserver by just compiling and installing modules, and restarting
the webserver. If the features were compiled into Apache, you would need to rebuild Apache from
scratch every time you wanted to add or update a module (like PHP). Your Apache binary is also
smaller, which means more efficient memory usage.
The downside to dynamic modules is a slight performance hit compared to having the modules
compiled in.
cd /usr/local/src/apache_1.3.37
make clean
./configure \
--prefix=/usr/local/apache \
--enable-shared=max \
--enable-module=rewrite \
--enable-module=so
./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--disable-debug \
--enable-ftp \
--enable-inline-optimization \
--enable-magic-quotes \
--enable-mbstring \
--enable-mm=shared \
--enable-safe-mode \
--enable-track-vars \
--enable-trans-sid \
--enable-wddx=shared \
--enable-xml \
--with-dom \
--with-gd \
--with-gettext \
--with-mysql=/usr/local/mysql \
--with-regex=system \
--with-xml \
--with-zlib-dir=/usr/lib
cp php.ini-dist /usr/local/lib/php.ini
I like to keep my config files all together in /etc. I set up a symbolic link like this:
ln -s /usr/local/lib/php.ini /etc/php.ini
Then I can just open /etc/php.ini in my editor to make changes.
Recommended reading on securing your PHP installation is this article at SecurityFocus.com.
Edit the Apache Configuration File (httpd.conf)
I like to keep all my configuration files together in /etc, so I set up a symbolic link from the actual
location to /etc:
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf
Now open /etc/httpd.conf in your favorite text editor, and set all the basic Apache options in
accordance with the official Apache instructions (beyond the scope of this HOWTO).
Also recommended is the article on securing Apache.
To ensure your PHP files are properly interpreted, and not just downloaded as text files, remove the #
at the beginning of the lines which read:
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
If the AddType lines above don't exist, manually enter them (without the leading # of course) after the
line
AddType application/x-tar .tgz
or anyplace within the <IfModule mod_mime.c> section of httpd.conf.
If you wish to use other/additional extensions/filetypes for your PHP scripts instead of just .php, add
them to the AddType directive:
AddType application/x-httpd-php .php .foo
AddType application/x-httpd-php-source .phps .phtmls
An example: if you wanted every single HTML page to be parsed and processed like a PHP script, just
add .htm and .html:
AddType application/x-httpd-php .php .htm .html
There will be a bit of a performance loss if every single HTML page is being checked for PHP code
even if it doesn't contain any. But if you want to use PHP but be "stealthy" about it, you can use this
trick.
Add index.php to the list of valid Directory Index files so that your "default page" in a directory can
be named index.php.
<IfModule mod_dir.c>
DirectoryIndex index.php index.htm index.html
</IfModule>
You can add anything else you want here too. If you want foobar.baz to be a valid directory index
page, just add the .baz filetype to the AddType line, and add foobar.baz to the
DirectoryIndex line.
Start Apache
We want to set Apache up with a normal start/stop script in /etc/rc.d/init.d so it can be auto-
started and controlled like other system daemons. Set up a symbolic link for the apachectl utility
(installed automatically as part of Apache):
ln -s /usr/local/apache/bin/apachectl /etc/rc.d/init.d/apache
Then set up auto-start for runlevel 3 (where the server will go by default):
ln -s /etc/rc.d/init.d/apache /etc/rc.d/rc3.d/S90apache
Then start the daemon:
/etc/rc.d/init.d/apache start
You can check that it's running properly by doing:
ps -ef
and look for the httpd processes.
If you find this page useful, please consider making a secure donation:
Cascading Style Sheets or CSS are an important way to control how your Web pages look. CSS can
control the fonts, text, colors, backgrounds, margins, and layout. But it can be very difficult to learn
CSS, and some people would rather not learn it. There are some very good reasons to learn CSS so that
you can control your Web pages look.
Modify your site designs to look how you want them to look
It's easy to take a free Web template and build a website. But these templates can be very plain or
common. So your website will look like every other site on the internet. By learning CSS you can
modify pre-built templates so that they have your colors and styles. Thus you'll have a customized
website without a lot of effort.
zSB(3,3)Sponsored Links
Drop-Down MenusCreate cross-browser & feature-rich menus-No programming skills needed!
www.likno.com
Reunite With Your FriendsFind All Your Old Friends & Get In Touch Instantly. Join Orkut Today!
www.google.com/Orkut
Are You a Designer ?Get an Opportunity to Work On Creative Designs. Apply Now!
www.ivistasolutions.com
Save money
There are a lot of Web designers who will build your website or your CSS for you. But paying
someone else to maintain your website or blog can get expensive, even if you only have them create the
designs and you then maintain the content. Knowing how to modify the CSS will save you money
when you find small problems that you can fix yourself. And as you practice, you'll be able to fix
bigger and bigger problems.
Earn money
Once you know CSS really well, you can sell these services to other websites. And if you're looking to
become a freelance Web designer, you won't get far if you don't know CSS.
\
CSS style sheets allow better control pf web pages during their development. Cascading Style Sheets
or CSS are style sheets that are linked into the other documents of your site and let’s you take control
of a wide variety of aspects of your site.
While the (x)HTML of your site deals with the actual content and structure of your website, one CSS
file has have power over the fonts, colors, positioning, styling of the data for the entire website. Doing
this helps avoid code bloat in your pages, makes them load faster, render across different media types,
and the benefits go on and on….
There are many benefits to using CSS, and they are listed below.
- Web pages load easier and they use less bandwidth: many web developers like to use CSS style
sheets because they don’t use as much bandwidth as table layouts do. The sheets are downloaded once
and stored in cache memory so pages will load quicker.
- CSS goes well with HTML: when HTML is added to CSS they make well-built, technical sites.
- CSS will let you position components anywhere on the page: developers really like CSS because
they can put elements anywhere they feel like. It is easier for them to make changes on sites they are
working on. CSS decreases the risks that deal with website maintenance.
- CSS is compatible with every web browser: it is mixed with HTML or XHTML to produce web
applications because it is compatible with all kind of web browsers.
- CSS may be used to produce print friendly web pages: web developers also like to use CSS because
they can produce print friendly pages. This means the items like images or colors which used to be
difficult to print are now printed up simply.
- CSS lest users customize web pages: lots of current websites let users change the layout or theme of
the site without changing the content. Because CSS sheets are stowed externally, the users can make
changes on their own. Items like the style of font are now able to be changed.
- Your website will be highlighted in the search engines easier: developers like CSS because they can
put components anywhere on the page. This positioning assists in launching the key contents first so
the spiders can find them. The HTML code of CSS is simpler and it will make the spider’s job easier
by getting them to the real content quicker.
- CSS lets the web pages stay consistent: every expression and text will have characteristics from the
external style sheets. Developers don’t need to fret about the characteristic changes in the elements
because they have the ability to be changed at any time with the CSS.
- CSS makes content moveable: with CSS there can be many style sheets for various media. This lets
you have some give when displaying the content. You can also change the characteristics of the
components in the site to fit your situation.
The point of CSS is to make things easier on your website and let you have control over many
components on the site. You can use these advantages to have more user-friendly pages that search
engines also embrace well.
If you need help understanding CSS more, or would like to have your site evalueated pleae contact us
at 248-582-9210, online or comment to this post.
Why Valid Html Code Is Important To Your
Web Site
Originally Published: September 28, 2004
Editor's Note: For more information about indexing and spidering problems see site
indexing problems and why search engine spiders miss pages. Consider hiring a
professional webmaster to make your site HTML compliant.
Many webmasters overlook a very important aspect of web site promotion: the validity of the HTML
code.
jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event
handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change
the way that you write JavaScript.
There really is so much to say about the benefits of using jQuery and making web pages more
interactive and exciting for user experience. The basic advantages alone show us that jQuery is
beneficial to search engine optimization, faster loading web pages, cross-browser compatibility, user
experience, and that it’s typically easy for web developers to implement. jQuery is a wonderful tool
that web developers can now utilize to add a bit of excitement to your website without compromise!
JavaScript frameworks like Script.aculo.us, Prototype or Mootools are very popular. In fact,
there are numerous attempts developing and maintaining a good JavaScript framework that can
be used with ease by those non familiar with this client side scripting language. What my point is
not that the frameworks mentioned above are not good enough; there are lots of people who
swear for them, but my point is that jQuery is something different!
1. No problem if an elements doesn’t exists (needless to check null objects)
2. Incredibly good CSS selector integration
3. Using chains of actions
4. Model-View-Controller + JavaScript architecture (great decoupling, benefits of cohesion)
5. Great community behind: lots of great plugins and helpful support
6. Simple, clean development
7. AJAX just performs great!
8. Tons of tutorials online
9. Lightweight (less than 20 KB)
10.CSS 3 compliant and
jQuery is basically a JavaScript library and it was designed to make the client-side scripting of
HTML more simple. The person responsible for its birth is John Resig at BarCamp NYC in
2006.
It is an open-source software and dual-licensed by MIT License and the GNU General Public License.
Version 2. jQuery has received an enormous success and it is used by 31% of the 10,000 most visited
websites over internet. This makes jQuery the most popular JavaScript library being used today. We
have been sharing jQuery related posts for some time now, so I came up with a post that just defines
this new fashion of developing websites.
Before we go further remember to Subscribe to our Free Rss Feed or Follow us on
Introduction
The best thing I like in the syntax is that document navigation is quite easy, the code is also very
compact (their slogan is Write Less, Do More); yet it works great for:
• Creating Animations
• Handling Events
• Selecting DOM Elements
• Developing Ajax Programs
jQuery is excellent for developing dynamic web pages and page elements. It allows the developers to
create plugins that would work on top of the JavaScript library. These capabilities enable the designers
to make abstractions for low-level interactions and animations, and also to create high-level widgets.
Perks
Simplicity
It can be added to any HTML code in using this simple method.
view source
Object 5
print?
1 <head>
2 <script type="text/javascript" src="jquery.js"></script>
3
4 <script type="text/javascript">
5 .....
6 </script>
7 </head>
You can download jQuery from jQuery Download Page
Implementation
There are two basic ways to use jQuery.
1. via the $ function, which can be called the default work method for the jQuery object. $
functions, often called commands, are patchable; so each of them returns a jQuery object.
2. via $.-prefixed functions. These are utility functions which do not work on the jQuery object
per se.
Typically, access and manipulation with multiple DOM nodes begins with the $ function being called
with a CSS selector string, which results in a jQuery object referencing matching elements in the
HTML page.
Plugins
jQuery has got a very well organized architecture. Developers can use it to create their own add-on
code to take its functionality to a whole new level. There are millions of jQuery plugins already
available on internet for free, including Ajax helpers, data grids, XML tools, drag and drop, cookie
handlers…. and the list goes on and on. Probably the best place to download jQuery Plugins is jQuery’s
homepage
Special Effects
Another fancy thing about jQuery is that can create special effects with very little code. Here’s an
example of an onClick Fade Out function:
view source
Object 6
print?
01 <pre><code><!DOCTYPE html>
02 <html>
03 <head>
04 <style>
05 p { font-size:150%; cursor:pointer; }
06 </style>
07 <script src="http://code.jquery.com/jquery-1.4.4.js"></script>
08 </head>
09 <body>
10 <p>
11 If you click on this paragraph
12 you'll see it just fade away.
13 </p>
14 <script>
15 $("p").click(function () {
16 $("p").fadeOut("slow");
17 });
18 </script>
19
20 </body>
21 </html></code></pre>
Now, when you will click this link, it will slowly disappear. You can check this demo and some more
good example tutorials here.
Drawbacks
Quite honestly, there are not many drawbacks, in fact, there are none. It’s just that sometimes one tool
is not suitable in a situation. It’s just a case of appropriateness. There still are a few things that you
should know before you decide to use jQuery on your website.
Use of Selector
jQuery always crosses through all the elements each time you use selectors. This makes the application
dull.
Solution: Cache your selections with some variable(s) if you are using the same selection at multiple
places. And if you are not selecting an element more than once, just don’t cache selection by assigning
it to some variable.
Browser Display
There have been many cases where the code worked fine in one browser, but some properties changed
in the other. Actually this is not a jQuery specific problem, this happens with many JavaScript based
applications, so it is critical that you don’t just test your page in one or two browsers, but in all of them
(at least the four major ones, IE-Firefox-Chrome-Opera).
Conclusion
Simply put, jQuery is great. You can easily perform tasks such as:
• drop down menus
• drag and drop elements
• animations and form validation
All of these with very little coding. Since it synchronizes well with PHP, .Net and most of the other
languages, it is a pretty handy resource.
DRAWBACKS
5 down A big, big drawback is its abstraction hides the "ugly parts" of JavaScript, therefore making
vote learning JS a lot more difficult. This is a problem that plagues the JS community. What
accepted ends up happening is you have designers/developers that can do simple rollovers and
slideshows, but run into big problems once real DOM manipulation comes into play.
Another drawback is not just size, but how amorphous jQuery really is. With each new
browser (most notably Internet Explorer), a fair amount of work is being done behind the
scenes to expand the codebase. This was most evident with IE8, in which a fair amount of
jQuery had to be re-written to at least comply with the newest version of IE. The result is
you have a giant collection of methods and properties (over 200KB since about jQuery
1.5). Even with a wide array of options to compress/cache the files, you're still going to
experience a decent amount of load time (a few seconds on a good connection).
One of those options is through Google's Content Distribution Network (CDN). It can
cache jQuery for you and lead to quicker load times. However, you're now relying on two
sources to operate flawlessly. Recently, Google flubbed one of the new (>= 1.5) versions
of jQuery. This led to some incompatibilities for a few hours and posed problems for
jQueryUI and various plugins. As I said earlier, you're relying on two sources to always
work. Saving your own localized version can mitigate this risk.
I think given proper planning and usage, it can be a boon to most projects. However, I do
emphasize that proper planning needs to be used. First ask yourself (or your team) if flashy
fades and pseudo-tweens are really required for your project. These are the types of things
that should be added last in order to maximize efficiency.
Those are the problems I have on my mind right now. Hopefully, this will be of some aid
to you in the future.
One technique I've seen is to serve your own copy of jQuery, and put a timestamp in the
filename (e.g. "jQuery_20110317.min.js") and tell your web server to set the cache
expiration time for that file to a year. Then your users only load it once per year at most,
unless you post a new version and change the filename. The downside is you have to
change the filename in every <script> tag it's used in. – Mike DeSimone Mar 18 at 3:43
1
"A big, big drawback is its abstraction hides the "ugly parts" of JavaScript" <-- which is
also the major benefit for using it. – DA Mar 18 at 3:46
show 1 more comment
up vote 1 I think it depends on the level of JavaScript expertise we're talking about. If we're talking
down from the beginner through intermediate perspective, the drawback is that it can be a crutch
vote preventing developers from honing their native JS skills (on the other hand, it can also be a
bridge INTO JS development - it certainly has been for me).
Once you become interested in working more in pure JS, the main drawback is that it is
DOM-centric. As your programming becomes more data-focused, the bias towards the
DOM can sometimes get in the way.
It can also get a bit tricky to keep all your code organized as your code gets larger.
I think what I would most like to see going forward is some sort of dependency management
- eg, let my scripts auto-load, or not, any needed plugins and components.
Having said all that, I am definitely a fan of jQuery and it is my JS library of choice. I find
the strengths far outweigh the weaknesses, and that it is improving all the time.
answered Mar 18 at 3:21
link|edit|flag
Philip Schweiger
1506
Have you looked at backbone? IMO for a good js dev, jquery + backbone + underscore +
handlebars can be a really nice "stack" for larger scale work. – Matt Briggs Mar 18 at 4:08
I recently discovered underscore, which is really useful. Have heard of, but not explored,
backbone - will definitely check out that and handlebars! – Philip Schweiger Mar 18 at
13:26
Compared to what? In what context? In and of itself, it's hard to say it has any drawbacks.
• it's big. The jQuery library is a hit on your server and something the end-user has to
download. Minimizing, CDN'ing, Caching, etc all help minimize it, but if you're are
looking for super-light-weight JS solution, writing it from scratch will likely get you
a small file size.
• a lot of the DOM CSS manipulation it does isn't necessarily optimized from an
accessibility POV. It's getting better...especially all the ARIA stuff the filament
group is doing
up vote 1
down • not everyone is a fan of jQuery UI. It's good, for sure. But also a bit heavy handed,
vote IMHO.
• it can be a bit confusing if you don't understand some of the basics of JS. It's good to
understand what jQuery is doing behind the scenes at times.
But, honestly, you have to dig to really complain about it. IMHO, jQuery + StackOverflow
has made Web Development fun again. ;o)
link|edit|flag
DA
3,574619
up vote Almost nothing, jQuery now matured and have a complete set of javascript functionality
0 down with cross browser support. Out from the jQuery core scope, there are a lots of plugin can be
vote use to extend the feature. If you afraid on trying the new thing like jQuery, simply try it first.
Sure you will not going back to native javascript programming.
CallMeLaNN
457111
See this bugs.jquery.com/roadmap for their to do list. – CallMeLaNN Mar 18 at 3:19
1
That's a pretty naive answer with all things considered. It's not the magical unicorn that
does everything and anything for you. – Matt McDonald Mar 18 at 3:20
yes but based on much projects I experienced in real world, jQuery does not give any
drawback rather than making development fast. – CallMeLaNN Mar 18 at 3:25
1
Also don't get me wrong, I love jQuery ... I'm just showing you the other side of the story
up vote 0 :)
down vote
up vote For me, any drawbacks with jQuery would not be about what features it's missing, but what
0 down unnecessary features it includes.
vote
• jQuery seems to include so many different ways of doing the same thing. Even within
the same method, there are often different ways to order the arguments.
It means that the documentation seems needlessly complex in places and it's hard to
remember every different way of using some method. It can make it harder to
understand other people's code if they use different ways of doing the same thing.
• The codebase just keeps growing. Less than 30Kb gzipped and minified is still
impressive, but it's reaching the size where it's larger than any CSS file or header
image I ever had to load. It takes a "monolithic kernel" sort of approach to a Javascript
library, which is probably a large factor in its success - it includes everything you'd
want in one place rather than making it more modular.
It's not a huge complaint. jQuery is very powerful and robust. But I brought this up because
the original question seems to assume that jQuery could only be improved by adding more
features to it. I disagree - jQuery has reached a maturity level where lack of features is no
longer one of its major drawbacks.
thomasrutter
11.6k2145
I never thought of any unnecessary features already present in jQuery, thanks for pointing
me in that direction. – Rachel Mar 18 at 3:33
There are never different ways to order arguments, some of them are just optional and you
will often see options hashes. IMO that is the only sane way of doing things, the alternative
tends to be fairly unreadable code, even if the documentation becomes more straight
forward. – Matt Briggs Mar 18 at 3:47
I struggled with my choice of words I think. When I said different ways to order arguments
I meant that many methods could be given different combinations of arguments to achieve
the same thing, or sometimes even adding arguments would distinctly change behaviour.
Such as, including an "options" object vs listing the same options as separate arguments, or
adding an extra argument to make the method change from a getter to a setter.
– thomasrutter Mar 21 at 6:22
If the question is "Should I use a library for javascript?" The answer is an unequivocal yes.
The worst thing about javascript is the differing implementations, and using a js library will
dramatically mitigate that problem. There hasn't been much professional javascript work done
without using some sort of library since around 2005 or so when prototype hit.
If the question is more "What are the relative strengths of JQuery?", here are some points
• It is only a dom abstraction library. If you need to do more then small animations or
style changes, jquery by itself is not enough.
• That being said, that is all most people want to do, which is a big part of why it is so
popular. The problem with extreme popularity is people who are not serious javascript
developers tend to think javascript == jquery, which it really isn't.
up vote
0 down
• Basically, if you are adding some trivial behavior to a page, jquery is fantastic. If you
vote
are building a "RIA" webapp, you want to look more at dojo (or even sproutcore,
depending on how far you want to go). If you are somewhere in the middle, MooTool
will do everything you need.
• If you are the type of person that would rather build their own toolset rather then go
for a "Everything and the kitchen sink" type framework, jquery + underscore +
backbone will take you pretty far.
link|edit|flag
Matt Briggs
11.4k11039
It's more than 'just' a dom abstraction library for 'small trivial behaviors'. Certainly Dojo or
ExtJS or other libraries may be better suited for a particular project, but jQuery is much
more than just making animations. – DA Mar 18 at 3:47
@DA: Ok, it is dom library with a few utility methods thrown in, where it is comprehensive
and really shines is in dom manipulation. Ext is a a full GUI toolkit, but it isn't a
comprehensive library either. Things like Dojo and sproutcore are full platforms that cover
everything you need to write a javascript application. JQuery is useful for sites, or for
webapps where the majority of the work is done server side. – Matt Briggs Mar 18 at 3:51
1
rebecca murphy did a great job talking about this here blog.rebeccamurphey.com/on-jquery-
large-applications (although backbone didnt exist when she wrote it). Personally, I prefer a
"hodgepodge of tools" when I can get away with it rather then massive frameworks. But
even though I would rather tie all the pieces together that I need, I think it would be a lie to
say that it is in any way more productive to wire all that stuff together then use something
appropriate for the problem in the first place. – Matt Briggs Mar 18 at 3:56
That's a good blog post. And I agree. That said, I'd say jQuery, in the enterprise, 75% of the
time, is going to be an improvement over what is currently there (often a mish-mash of
antiquated active-x controls, bloated paid-for JS components, way too much being handled
server-side, Flash, browser-centric code, etc.). I've been a part of projects where Dojo was
spec'd before realizing a) all they really needed was some nice UI improvements and b) they
couldn't find anyone that had used it. ;) – DA Mar 18 at 4:07
PHP
MP (Windows, Apache, MySQL, PHP/Perl/Python)
WAMP is a form of mini-server that can run on almost any Windows Operating System. WAMP
includes Apache 2, PHP 5 (SMTP ports are disabled), and MySQL (phpMyAdmin and SQLitemanager
are installed to manage your databases) preinstalled.
An icon on the taskbar tray displays the status of WAMP, letting you know if; a) WAMP is running but
no services are opened (the icon will appear red), b) WAMP is running and one service is opened (the
icon will appear yellow) or c) WAMP is running with all services opened (the icon will appear white).
Apache and MySQL are considered to be services (they can be disabled by left-clicking on the taskbar
icon, guiding your cursor over the service you wish to disable and selecting "Stop Service").
The files/web pages that are hosted on your WAMP server can be accessed by typing http:/localhost or
http://127.0.0.1/ in the address bar of your web browser. WAMP must be running in order to access
either of the above addresses.
WA
Read more: http://wiki.answers.com/Q/What_is_wamp_server#ixzz1JspUh6qQ
Do I need a website? (-)
A website is not a luxury in today’s competitive markets. It is simply a must. Without a good
website your business will always be a step behind your competition.
1. What is the difference between a freelancer & a reputable web development company? (-)
A freelancer is a self-employed web designer or developer who works independently and
directly with their clients, while a reputable design & Development firm is an established
company that provides complete solutions for clients. The main advantage of using a firm is that
the range of services they offer is much greater and their expertise in each of these services is
usually a lot higher due to the fact that they have a team of people behind them. Furthermore, in
dealing with a firm, you have the peace of mind knowing that your developers will complete
their assigned tasks on time and within the budget and will be there tomorrow when you need to
take your web projects to the next level. One main problem a lot of clients have faced in the past
when dealing with freelancers is the lack of professionalism.
2. What constitute a professional web layout? (-)
A professional web layout is not simply a layout that looks good. It also has to use proper color
schemes, be functional and achieve its task of generating income or increasing the awareness of
your products or services well.
3. Is hosting and domain registration included in web development? (-)
Domain registration and web hosting is NOT commonly included in the web development
process. However a good development firm will be there to consult you on what domains would
be better and guide you through the process in order to achieve the maximum return on the
investment you have made in purchasing a website.
4. What is the difference between Dedicated (Private) hosting vs. Shared Hosting? (-)
Dedicated hosting is when your site is the only site on a given physical server. You may either
use a third-party hosting company or opt to host your site on a server on site (not-
recommended). Shared hosting is when your site is hosted within a shared environment. In this
case, multiple websites will be hosted by the provider on a given physical server. The shared
solution is much cheaper than the dedicated solution. However the drawback of the shared
environment is that you are compromising on performance and security.
5. What are LAMP Servers? (-)
LAMP is an acronym for the Linux (operating system), Apache (web server), MySQL Database
& Perl, PHP, or Python (scripting languages) used in combination to create a server. These
softwares were not written exclusively to be used together, but their combined solution is very
popular in todays servers. The main advantage of a LAMP server is that it uses all open source
technologies that are free of charge. At the same time the LAMP is perfectly suitable for use in
small businesses all the way up to large enterprise solutions.
6. What are Microsoft Servers? (-)
Microsoft web server is one that is setup on the Microsoft server 2003 operating system.
Microsoft products, being proprietary software, are quite costly, and many clients prefer to
implement the LAMP server. For more information on Microsoft Servers please refer to the
Microsoft website.
7. Where can I find the right hosting paDo I need a website? (-)
A website is not a luxury in today’s competitive markets. It is simply a must. Without a good
website your business will always be a step behind your competition.
1. What is the difference between a freelancer & a reputable web development company? (-)
A freelancer is a self-employed web designer or developer who works independently and
directly with their clients, while a reputable design & Development firm is an established
company that provides complete solutions for clients. The main advantage of using a firm is that
the range of services they offer is much greater and their expertise in each of these services is
usually a lot higher due to the fact that they have a team of people behind them. Furthermore, in
dealing with a firm, you have the peace of mind knowing that your developers will complete
their assigned tasks on time and within the budget and will be there tomorrow when you need to
take your web projects to the next level. One main problem a lot of clients have faced in the past
when dealing with freelancers is the lack of professionalism.
2. What constitute a professional web layout? (-)
A professional web layout is not simply a layout that looks good. It also has to use proper color
schemes, be functional and achieve its task of generating income or increasing the awareness of
your products or services well.
3. Is hosting and domain registration included in web development? (-)
Domain registration and web hosting is NOT commonly included in the web development
process. However a good development firm will be there to consult you on what domains would
be better and guide you through the process in order to achieve the maximum return on the
investment you have made in purchasing a website.
4. What is the difference between Dedicated (Private) hosting vs. Shared Hosting? (-)
Dedicated hosting is when your site is the only site on a given physical server. You may either
use a third-party hosting company or opt to host your site on a server on site (not-
recommended). Shared hosting is when your site is hosted within a shared environment. In this
case, multiple websites will be hosted by the provider on a given physical server. The shared
solution is much cheaper than the dedicated solution. However the drawback of the shared
environment is that you are compromising on performance and security.
5. What are LAMP Servers? (-)
LAMP is an acronym for the Linux (operating system), Apache (web server), MySQL Database
& Perl, PHP, or Python (scripting languages) used in combination to create a server. These
softwares were not written exclusively to be used together, but their combined solution is very
popular in todays servers. The main advantage of a LAMP server is that it uses all open source
technologies that are free of charge. At the same time the LAMP is perfectly suitable for use in
small businesses all the way up to large enterprise solutions.
6. What are Microsoft Servers? (-)
Microsoft web server is one that is setup on the Microsoft server 2003 operating system.
Microsoft products, being proprietary software, are quite costly, and many clients prefer to
implement the LAMP server. For more information on Microsoft Servers please refer to the
Microsoft website.
7. Where can I find the right hosting package for me? (-)
Hosting is an interesting issue that needs some serious thought put into it. The most important
advice you can get in terms of hosting will come from your web developer. Once you have a
clear idea of the functions of your website and the type of bandwidth requirements you will
have, you can decide whether to opt for a shared or dedicated solution. Once this decision is
made you must either select a windows or Linux (LAMP) server. This decision has to be done
before your site is developed. Your website will be built according to the hosting environment
that you have selected. Since Microsoft is proprietary software while LAMP is open source, you
will find that LAMP solutions are generally much cheaper than the Microsoft solutions.
8. What is FLASH and how does it work? (-)
Flash, in a nutshell, is the common term for Adobe Flash formerly known as Macromedia Flash.
This refers to both the player (free to download) and the authoring software used to create the
high impact multimedia animations that are viewed with this player. For more information
please read the full resource on flash.
9. How much will this cost and what guarantees do I get? (-)
The key to building an effective website within budget restrictions is good planning and a great
developer. We can assist you from the beginning of your planning process to the completion of
your website in order to maintain solutions that strictly adhere to your budget restrictions and to
avoid any surprises that could come up in the future. We also provide our clients with a
satisfaction guarantee giving you peace of mind. Lastly, we offer our clients an initial free
consultation and sample design mockup free of charge with no obligation. Therefore, if you are
prepared to take your business to the next level, and improve your online marketing, contact us
today, and we will be happy to be of service.
8.
ckage for me? (-)
Hosting is an interesting issue that needs some serious thought put into it. The most important
advice you can get in terms of hosting will come from your web developer. Once you have a
clear idea of the functions of your website and the type of bandwidth requirements you will
have, you can decide whether to opt for a shared or dedicated solution. Once this decision is
made you must either select a windows or Linux (LAMP) server. This decision has to be done
before your site is developed. Your website will be built according to the hosting environment
that you have selected. Since Microsoft is proprietary software while LAMP is open source, you
will find that LAMP solutions are generally much cheaper than the Microsoft solutions.
9. What is FLASH and how does it work? (-)
Flash, in a nutshell, is the common term for Adobe Flash formerly known as Macromedia Flash.
This refers to both the player (free to download) and the authoring software used to create the
high impact multimedia animations that are viewed with this player. For more information
please read the full resource on flash.
10.How much will this cost and what guarantees do I get? (-)
The key to building an effective website within budget restrictions is good planning and a great
developer. We can assist you from the beginning of your planning process to the completion of
your website in order to maintain solutions that strictly adhere to your budget restrictions and to
avoid any surprises that could come up in the future. We also provide our clients with a
satisfaction guarantee giving you peace of mind. Lastly, we offer our clients an initial free
consultation and sample design mockup free of charge with no obligation. Therefore, if you are
prepared to take your business to the next level, and improve your online marketing, contact us
today, and we will be happy to be of service.
<!--
google_ad_client = "pub-0048225869877719";
google_ad_slot = "3851696716";
google_ad_width = 728;
google_ad_height = 90;
//-->Building a LAMP Server
by Bruce Timberlake
This document will walk you through the installation of what is known as a "LAMP" system: Linux,
Apache, MySQL and PHP. Depending on who you talk to, the P also stands for Perl or Python, but
in general, it is assumed to be PHP. I run CentOS on my servers; these directions were written for
CentOS/Red Hat/Fedora. I have had requests for SuSE (another RPM-based distribution) as well as
Debian-based systems, so I will work on variants of these directions for those distributions in the future
(donations might help speed that process up!). The main difference between the distributions is in the
paths to the startup scripts. Red Hat systems used /etc/rc.d/init.d and SuSE uses
/etc/init.d.
I have my first translation! Belorussian provided by Ucallweconn -- thank you very much!
If you need an SSL-enabled server, I have a LAMP with SSL howto as well.
I designed this document so you can just copy/paste each line or block of commands into your shell
session and it will "just work" for you. This avoids tedious typing, and the inevitable typos or missed
steps that result. These commands work properly via copy/paste. If you are having problems and
you are not using copy/paste, please re-check your typing before sending me an email saying "It
doesn't work."
Text in a "command" box like this one is a literal Linux commandline, and should be typed or pasted
exactly as written.
One note: many many people have followed these directions as written, and have not had any
problems.
If you are having a problem, chances are it's something you are doing (or not doing), something
different
about your computer, etc.
chown -R root.root *
make clean
./configure \
--prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--disable-maintainer-mode \
--with-mysqld-user=mysql \
--with-unix-socket-path=/tmp/mysql.sock \
--without-comment \
--without-debug \
--without-bench
18-Jul-2005: If you are installing MySQL 4.0.x on Fedora Core 4, there is a problem with
LinuxThreads that prevents MySQL from compiling properly. Installing on Fedora Core 3 works fine
though. Thanks to Kevin Spencer for bringing this to my attention. There is a workaround listed at
http://bugs.mysql.com/bug.php?id=9497. Thanks to Collin Campbell for that link. Another solution can
be found at http://bugs.mysql.com/bug.php?id=2173. Thanks to Kaloyan Raev for that one.
Now comes the long part, where the source code is actually compiled and then installed. Plan to get
some coffee or take a break while this step runs. It could be 10-15 minutes or more, depending on your
system's free memory, load average, etc.
make && make install
Configure MySQL
MySQL is "installed" but we have a few more steps until it's actually "done" and ready to start. First
run the script which actually sets up MySQL's internal database (named, oddly enough, mysql).
./scripts/mysql_install_db
Then we want to set the proper ownership for the MySQL directories and data files, so that only
MySQL (and root) can do anything with them.
chown -R root:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data
Copy the default configuration file for the expected size of the database (small, medium, large, huge)
cp support-files/my-medium.cnf /etc/my.cnf
chown root:sys /etc/my.cnf
chmod 644 /etc/my.cnf
If you get an error message about the data directory not existing, etc., something went wrong in the
mysql_install_db step above. Go back and review that; make sure you didn't get some sort of
error message when you ran it, etc.
Now we have to tell the system where to find some of the dynamic libraries that MySQL will need to
run. We use dynamic libraries instead of static to keep the memory usage of the MySQL program itself
to a minimum.
echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
ldconfig
Now create a startup script, which enables MySQL auto-start each time your server is restarted.
cp ./support-files/mysql.server /etc/rc.d/init.d/mysql
chmod +x /etc/rc.d/init.d/mysql
/sbin/chkconfig --level 3 mysql on
Then set up symlinks for all the MySQL binaries, so they can be run from anyplace without having to
include/specify long paths, etc.
cd /usr/local/mysql/bin
for file in *; do ln -s /usr/local/mysql/bin/$file /usr/bin/$file; done
MySQL Security Issues
First, we will assume that only applications on the same server will be allowed to access the database
(i.e., not a program running on a physically separate server). So we'll tell MySQL not to even listen on
port 3306 for TCP connections like it does by default.
Edit /etc/my.cnf and uncomment the
skip-networking
line (delete the leading #).
For more security info, check out this MySQL security tutorial.
Start MySQL
First, test the linked copy of the startup script in the normal server runlevel start directory, to make sure
the symlink was properly set up:
cd ~
/etc/rc.d/rc3.d/S90mysql start
If you ever want to manually start or stop the MySQL server, use these commands:
/etc/rc.d/init.d/mysql start
/etc/rc.d/init.d/mysql stop
Let's "test" the install to see what version of MySQL we're running now:
mysqladmin version
It should answer back with the version we've just installed...
Now we'll set a password for the MySQL root user (note that the MySQL root user is not the same
as the system root user, and definitely should not have the same password as the system root
user!).
mysqladmin -u root password new-password
(obviously, insert your own password in the above command instead of the "new-password" string!)
You're done! MySQL is now installed and running on your server. It is highly recommended that you
read about MySQL security and lock down your server as much as possible. The MySQL site has info
at http://www.mysql.com/doc/en/Privilege_system.html.
Test MySQL
To run a quick test, use the command line program mysql:
mysql -u root -p
and enter your new root user password when prompted. You will then see the MySQL prompt:
mysql>
First, while we're in here, we'll take care of another security issue and delete the sample database test
and all default accounts except for the MySQL root user. Enter each of these lines at the mysql>
prompt:
drop database test;
use mysql;
delete from db;
delete from user where not (host="localhost" and user="root");
flush privileges;
As another security measure, I like to change the MySQL administrator account name from root to
something harder to guess. This will make it that much harder for someone who gains shell access to
your server to take control of MySQL.
MAKE SURE YOU REMEMBER THIS NEW NAME, AND USE IT WHEREVER
YOU SEE "root" IN OTHER DIRECTIONS, WEBSITES, ETC.
mysql>
Delete the database:
drop database foo;
You should see the result:
Query OK, 0 rows affected (0.06 sec)
mysql>
To exit from mysql enter \q:
\q
Build and Install Apache (with DSO support)
The advantage to building Apache with support for dynamically loaded modules is that in the future,
you can add functionality to your webserver by just compiling and installing modules, and restarting
the webserver. If the features were compiled into Apache, you would need to rebuild Apache from
scratch every time you wanted to add or update a module (like PHP). Your Apache binary is also
smaller, which means more efficient memory usage.
The downside to dynamic modules is a slight performance hit compared to having the modules
compiled in.
cd /usr/local/src/apache_1.3.37
make clean
./configure \
--prefix=/usr/local/apache \
--enable-shared=max \
--enable-module=rewrite \
--enable-module=so
./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--disable-debug \
--enable-ftp \
--enable-inline-optimization \
--enable-magic-quotes \
--enable-mbstring \
--enable-mm=shared \
--enable-safe-mode \
--enable-track-vars \
--enable-trans-sid \
--enable-wddx=shared \
--enable-xml \
--with-dom \
--with-gd \
--with-gettext \
--with-mysql=/usr/local/mysql \
--with-regex=system \
--with-xml \
--with-zlib-dir=/usr/lib
cp php.ini-dist /usr/local/lib/php.ini
I like to keep my config files all together in /etc. I set up a symbolic link like this:
ln -s /usr/local/lib/php.ini /etc/php.ini
Then I can just open /etc/php.ini in my editor to make changes.
Recommended reading on securing your PHP installation is this article at SecurityFocus.com.
Edit the Apache Configuration File (httpd.conf)
I like to keep all my configuration files together in /etc, so I set up a symbolic link from the actual
location to /etc:
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf
Now open /etc/httpd.conf in your favorite text editor, and set all the basic Apache options in
accordance with the official Apache instructions (beyond the scope of this HOWTO).
Also recommended is the article on securing Apache.
To ensure your PHP files are properly interpreted, and not just downloaded as text files, remove the #
at the beginning of the lines which read:
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
If the AddType lines above don't exist, manually enter them (without the leading # of course) after the
line
AddType application/x-tar .tgz
or anyplace within the <IfModule mod_mime.c> section of httpd.conf.
If you wish to use other/additional extensions/filetypes for your PHP scripts instead of just .php, add
them to the AddType directive:
AddType application/x-httpd-php .php .foo
AddType application/x-httpd-php-source .phps .phtmls
An example: if you wanted every single HTML page to be parsed and processed like a PHP script, just
add .htm and .html:
AddType application/x-httpd-php .php .htm .html
There will be a bit of a performance loss if every single HTML page is being checked for PHP code
even if it doesn't contain any. But if you want to use PHP but be "stealthy" about it, you can use this
trick.
Add index.php to the list of valid Directory Index files so that your "default page" in a directory can
be named index.php.
<IfModule mod_dir.c>
DirectoryIndex index.php index.htm index.html
</IfModule>
You can add anything else you want here too. If you want foobar.baz to be a valid directory index
page, just add the .baz filetype to the AddType line, and add foobar.baz to the
DirectoryIndex line.
Start Apache
We want to set Apache up with a normal start/stop script in /etc/rc.d/init.d so it can be auto-
started and controlled like other system daemons. Set up a symbolic link for the apachectl utility
(installed automatically as part of Apache):
ln -s /usr/local/apache/bin/apachectl /etc/rc.d/init.d/apache
Then set up auto-start for runlevel 3 (where the server will go by default):
ln -s /etc/rc.d/init.d/apache /etc/rc.d/rc3.d/S90apache
Then start the daemon:
/etc/rc.d/init.d/apache start
You can check that it's running properly by doing:
ps -ef
and look for the httpd processes.
If you find this page useful, please consider making a secure donation:
Cascading Style Sheets or CSS are an important way to control how your Web pages look. CSS can
control the fonts, text, colors, backgrounds, margins, and layout. But it can be very difficult to learn
CSS, and some people would rather not learn it. There are some very good reasons to learn CSS so that
you can control your Web pages look.
Modify your site designs to look how you want them to look
It's easy to take a free Web template and build a website. But these templates can be very plain or
common. So your website will look like every other site on the internet. By learning CSS you can
modify pre-built templates so that they have your colors and styles. Thus you'll have a customized
website without a lot of effort.
zSB(3,3)Sponsored Links
Drop-Down MenusCreate cross-browser & feature-rich menus-No programming skills needed!
www.likno.com
Reunite With Your FriendsFind All Your Old Friends & Get In Touch Instantly. Join Orkut Today!
www.google.com/Orkut
Are You a Designer ?Get an Opportunity to Work On Creative Designs. Apply Now!
www.ivistasolutions.com
Save money
There are a lot of Web designers who will build your website or your CSS for you. But paying
someone else to maintain your website or blog can get expensive, even if you only have them create the
designs and you then maintain the content. Knowing how to modify the CSS will save you money
when you find small problems that you can fix yourself. And as you practice, you'll be able to fix
bigger and bigger problems.
Earn money
Once you know CSS really well, you can sell these services to other websites. And if you're looking to
become a freelance Web designer, you won't get far if you don't know CSS.
Redesign your site more quickly
Many older websites that were built without CSS are very difficult to redesign. But once a site is built
with CSS hooks it can be redesigned very quickly. Changing things like the colors and backgrounds
can change how a site looks with very little effort. In fact, many sites now put up special versions of
their sites for special occasions and they can do this because it only takes a few hours to create an
alternate style sheet for the occasion.
\
CSS style sheets allow better control pf web pages during their development. Cascading Style Sheets
or CSS are style sheets that are linked into the other documents of your site and let’s you take control
of a wide variety of aspects of your site.
While the (x)HTML of your site deals with the actual content and structure of your website, one CSS
file has have power over the fonts, colors, positioning, styling of the data for the entire website. Doing
this helps avoid code bloat in your pages, makes them load faster, render across different media types,
and the benefits go on and on….
There are many benefits to using CSS, and they are listed below.
- Web pages load easier and they use less bandwidth: many web developers like to use CSS style
sheets because they don’t use as much bandwidth as table layouts do. The sheets are downloaded once
and stored in cache memory so pages will load quicker.
- CSS goes well with HTML: when HTML is added to CSS they make well-built, technical sites.
- CSS will let you position components anywhere on the page: developers really like CSS because
they can put elements anywhere they feel like. It is easier for them to make changes on sites they are
working on. CSS decreases the risks that deal with website maintenance.
- CSS is compatible with every web browser: it is mixed with HTML or XHTML to produce web
applications because it is compatible with all kind of web browsers.
- CSS may be used to produce print friendly web pages: web developers also like to use CSS because
they can produce print friendly pages. This means the items like images or colors which used to be
difficult to print are now printed up simply.
- CSS lest users customize web pages: lots of current websites let users change the layout or theme of
the site without changing the content. Because CSS sheets are stowed externally, the users can make
changes on their own. Items like the style of font are now able to be changed.
- Your website will be highlighted in the search engines easier: developers like CSS because they can
put components anywhere on the page. This positioning assists in launching the key contents first so
the spiders can find them. The HTML code of CSS is simpler and it will make the spider’s job easier
by getting them to the real content quicker.
- CSS lets the web pages stay consistent: every expression and text will have characteristics from the
external style sheets. Developers don’t need to fret about the characteristic changes in the elements
because they have the ability to be changed at any time with the CSS.
- CSS makes content moveable: with CSS there can be many style sheets for various media. This lets
you have some give when displaying the content. You can also change the characteristics of the
components in the site to fit your situation.
The point of CSS is to make things easier on your website and let you have control over many
components on the site. You can use these advantages to have more user-friendly pages that search
engines also embrace well.
If you need help understanding CSS more, or would like to have your site evalueated pleae contact us
at 248-582-9210, online or comment to this post.
Why Valid Html Code Is Important To Your
Web Site
Originally Published: September 28, 2004
Editor's Note: For more information about indexing and spidering problems see site
indexing problems and why search engine spiders miss pages. Consider hiring a
professional webmaster to make your site HTML compliant.
Many webmasters overlook a very important aspect of web site promotion: the validity of the HTML
code.
jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event
handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change
the way that you write JavaScript.
There really is so much to say about the benefits of using jQuery and making web pages more
interactive and exciting for user experience. The basic advantages alone show us that jQuery is
beneficial to search engine optimization, faster loading web pages, cross-browser compatibility, user
experience, and that it’s typically easy for web developers to implement. jQuery is a wonderful tool
that web developers can now utilize to add a bit of excitement to your website without compromise!
JavaScript frameworks like Script.aculo.us, Prototype or Mootools are very popular. In fact,
there are numerous attempts developing and maintaining a good JavaScript framework that can
be used with ease by those non familiar with this client side scripting language. What my point is
not that the frameworks mentioned above are not good enough; there are lots of people who
swear for them, but my point is that jQuery is something different!
1. No problem if an elements doesn’t exists (needless to check null objects)
2. Incredibly good CSS selector integration
3. Using chains of actions
4. Model-View-Controller + JavaScript architecture (great decoupling, benefits of cohesion)
5. Great community behind: lots of great plugins and helpful support
6. Simple, clean development
7. AJAX just performs great!
8. Tons of tutorials online
9. Lightweight (less than 20 KB)
10.CSS 3 compliant and
jQuery is basically a JavaScript library and it was designed to make the client-side scripting of
HTML more simple. The person responsible for its birth is John Resig at BarCamp NYC in
2006.
It is an open-source software and dual-licensed by MIT License and the GNU General Public License.
Version 2. jQuery has received an enormous success and it is used by 31% of the 10,000 most visited
websites over internet. This makes jQuery the most popular JavaScript library being used today. We
have been sharing jQuery related posts for some time now, so I came up with a post that just defines
this new fashion of developing websites.
Before we go further remember to Subscribe to our Free Rss Feed or Follow us on
Introduction
The best thing I like in the syntax is that document navigation is quite easy, the code is also very
compact (their slogan is Write Less, Do More); yet it works great for:
• Creating Animations
• Handling Events
• Selecting DOM Elements
• Developing Ajax Programs
jQuery is excellent for developing dynamic web pages and page elements. It allows the developers to
create plugins that would work on top of the JavaScript library. These capabilities enable the designers
to make abstractions for low-level interactions and animations, and also to create high-level widgets.
Perks
Simplicity
It can be added to any HTML code in using this simple method.
view source
Object 7
print?
1 <head>
2 <script type="text/javascript" src="jquery.js"></script>
3
4 <script type="text/javascript">
5 .....
6 </script>
7 </head>
You can download jQuery from jQuery Download Page
Implementation
There are two basic ways to use jQuery.
1. via the $ function, which can be called the default work method for the jQuery object. $
functions, often called commands, are patchable; so each of them returns a jQuery object.
2. via $.-prefixed functions. These are utility functions which do not work on the jQuery object
per se.
Typically, access and manipulation with multiple DOM nodes begins with the $ function being called
with a CSS selector string, which results in a jQuery object referencing matching elements in the
HTML page.
Plugins
jQuery has got a very well organized architecture. Developers can use it to create their own add-on
code to take its functionality to a whole new level. There are millions of jQuery plugins already
available on internet for free, including Ajax helpers, data grids, XML tools, drag and drop, cookie
handlers…. and the list goes on and on. Probably the best place to download jQuery Plugins is jQuery’s
homepage
Special Effects
Another fancy thing about jQuery is that can create special effects with very little code. Here’s an
example of an onClick Fade Out function:
view source
Object 8
print?
01 <pre><code><!DOCTYPE html>
02 <html>
03 <head>
04 <style>
05 p { font-size:150%; cursor:pointer; }
06 </style>
07 <script src="http://code.jquery.com/jquery-1.4.4.js"></script>
08 </head>
09 <body>
10 <p>
11 If you click on this paragraph
12 you'll see it just fade away.
13 </p>
14 <script>
15 $("p").click(function () {
16 $("p").fadeOut("slow");
17 });
18 </script>
19
20 </body>
21 </html></code></pre>
Now, when you will click this link, it will slowly disappear. You can check this demo and some more
good example tutorials here.
Drawbacks
Quite honestly, there are not many drawbacks, in fact, there are none. It’s just that sometimes one tool
is not suitable in a situation. It’s just a case of appropriateness. There still are a few things that you
should know before you decide to use jQuery on your website.
Use of Selector
jQuery always crosses through all the elements each time you use selectors. This makes the application
dull.
Solution: Cache your selections with some variable(s) if you are using the same selection at multiple
places. And if you are not selecting an element more than once, just don’t cache selection by assigning
it to some variable.
Browser Display
There have been many cases where the code worked fine in one browser, but some properties changed
in the other. Actually this is not a jQuery specific problem, this happens with many JavaScript based
applications, so it is critical that you don’t just test your page in one or two browsers, but in all of them
(at least the four major ones, IE-Firefox-Chrome-Opera).
Conclusion
Simply put, jQuery is great. You can easily perform tasks such as:
• drop down menus
• drag and drop elements
• animations and form validation
All of these with very little coding. Since it synchronizes well with PHP, .Net and most of the other
languages, it is a pretty handy resource.
DRAWBACKS
5 down A big, big drawback is its abstraction hides the "ugly parts" of JavaScript, therefore making
vote learning JS a lot more difficult. This is a problem that plagues the JS community. What
accepted ends up happening is you have designers/developers that can do simple rollovers and
slideshows, but run into big problems once real DOM manipulation comes into play.
Another drawback is not just size, but how amorphous jQuery really is. With each new
browser (most notably Internet Explorer), a fair amount of work is being done behind the
scenes to expand the codebase. This was most evident with IE8, in which a fair amount of
jQuery had to be re-written to at least comply with the newest version of IE. The result is
you have a giant collection of methods and properties (over 200KB since about jQuery
1.5). Even with a wide array of options to compress/cache the files, you're still going to
experience a decent amount of load time (a few seconds on a good connection).
One of those options is through Google's Content Distribution Network (CDN). It can
cache jQuery for you and lead to quicker load times. However, you're now relying on two
sources to operate flawlessly. Recently, Google flubbed one of the new (>= 1.5) versions
of jQuery. This led to some incompatibilities for a few hours and posed problems for
jQueryUI and various plugins. As I said earlier, you're relying on two sources to always
work. Saving your own localized version can mitigate this risk.
I think given proper planning and usage, it can be a boon to most projects. However, I do
emphasize that proper planning needs to be used. First ask yourself (or your team) if flashy
fades and pseudo-tweens are really required for your project. These are the types of things
that should be added last in order to maximize efficiency.
Those are the problems I have on my mind right now. Hopefully, this will be of some aid
to you in the future.
One technique I've seen is to serve your own copy of jQuery, and put a timestamp in the
filename (e.g. "jQuery_20110317.min.js") and tell your web server to set the cache
expiration time for that file to a year. Then your users only load it once per year at most,
unless you post a new version and change the filename. The downside is you have to
change the filename in every <script> tag it's used in. – Mike DeSimone Mar 18 at 3:43
1
"A big, big drawback is its abstraction hides the "ugly parts" of JavaScript" <-- which is
also the major benefit for using it. – DA Mar 18 at 3:46
show 1 more comment
up vote 1 I think it depends on the level of JavaScript expertise we're talking about. If we're talking
down from the beginner through intermediate perspective, the drawback is that it can be a crutch
vote preventing developers from honing their native JS skills (on the other hand, it can also be a
bridge INTO JS development - it certainly has been for me).
Once you become interested in working more in pure JS, the main drawback is that it is
DOM-centric. As your programming becomes more data-focused, the bias towards the
DOM can sometimes get in the way.
It can also get a bit tricky to keep all your code organized as your code gets larger.
I think what I would most like to see going forward is some sort of dependency management
- eg, let my scripts auto-load, or not, any needed plugins and components.
Having said all that, I am definitely a fan of jQuery and it is my JS library of choice. I find
the strengths far outweigh the weaknesses, and that it is improving all the time.
answered Mar 18 at 3:21
link|edit|flag
Philip Schweiger
1506
Have you looked at backbone? IMO for a good js dev, jquery + backbone + underscore +
handlebars can be a really nice "stack" for larger scale work. – Matt Briggs Mar 18 at 4:08
I recently discovered underscore, which is really useful. Have heard of, but not explored,
backbone - will definitely check out that and handlebars! – Philip Schweiger Mar 18 at
13:26
Compared to what? In what context? In and of itself, it's hard to say it has any drawbacks.
• it's big. The jQuery library is a hit on your server and something the end-user has to
download. Minimizing, CDN'ing, Caching, etc all help minimize it, but if you're are
looking for super-light-weight JS solution, writing it from scratch will likely get you
a small file size.
• a lot of the DOM CSS manipulation it does isn't necessarily optimized from an
accessibility POV. It's getting better...especially all the ARIA stuff the filament
group is doing
up vote 1
down • not everyone is a fan of jQuery UI. It's good, for sure. But also a bit heavy handed,
vote IMHO.
• it can be a bit confusing if you don't understand some of the basics of JS. It's good to
understand what jQuery is doing behind the scenes at times.
But, honestly, you have to dig to really complain about it. IMHO, jQuery + StackOverflow
has made Web Development fun again. ;o)
link|edit|flag
DA
3,574619
up vote Almost nothing, jQuery now matured and have a complete set of javascript functionality
0 down with cross browser support. Out from the jQuery core scope, there are a lots of plugin can be
vote use to extend the feature. If you afraid on trying the new thing like jQuery, simply try it first.
Sure you will not going back to native javascript programming.
CallMeLaNN
457111
See this bugs.jquery.com/roadmap for their to do list. – CallMeLaNN Mar 18 at 3:19
1
That's a pretty naive answer with all things considered. It's not the magical unicorn that
does everything and anything for you. – Matt McDonald Mar 18 at 3:20
yes but based on much projects I experienced in real world, jQuery does not give any
drawback rather than making development fast. – CallMeLaNN Mar 18 at 3:25
1
• jQuery seems to include so many different ways of doing the same thing. Even within
the same method, there are often different ways to order the arguments.
It means that the documentation seems needlessly complex in places and it's hard to
remember every different way of using some method. It can make it harder to
understand other people's code if they use different ways of doing the same thing.
• The codebase just keeps growing. Less than 30Kb gzipped and minified is still
impressive, but it's reaching the size where it's larger than any CSS file or header
up vote
image I ever had to load. It takes a "monolithic kernel" sort of approach to a Javascript
0 down
library, which is probably a large factor in its success - it includes everything you'd
vote
want in one place rather than making it more modular.
It's not a huge complaint. jQuery is very powerful and robust. But I brought this up because
the original question seems to assume that jQuery could only be improved by adding more
features to it. I disagree - jQuery has reached a maturity level where lack of features is no
longer one of its major drawbacks.
link|edit|flag
thomasrutter
11.6k2145
I never thought of any unnecessary features already present in jQuery, thanks for pointing
me in that direction. – Rachel Mar 18 at 3:33
There are never different ways to order arguments, some of them are just optional and you
will often see options hashes. IMO that is the only sane way of doing things, the alternative
tends to be fairly unreadable code, even if the documentation becomes more straight
forward. – Matt Briggs Mar 18 at 3:47
I struggled with my choice of words I think. When I said different ways to order arguments
I meant that many methods could be given different combinations of arguments to achieve
the same thing, or sometimes even adding arguments would distinctly change behaviour.
Such as, including an "options" object vs listing the same options as separate arguments, or
adding an extra argument to make the method change from a getter to a setter.
– thomasrutter Mar 21 at 6:22
If the question is "Should I use a library for javascript?" The answer is an unequivocal yes.
The worst thing about javascript is the differing implementations, and using a js library will
dramatically mitigate that problem. There hasn't been much professional javascript work done
without using some sort of library since around 2005 or so when prototype hit.
If the question is more "What are the relative strengths of JQuery?", here are some points
• It is only a dom abstraction library. If you need to do more then small animations or
style changes, jquery by itself is not enough.
• That being said, that is all most people want to do, which is a big part of why it is so
popular. The problem with extreme popularity is people who are not serious javascript
developers tend to think javascript == jquery, which it really isn't.
up vote
0 down
• Basically, if you are adding some trivial behavior to a page, jquery is fantastic. If you
vote
are building a "RIA" webapp, you want to look more at dojo (or even sproutcore,
depending on how far you want to go). If you are somewhere in the middle, MooTool
will do everything you need.
• If you are the type of person that would rather build their own toolset rather then go
for a "Everything and the kitchen sink" type framework, jquery + underscore +
backbone will take you pretty far.
link|edit|flag
Matt Briggs
11.4k11039
It's more than 'just' a dom abstraction library for 'small trivial behaviors'. Certainly Dojo or
ExtJS or other libraries may be better suited for a particular project, but jQuery is much
more than just making animations. – DA Mar 18 at 3:47
@DA: Ok, it is dom library with a few utility methods thrown in, where it is comprehensive
and really shines is in dom manipulation. Ext is a a full GUI toolkit, but it isn't a
comprehensive library either. Things like Dojo and sproutcore are full platforms that cover
everything you need to write a javascript application. JQuery is useful for sites, or for
webapps where the majority of the work is done server side. – Matt Briggs Mar 18 at 3:51
1
rebecca murphy did a great job talking about this here blog.rebeccamurphey.com/on-jquery-
large-applications (although backbone didnt exist when she wrote it). Personally, I prefer a
"hodgepodge of tools" when I can get away with it rather then massive frameworks. But
even though I would rather tie all the pieces together that I need, I think it would be a lie to
say that it is in any way more productive to wire all that stuff together then use something
appropriate for the problem in the first place. – Matt Briggs Mar 18 at 3:56
That's a good blog post. And I agree. That said, I'd say jQuery, in the enterprise, 75% of the
time, is going to be an improvement over what is currently there (often a mish-mash of
antiquated active-x controls, bloated paid-for JS components, way too much being handled
server-side, Flash, browser-centric code, etc.). I've been a part of projects where Dojo was
spec'd before realizing a) all they really needed was some nice UI improvements and b) they
couldn't find anyone that had used it. ;) – DA Mar 18 at 4:07
PHP
MP (Windows, Apache, MySQL, PHP/Perl/Python)
WAMP is a form of mini-server that can run on almost any Windows Operating System. WAMP
includes Apache 2, PHP 5 (SMTP ports are disabled), and MySQL (phpMyAdmin and SQLitemanager
are installed to manage your databases) preinstalled.
An icon on the taskbar tray displays the status of WAMP, letting you know if; a) WAMP is running but
no services are opened (the icon will appear red), b) WAMP is running and one service is opened (the
icon will appear yellow) or c) WAMP is running with all services opened (the icon will appear white).
Apache and MySQL are considered to be services (they can be disabled by left-clicking on the taskbar
icon, guiding your cursor over the service you wish to disable and selecting "Stop Service").
The files/web pages that are hosted on your WAMP server can be accessed by typing http:/localhost or
http://127.0.0.1/ in the address bar of your web browser. WAMP must be running in order to access
either of the above addresses.
WA
Read more: http://wiki.answers.com/Q/What_is_wamp_server#ixzz1JspUh6qQ
Do I need a website? (-)
A website is not a luxury in today’s competitive markets. It is simply a must. Without a good
website your business will always be a step behind your competition.
1. What is the difference between a freelancer & a reputable web development company? (-)
A freelancer is a self-employed web designer or developer who works independently and
directly with their clients, while a reputable design & Development firm is an established
company that provides complete solutions for clients. The main advantage of using a firm is that
the range of services they offer is much greater and their expertise in each of these services is
usually a lot higher due to the fact that they have a team of people behind them. Furthermore, in
dealing with a firm, you have the peace of mind knowing that your developers will complete
their assigned tasks on time and within the budget and will be there tomorrow when you need to
take your web projects to the next level. One main problem a lot of clients have faced in the past
when dealing with freelancers is the lack of professionalism.
2. What constitute a professional web layout? (-)
A professional web layout is not simply a layout that looks good. It also has to use proper color
schemes, be functional and achieve its task of generating income or increasing the awareness of
your products or services well.
3. Is hosting and domain registration included in web development? (-)
Domain registration and web hosting is NOT commonly included in the web development
process. However a good development firm will be there to consult you on what domains would
be better and guide you through the process in order to achieve the maximum return on the
investment you have made in purchasing a website.
4. What is the difference between Dedicated (Private) hosting vs. Shared Hosting? (-)
Dedicated hosting is when your site is the only site on a given physical server. You may either
use a third-party hosting company or opt to host your site on a server on site (not-
recommended). Shared hosting is when your site is hosted within a shared environment. In this
case, multiple websites will be hosted by the provider on a given physical server. The shared
solution is much cheaper than the dedicated solution. However the drawback of the shared
environment is that you are compromising on performance and security.
5. What are LAMP Servers? (-)
LAMP is an acronym for the Linux (operating system), Apache (web server), MySQL Database
& Perl, PHP, or Python (scripting languages) used in combination to create a server. These
softwares were not written exclusively to be used together, but their combined solution is very
popular in todays servers. The main advantage of a LAMP server is that it uses all open source
technologies that are free of charge. At the same time the LAMP is perfectly suitable for use in
small businesses all the way up to large enterprise solutions.
6. What are Microsoft Servers? (-)
Microsoft web server is one that is setup on the Microsoft server 2003 operating system.
Microsoft products, being proprietary software, are quite costly, and many clients prefer to
implement the LAMP server. For more information on Microsoft Servers please refer to the
Microsoft website.
7. Where can I find the right hosting paDo I need a website? (-)
A website is not a luxury in today’s competitive markets. It is simply a must. Without a good
website your business will always be a step behind your competition.
1. What is the difference between a freelancer & a reputable web development company? (-)
A freelancer is a self-employed web designer or developer who works independently and
directly with their clients, while a reputable design & Development firm is an established
company that provides complete solutions for clients. The main advantage of using a firm is that
the range of services they offer is much greater and their expertise in each of these services is
usually a lot higher due to the fact that they have a team of people behind them. Furthermore, in
dealing with a firm, you have the peace of mind knowing that your developers will complete
their assigned tasks on time and within the budget and will be there tomorrow when you need to
take your web projects to the next level. One main problem a lot of clients have faced in the past
when dealing with freelancers is the lack of professionalism.
2. What constitute a professional web layout? (-)
A professional web layout is not simply a layout that looks good. It also has to use proper color
schemes, be functional and achieve its task of generating income or increasing the awareness of
your products or services well.
3. Is hosting and domain registration included in web development? (-)
Domain registration and web hosting is NOT commonly included in the web development
process. However a good development firm will be there to consult you on what domains would
be better and guide you through the process in order to achieve the maximum return on the
investment you have made in purchasing a website.
4. What is the difference between Dedicated (Private) hosting vs. Shared Hosting? (-)
Dedicated hosting is when your site is the only site on a given physical server. You may either
use a third-party hosting company or opt to host your site on a server on site (not-
recommended). Shared hosting is when your site is hosted within a shared environment. In this
case, multiple websites will be hosted by the provider on a given physical server. The shared
solution is much cheaper than the dedicated solution. However the drawback of the shared
environment is that you are compromising on performance and security.
5. What are LAMP Servers? (-)
LAMP is an acronym for the Linux (operating system), Apache (web server), MySQL Database
& Perl, PHP, or Python (scripting languages) used in combination to create a server. These
softwares were not written exclusively to be used together, but their combined solution is very
popular in todays servers. The main advantage of a LAMP server is that it uses all open source
technologies that are free of charge. At the same time the LAMP is perfectly suitable for use in
small businesses all the way up to large enterprise solutions.
6. What are Microsoft Servers? (-)
Microsoft web server is one that is setup on the Microsoft server 2003 operating system.
Microsoft products, being proprietary software, are quite costly, and many clients prefer to
implement the LAMP server. For more information on Microsoft Servers please refer to the
Microsoft website.
7. Where can I find the right hosting package for me? (-)
Hosting is an interesting issue that needs some serious thought put into it. The most important
advice you can get in terms of hosting will come from your web developer. Once you have a
clear idea of the functions of your website and the type of bandwidth requirements you will
have, you can decide whether to opt for a shared or dedicated solution. Once this decision is
made you must either select a windows or Linux (LAMP) server. This decision has to be done
before your site is developed. Your website will be built according to the hosting environment
that you have selected. Since Microsoft is proprietary software while LAMP is open source, you
will find that LAMP solutions are generally much cheaper than the Microsoft solutions.
8. What is FLASH and how does it work? (-)
Flash, in a nutshell, is the common term for Adobe Flash formerly known as Macromedia Flash.
This refers to both the player (free to download) and the authoring software used to create the
high impact multimedia animations that are viewed with this player. For more information
please read the full resource on flash.
9. How much will this cost and what guarantees do I get? (-)
The key to building an effective website within budget restrictions is good planning and a great
developer. We can assist you from the beginning of your planning process to the completion of
your website in order to maintain solutions that strictly adhere to your budget restrictions and to
avoid any surprises that could come up in the future. We also provide our clients with a
satisfaction guarantee giving you peace of mind. Lastly, we offer our clients an initial free
consultation and sample design mockup free of charge with no obligation. Therefore, if you are
prepared to take your business to the next level, and improve your online marketing, contact us
today, and we will be happy to be of service.
8.
ckage for me? (-)
Hosting is an interesting issue that needs some serious thought put into it. The most important
advice you can get in terms of hosting will come from your web developer. Once you have a
clear idea of the functions of your website and the type of bandwidth requirements you will
have, you can decide whether to opt for a shared or dedicated solution. Once this decision is
made you must either select a windows or Linux (LAMP) server. This decision has to be done
before your site is developed. Your website will be built according to the hosting environment
that you have selected. Since Microsoft is proprietary software while LAMP is open source, you
will find that LAMP solutions are generally much cheaper than the Microsoft solutions.
9. What is FLASH and how does it work? (-)
Flash, in a nutshell, is the common term for Adobe Flash formerly known as Macromedia Flash.
This refers to both the player (free to download) and the authoring software used to create the
high impact multimedia animations that are viewed with this player. For more information
please read the full resource on flash.
10.How much will this cost and what guarantees do I get? (-)
The key to building an effective website within budget restrictions is good planning and a great
developer. We can assist you from the beginning of your planning process to the completion of
your website in order to maintain solutions that strictly adhere to your budget restrictions and to
avoid any surprises that could come up in the future. We also provide our clients with a
satisfaction guarantee giving you peace of mind. Lastly, we offer our clients an initial free
consultation and sample design mockup free of charge with no obligation. Therefore, if you are
prepared to take your business to the next level, and improve your online marketing, contact us
today, and we will be happy to be of service.
<!--
google_ad_client = "pub-0048225869877719";
google_ad_slot = "3851696716";
google_ad_width = 728;
google_ad_height = 90;
//-->Building a LAMP Server
by Bruce Timberlake
This document will walk you through the installation of what is known as a "LAMP" system: Linux,
Apache, MySQL and PHP. Depending on who you talk to, the P also stands for Perl or Python, but
in general, it is assumed to be PHP. I run CentOS on my servers; these directions were written for
CentOS/Red Hat/Fedora. I have had requests for SuSE (another RPM-based distribution) as well as
Debian-based systems, so I will work on variants of these directions for those distributions in the future
(donations might help speed that process up!). The main difference between the distributions is in the
paths to the startup scripts. Red Hat systems used /etc/rc.d/init.d and SuSE uses
/etc/init.d.
I have my first translation! Belorussian provided by Ucallweconn -- thank you very much!
If you need an SSL-enabled server, I have a LAMP with SSL howto as well.
I designed this document so you can just copy/paste each line or block of commands into your shell
session and it will "just work" for you. This avoids tedious typing, and the inevitable typos or missed
steps that result. These commands work properly via copy/paste. If you are having problems and
you are not using copy/paste, please re-check your typing before sending me an email saying "It
doesn't work."
Text in a "command" box like this one is a literal Linux commandline, and should be typed or pasted
exactly as written.
One note: many many people have followed these directions as written, and have not had any
problems.
If you are having a problem, chances are it's something you are doing (or not doing), something
different
about your computer, etc.
chown -R root.root *
make clean
./configure \
--prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--disable-maintainer-mode \
--with-mysqld-user=mysql \
--with-unix-socket-path=/tmp/mysql.sock \
--without-comment \
--without-debug \
--without-bench
18-Jul-2005: If you are installing MySQL 4.0.x on Fedora Core 4, there is a problem with
LinuxThreads that prevents MySQL from compiling properly. Installing on Fedora Core 3 works fine
though. Thanks to Kevin Spencer for bringing this to my attention. There is a workaround listed at
http://bugs.mysql.com/bug.php?id=9497. Thanks to Collin Campbell for that link. Another solution can
be found at http://bugs.mysql.com/bug.php?id=2173. Thanks to Kaloyan Raev for that one.
Now comes the long part, where the source code is actually compiled and then installed. Plan to get
some coffee or take a break while this step runs. It could be 10-15 minutes or more, depending on your
system's free memory, load average, etc.
make && make install
Configure MySQL
MySQL is "installed" but we have a few more steps until it's actually "done" and ready to start. First
run the script which actually sets up MySQL's internal database (named, oddly enough, mysql).
./scripts/mysql_install_db
Then we want to set the proper ownership for the MySQL directories and data files, so that only
MySQL (and root) can do anything with them.
chown -R root:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data
Copy the default configuration file for the expected size of the database (small, medium, large, huge)
cp support-files/my-medium.cnf /etc/my.cnf
chown root:sys /etc/my.cnf
chmod 644 /etc/my.cnf
If you get an error message about the data directory not existing, etc., something went wrong in the
mysql_install_db step above. Go back and review that; make sure you didn't get some sort of
error message when you ran it, etc.
Now we have to tell the system where to find some of the dynamic libraries that MySQL will need to
run. We use dynamic libraries instead of static to keep the memory usage of the MySQL program itself
to a minimum.
echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
ldconfig
Now create a startup script, which enables MySQL auto-start each time your server is restarted.
cp ./support-files/mysql.server /etc/rc.d/init.d/mysql
chmod +x /etc/rc.d/init.d/mysql
/sbin/chkconfig --level 3 mysql on
Then set up symlinks for all the MySQL binaries, so they can be run from anyplace without having to
include/specify long paths, etc.
cd /usr/local/mysql/bin
for file in *; do ln -s /usr/local/mysql/bin/$file /usr/bin/$file; done
MySQL Security Issues
First, we will assume that only applications on the same server will be allowed to access the database
(i.e., not a program running on a physically separate server). So we'll tell MySQL not to even listen on
port 3306 for TCP connections like it does by default.
Edit /etc/my.cnf and uncomment the
skip-networking
line (delete the leading #).
For more security info, check out this MySQL security tutorial.
Start MySQL
First, test the linked copy of the startup script in the normal server runlevel start directory, to make sure
the symlink was properly set up:
cd ~
/etc/rc.d/rc3.d/S90mysql start
If you ever want to manually start or stop the MySQL server, use these commands:
/etc/rc.d/init.d/mysql start
/etc/rc.d/init.d/mysql stop
Let's "test" the install to see what version of MySQL we're running now:
mysqladmin version
It should answer back with the version we've just installed...
Now we'll set a password for the MySQL root user (note that the MySQL root user is not the same
as the system root user, and definitely should not have the same password as the system root
user!).
mysqladmin -u root password new-password
(obviously, insert your own password in the above command instead of the "new-password" string!)
You're done! MySQL is now installed and running on your server. It is highly recommended that you
read about MySQL security and lock down your server as much as possible. The MySQL site has info
at http://www.mysql.com/doc/en/Privilege_system.html.
Test MySQL
To run a quick test, use the command line program mysql:
mysql -u root -p
and enter your new root user password when prompted. You will then see the MySQL prompt:
mysql>
First, while we're in here, we'll take care of another security issue and delete the sample database test
and all default accounts except for the MySQL root user. Enter each of these lines at the mysql>
prompt:
drop database test;
use mysql;
delete from db;
delete from user where not (host="localhost" and user="root");
flush privileges;
As another security measure, I like to change the MySQL administrator account name from root to
something harder to guess. This will make it that much harder for someone who gains shell access to
your server to take control of MySQL.
MAKE SURE YOU REMEMBER THIS NEW NAME, AND USE IT WHEREVER
YOU SEE "root" IN OTHER DIRECTIONS, WEBSITES, ETC.
mysql>
Delete the database:
drop database foo;
You should see the result:
Query OK, 0 rows affected (0.06 sec)
mysql>
To exit from mysql enter \q:
\q
Build and Install Apache (with DSO support)
The advantage to building Apache with support for dynamically loaded modules is that in the future,
you can add functionality to your webserver by just compiling and installing modules, and restarting
the webserver. If the features were compiled into Apache, you would need to rebuild Apache from
scratch every time you wanted to add or update a module (like PHP). Your Apache binary is also
smaller, which means more efficient memory usage.
The downside to dynamic modules is a slight performance hit compared to having the modules
compiled in.
cd /usr/local/src/apache_1.3.37
make clean
./configure \
--prefix=/usr/local/apache \
--enable-shared=max \
--enable-module=rewrite \
--enable-module=so
./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--disable-debug \
--enable-ftp \
--enable-inline-optimization \
--enable-magic-quotes \
--enable-mbstring \
--enable-mm=shared \
--enable-safe-mode \
--enable-track-vars \
--enable-trans-sid \
--enable-wddx=shared \
--enable-xml \
--with-dom \
--with-gd \
--with-gettext \
--with-mysql=/usr/local/mysql \
--with-regex=system \
--with-xml \
--with-zlib-dir=/usr/lib
cp php.ini-dist /usr/local/lib/php.ini
I like to keep my config files all together in /etc. I set up a symbolic link like this:
ln -s /usr/local/lib/php.ini /etc/php.ini
Then I can just open /etc/php.ini in my editor to make changes.
Recommended reading on securing your PHP installation is this article at SecurityFocus.com.
Edit the Apache Configuration File (httpd.conf)
I like to keep all my configuration files together in /etc, so I set up a symbolic link from the actual
location to /etc:
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf
Now open /etc/httpd.conf in your favorite text editor, and set all the basic Apache options in
accordance with the official Apache instructions (beyond the scope of this HOWTO).
Also recommended is the article on securing Apache.
To ensure your PHP files are properly interpreted, and not just downloaded as text files, remove the #
at the beginning of the lines which read:
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
If the AddType lines above don't exist, manually enter them (without the leading # of course) after the
line
AddType application/x-tar .tgz
or anyplace within the <IfModule mod_mime.c> section of httpd.conf.
If you wish to use other/additional extensions/filetypes for your PHP scripts instead of just .php, add
them to the AddType directive:
AddType application/x-httpd-php .php .foo
AddType application/x-httpd-php-source .phps .phtmls
An example: if you wanted every single HTML page to be parsed and processed like a PHP script, just
add .htm and .html:
AddType application/x-httpd-php .php .htm .html
There will be a bit of a performance loss if every single HTML page is being checked for PHP code
even if it doesn't contain any. But if you want to use PHP but be "stealthy" about it, you can use this
trick.
Add index.php to the list of valid Directory Index files so that your "default page" in a directory can
be named index.php.
<IfModule mod_dir.c>
DirectoryIndex index.php index.htm index.html
</IfModule>
You can add anything else you want here too. If you want foobar.baz to be a valid directory index
page, just add the .baz filetype to the AddType line, and add foobar.baz to the
DirectoryIndex line.
Start Apache
We want to set Apache up with a normal start/stop script in /etc/rc.d/init.d so it can be auto-
started and controlled like other system daemons. Set up a symbolic link for the apachectl utility
(installed automatically as part of Apache):
ln -s /usr/local/apache/bin/apachectl /etc/rc.d/init.d/apache
Then set up auto-start for runlevel 3 (where the server will go by default):
ln -s /etc/rc.d/init.d/apache /etc/rc.d/rc3.d/S90apache
Then start the daemon:
/etc/rc.d/init.d/apache start
You can check that it's running properly by doing:
ps -ef
and look for the httpd processes.
If you find this page useful, please consider making a secure donation:
Cascading Style Sheets or CSS are an important way to control how your Web pages look. CSS can
control the fonts, text, colors, backgrounds, margins, and layout. But it can be very difficult to learn
CSS, and some people would rather not learn it. There are some very good reasons to learn CSS so that
you can control your Web pages look.
Modify your site designs to look how you want them to look
It's easy to take a free Web template and build a website. But these templates can be very plain or
common. So your website will look like every other site on the internet. By learning CSS you can
modify pre-built templates so that they have your colors and styles. Thus you'll have a customized
website without a lot of effort.
zSB(3,3)Sponsored Links
Drop-Down MenusCreate cross-browser & feature-rich menus-No programming skills needed!
www.likno.com
Reunite With Your FriendsFind All Your Old Friends & Get In Touch Instantly. Join Orkut Today!
www.google.com/Orkut
Are You a Designer ?Get an Opportunity to Work On Creative Designs. Apply Now!
www.ivistasolutions.com
Save money
There are a lot of Web designers who will build your website or your CSS for you. But paying
someone else to maintain your website or blog can get expensive, even if you only have them create the
designs and you then maintain the content. Knowing how to modify the CSS will save you money
when you find small problems that you can fix yourself. And as you practice, you'll be able to fix
bigger and bigger problems.
Earn money
Once you know CSS really well, you can sell these services to other websites. And if you're looking to
become a freelance Web designer, you won't get far if you don't know CSS.
Redesign your site more quickly
Many older websites that were built without CSS are very difficult to redesign. But once a site is built
with CSS hooks it can be redesigned very quickly. Changing things like the colors and backgrounds
can change how a site looks with very little effort. In fact, many sites now put up special versions of
their sites for special occasions and they can do this because it only takes a few hours to create an
alternate style sheet for the occasion.
\
CSS style sheets allow better control pf web pages during their development. Cascading Style Sheets
or CSS are style sheets that are linked into the other documents of your site and let’s you take control
of a wide variety of aspects of your site.
While the (x)HTML of your site deals with the actual content and structure of your website, one CSS
file has have power over the fonts, colors, positioning, styling of the data for the entire website. Doing
this helps avoid code bloat in your pages, makes them load faster, render across different media types,
and the benefits go on and on….
There are many benefits to using CSS, and they are listed below.
- Web pages load easier and they use less bandwidth: many web developers like to use CSS style
sheets because they don’t use as much bandwidth as table layouts do. The sheets are downloaded once
and stored in cache memory so pages will load quicker.
- CSS goes well with HTML: when HTML is added to CSS they make well-built, technical sites.
- CSS will let you position components anywhere on the page: developers really like CSS because
they can put elements anywhere they feel like. It is easier for them to make changes on sites they are
working on. CSS decreases the risks that deal with website maintenance.
- CSS is compatible with every web browser: it is mixed with HTML or XHTML to produce web
applications because it is compatible with all kind of web browsers.
- CSS may be used to produce print friendly web pages: web developers also like to use CSS because
they can produce print friendly pages. This means the items like images or colors which used to be
difficult to print are now printed up simply.
- CSS lest users customize web pages: lots of current websites let users change the layout or theme of
the site without changing the content. Because CSS sheets are stowed externally, the users can make
changes on their own. Items like the style of font are now able to be changed.
- Your website will be highlighted in the search engines easier: developers like CSS because they can
put components anywhere on the page. This positioning assists in launching the key contents first so
the spiders can find them. The HTML code of CSS is simpler and it will make the spider’s job easier
by getting them to the real content quicker.
- CSS lets the web pages stay consistent: every expression and text will have characteristics from the
external style sheets. Developers don’t need to fret about the characteristic changes in the elements
because they have the ability to be changed at any time with the CSS.
- CSS makes content moveable: with CSS there can be many style sheets for various media. This lets
you have some give when displaying the content. You can also change the characteristics of the
components in the site to fit your situation.
The point of CSS is to make things easier on your website and let you have control over many
components on the site. You can use these advantages to have more user-friendly pages that search
engines also embrace well.
If you need help understanding CSS more, or would like to have your site evalueated pleae contact us
at 248-582-9210, online or comment to this post.
Why Valid Html Code Is Important To Your
Web Site
Originally Published: September 28, 2004
Editor's Note: For more information about indexing and spidering problems see site
indexing problems and why search engine spiders miss pages. Consider hiring a
professional webmaster to make your site HTML compliant.
Many webmasters overlook a very important aspect of web site promotion: the validity of the HTML
code.
jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event
handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change
the way that you write JavaScript.
There really is so much to say about the benefits of using jQuery and making web pages more
interactive and exciting for user experience. The basic advantages alone show us that jQuery is
beneficial to search engine optimization, faster loading web pages, cross-browser compatibility, user
experience, and that it’s typically easy for web developers to implement. jQuery is a wonderful tool
that web developers can now utilize to add a bit of excitement to your website without compromise!
JavaScript frameworks like Script.aculo.us, Prototype or Mootools are very popular. In fact,
there are numerous attempts developing and maintaining a good JavaScript framework that can
be used with ease by those non familiar with this client side scripting language. What my point is
not that the frameworks mentioned above are not good enough; there are lots of people who
swear for them, but my point is that jQuery is something different!
1. No problem if an elements doesn’t exists (needless to check null objects)
2. Incredibly good CSS selector integration
3. Using chains of actions
4. Model-View-Controller + JavaScript architecture (great decoupling, benefits of cohesion)
5. Great community behind: lots of great plugins and helpful support
6. Simple, clean development
7. AJAX just performs great!
8. Tons of tutorials online
9. Lightweight (less than 20 KB)
10.CSS 3 compliant and
jQuery is basically a JavaScript library and it was designed to make the client-side scripting of
HTML more simple. The person responsible for its birth is John Resig at BarCamp NYC in
2006.
It is an open-source software and dual-licensed by MIT License and the GNU General Public License.
Version 2. jQuery has received an enormous success and it is used by 31% of the 10,000 most visited
websites over internet. This makes jQuery the most popular JavaScript library being used today. We
have been sharing jQuery related posts for some time now, so I came up with a post that just defines
this new fashion of developing websites.
Before we go further remember to Subscribe to our Free Rss Feed or Follow us on
Introduction
The best thing I like in the syntax is that document navigation is quite easy, the code is also very
compact (their slogan is Write Less, Do More); yet it works great for:
• Creating Animations
• Handling Events
• Selecting DOM Elements
• Developing Ajax Programs
jQuery is excellent for developing dynamic web pages and page elements. It allows the developers to
create plugins that would work on top of the JavaScript library. These capabilities enable the designers
to make abstractions for low-level interactions and animations, and also to create high-level widgets.
Perks
Simplicity
It can be added to any HTML code in using this simple method.
view source
Object 9
print?
1 <head>
2 <script type="text/javascript" src="jquery.js"></script>
3
4 <script type="text/javascript">
5 .....
6 </script>
7 </head>
You can download jQuery from jQuery Download Page
Implementation
There are two basic ways to use jQuery.
1. via the $ function, which can be called the default work method for the jQuery object. $
functions, often called commands, are patchable; so each of them returns a jQuery object.
2. via $.-prefixed functions. These are utility functions which do not work on the jQuery object
per se.
Typically, access and manipulation with multiple DOM nodes begins with the $ function being called
with a CSS selector string, which results in a jQuery object referencing matching elements in the
HTML page.
Plugins
jQuery has got a very well organized architecture. Developers can use it to create their own add-on
code to take its functionality to a whole new level. There are millions of jQuery plugins already
available on internet for free, including Ajax helpers, data grids, XML tools, drag and drop, cookie
handlers…. and the list goes on and on. Probably the best place to download jQuery Plugins is jQuery’s
homepage
Special Effects
Another fancy thing about jQuery is that can create special effects with very little code. Here’s an
example of an onClick Fade Out function:
view source
Object 10
print?
01 <pre><code><!DOCTYPE html>
02 <html>
03 <head>
04 <style>
05 p { font-size:150%; cursor:pointer; }
06 </style>
07 <script src="http://code.jquery.com/jquery-1.4.4.js"></script>
08 </head>
09 <body>
10 <p>
11 If you click on this paragraph
12 you'll see it just fade away.
13 </p>
14 <script>
15 $("p").click(function () {
16 $("p").fadeOut("slow");
17 });
18 </script>
19
20 </body>
21 </html></code></pre>
Now, when you will click this link, it will slowly disappear. You can check this demo and some more
good example tutorials here.
Drawbacks
Quite honestly, there are not many drawbacks, in fact, there are none. It’s just that sometimes one tool
is not suitable in a situation. It’s just a case of appropriateness. There still are a few things that you
should know before you decide to use jQuery on your website.
Use of Selector
jQuery always crosses through all the elements each time you use selectors. This makes the application
dull.
Solution: Cache your selections with some variable(s) if you are using the same selection at multiple
places. And if you are not selecting an element more than once, just don’t cache selection by assigning
it to some variable.
Browser Display
There have been many cases where the code worked fine in one browser, but some properties changed
in the other. Actually this is not a jQuery specific problem, this happens with many JavaScript based
applications, so it is critical that you don’t just test your page in one or two browsers, but in all of them
(at least the four major ones, IE-Firefox-Chrome-Opera).
Conclusion
Simply put, jQuery is great. You can easily perform tasks such as:
• drop down menus
• drag and drop elements
• animations and form validation
All of these with very little coding. Since it synchronizes well with PHP, .Net and most of the other
languages, it is a pretty handy resource.
DRAWBACKS
5 down A big, big drawback is its abstraction hides the "ugly parts" of JavaScript, therefore making
vote learning JS a lot more difficult. This is a problem that plagues the JS community. What
accepted ends up happening is you have designers/developers that can do simple rollovers and
slideshows, but run into big problems once real DOM manipulation comes into play.
Another drawback is not just size, but how amorphous jQuery really is. With each new
browser (most notably Internet Explorer), a fair amount of work is being done behind the
scenes to expand the codebase. This was most evident with IE8, in which a fair amount of
jQuery had to be re-written to at least comply with the newest version of IE. The result is
you have a giant collection of methods and properties (over 200KB since about jQuery
1.5). Even with a wide array of options to compress/cache the files, you're still going to
experience a decent amount of load time (a few seconds on a good connection).
One of those options is through Google's Content Distribution Network (CDN). It can
cache jQuery for you and lead to quicker load times. However, you're now relying on two
sources to operate flawlessly. Recently, Google flubbed one of the new (>= 1.5) versions
of jQuery. This led to some incompatibilities for a few hours and posed problems for
jQueryUI and various plugins. As I said earlier, you're relying on two sources to always
work. Saving your own localized version can mitigate this risk.
I think given proper planning and usage, it can be a boon to most projects. However, I do
emphasize that proper planning needs to be used. First ask yourself (or your team) if flashy
fades and pseudo-tweens are really required for your project. These are the types of things
that should be added last in order to maximize efficiency.
Those are the problems I have on my mind right now. Hopefully, this will be of some aid
to you in the future.
One technique I've seen is to serve your own copy of jQuery, and put a timestamp in the
filename (e.g. "jQuery_20110317.min.js") and tell your web server to set the cache
expiration time for that file to a year. Then your users only load it once per year at most,
unless you post a new version and change the filename. The downside is you have to
change the filename in every <script> tag it's used in. – Mike DeSimone Mar 18 at 3:43
1
"A big, big drawback is its abstraction hides the "ugly parts" of JavaScript" <-- which is
also the major benefit for using it. – DA Mar 18 at 3:46
show 1 more comment
up vote 1 I think it depends on the level of JavaScript expertise we're talking about. If we're talking
down from the beginner through intermediate perspective, the drawback is that it can be a crutch
vote preventing developers from honing their native JS skills (on the other hand, it can also be a
bridge INTO JS development - it certainly has been for me).
Once you become interested in working more in pure JS, the main drawback is that it is
DOM-centric. As your programming becomes more data-focused, the bias towards the
DOM can sometimes get in the way.
It can also get a bit tricky to keep all your code organized as your code gets larger.
I think what I would most like to see going forward is some sort of dependency management
- eg, let my scripts auto-load, or not, any needed plugins and components.
Having said all that, I am definitely a fan of jQuery and it is my JS library of choice. I find
the strengths far outweigh the weaknesses, and that it is improving all the time.
answered Mar 18 at 3:21
link|edit|flag
Philip Schweiger
1506
Have you looked at backbone? IMO for a good js dev, jquery + backbone + underscore +
handlebars can be a really nice "stack" for larger scale work. – Matt Briggs Mar 18 at 4:08
I recently discovered underscore, which is really useful. Have heard of, but not explored,
backbone - will definitely check out that and handlebars! – Philip Schweiger Mar 18 at
13:26
Compared to what? In what context? In and of itself, it's hard to say it has any drawbacks.
• it's big. The jQuery library is a hit on your server and something the end-user has to
download. Minimizing, CDN'ing, Caching, etc all help minimize it, but if you're are
looking for super-light-weight JS solution, writing it from scratch will likely get you
a small file size.
• a lot of the DOM CSS manipulation it does isn't necessarily optimized from an
accessibility POV. It's getting better...especially all the ARIA stuff the filament
group is doing
up vote 1
down • not everyone is a fan of jQuery UI. It's good, for sure. But also a bit heavy handed,
vote IMHO.
• it can be a bit confusing if you don't understand some of the basics of JS. It's good to
understand what jQuery is doing behind the scenes at times.
But, honestly, you have to dig to really complain about it. IMHO, jQuery + StackOverflow
has made Web Development fun again. ;o)
link|edit|flag
DA
3,574619
up vote Almost nothing, jQuery now matured and have a complete set of javascript functionality
0 down with cross browser support. Out from the jQuery core scope, there are a lots of plugin can be
vote use to extend the feature. If you afraid on trying the new thing like jQuery, simply try it first.
Sure you will not going back to native javascript programming.
CallMeLaNN
457111
See this bugs.jquery.com/roadmap for their to do list. – CallMeLaNN Mar 18 at 3:19
1
That's a pretty naive answer with all things considered. It's not the magical unicorn that
does everything and anything for you. – Matt McDonald Mar 18 at 3:20
yes but based on much projects I experienced in real world, jQuery does not give any
drawback rather than making development fast. – CallMeLaNN Mar 18 at 3:25
1
Also don't get me wrong, I love jQuery ... I'm just showing you the other side of the story
up vote 0
:)
down vote
answered Mar 18 at 3:25
link|edit|flag
Mike Lewis
9,8491419
For me, any drawbacks with jQuery would not be about what features it's missing, but what
unnecessary features it includes.
• jQuery seems to include so many different ways of doing the same thing. Even within
the same method, there are often different ways to order the arguments.
It means that the documentation seems needlessly complex in places and it's hard to
remember every different way of using some method. It can make it harder to
up vote
understand other people's code if they use different ways of doing the same thing.
0 down
vote
• The codebase just keeps growing. Less than 30Kb gzipped and minified is still
impressive, but it's reaching the size where it's larger than any CSS file or header
image I ever had to load. It takes a "monolithic kernel" sort of approach to a Javascript
library, which is probably a large factor in its success - it includes everything you'd
want in one place rather than making it more modular.
It's not a huge complaint. jQuery is very powerful and robust. But I brought this up because
the original question seems to assume that jQuery could only be improved by adding more
features to it. I disagree - jQuery has reached a maturity level where lack of features is no
longer one of its major drawbacks.
link|edit|flag
thomasrutter
11.6k2145
I never thought of any unnecessary features already present in jQuery, thanks for pointing
me in that direction. – Rachel Mar 18 at 3:33
There are never different ways to order arguments, some of them are just optional and you
will often see options hashes. IMO that is the only sane way of doing things, the alternative
tends to be fairly unreadable code, even if the documentation becomes more straight
forward. – Matt Briggs Mar 18 at 3:47
I struggled with my choice of words I think. When I said different ways to order arguments
I meant that many methods could be given different combinations of arguments to achieve
the same thing, or sometimes even adding arguments would distinctly change behaviour.
Such as, including an "options" object vs listing the same options as separate arguments, or
adding an extra argument to make the method change from a getter to a setter.
– thomasrutter Mar 21 at 6:22
up vote If the question is "Should I use a library for javascript?" The answer is an unequivocal yes.
0 down The worst thing about javascript is the differing implementations, and using a js library will
vote dramatically mitigate that problem. There hasn't been much professional javascript work done
without using some sort of library since around 2005 or so when prototype hit.
If the question is more "What are the relative strengths of JQuery?", here are some points
• It is only a dom abstraction library. If you need to do more then small animations or
style changes, jquery by itself is not enough.
• That being said, that is all most people want to do, which is a big part of why it is so
popular. The problem with extreme popularity is people who are not serious javascript
developers tend to think javascript == jquery, which it really isn't.
• Basically, if you are adding some trivial behavior to a page, jquery is fantastic. If you
are building a "RIA" webapp, you want to look more at dojo (or even sproutcore,
depending on how far you want to go). If you are somewhere in the middle, MooTool
will do everything you need.
• If you are the type of person that would rather build their own toolset rather then go
for a "Everything and the kitchen sink" type framework, jquery + underscore +
backbone will take you pretty far.
Matt Briggs
11.4k11039
It's more than 'just' a dom abstraction library for 'small trivial behaviors'. Certainly Dojo or
ExtJS or other libraries may be better suited for a particular project, but jQuery is much
more than just making animations. – DA Mar 18 at 3:47
@DA: Ok, it is dom library with a few utility methods thrown in, where it is comprehensive
and really shines is in dom manipulation. Ext is a a full GUI toolkit, but it isn't a
comprehensive library either. Things like Dojo and sproutcore are full platforms that cover
everything you need to write a javascript application. JQuery is useful for sites, or for
webapps where the majority of the work is done server side. – Matt Briggs Mar 18 at 3:51
1
rebecca murphy did a great job talking about this here blog.rebeccamurphey.com/on-jquery-
large-applications (although backbone didnt exist when she wrote it). Personally, I prefer a
"hodgepodge of tools" when I can get away with it rather then massive frameworks. But
even though I would rather tie all the pieces together that I need, I think it would be a lie to
say that it is in any way more productive to wire all that stuff together then use something
appropriate for the problem in the first place. – Matt Briggs Mar 18 at 3:56
That's a good blog post. And I agree. That said, I'd say jQuery, in the enterprise, 75% of the
time, is going to be an improvement over what is currently there (often a mish-mash of
antiquated active-x controls, bloated paid-for JS components, way too much being handled
server-side, Flash, browser-centric code, etc.). I've been a part of projects where Dojo was
spec'd before realizing a) all they really needed was some nice UI improvements and b) they
couldn't find anyone that had used it. ;) – DA Mar 18 at 4:07
PHP
MP (Windows, Apache, MySQL, PHP/Perl/Python)
WAMP is a form of mini-server that can run on almost any Windows Operating System. WAMP
includes Apache 2, PHP 5 (SMTP ports are disabled), and MySQL (phpMyAdmin and SQLitemanager
are installed to manage your databases) preinstalled.
An icon on the taskbar tray displays the status of WAMP, letting you know if; a) WAMP is running but
no services are opened (the icon will appear red), b) WAMP is running and one service is opened (the
icon will appear yellow) or c) WAMP is running with all services opened (the icon will appear white).
Apache and MySQL are considered to be services (they can be disabled by left-clicking on the taskbar
icon, guiding your cursor over the service you wish to disable and selecting "Stop Service").
The files/web pages that are hosted on your WAMP server can be accessed by typing http:/localhost or
http://127.0.0.1/ in the address bar of your web browser. WAMP must be running in order to access
either of the above addresses.
WA
Read more: http://wiki.answers.com/Q/What_is_wamp_server#ixzz1JspUh6qQ
Do I need a website? (-)
A website is not a luxury in today’s competitive markets. It is simply a must. Without a good
website your business will always be a step behind your competition.
1. What is the difference between a freelancer & a reputable web development company? (-)
A freelancer is a self-employed web designer or developer who works independently and
directly with their clients, while a reputable design & Development firm is an established
company that provides complete solutions for clients. The main advantage of using a firm is that
the range of services they offer is much greater and their expertise in each of these services is
usually a lot higher due to the fact that they have a team of people behind them. Furthermore, in
dealing with a firm, you have the peace of mind knowing that your developers will complete
their assigned tasks on time and within the budget and will be there tomorrow when you need to
take your web projects to the next level. One main problem a lot of clients have faced in the past
when dealing with freelancers is the lack of professionalism.
2. What constitute a professional web layout? (-)
A professional web layout is not simply a layout that looks good. It also has to use proper color
schemes, be functional and achieve its task of generating income or increasing the awareness of
your products or services well.
3. Is hosting and domain registration included in web development? (-)
Domain registration and web hosting is NOT commonly included in the web development
process. However a good development firm will be there to consult you on what domains would
be better and guide you through the process in order to achieve the maximum return on the
investment you have made in purchasing a website.
4. What is the difference between Dedicated (Private) hosting vs. Shared Hosting? (-)
Dedicated hosting is when your site is the only site on a given physical server. You may either
use a third-party hosting company or opt to host your site on a server on site (not-
recommended). Shared hosting is when your site is hosted within a shared environment. In this
case, multiple websites will be hosted by the provider on a given physical server. The shared
solution is much cheaper than the dedicated solution. However the drawback of the shared
environment is that you are compromising on performance and security.
5. What are LAMP Servers? (-)
LAMP is an acronym for the Linux (operating system), Apache (web server), MySQL Database
& Perl, PHP, or Python (scripting languages) used in combination to create a server. These
softwares were not written exclusively to be used together, but their combined solution is very
popular in todays servers. The main advantage of a LAMP server is that it uses all open source
technologies that are free of charge. At the same time the LAMP is perfectly suitable for use in
small businesses all the way up to large enterprise solutions.
6. What are Microsoft Servers? (-)
Microsoft web server is one that is setup on the Microsoft server 2003 operating system.
Microsoft products, being proprietary software, are quite costly, and many clients prefer to
implement the LAMP server. For more information on Microsoft Servers please refer to the
Microsoft website.
7. Where can I find the right hosting paDo I need a website? (-)
A website is not a luxury in today’s competitive markets. It is simply a must. Without a good
website your business will always be a step behind your competition.
1. What is the difference between a freelancer & a reputable web development company? (-)
A freelancer is a self-employed web designer or developer who works independently and
directly with their clients, while a reputable design & Development firm is an established
company that provides complete solutions for clients. The main advantage of using a firm is that
the range of services they offer is much greater and their expertise in each of these services is
usually a lot higher due to the fact that they have a team of people behind them. Furthermore, in
dealing with a firm, you have the peace of mind knowing that your developers will complete
their assigned tasks on time and within the budget and will be there tomorrow when you need to
take your web projects to the next level. One main problem a lot of clients have faced in the past
when dealing with freelancers is the lack of professionalism.
2. What constitute a professional web layout? (-)
A professional web layout is not simply a layout that looks good. It also has to use proper color
schemes, be functional and achieve its task of generating income or increasing the awareness of
your products or services well.
3. Is hosting and domain registration included in web development? (-)
Domain registration and web hosting is NOT commonly included in the web development
process. However a good development firm will be there to consult you on what domains would
be better and guide you through the process in order to achieve the maximum return on the
investment you have made in purchasing a website.
4. What is the difference between Dedicated (Private) hosting vs. Shared Hosting? (-)
Dedicated hosting is when your site is the only site on a given physical server. You may either
use a third-party hosting company or opt to host your site on a server on site (not-
recommended). Shared hosting is when your site is hosted within a shared environment. In this
case, multiple websites will be hosted by the provider on a given physical server. The shared
solution is much cheaper than the dedicated solution. However the drawback of the shared
environment is that you are compromising on performance and security.
5. What are LAMP Servers? (-)
LAMP is an acronym for the Linux (operating system), Apache (web server), MySQL Database
& Perl, PHP, or Python (scripting languages) used in combination to create a server. These
softwares were not written exclusively to be used together, but their combined solution is very
popular in todays servers. The main advantage of a LAMP server is that it uses all open source
technologies that are free of charge. At the same time the LAMP is perfectly suitable for use in
small businesses all the way up to large enterprise solutions.
6. What are Microsoft Servers? (-)
Microsoft web server is one that is setup on the Microsoft server 2003 operating system.
Microsoft products, being proprietary software, are quite costly, and many clients prefer to
implement the LAMP server. For more information on Microsoft Servers please refer to the
Microsoft website.
7. Where can I find the right hosting package for me? (-)
Hosting is an interesting issue that needs some serious thought put into it. The most important
advice you can get in terms of hosting will come from your web developer. Once you have a
clear idea of the functions of your website and the type of bandwidth requirements you will
have, you can decide whether to opt for a shared or dedicated solution. Once this decision is
made you must either select a windows or Linux (LAMP) server. This decision has to be done
before your site is developed. Your website will be built according to the hosting environment
that you have selected. Since Microsoft is proprietary software while LAMP is open source, you
will find that LAMP solutions are generally much cheaper than the Microsoft solutions.
8. What is FLASH and how does it work? (-)
Flash, in a nutshell, is the common term for Adobe Flash formerly known as Macromedia Flash.
This refers to both the player (free to download) and the authoring software used to create the
high impact multimedia animations that are viewed with this player. For more information
please read the full resource on flash.
9. How much will this cost and what guarantees do I get? (-)
The key to building an effective website within budget restrictions is good planning and a great
developer. We can assist you from the beginning of your planning process to the completion of
your website in order to maintain solutions that strictly adhere to your budget restrictions and to
avoid any surprises that could come up in the future. We also provide our clients with a
satisfaction guarantee giving you peace of mind. Lastly, we offer our clients an initial free
consultation and sample design mockup free of charge with no obligation. Therefore, if you are
prepared to take your business to the next level, and improve your online marketing, contact us
today, and we will be happy to be of service.
8.
ckage for me? (-)
Hosting is an interesting issue that needs some serious thought put into it. The most important
advice you can get in terms of hosting will come from your web developer. Once you have a
clear idea of the functions of your website and the type of bandwidth requirements you will
have, you can decide whether to opt for a shared or dedicated solution. Once this decision is
made you must either select a windows or Linux (LAMP) server. This decision has to be done
before your site is developed. Your website will be built according to the hosting environment
that you have selected. Since Microsoft is proprietary software while LAMP is open source, you
will find that LAMP solutions are generally much cheaper than the Microsoft solutions.
9. What is FLASH and how does it work? (-)
Flash, in a nutshell, is the common term for Adobe Flash formerly known as Macromedia Flash.
This refers to both the player (free to download) and the authoring software used to create the
high impact multimedia animations that are viewed with this player. For more information
please read the full resource on flash.
10.How much will this cost and what guarantees do I get? (-)
The key to building an effective website within budget restrictions is good planning and a great
developer. We can assist you from the beginning of your planning process to the completion of
your website in order to maintain solutions that strictly adhere to your budget restrictions and to
avoid any surprises that could come up in the future. We also provide our clients with a
satisfaction guarantee giving you peace of mind. Lastly, we offer our clients an initial free
consultation and sample design mockup free of charge with no obligation. Therefore, if you are
prepared to take your business to the next level, and improve your online marketing, contact us
today, and we will be happy to be of service.
<!--
google_ad_client = "pub-0048225869877719";
google_ad_slot = "3851696716";
google_ad_width = 728;
google_ad_height = 90;
//-->Building a LAMP Server
by Bruce Timberlake
This document will walk you through the installation of what is known as a "LAMP" system: Linux,
Apache, MySQL and PHP. Depending on who you talk to, the P also stands for Perl or Python, but
in general, it is assumed to be PHP. I run CentOS on my servers; these directions were written for
CentOS/Red Hat/Fedora. I have had requests for SuSE (another RPM-based distribution) as well as
Debian-based systems, so I will work on variants of these directions for those distributions in the future
(donations might help speed that process up!). The main difference between the distributions is in the
paths to the startup scripts. Red Hat systems used /etc/rc.d/init.d and SuSE uses
/etc/init.d.
I have my first translation! Belorussian provided by Ucallweconn -- thank you very much!
If you need an SSL-enabled server, I have a LAMP with SSL howto as well.
I designed this document so you can just copy/paste each line or block of commands into your shell
session and it will "just work" for you. This avoids tedious typing, and the inevitable typos or missed
steps that result. These commands work properly via copy/paste. If you are having problems and
you are not using copy/paste, please re-check your typing before sending me an email saying "It
doesn't work."
Text in a "command" box like this one is a literal Linux commandline, and should be typed or pasted
exactly as written.
One note: many many people have followed these directions as written, and have not had any
problems.
If you are having a problem, chances are it's something you are doing (or not doing), something
different
about your computer, etc.
chown -R root.root *
make clean
./configure \
--prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--disable-maintainer-mode \
--with-mysqld-user=mysql \
--with-unix-socket-path=/tmp/mysql.sock \
--without-comment \
--without-debug \
--without-bench
18-Jul-2005: If you are installing MySQL 4.0.x on Fedora Core 4, there is a problem with
LinuxThreads that prevents MySQL from compiling properly. Installing on Fedora Core 3 works fine
though. Thanks to Kevin Spencer for bringing this to my attention. There is a workaround listed at
http://bugs.mysql.com/bug.php?id=9497. Thanks to Collin Campbell for that link. Another solution can
be found at http://bugs.mysql.com/bug.php?id=2173. Thanks to Kaloyan Raev for that one.
Now comes the long part, where the source code is actually compiled and then installed. Plan to get
some coffee or take a break while this step runs. It could be 10-15 minutes or more, depending on your
system's free memory, load average, etc.
make && make install
Configure MySQL
MySQL is "installed" but we have a few more steps until it's actually "done" and ready to start. First
run the script which actually sets up MySQL's internal database (named, oddly enough, mysql).
./scripts/mysql_install_db
Then we want to set the proper ownership for the MySQL directories and data files, so that only
MySQL (and root) can do anything with them.
chown -R root:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data
Copy the default configuration file for the expected size of the database (small, medium, large, huge)
cp support-files/my-medium.cnf /etc/my.cnf
chown root:sys /etc/my.cnf
chmod 644 /etc/my.cnf
If you get an error message about the data directory not existing, etc., something went wrong in the
mysql_install_db step above. Go back and review that; make sure you didn't get some sort of
error message when you ran it, etc.
Now we have to tell the system where to find some of the dynamic libraries that MySQL will need to
run. We use dynamic libraries instead of static to keep the memory usage of the MySQL program itself
to a minimum.
echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
ldconfig
Now create a startup script, which enables MySQL auto-start each time your server is restarted.
cp ./support-files/mysql.server /etc/rc.d/init.d/mysql
chmod +x /etc/rc.d/init.d/mysql
/sbin/chkconfig --level 3 mysql on
Then set up symlinks for all the MySQL binaries, so they can be run from anyplace without having to
include/specify long paths, etc.
cd /usr/local/mysql/bin
for file in *; do ln -s /usr/local/mysql/bin/$file /usr/bin/$file; done
MySQL Security Issues
First, we will assume that only applications on the same server will be allowed to access the database
(i.e., not a program running on a physically separate server). So we'll tell MySQL not to even listen on
port 3306 for TCP connections like it does by default.
Edit /etc/my.cnf and uncomment the
skip-networking
line (delete the leading #).
For more security info, check out this MySQL security tutorial.
Start MySQL
First, test the linked copy of the startup script in the normal server runlevel start directory, to make sure
the symlink was properly set up:
cd ~
/etc/rc.d/rc3.d/S90mysql start
If you ever want to manually start or stop the MySQL server, use these commands:
/etc/rc.d/init.d/mysql start
/etc/rc.d/init.d/mysql stop
Let's "test" the install to see what version of MySQL we're running now:
mysqladmin version
It should answer back with the version we've just installed...
Now we'll set a password for the MySQL root user (note that the MySQL root user is not the same
as the system root user, and definitely should not have the same password as the system root
user!).
mysqladmin -u root password new-password
(obviously, insert your own password in the above command instead of the "new-password" string!)
You're done! MySQL is now installed and running on your server. It is highly recommended that you
read about MySQL security and lock down your server as much as possible. The MySQL site has info
at http://www.mysql.com/doc/en/Privilege_system.html.
Test MySQL
To run a quick test, use the command line program mysql:
mysql -u root -p
and enter your new root user password when prompted. You will then see the MySQL prompt:
mysql>
First, while we're in here, we'll take care of another security issue and delete the sample database test
and all default accounts except for the MySQL root user. Enter each of these lines at the mysql>
prompt:
drop database test;
use mysql;
delete from db;
delete from user where not (host="localhost" and user="root");
flush privileges;
As another security measure, I like to change the MySQL administrator account name from root to
something harder to guess. This will make it that much harder for someone who gains shell access to
your server to take control of MySQL.
MAKE SURE YOU REMEMBER THIS NEW NAME, AND USE IT WHEREVER
YOU SEE "root" IN OTHER DIRECTIONS, WEBSITES, ETC.
mysql>
Delete the database:
drop database foo;
You should see the result:
Query OK, 0 rows affected (0.06 sec)
mysql>
To exit from mysql enter \q:
\q
Build and Install Apache (with DSO support)
The advantage to building Apache with support for dynamically loaded modules is that in the future,
you can add functionality to your webserver by just compiling and installing modules, and restarting
the webserver. If the features were compiled into Apache, you would need to rebuild Apache from
scratch every time you wanted to add or update a module (like PHP). Your Apache binary is also
smaller, which means more efficient memory usage.
The downside to dynamic modules is a slight performance hit compared to having the modules
compiled in.
cd /usr/local/src/apache_1.3.37
make clean
./configure \
--prefix=/usr/local/apache \
--enable-shared=max \
--enable-module=rewrite \
--enable-module=so
./configure \
--with-apxs=/usr/local/apache/bin/apxs \
--disable-debug \
--enable-ftp \
--enable-inline-optimization \
--enable-magic-quotes \
--enable-mbstring \
--enable-mm=shared \
--enable-safe-mode \
--enable-track-vars \
--enable-trans-sid \
--enable-wddx=shared \
--enable-xml \
--with-dom \
--with-gd \
--with-gettext \
--with-mysql=/usr/local/mysql \
--with-regex=system \
--with-xml \
--with-zlib-dir=/usr/lib
cp php.ini-dist /usr/local/lib/php.ini
I like to keep my config files all together in /etc. I set up a symbolic link like this:
ln -s /usr/local/lib/php.ini /etc/php.ini
Then I can just open /etc/php.ini in my editor to make changes.
Recommended reading on securing your PHP installation is this article at SecurityFocus.com.
Edit the Apache Configuration File (httpd.conf)
I like to keep all my configuration files together in /etc, so I set up a symbolic link from the actual
location to /etc:
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf
Now open /etc/httpd.conf in your favorite text editor, and set all the basic Apache options in
accordance with the official Apache instructions (beyond the scope of this HOWTO).
Also recommended is the article on securing Apache.
To ensure your PHP files are properly interpreted, and not just downloaded as text files, remove the #
at the beginning of the lines which read:
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
If the AddType lines above don't exist, manually enter them (without the leading # of course) after the
line
AddType application/x-tar .tgz
or anyplace within the <IfModule mod_mime.c> section of httpd.conf.
If you wish to use other/additional extensions/filetypes for your PHP scripts instead of just .php, add
them to the AddType directive:
AddType application/x-httpd-php .php .foo
AddType application/x-httpd-php-source .phps .phtmls
An example: if you wanted every single HTML page to be parsed and processed like a PHP script, just
add .htm and .html:
AddType application/x-httpd-php .php .htm .html
There will be a bit of a performance loss if every single HTML page is being checked for PHP code
even if it doesn't contain any. But if you want to use PHP but be "stealthy" about it, you can use this
trick.
Add index.php to the list of valid Directory Index files so that your "default page" in a directory can
be named index.php.
<IfModule mod_dir.c>
DirectoryIndex index.php index.htm index.html
</IfModule>
You can add anything else you want here too. If you want foobar.baz to be a valid directory index
page, just add the .baz filetype to the AddType line, and add foobar.baz to the
DirectoryIndex line.
Start Apache
We want to set Apache up with a normal start/stop script in /etc/rc.d/init.d so it can be auto-
started and controlled like other system daemons. Set up a symbolic link for the apachectl utility
(installed automatically as part of Apache):
ln -s /usr/local/apache/bin/apachectl /etc/rc.d/init.d/apache
Then set up auto-start for runlevel 3 (where the server will go by default):
ln -s /etc/rc.d/init.d/apache /etc/rc.d/rc3.d/S90apache
Then start the daemon:
/etc/rc.d/init.d/apache start
You can check that it's running properly by doing:
ps -ef
and look for the httpd processes.
If you find this page useful, please consider making a secure donation:
Cascading Style Sheets or CSS are an important way to control how your Web pages look. CSS can
control the fonts, text, colors, backgrounds, margins, and layout. But it can be very difficult to learn
CSS, and some people would rather not learn it. There are some very good reasons to learn CSS so that
you can control your Web pages look.
Modify your site designs to look how you want them to look
It's easy to take a free Web template and build a website. But these templates can be very plain or
common. So your website will look like every other site on the internet. By learning CSS you can
modify pre-built templates so that they have your colors and styles. Thus you'll have a customized
website without a lot of effort.
zSB(3,3)Sponsored Links
Drop-Down MenusCreate cross-browser & feature-rich menus-No programming skills needed!
www.likno.com
Reunite With Your FriendsFind All Your Old Friends & Get In Touch Instantly. Join Orkut Today!
www.google.com/Orkut
Are You a Designer ?Get an Opportunity to Work On Creative Designs. Apply Now!
www.ivistasolutions.com
Save money
There are a lot of Web designers who will build your website or your CSS for you. But paying
someone else to maintain your website or blog can get expensive, even if you only have them create the
designs and you then maintain the content. Knowing how to modify the CSS will save you money
when you find small problems that you can fix yourself. And as you practice, you'll be able to fix
bigger and bigger problems.
Earn money
Once you know CSS really well, you can sell these services to other websites. And if you're looking to
become a freelance Web designer, you won't get far if you don't know CSS.
Redesign your site more quickly
Many older websites that were built without CSS are very difficult to redesign. But once a site is built
with CSS hooks it can be redesigned very quickly. Changing things like the colors and backgrounds
can change how a site looks with very little effort. In fact, many sites now put up special versions of
their sites for special occasions and they can do this because it only takes a few hours to create an
alternate style sheet for the occasion.
\
CSS style sheets allow better control pf web pages during their development. Cascading Style Sheets
or CSS are style sheets that are linked into the other documents of your site and let’s you take control
of a wide variety of aspects of your site.
While the (x)HTML of your site deals with the actual content and structure of your website, one CSS
file has have power over the fonts, colors, positioning, styling of the data for the entire website. Doing
this helps avoid code bloat in your pages, makes them load faster, render across different media types,
and the benefits go on and on….
There are many benefits to using CSS, and they are listed below.
- Web pages load easier and they use less bandwidth: many web developers like to use CSS style
sheets because they don’t use as much bandwidth as table layouts do. The sheets are downloaded once
and stored in cache memory so pages will load quicker.
- CSS goes well with HTML: when HTML is added to CSS they make well-built, technical sites.
- CSS will let you position components anywhere on the page: developers really like CSS because
they can put elements anywhere they feel like. It is easier for them to make changes on sites they are
working on. CSS decreases the risks that deal with website maintenance.
- CSS is compatible with every web browser: it is mixed with HTML or XHTML to produce web
applications because it is compatible with all kind of web browsers.
- CSS may be used to produce print friendly web pages: web developers also like to use CSS because
they can produce print friendly pages. This means the items like images or colors which used to be
difficult to print are now printed up simply.
- CSS lest users customize web pages: lots of current websites let users change the layout or theme of
the site without changing the content. Because CSS sheets are stowed externally, the users can make
changes on their own. Items like the style of font are now able to be changed.
- Your website will be highlighted in the search engines easier: developers like CSS because they can
put components anywhere on the page. This positioning assists in launching the key contents first so
the spiders can find them. The HTML code of CSS is simpler and it will make the spider’s job easier
by getting them to the real content quicker.
- CSS lets the web pages stay consistent: every expression and text will have characteristics from the
external style sheets. Developers don’t need to fret about the characteristic changes in the elements
because they have the ability to be changed at any time with the CSS.
- CSS makes content moveable: with CSS there can be many style sheets for various media. This lets
you have some give when displaying the content. You can also change the characteristics of the
components in the site to fit your situation.
The point of CSS is to make things easier on your website and let you have control over many
components on the site. You can use these advantages to have more user-friendly pages that search
engines also embrace well.
If you need help understanding CSS more, or would like to have your site evalueated pleae contact us
at 248-582-9210, online or comment to this post.
Why Valid Html Code Is Important To Your
Web Site
oblems see site indexing problems and why search engine spiders miss pages. Consider
hiring a professional webmaster to make your site HTML compliant.
Many webmasters overlook a very important aspect of web site promotion: the validity of the HTML
code.
zSB(3,3)
Sponsored Links
Freelancers Try for FreeImprove Client Engagements & Manage Your Business Online. Try for
Freewww.mavenlink.com
Are You a Web Developer?Get an Opportunity to Work on Leading Technologies. Apply Now!
www.ivistasolutions.com
Ecole Intuit.Lab - MumbaiFrench Institute of Graphic Design & Visual Communication arts.
Indiawww.ecole-intuit-lab.co.in
zob();if(zs<1){gEI('sp1').className=gEI('sb1').className='hide';}Web Design / HTML Ads
• Job Listings
• Job Opportunities
• Job Hiring
• Web Developer
• Job Openings
zSB(1,2);if(zs<3){gEI('sp2').className=gEI('sb2').className='hide';}
Sponsored Links
Web Design JobsMultiple Positions Open In Your Desired Field. Apply Now. Free!www.Quikr.com
Graphic Design in 12 mthsLearn Dreamweaver,Illustrator & CDR Join University Diploma at Arena!
www.Arena-Multimedia.com
For those of you who have read my bio, you know that several years ago I didn't even know what a
Webmaster was (except perhaps a spider). How did I move from being a teacher and translator in the
Peace Corps to one of the more "cutting edge" professions of the day?
Blind Luck
As with many of the more interesting and wonderful parts of my life, blind luck was a contributing
factor. I was in the right place at the right time, and I made the most of it. When I came into the Web
group, I was ready for a change from my previous position, and they needed someone with my skills.
Skills
When I joined the Web group, I was a Technical Writer. I had had nearly four years experience in
writing and translating technical documents. I learned HTML because my boss wanted our writing to
reach a broader audience (and reduce calls). By the time I moved into the Web group, I was converting
most of my writing into Web pages, and was very comfortable with HTML.
I wasn't brought into the Web group just because I knew HTML, however. There are many people out
there who can do that. They needed someone who had experience with end-user interaction and could
handle our Webmaster mail. They also needed a technical writer to document current CGIs, processes,
and applications. Finally, they needed someone who was known in the company to handle incoming
requests.
Webmaster Requirements
At my company, we look at the Web Development team as consisting of three major components:
1. Programming
2. Graphics and Design
3. Writing and Content Development
Each of these fields has a position associated with it. Web Engineers do programming, Graphic Artists
do graphics and design, and Web Writers and Web Producers do writing and content development. A
Webmaster knows something of each of these components.
When I joined the Web group, I knew design, I was a writer, and I could write Perl and shell scripts. In
order to get promoted to Webmaster, I had to show proficiency in both graphics and C programming
(we write all our CGIs in C).
Additional Training
The most extensive training I took was in C programming. I learned C and then wrote two simple CGIs
to show that I could apply that knowledge. At the same time, I practiced with Photoshop until I had
several graphics of publishable quality for our Web site. Once I had done that, I was promoted to
Webmaster.
Recommendations
If you want to be a Webmaster or Web Developer, it is not enough to know HTML, even if you can
make every whiz-bang feature of HTML 4.0. This is what I would recommend to get a job as a Web
Developer:
• C programming, Perl, PHP, ColdFusion, or some type of programming
It's good to know Perl, but you should try to differentiate yourself. If you know C programming
and can apply it to CGI, then you know how the server interacts with your programs, and are
not simply making library calls.
I learned C first, and then Perl, PHP, and ColdFusion. Any one of these languages will enable
you to program your site and create dynamic Web sites.
• Basic and Advanced HTML
Chances are, the longer we go in this field, the more companies will have tools to help you
create HTML. However, if you don't know what the HTML tags are and what they do, then you
will have a hard time fixing problems that come up, especially when you have to convert
someone else's HTML.
• Graphics
You should be able to use a good graphics program like Photoshop. Paint Shop Pro is fine, but
most corporations do not use it. You should also be confident in your ability to put together a
graphic. You don't have to be the next Van Gogh, but you should know how to do it.
• Design and Layout
Know basic and advanced design principles, both of the Web and in print. If you can lay out a
page that looks "cool" people are going to forgive your lack of programming experience.
However, remember that what is cool today will be deadly boring tomorrow.
• Writing
Content isn't king, like it used to be, but you should still be able to put a coherent sentence on
the page. Use spell checkers, and grammar checkers if you have to, and know your limits. If you
know you can't spell, then spell check even your name. Also, have other people read your work
before you go live, they will catch the "too" for "two" and other errors.
• Confidence
This is still a new profession. Don't be afraid to put yourself out there. Job postings often ask for
all types of things when they might be looking for you. You know that you are the perfect
person for the job, they just haven't hired you yet.