Google Serach

Loading

Mar 2, 2012

Magento Basics For Fresh Magento Developers

Magento is the robust and flexible open-source shopping cart. It is ecommerce web application launched on 31st March, 2008 and created by Varien. It is built on components of Zend Framework. As Magento is powerful and flexible, it has steep learning curve. If you have knowledge of HTML and CSS and know somewhat of PHP and MySQL then you can have enterprise class shopping cart running in no time. Magento is available under the Open Software License version 3.0. Varien is now Magento Inc. Varien, the company that owns Magento, formerly worked with osCommerce. They originally planned to split osCommerce but later decided to rewrite it as Magento. Magento officially started development in early 2007. Seven months later the first public beta version was released. On May 30, 2010 Magento mobile was released, it allows store owners to create native mobile storefront apps. Magento supports installation of modules through a web-based interface accessible through the administration area of a Magento installation. Modules are hosted on the Magento e-Commerce website as a PEAR server. Any community member can upload a module through the website and is made available once confirmed by a member of the Magento team. Modules are installed by entering a module key, available on the module page, into the web based interface.
Magento developers are familiar with the MVC (Model View Controller) design pattern that is everywhere throughout web frameworks. In the code of Magento, there are many other components besides the M's the V's and the C's. Each module contains the Controller and Model. Within each module, there are no Views. You will find extra tidbits, such as "helper", "etc" and "sql". In these modules there is also the sort of files which we very often work with. This article will try to describe just what a Block is and how it is used. A top priority of Object Oriented Programming is the decoupling of code which means that code should have the least amount of dependency on other code as possible. Blocks are part of Magento solution to keep the application loosely coupled.
A quick introduction on MVC: When a page in Magento is called, the URL tells Magento what code to run. This is done via a "router" which calls upon a selected Controller to do its work. The URL gets "routed" to a particular Controller, which in turns tells Magento what to do. The Catalog controller, for example, is responsible for telling Magento to load a product collection and then show those products to us. The Controller tells Magento which layout is to be used. This determines which modules are put into place, which in turn tells Magento what Views to output. The data from the Models are given to the Views to be displayed. In the scheme of things here, Blocks fit roughly between the View and the Model.
Magento has sets of modules. Modules act as their own little entities, each containing their own M's V's and C's. These modules create the separate areas within a typical Magento page; the header, header links, mini cart, recently viewed products, static HTML blocks, footer, and so on. Basically, comprised within any given web page are multiple modules, each of which call their own Views.

Article Source: http://EzineArticles.com/6909098

.Net Developer Jobs - Creating the Best CV to Showcase Your Skills and Experience By Xenos Daniels

When posting your resume for .net developer jobs, you may be facing quite a few anxious hours until the job interview call comes. This may be the turning point within your lifestyle that you've been waiting for, to create a winning career for oneself.
Having said that, it is really critical to consider if the CV that you have produced is doing everything it can to strengthen your job prospects. Considering, it's these pages that could make or break your employment, the slightest of blunders can mean the end of finding a great position. Paying a visit to a recruitment organization is one particular method of making sure your Resume has been prepared in the best manner.
Preparing an ideal CV is very crucial for all jobs - not just .net developer jobs. Unless you've a proper one, even the occupation consultants may not choose you. As the position may be given to another person whose Curriculum vitae is significantly superior than yours. It is fairly critical to know what a great Curriculum vitae is like for .net developer jobs. You could lookup on the net or question your mates and associates about the proper way to put together a Curriculum vitae for .net developer jobs. Together with your CV, you should be able to get noticed by reputed recruitment companies. You need to recognize that employment recruiters will have targeted factors while deciding upon applicants to suit jobs in leading organizations. So it really is essential to mention only accurate info within your Resume, for you may be questioned by the consultant to confirm your statements, if necessary.
Apart from stating a overview of your knowledge and education, it is advisable to also specify sort of position that you're considering applying for. Your Curriculum vitae must attract employment consultants right away, for the particular career they are looking to recruit for. CVs are in fact promotion documents, that offer crucial details about your expertise, practical experience, individual characteristics and training. Considering CVs will be used for most work opportunities, they usually offer more particulars of research and educational experiences. For anyone who is seeking.net developer jobs, you will need to mention your expertise and skills regarding this employment. The career recruiter will have a proper concept about your key benefits and whether they match the.net developer jobs vacancies they've got.
A graduate who is searching for his or her 1st position, needs to get in touch with the businesses directly instead of going by way of recruitment consultancies. They could additionally search the daily news, that is a superb resource for opportunities. For .net developer jobs, you can search the websites of IT businesses that may have recently started and are offering .net developer jobs for the correct candidates. After obtaining extra practical experience, you can always search for better prospects.
Skilled candidates, that are in search of better .net developer jobs, really should definitely spruce up their Curriculum vitae to get into a bigger agency. As it's possible you'll not obtain the job because your CV did not possess the strength-in-depth to showcase your experience and skills.
Success in acquiring .net developer jobs will prove to be far more fruitful, if you can write the best kind of Resume, that must present all facts relating to your experiences and qualifications. Any expertise in .net developer jobs really should be provided in your Resume too.
Article Source: http://EzineArticles.com/?expert=Xenos_Daniels

Article Source: http://EzineArticles.com/6885848

Memory Management

For many programmers, memory management is an important part of the code. Using memory efficiently is not an easy task, and it can be very confusing. However, there are generally two ways in which memory is given to a program: the stack and the heap.
The stack is the simplest one to understand, and is practically ubiquitous in programming. In certain languages, such as the C-based ones, whenever you allocate a variable, for example "int a;" a block of memory from the program's stack is allocated to hold that data. The stack is based on the computer science concept and is a very simple data structure. Whenever your program starts up, it gets a small block of memory. As functions create variables, they get stored in memory on the stack, generally starting at the top and working downwards. This can be done very quickly because many processor architectures such as the x86 architecture have built-in features for the stack. Whenever a function returns, the pointer variable that sets the "top of the stack" simply gets reset to where it was before the function was called. This makes it easy to use memory efficiently. As soon as a function returns, all of its variables are deallocated and the memory space is reused by other functions.
However, this advantage is also a drawback when functions need to return data. Most languages allow a function to return data by placing it on the stack, and having the calling function read it after the function returns. The problem is that this only works on small amounts of data. Imagine, for example, a function that loads a multi-megabyte picture file into memory. The image data can't be placed on the stack because it's generally too small for holding that data. The stack for the entire program is generally only a couple megabytes. If a whole array of pictures needs to be stored, it definitely can't be stored on the stack. An additional program is that memory has to be allocated statically. If an array is placed on the stack, the size of it has to be known at compile time, meaning that stack memory is less flexible.
Heap-based memory allocation solves these problems. Instead of the compiler setting up where variables go on the stack, the program asks the operating system for memory at runtime. In the C language, this is done with malloc(), while in C++, the new keyword accomplishes this. The operating system then returns a pointer to a block of memory that the program can use. The pointer is generally stored on the stack. This method of memory allocation because it solves all of the stack problems. The program can use large amounts of memory, up to whatever the maximum imposed by the operating system is. The memory block doesn't become deallocated when the calling function returns. Instead, it remains available until the program releases the block or the program quits. This solves the earlier problem of a function returning image data. The disadvantage is that the program must be sure to free memory when it's not being used, otherwise memory leaks can occur.
When programming, you need to be aware of your language's memory management system and how it can affect your code. Storing data is a central part of many programs, so not knowing how to properly manage memory can cause seriously problems in the applications that you write.
Thanks for reading my article. There's lots more great information written by me about programming languages at http://programminglanguagehelp.com
Article Source: http://EzineArticles.com/?expert=Bill_Hollins

Article Source: http://EzineArticles.com/6883408

How to Learn Your First Programming Language

Introduction
Expert Author Dexter A LoweProgramming is a very useful and rewarding hobby. There are few better feelings than when someone sees you using a program you lashed together to make your life easier and says that it looks really useful. Most people have, at some point in their lives, really wanted to be able to do something on their computer or phone and been unable to. If you know a programming language, then there is often a fair chance that you can write a program to accomplish that task yourself. While there are a huge number of programming languages, many of them have a lot of similarities; this means that once you learn one language quite well, in most cases you will be able to pick up a new one far quicker.
Limits
One thing that all new programmers must come to term with is the amount of time learning a programming language takes. Although when you have become an expert you will be able to write many programs quickly, you must remember that many programs have taken whole teams of expert developers years to create. So it is important to understand that knowing a programming language or even several is not enough to write some of the more complex programs you have seen. Don't look upon this new hobby as a way to save yourself a lot of money, as writing your own version of most of the programs that you need to pay for now will be out of your reach.
The most important thing that a new programmer needs to know is that the "Learn Programming in 24 hours" sort of books are simply not true. A more accurate title would be "Learn Programming in 10,000 hours". If you put 24 hours or a week into learning a language you will not be creating the next Windows or a new, state of the art game. It is possible to learn to write a program in 10 minutes, and really all you need to learn a new language is your favourite search engine, but you will not be an expert. The only way to become an expert is much like learning the violin; the answer is practice, practice and practice some more.
Selecting Your First Language
Now that we have examined the limitations and handled some of the more unrealistic expectations, those of you still wanting to learn to code will be happy to know that programming is not a hard thing to start learning and will not require you to pay out huge sums of money. If you are reading this article on-line, you already have the resources to start with some languages, so let us consider what your first language ought to be.
Traditionally the first language a programming newcomer learns is either Visual Basic or Python. The first thing to understand is that these two languages are very different. The simplest difference is one of price. Python is totally free; you can start writing python now with just a text editor on your computer, though if you are on Windows, you will probably need to install it first. However Visual Basic, often abbreviated to VB, is both free and not free. On the upside, VB can be simpler for newcomers to learn because it allows you to build the interfaces (the part of the program the user will see) by dragging and dropping the different parts much like designing it in some basic art application. The version of VB newcomers learn is usually Visual Basic 6, but this is rather outdated and has been discontinued. So these days the version learned is often VB.NET which can be considerably less simple for newcomers.
VB.NET must be developed inside what we call an IDE (Integrated Development Environment); this is basically a special program you use to write other programs. They also exist for Python, but their use is totally optional. The free VB.NET IDE is called Visual Studio Express. At the time of writing, the latest version is Visual Studio Express 2010. Unfortunately, by using the free version of the IDE you are restricted with what you can do, and any programs you create cannot be commercially sold on. Regretfully, the full paid version of the IDE is not cheap, and probably not appropriate for a hobbyist, but fortunately to learn VB the free version is enough. In practice, very few commercial programs are developed in VB these days, but the Visual Studio IDE allows you to use many other languages. The familiarity you will develop by using it will also allow you to use the power of the IDE for development in many other languages. Some will argue that almost every language can be developed in a text editor and that they are by far the most flexible way in which to code. While this is technically true (and I do suggest trying development in a text editor to compare once you get a little better), I would strongly advise learning your first language with a proper IDE.
While traditionally, people learn Python or VB first and these are generally what is taught at schools, I would not suggest either of these. I am of the opinion that your first language should continue to be useful to you one it has served the purpose of helping you learn the fundamentals of programming. If I had to recommend one of these for newcomers, it would be VB.NET as often the most complex part of programming is the graphical side of things and in VB.NET this is very simple due to the drag and drop interface. These two languages are often used as introductions as they are very tolerant of mistakes, and allow you to become confident in programming principles without worrying about a lot of the more complex matters.
For those brave souls among you, I would actually suggest Java as your first language, even though it can be complex, and is therefore not a common choice for a first language. Java programs are different to most others in that they do not run on your computer. The user downloads Java, then your code runs on what is called a VM (Virtual Machine). This means that your code runs in a special place Java sets up for it - a fake copy of your computer - and handles the translation of this to the real machine for you. This means that Java programs are "cross-platform", meaning that they will for the most part run on Windows, Mac, Linux and most other operating systems.
Java is a good language to learn, as it is very widespread and useful. Furthermore, it is very powerful, and is available for free for both hobbyists and commercial uses. However, in contrast to VB and Python, it does not tolerate mistakes and requires you to be very specific about everything. It is also an object-oriented programming language, which is a very complex issue which I will briefly try to summarise. Languages like Python and VB are what is known as procedural languages, meaning that the lines of code are run one after another, whereas Java is an object-oriented language. object-oriented development is a term thrown around a lot these days in the programming world, and while not always appropriate it is generally considered a good idea. At the most basic level, an object-oriented program is all about objects. An object is an "instantiation" of a "class". A class is a blueprint used to describe something like a cat. The class contains both the data about the cat such as its name, age and owner as well as "methods" which are essentially actions the cat can perform, such as miaow. An instance of the class "cat" would give you a particular cat. However, this is not a Java tutorial, so if you are brave enough to experiment with Java you will come across this yourself in more detail. It is worth noting that VB.NET and Python both have support for object-oriented development, and Java has the potential to be used procedurally, but these are not the languages' primary intended uses and are not often used. If you did not understand that comparison, don't worry about it too much. Object orientation is hard to get your head around, but any basic Java or other object-oriented language tutorial will have you understanding everything in that paragraph.
A final reason Java is a good first language is that it is similar in many ways to Javascript, which is an entirely different class of language. Javascript is a scripting language (as is Python), and learning Java will mean you understand Javascript reasonably well. The difference is between scripting languages and normal programming languages is outside the scope of this article, but as a large generalisation scripts are generally used for automated tasks while programs are used interactively by users. This is not totally true, as both types of language are used for both tasks and most web programs are built in Javascript.
As for the actual language you pick, it is entirely up to you. Some may choose the traditional beginner languages or be brave and experiment with Java. Some of you may already have your eye on a language or fancy one of the more specialist languages like Scheme or Prolog. Whatever your choice, the way you will learn how to program is the same.
IDEs, Yes or No?
Many of the purists say that IDEs are a bad idea, and are packed with unnecessary tools and menus that take up disk space and time to learn. While this is true, I feel that an IDE is definitely worthwhile. Many people offer free IDEs, such as Eclipse and Netbeans, for the more popular languages. There is also Visual Studio, which I mentioned previously; it is very intuitive, very powerful and it supports many languages (much as Netbeans and Eclipse do). If you chose to use Java I would suggest Netbeans, as there is a packaged version of Netbeans with the JDK (Java Development Kit). Most languages need an SDK (Software Development Kit) to work with them, and getting it installed properly and linked to the IDE is often the hardest part of the procedure. Visual Studio already comes with the development kits set up, which makes life easier, but other languages like Java and Python can be quite hard to set up properly. This is why I suggested the Netbeans + JDK bundle for those experimenting with Java, as it handles the complex set up for you, which will save you hours of suffering.
There are, in my opinion, three major advantages to using a fully featured IDE. Firstly, they are usually extensible, meaning that there are many free plug-ins that could make your life a lot easier when you get a little more advanced. Secondly, and most importantly, is the ease with which an IDE allows you to debug your code. Most IDEs let you set breakpoints in the code, which will make the program stop when it gets to that point and let you step through it line by line, so you can examine the contents of all the variables at any time. (For those of you who do not know what a variable is, I will briefly explain. A variable is a bit like a train station locker. You ask for one big enough to hold what you want to store, and if what you want to store is the right shape, it can be stored there. When you write a program, any data you want to store temporarily will be held in one of these until you are done with it.) As the old programming saying goes, if you have not found any bugs, you are not looking hard enough. Almost no non-trivial program will work first time, and trying to work out where the problem lies without the use of a debugger is a pain I would not wish on anyone. Finally, an IDE will often give you advice on how to fix issues in the code. This can be very useful for fixing bugs, and saves you having to resort to Google every other minute.
Learning the Language
Now that you have a language and an IDE, it is finally time to learn the language. This, as you may or may not be surprised to learn, is not complex at all - it is simply time consuming. To learn programming for the first time, there is no better way than exploration. Buying a book that walks you through steps will not teach you anything, as you will not understand the reasoning behind what they are doing, and people often get disheartened by the tedium.
The key to learning programming is to have a goal. Think of a task, such as a system to keep track of where you are in all the various TV shows you watch, or a system to let you look at all the books you own in a particular category, or, if you feel brave, try to replicate part of something that you use on a regular basis. My advice would be to start small, perhaps by making a sequence of message boxes that insults the user or a really simple calculator. It is important when you first start that your goals are interesting, challenging and entertaining. If you try to make really boring programs you will quickly get disheartened, so try to inject some comedy into your program. The calculator is a very good introductory program, but after you get the general idea it is important to set quite ambitious goals, as if you keep doing simple things you will never learn anything new. It is important to try to incorporate some of the knowledge you have gained from previous work. One of the reasons most books fail to teach programming well is that they use small examples for each thing they introduce, whereas what you really need to do is plan the task without considering what you will need to accomplish it. This means you will be able to code some of it using what you already know, but most importantly, you will not know how to code some of it. The best way to learn is to learn by doing. Go for a full program that does a task you wanted to do on a computer in the past, work on it, and when you are finished you will have learned a lot and you will have a useful (or at least entertaining) program which is far better than some toy program demonstrating lists.
I have said that you learn by choosing to do projects where you are unable to do certain sections, thus requiring you to learn, but how do you go about finding out how to do them? It's simple, and most likely the way you found this article. Go to your favourite search engine (like Google) and search for what you want to do - for example, search "drop down list Java" to find some examples of using drop down lists in Java. Because you will need it for another task, and not just to re-do the same thing the examples did, you will have to play with the examples you find and try to get them to do what you want. Just search each bit you need, and before long you will find that most of the basics are as natural as waking up in the morning, and you did it all without spending a small fortune on books, without getting bored and hopefully while being entertained. To this day, if I am bored, I sometimes break out one of my very first programs which is just a list of boxes and a random number generator. It is your task to try to fill all the boxes such that the numbers the random number generator gives you are in ascending order - if you don't leave space and can't fit a number in a hole then you lose and must start again. It's a simple program, but it took a lot of work when I first made it and I learned a lot from the experience.
Once you have a few decent sized programs under your belt, you will find that you know the language well. You will also find that it is rare, no matter how well you know a language, to be able to write a program without resorting to Google at least once just to check something. So with that in mind, it could be argued that you learned the language without ever actually trying to learn it. Clearly there are standards and good practices that you may not pick up on your own, but as you see more examples and read the comments you will find you adopt your own standards rather rapidly.
Learning Another Language
Once you have learned one language, whatever it may be, the most valuable thing you will have learned is all the key words for searches. When you want to do something in a new language, you need only search what you want to do and the language name. However, by now you will know the names used to refer to what you want to do, allowing your searches to be more effective and yield examples and answers much more quickly. As the fundamentals of programming are mostly the same, regardless of the language you use, you will hopefully be able to guess at the meaning of most of the code much more effectively once you locate an example, allowing you to pick up most of the language very quickly indeed.
Conclusion
If you take nothing else away from this article, remember that the best way to learn a skill is practice, practice and practice some more, so don't expect to become an expert overnight. Remember that programming is not something that can be learned overnight, and that to become a passable expert you probably need to spend at least 10,000 hours programming, so you will need to find ways to remain motivated. Don't think of it as learning to program - rather, just start programming, and before you know it you will be an expert. Programming is a skill, and while it is quite simple once you have the feel of it, it can be quite daunting to see your little calculator that took you a week and then to consider a modern game like "Batman: Arkham City" and realise how far you have to go.
Programming is easy when you know how, but is not a trivial thing to learn, so it is important that you set yourself tasks. These tasks should preferably be interesting and, better yet, entertaining, as these will be what keeps you programming and learning more and more until, one day, you wake up and realise that you know quite a lot. You are your own best tutor and the key is simply to jump in and get started.
Article Source: http://EzineArticles.com/?expert=Dexter_A_Lowe

Software Copyright Licenses

Unless released into the public domain, all software is copyrighted by default, and it's important to follow copyright law in order to avoid legal trouble. If you're just writing some code for yourself, you can ignore copyright issues, but if you use software written by someone else or want to distribute your program to other people, it's important to understand the law. While only a lawyer can give legal advice, there are some general tips that it may be helpful to understand.
There are some general classes of software licenses. The first one is a proprietary license. You generally cannot do anything with the code besides use it. Modifying it, giving it to other people, and reverse engineering the program are all generally banned. This is common for commercial software, such as operating systems and popular programs. This means that you can't include proprietary software in code that you write without getting permission for the copyright holder. There are some exceptions, for example operating system libraries. These are generally distributed under a proprietary license that lets you link to them in your code but not distribute them. So as long as the user has a copy of that operating system, you can just give them your code, and it will use the copy of the library that is on the user's computer.
The other major class of licenses is free software and open source licenses. These often let you use their code in your own programs, but they can have widely varying restrictions.
The most widely used license of this type is the GNU General Public License (GPL). It currently exists in version 2 and 3, but they are substantially the same for most applications. This license requires the software developer to give you access to the source code of any program that they distribute. You can use this code in your own applications, but you also have to distribute the code under the GPL. So if you wanted to distribute a program that used GPL code, you would have to make the source code available and redistributable.
Another important license is the GNU Lesser General Public License (LGPL). It's mostly the same as the GPL, but you can have your code link to LGPL libraries and license your code however you want. There are some restrictions. For example, you can't forbid users from modifying the LGPL library as they please, but you can license your original code in any way you wish.
The other major class is what is called permissive licenses. There are many of these, but the two major ones are the BSD license and the MIT license, which are very similar. Both licenses allow you to redistribute the code and include it in your programs while choosing whatever license you like. The only restriction is that you must distribute the license info for the included software with your application, giving attribution to the original developer of the software.
Software licenses can be confusing, but understanding them is important in order to stay out of legal trouble. There are many different licenses, each with their own unique terms, and you should understand that you are allowed to do something with a piece of software before doing it.
Thanks for reading my article. There's lots more great information written by me about programming languages at http://programminglanguagehelp.com
Article Source: http://EzineArticles.com/?expert=Bill_Hollins

Article Source: http://EzineArticles.com/6900652

gmail account

Gmail new account free in urdu