6 Essential Tips on How to Become a Full Stack Developer

6 Essential Tips on How to Become a Full Stack Developer

How to become a full stack developer? As one of the hottest topics for developers, the discussions have never stopped. On LinkedIn and Facebook, lots of people put their job title as a full stack developer. Besides, it seems that the “Full Stack” topic has already become a new job trend. An article on Medium has discussed the full stack designer getting both praise and blame. Some people think that the full stack is just a title, what he/she should focus on is the real personal ability and technology.

Essentially, I think the discussion about the full stack is also a kind of argument relating to the all-rounder and expert in the IT industry, and debate on the depth and breadth of development skills.

You can’t have your cake and eat it too. While the full stack developers and full stack designers seem like they are challenging this possibility. Because their horizontal skills tree gives them the ability to both have and eat the cake. There is another saying is that jack of all trades, but master of none. So it’s necessary to think about how to become a real full stack developer but not an empty title.

1. What is a full stack developer?

Simply put, full stack developer is a kind of people who master a variety of skills and use these skills to complete a product independently. A top voted answer on Quora explained that what is a full stack developer:

A full stack developer is an engineer who can handle all the work of databases, servers, systems engineering, and clients. Depending on the project, what customers need may be a mobile stack, a Web stack, or a native application stack.

In fact, “full stack” refers to the collection of a series of technologies needed to complete a project. “Stack” refers to a collection of sub-modules. These software sub-modules or components combined together to achieve the established function while without the need for other modules.

2. Why has the full stack developer been controversially discussed?

As it mentioned above, the discussion about full stack developer is actually the debate on the depth and breadth of skills. Especially at the OSCON conference, a Facebook engineer said they only hired a “full stack developer.” This topic came as a result of a heated discussion about the strengths and weaknesses of being a full stack developer.

Advantages: The full stack developers involved in a horizontal technical requirement, so that he/she can make a prototype design for a product very rapidly with his wide range of techniques. With the full stackability, they have a broader angle of views and a more active mindset. Moreover, they will be more sensitive to techniques and products. So, this kind of people can always have his/her opinions towards the product or design.

From another aspect, he/she can provide help to everyone in the team and greatly reduce the time and technical costs of team communication, technology docking. So many of them become entrepreneurs or as technical partners in start-up companies.

Disadvantages: It is precisely because of the horizontal technology development, some the full stack developers cannot be expert in one skill. Most of them who claim to be “full stacks developer” are only know a little about the multiple skills. As for how to make the architecture more suitable for the modular development, that’s a question.

3. Even so, there are still people asking, how to become a full stack developer?

A qualified full stack developer should have functional knowledge and capabilities for all aspects involved in building the application.

1) Programming languages

You need to be proficient in multiple programming languages, such as JAVA, PHP, C #, Python, Ruby, Perl, etc. As most of your core business processes need to be written in these languages.Maybe not all need. But you also have to master the language grammar, and to be very familiar with how to structure, design, implementation, and testing of the project based on one language or more languages. For example, if you choose JAVA, then you need to master the object-oriented design and development, design patterns, J2EE-based components of the development and so on.

Where to learn: Git/GitHub — You have to know how to use Git to manage and share your code.

2) Use development frameworks and third-party libraries

The popular development languages are generally accompanied by a good development framework, such as JAVA Spring, MyBatis, Hibernate, Python Django, PHP thinkphp, yin, nodeJs express and so on.

Where to learn15 free Python ebooks

3) Front-end technology

Front-end technologies are becoming more and more important in today’s project and product development. In addition to product features, the user experience is also one of the criteria to test the success of a product. All that depends on the implementation of the front-end technology, soyou need to master some basic front-end technologies such as HTML5, CSS3, JavaScript, and further study the front-end frameworks or third-party libraries such as JQuery, LESS, SASS, AngularJS, or REACT.

Where to learn: You don’t know JS

4) Database and cache

Any product or project needs a database to store data. As a full stack developer, you also need to have at least one or two databases and know how to interact with the database. Currently, the popular database is MySQL, MongoDB, Redis, Oracle, SQLServer and so on. As a document-type database, MongoDB, is being used more widely in Internet products. As for larger projects, Ialso recommend using MySQL or commercial Oracle as the back-end database. While memory databases, such as Redis, can be used for caching to improve system performance.

Where to learn: MongoDB MERN tutorial seriesRedis tutorial

5) Basic design ability

Most of the articles or discussions about the full stack developer are rarely related to the design requirements. But I think the design skill is very important, the principle and skill of basic prototype design, UI design, UX design are also needed to understand.

Where to learn: UX blog

6) Self-requirements are also an essential factor to become a full stack developer:

  • Global thinking
  • Good communication skills
  • Creativity
  • Curiosity
  • Time management skills

Wrap Up

According to Gladwell’s 10,000 hours of law, it will spend 10 years to master the front-end, back-end, client-oriented knowledge content to be a full stack developer. Therefore, the full stack developer is by no means to accomplished overnight. What you need to do is laying the technical foundation, strengthen the core skills, and keep learning for more challenges.

What does the term “full-stack programmer” mean? What are the defining traits of a full-stack programmer?

What does the term “full-stack programmer” mean? What are the defining traits of a full-stack programmer?

A full stack developer is capable of performing tasks at any level of the technical stack in which they reside. It means:

  • Working with systems infrastructure (knowing what hardware to ask for , what OS to install, how to prepare the system and dependencies for all software)
  • Understanding, creating, manipulating, and querying databases
  • API / back-end code in one or more languages, e.g. Ruby, Java, Python, etc.
  • Front-end code in one or more languages, e.g. HTML, JavaScript, Java, etc.
  • Project management / client work, e.g. gathering requirements, creating technical specifications and architecture documents, creating good documentation, managing a project timeline (e.g., someone who knows Agile/SCRUM/Kanban)

In general a full-stack developer has knowledge that is a mile wide, but not necessarily very deep, and has core competencies in the pieces of the stack in which they work most.
In my work I have core competencies in Linux (Debian, CentOS, Amazon Linux), Database design, manipulation, and query (PSQL and MySQL), back-end technologies (Java, Ruby, and Python), and some front-end design (HTML, vanilla JavaScript, and jQuery), as well as act as SCRUM-master and lead Agile development for my team, interfacing with clients both internal and external to the business to gather requirements, execute tasks, and document all efforts.

Typically these skills are developed over many years in the contexts of different jobs, so as Ian mentioned being a full-stack developer means being pushed outside of your comfort zone to constantly learn new skills.

HOW TO SELECT RANDOM ROWS IN MYSQL

HOW TO SELECT RANDOM ROWS IN MYSQL

The easiest way to generate random rows in MySQL is to use the ORDER BY RAND() clause.

SELECT col1 FROM tbl ORDER BY RAND() LIMIT 10;

This can work fine for small tables. However, for big table, it will have a serious performance problem as in order to generate the list of random rows, MySQL need to assign random number to each row and then sort them.
Even if you want only 10 random rows from a set of 100k rows, MySQL need to sort all the 100k rows and then, extract only 10 of them.

My solution for this problem, is to use RAND in the WHERE clause and not in the ORDER BY clause. First, you need to calculate the fragment of your desired result set rows number from the total rows in your table. Second, use this fragment in the WHERE clause and ask only for RAND numbers that smallest (or equal) from this fragment.

For example, suppose you have a table with 200K rows and you need only 100 random rows from the table. The fragment of the result set from the total rows is: 100 / 200k = 0.0005.
The query will look like:

SELECT col1 FROM tbl WHERE RAND()<=0.0005;

In order to get exactly 100 row in the result set, we can increase the fragment number a bit and limit the query:
For example:

SELECT col1 FROM tbl WHERE RAND()<=0.0006 limit 100;

Feel free to leave a comment.

how to use CodeIgniter

Build Your First Application

Overview

This tutorial is intended to introduce you to the CodeIgniter4 framework and the basic principles of MVC architecture. It will show you how a basic CodeIgniter application is constructed in a step-by-step fashion.

If you are not familiar with PHP, we recommend that you check out the W3Schools PHP Tutorial before continuing.

In this tutorial, you will be creating a basic news application. You will begin by writing the code that can load static pages. Next, you will create a news section that reads news items from a database. Finally, you’ll add a form to create news items in the database.

This tutorial will primarily focus on:

  • Model-View-Controller basics
  • Routing basics
  • Form validation
  • Performing basic database queries using CodeIgniter’s Model

The entire tutorial is split up over several pages, each explaining a small part of the functionality of the CodeIgniter framework. You’ll go through the following pages:

  • Introduction, this page, which gives you an overview of what to expect and gets your default application downloaded and running.
  • Static pages, which will teach you the basics of controllers, views and routing.
  • News section, where you’ll start using models and will be doing some basic database operations.
  • Create news items, which will introduce more advanced database operations and form validation.
  • Conclusion, which will give you some pointers on further reading and other resources.

Enjoy your exploration of the CodeIgniter framework.

Getting Up and Running

Installing CodeIgniter

You can download a release manually from the site, but for this tutorial we will use the recommended way and install the AppStarter package through Composer. From your command line type the following:

> composer create-project codeigniter4/appstarter ci-news

This creates a new folder, ci-news, which contains your application code, with CodeIgniter installed in the vendor folder.

Setting Development Mode

By default, CodeIgniter starts up in production mode. This is a safety feature to keep your site a bit more secure in case settings are messed up once it is live. So first let’s fix that. Copy or rename the env file to .env. Open it up.

This file contains server-specific settings. This means you never will need to commit any sensitive information to your version control system. It includes some of the most common ones you want to enter already, though they are all commented out. So uncomment the line with CI_ENVIRONMENT on it, and change production to development:

CI_ENVIRONMENT = development

Running Development Server

With that out of the way it’s time to view your application in a browser. You can serve it through any server of your choice, Apache, Nginx, etc, but CodeIgniter comes with a simple command that takes advantage of PHP’s built-in server to get you up and running fast on your development machines. Type the following on the command line from the root of your project:

> php spark serve

The Welcome Page

Now point your browser to the correct URL you will be greeted by a welcome screen. Try it now by heading to the following URL:

http://localhost:8080

and you should be greeted by the following page:../_images/welcome.png

This means that your application works and you can start making changes to it.

User Guide to begin learning how to build dynamic PHP applications

User Guide to begin learning how to build dynamic PHP applications

Demand of PHP is evident from the fact that the world’s top websites, like Facebook, Google, Wikipedia, and YouTube, are using PHP scripts at the backend. PHP is helpful in developing dynamic websites. It is a server-side scripting language that sends information directly to the server when a user submits a form. Before going towards the step-by-step guide on how to write PHP scripts, I will give you a general overview of PHP.

php guide

What is PHP?

First introduced by Rasmus Lerdorf, PHP is an open-source, server-side general scripting language that has now become a de-facto coding standard in the web development industry. It can be learned easily, and if one is from a coding background, he (or she) will find it very simple. This is why many are using PHP to polish up their entry-level coding skills.

PHP runs on different operating systems, like Windows, UNIX, Linux and supports different databases like MySQL, Microsoft Access, and Oracle. PHP can not only collect form data, but it can also create, read, write, delete, and close files on the server.

It can be easily embedded in HTML. PHP code is embedded in HTML with tags <?php ?>.

Example

12345678910<html><title>GettingStartedWithPHP</title><body><?phpecho”Your first PHP code”;?></body></html>

PHP is different from client-side scripting languages. PHP code is executed on the server side resulting in generation of HTML, which is then sent back to the client-side (for e.g., your browser) for execution.

Where to use PHP code?

You can use PHP to create dynamic web pages, collect form data, and send or receive cookies.

Applications of PHP Scripts

Let us see how many ways PHP scripting is used.

Server-Side Scripting

Server side scripting is the first purpose of PHP. All you need to start working on a desktop PC with PHP is a PHP Parser, a webserver (such as Apache) and a web browser like Google Chrome.

Command Line Scripting

If you want to use PHP on Linux or task scheduler on Windows, then you don’t really need a web server, but only a PHP Parser. This is called “command line scripting”.

Desktop Applications

Although, PHP is not a suitable language for development of desktop applications, but it supports some advanced features like PHP-GTK which is basically an extension of PHP. PHP-GTK provides object-oriented user interface.

PHP enables you to choose not only the operating system of your choice but also allows you to have choices to use a web server that you are familiar with. It also enables beginners and professionals to write scripts in their own ways as it allows procedural as well as object-oriented programming.

PHP not only enables you to output HTML but also lets you include images, PDFs, videos, and sounds. PHP can auto-generate XHTML and XML files.

PHP provides support to protocols like LDAP, HTTP, COM, POP3, etc. It also supports WDDX complex data exchange.

Pre-requisites of PHP

Before you start learning PHP, you need to learn some basics of HTML (Hypertext Markup Language), SS(Cascading Style Sheets) and Javascript.

How to install PHP

Before starting PHP, you need a web host with PHP and MYSQL. For this, you should also install a web server such as Apache. To do it locally on your PC, you may download XAMPP directly from Apache Friends.

Installation of Apache, PHP, MySQL, and PHPMyAdmin

In order to install PHP, MySQL, PHPMyAdmin and Apache in a single attempt, XAMPP should be installed.

Scroll over to XAMPP for Windows and download should begin shortly.

what is XAMPP

Click the .exe file to start the installation procedure.

setup xampp

Select the components which you want to install and click “Next”.

Xampp Server

In the components area, you can view several options. As a beginner, you don’t need all of them. You need to install Apache, which is a very famous web server. It manages client responses. For data storage and view, you need a database such as MySQL. Filezilla FTP server option is not needed for performing operations at localhost. Next option is the Mercury Mail Server option. Its primary function is to deal with emails received by the server. It is needed to enable the flow of emails, which is not a requirement at the moment. Tomcat is also a web server owned by Apache.

php hosting signup

Coming down to programming languages, PERL (which is also a high-level programming language) is not a need at the moment. PhpMyAdmin is the admin panel of database and is needed. Webalizer is an application for analysis and you need to install it for monitoring purposes. Fake Sendmail is also an application that will be explained later.

Select your desired location, where you want to install XAMPP and then click “Next”.

installation Xampp

Click “Next” on the coming screens to proceed with the installation process.

installation Xampp
Welcome Xampp

Now, you will see the final screen. I would suggest that you keep the “start the Control Panel” option checked. Click “Finish” to complete the installation process. A new window will open shortly.

Xampp setup wizard

The XAMPP Control Panel has now started. Now, click “Start” button in Apache and MySQL rows to begin.

Xampp Control Panel
Xampp Control Panel

You are now ready to start writing the code. Now all you need is an editor like Notepad++ or Dreamweaver to write the code.

After downloading Notepad++, you can start writing your code

<?php
echo “My first PHP Script”;
?>

Now, save the page as “test.php” in htdocs folder and click “Save” button.

test.php

Now, open a web browser and type localhost in the address bar. It will automatically open the index file but if you type localhost/test.php, it will open the page that we have saved.

my first php page

Consider another example.

<!DOCTYPE html>
<html>
<head>
<title>Getting Started With PHP</title>
</head>
<body>
<h1>Beginners Guide For PHP</h1>
<p>Tutorial Series For Learning PHP</p>
<?php
echo “2+3″.”<br/>”;//It will display the output 2+3
print “2+3”;// print will also display the output 2+3
?>
</body>
</html>

In this example, we use echo and print to show the same result. Here is the output we get.

beginners guide for PHP

You can see that the two lines of 2+3 are displayed as output by using different statements. Most of the professional programmers prefer to use echo because echo can bring up multiple strings or values at the same time, whereas print displays one statement at a time. Both echo and print can be used with or without parentheses; print() or echo(). Also, it is to be noticed that you can not see the sum of two numbers without using variables. The concept of variables will be introduced along with PHP data types in the next tutorial.

Consider the example below.

<!DOCTYPE html>
<html>
<head>
<title>Getting Started With PHP</title>
</head>
<body>
<h1>Beginners Guide For PHP</h1>
<p>Tutorial Series For Learning PHP</p>
<?php
$a=99;
$b=”Calculus”;
echo “Numbers you have got in $b are $a”.”<br/>”;
echo ‘Numbers you have got in $b are $a’;
?>
</body>
</html>

In this example, you can see that we have echoed the same string with double quotes and single quotes. Here is the output.

beginners guide php

When we use double quotes, it displays the string along with the values assigned to variables $a and $b. However, when we use single quotes, it will treat the whole statement as string and will display variables $a and $b. I will touch upon the concept of variables in detail in the next tutorial as well.

For now, congratulations! You have just executed your very first PHP scripts! In the upcoming weeks, I will be discussing more about PHP; from the most basic tutorials to the most advanced. I hope to see you around for more PHP tutorials.

PART 2: Data Types And Variable Concepts

In the meanwhile, you can sign up and deploy PHP on the revolutionary managed Cloud Hosting Platform. Choose your cloud provider from some of the best infrastructures around, namely Google Compute Engine, DigitalOcean and Amazon Web Services. It will take you less than 6 minutes to sign up, choose the cloud provider and deploy PHP on your selected cloud provider. It is fast and secure. Plus, you are always covered with a 24/7 support team that never keeps you at bay!

Soa Technology

Can I make 6 million a year selling on Amazon?

Can I make 6 million a year selling on Amazon?

Yes you can. There is actually an incredible success story of a 21-year old college kid who setup his Amazon business. Grew his sales from 0 to 93 million. Then sold his entire business for an Amazing $75 million!

So yeah you can get very, VERY rich with selling on Amazon. Personally I am not quite there yet, as I am “only” making $19k a month.
I started selling on Amazon about 3 years ago, and although it is hard work, it definitely paid off ! Over these 3 years I have learned some valuable lessons and setup my own checklist of what to look for when picking a product to sell on Amazon:

  1. Product must be simple to manufacture!
    We want to keep it as simple as possible and don’t take any risks with hard to manufacture products.
  2. Low competition
    The competition should have around 50 reviews or less.
  3. High demand
    At least $3000 revenue per month for competitors in my niche.
  4. Sales Price: $15 +
  5. Healthy profit margin
    Profit margin should be at least 33% of the sales price. So I want to make at least $1k per month on this product

This is just the basics. However, if you are really serious about starting a FBA business as well you can check out this post about

STRANGE AND SCARY IOT HACKS

STRANGE AND SCARY IOT HACKS

The Internet of Things has provided a worldwide digital playground for hackers, pranksters and those who would thwart them and here are 9 of the most unnerving.

Here’s the Thing …

It’s no secret that the issue of IoT security is a Very Big Deal these days. Our brave new world of perpetually connected devices—appliances, cameras, thermostats, cars—has created a proportionately huge world of network security problems. The essential dilemma is that all these Internet-connected “smart” devices are often unprotected and easy to hack. Depending on the situation, they can leak sensitive data, generate worrisome surveillance problems, or even present legitimate physical dangers.

IoT security is an enormous, complicated, and really quite serious topic.
Those in the market for in-depth analysis will want to consult our more sober assessments. Here we take a high-altitude POV, looking at IoT hacks that have made headlines in recent years, with an eye toward the weird, the funny, and the scary.

Everyone knows someone who doesn’t take the security of home appliances seriously enough. These are the stories you need to help them focus.

Display Alll Product in one Page in opencart

Display Alll Product in one Page in opencart

  1. You have to create separate page for displaying all products.
    1. Create Model file catalog\model\catalog\allproduct.php and paste code this http://pastebin.com/suF5TP3z
    2. Create Controller file catalog\controller\productallproduct.php and paste below code http://pastebin.com/jZq3hZyc
    3. Create View file catalog\view\theme\default\template\productallproduct.tpl and paste below code http://pastebin.com/1HNh3x734 . Create Language file catalog\language\en-gb\product\allproduct.php and paste below code http://pastebin.com/EcyJH7F9
      1. Enable module from back-end You can see link in menu

  2. Display All Category in Menu
    1. Open and edit your category:
    2. Select tab Data:
    3. Find and Check:Top: Display in the top menu bar.

      Note : Only works for the top parent categories.You will need to check all the top level categories.It’s Opencart bugs.

OpenCart 2.x./3.x. How to set up specials and featured products

OpenCart 2.x./3.x. How to set up specials and featured products

It is essential to learn how to manage your store’s product inventory using the OpenCart administration side.  The following tutorial will show you how to set up specials and featured products in Opencart themes.

A special price is a products sale price. This type of pricing is better used as a short-term tactic during the holiday season or sales week.

Here’s how to define a special product in OpenCart:

  1. First of all, navigate to Catalog->Products in your admin dashboard.
  2. Search for the product you would like to be set as special. Click the Edit link to modify it.
  3. Then choose Special tab.
  4. You will have to fill in following fields:
  • Customer Group – optionally select a customer group you want this special to be applied to.
  • Priority – if you offer multiple specials and/or discounts, enter 1 for this to be applied first, 2 for this to be applied second.
  • Price – the price you want the customer to see.
  • Date Start – when you want this special price to appear.
  • Date End – when you want this special price to disappear.

To set the product as Featured you will have to do the following:

  1. Navigate to the Extensions -> Extensions section and choose Modules in the dropdown.Open the Featured – Featured Home module for editing.
  2. Start typing desired product name in the Products field. After this you will be able to select the Product out of the list and choose it as your  Featured product.
  3. Press Save button to save the changes.

This is the end of the tutorial, now you know how to set up specials and featured products in OpenCart.

How to Talk About Salary in a Job Interview

How to Talk About Salary in a Job Interview

There are a few reasons employers ask this question. In most cases, the company has budgeted a pay range for the role. They want to be sure that your expectations are consistent with that budget before moving forward.

Another reason is that, should things continue to go well, your potential employer wants to put together an offer that is compelling and exciting to you. This question opens up an opportunity for you to consider and discuss the salary as well as other benefits that interest you.

Here are several guidelines that can help you steer the conversation:

1. Know your worth

Each job has a general market value. You can learn the compensation range for your job on Indeed Salaries, where you can search by job title and location to narrow in on current compensation rates in your field.

Before you share your salary expectations with an employer, think holistically about what you’re earning presently, including salary, bonuses and benefits. Then, use the research you’ve done to set a realistic target for what kind of compensation you want in your next job. What base salary are you looking for? Which benefits do you value the most? What other perks interest you?

If you’re changing career tracks or interviewing for a job at a company that’s structured differently from your last employer, you should be able to articulate what you’re gaining or losing in terms of compensation.

2. You don’t have to answer salary questions right away

The requirements of a job as well as the other kinds of compensation an employer offers, like benefits, equity and bonuses, are important to take into consideration. When you are first asked, “What are your salary expectations?” it’s ok to delay answering. Here are some responses that can help you continue the conversation and get more information:

  • “I’m looking for a competitive offer that includes benefits and other kinds of compensation, but I’d like to know more about the specifics of what this job requires first.” (This answer is good for most situations)
  • “Over the course of my career, I’ve worked in several different areas, across different levels. I’d like to learn more about what this role entails as well as the benefits and other forms of compensation you offer.” (This may be a better answer if you’re transitioning to a new career track)

3. Give a salary range, not an exact number

If you’ve delayed answering the question and the interviewer asks you again, it’s time to respond. Avoid giving a specific number. Instead, you can provide a range. Cite your research and frame the conversation as being about what is fair rather than what you want. Here are some examples of how to answer:

For the less experienced candidate:

  • “I understand from my research and experience that low 50s to mid-60s is the competitive range for this role in this industry and city.”
  • “In this environment and in this location, my research indicates that mid-50s to low-70s is a reasonable range.”

For the more experienced candidate:

  • “Based on my experience in this field and my research on the current market, I understand that mid 70 to low 90s is a competitive range.”

Leave it there. Wait to negotiate further until you have a formal job offer in hand.

To sum up, here’s what you need to remember when talking about salary in an interview:

  • Know your worth and the forms of compensation that matter most to you.
  • Use salary resources like Indeed Salaries to study the current trends and learn about the range for this job in your city.
  • Give a range, not a specific number. Frame the conversation about salary around what is fair and competitive.
  • Don’t try to negotiate until you have a formal job offer.