“Decorators” in Python

One of most powerful and advanced features of “Object-Oriented Programming” in python, is “Decorators”. But before you dive in to the decorator’s topic, you need to know somethings in advance. For C++ and Java programmers, functions inside of functions is weird and unfamiliar, but python supports creating functions inside of functions and a function can have an argument which is a function itself! Please don’t mess it up with recursion. In recursion (which is supported by C++ and java as well), same function is called inside of definition of function, but in python you can define a new function inside a function (like a wrapper function), and return of your function could be a function. This is so beautiful feature and makes a great tool for professional programmers to write codes.

Continue reading ““Decorators” in Python”

How “Open Source Software” Developers take advantage of their works?!

This always is a question that developers or freelancers who work in “free” and “open source projects”, how take advantage from their works. Below, I mention couple of sources that they could make money.

1- First of all, in recent years, freelancing websites are growing fast and freelancers could take projects from there and make some money. Imagine that couple of freelancers claimed to do a project. You think who will win the competition and take the project??!! Of course project owners prefer to out-source projects to someone who has a portfolio with some open source project.

Continue reading “How “Open Source Software” Developers take advantage of their works?!”

What is “DevOps”?

As my strategy in previous articles, I try to explain any topic in the simplest way. So, let’s start with an example. You heard a lot about automated systems in factories. For example a juice producing factory which produce tens or hundreds million juice a day, can’t hire couple thousands of people to make this juices and packaging them. Off course they need an automation system in factory to do this repetitive daily jobs for them.

Now, imagine you are building a software which its users are couple hundred or couple thousand person. For this purpose, maybe couple of developer can make it happen by collaborating with each other. But imagine you are developing a software which its users are couple million and sometime billion persons worldwide (like Microsoft office or adobe Photoshop or even operating systems like windows and etc) and also couple hundred developer work on this project to build the software. Does the previous traditional methods work in this scenario??!! Maybe yes, but in very slowest way.

Continue reading “What is “DevOps”?”

What is Big Data?

The word “Big Data”, is almost self-explanatory and easily can be inferred it is related to a huge amount of data. But, it usually applies when we are talking in IT industry and more specifically in web technologies. The most famous users of “big data” technologies, can be guessed easily. That’s right: The search engines like Google and Bing. It is good to know that almost there are just this 2 search engines and other famous websites which have search engine (like yahoo.com or msn.com or etc), just use one of these two search engines. In this article, I want to talk about commercial technologies which used in “Big Data” industry.

Continue reading “What is Big Data?”

A Comparison between 8 Most Popular Programming Languages

According to most of statics from reliable sources, we can name 8 most popular programming languages, as below:

Python, JavaScript, C++, C#, Java, Ruby, PhP and Objective C

There are some more programming languages like “Swift”, which is mostly designed for iOS mobile applications and is popular well, but at this point, I don’t talk about it.

Continue reading “A Comparison between 8 Most Popular Programming Languages”

Where to Start Learning Web Development?!

Maybe you decided to learn web development before, but you didn’t know where the start point is and what next steps are and what is the order of subjects?!

Or maybe you wanted to know after how long you will become a professional web developer, or maybe you wanted to know what the new technologies of web development is. In a short PowerPoint, which is attached to this article, I tried to answer to some of your questions.

Continue reading “Where to Start Learning Web Development?!”

Why Do I Need a Tutor?!

Maybe you think you can learn anything by just reading books or watching video lectures or attending in group classes with a lot of students or searching through internet or YouTube or etc. But experiences and researches shows that only less than 20 percent of all people can learn anything by those ways and rest of people need someone to help them through learning process.
Maybe you have experienced this, which in first hours of watching a video lecture or in first pages of a book, you faced a lot of questions that rest of materials depended on the answers of question. And of course no one was near you to help and you had to leave rest of video lecture or book and or by searching a lot in internet, you got tired and preferred not to go on. In this moments, you really feel you need a tutor beside you to help you to get start and grow. Obviously after some tutoring programs, you can be like an expert and you can solve your problems on your own.

Continue reading “Why Do I Need a Tutor?!”