Is Your D&D Character Rare?

FiveThirtyEight, a website better known for predicting election results with statistical methods, a few weeks ago posted a statistical analysis of 5th edition Dungeons & Dragons characters regarding their choice of class and race combination. The result is boringly predictable: People overwhelmingly choose a race that gives at least a +1, if not a +2 bonus to their main class stat. As the race system has been designed to favor combinations that appear in the cast of Lord of the Rings, you get a lot more elven rangers than dwarven rangers, etc. However that is much less an attempt to emulate the classics but rather simple stat minmaxing.

I don’t know how these statistics look for other games or previous editions of Dungeons & Dragons. But I suspect that the “bounded accuracy” math of 5th edition D&D makes a +1 or +2 bonus a lot more important in this edition, because there aren’t so many other bonuses around. Unless you “roll lucky” (which is my way of saying cheat with your stats), an elf paladin is simply too bad stat-wise to be playable. That from a role-playing point of view a haughty elf might make a brilliant paladin if played well is of no importance. You choose your class, then take one of the few races that are good at that class, or default to humans who are good at everything.

As a role-playing challenge I would love to try a gnome barbarian. But as a 5th edition character with standard array or 27-point buy stats I’d end up with something not very fun to play in combat. The World of Warcraft system where your choice of race has only a very minor influence on your combat performance is more to my liking.

Must kNow Web Dev toolS – 2OI7

Must kNow Web Development toolS – 2OI7

WEB  DEVELOPMENT:

Web development broadly refers to the tasks associated with developing websites for hosting via intranet or internet. The web development process includes web design, web content development, client-side/server-side scripting and network security configuration, among other tasks.
Web development services helps your company to increase product knowledge, maintain communication between you and potential clients, sell your products or services, generate leads for the business, and increase the popularity of your company and much more.
web design has a direct impact on conversion. Changing simply the design elements of a web page for a marketing campaign can produce big lifts in conversion. In competitive advertising channels, small lifts in conversion can give you the edge over your competition. 
Let’s see some must know web development tools :

1.Sizzy

Sizzy is a development tool to test your responsive website in multiple viewport sizes on a single screen. It’s a super handy app as compared to the Chrome’s built-in mobile emulator. Sizzy also comes as a Chrome Extension.

2. CSS Grid Cheat Sheet:

Learning CSS Grid can be quite intimidating when it comes to a number of new properties, a new measuring unit, and also almost a complete new paradigm to build the web layout. This tool, as the name implies, is to help you get your feet off the ground with CSS Grid.

3. KAP

Kap is a neat little screen recorder for MacOS. It is an open-source app, built with web technology. One thing that I love in this app is that it offers converting the video right out-of-the box. Kap is a great alternative to record your apps or website’s live demo.

4. Material UI

Material Design (codenamed Quantum Paper) is a design language developed in 2014 by Google. Expanding upon the “card” motifs that debuted in Google Now, Material Design makes more liberal use of grid-based layouts, responsive animations and transitions, padding, and depth effects such as lighting and shadows.

5. Checker Service:

A great list of web apps to check a lot of stuff such as DNS, Load, Speed, SEO, Security, and SSL. Many of these tools are free, however, there are a few premium services listed therein that offer advanced features for users.

6. Yeoman:

Modern web development is by all accounts blending around various small, open source tasks and tools. Any semblance of Bootstrap, Compass and PhantomJS. Every bundle contributing a solitary perspective to another occupation – could test, CSS frameworks or code compilation.
Yeoman is Google’s endeavor to pull together the best of these applications under a solitary, customisable banner. Platform new web applications, staying up with the latest, auto-arranging your code, optimising your pictures. Yeoman has your back.

7. Launchaco:

Finding a great name for your startup is hard, and obtaining an available username handler on social media is even harder. Launchaco is a handy tool that allows you to find domain names, usernames for different social media like Twitter, Facebook, Instagram etc., and helps you generate a nice logotype of your business.

8. Mavo:

Mavo is a new open source project from Lea Verou. It is a library that turns bare HTML markup and a few custom attributes into a functioning web application. Mavo easier to follow as compared to the other libraries like Backbone, Vue.js or React as it allows less tech-savvy users to build web application quickly and easily.

Want to learn Web Technologies?

PPC – SomeOne SpenDing – SomeOne EarNing

We have the Internet that provides a huge platform for advertising products and services online. Advertisers around the world have shown a keen interest in making good use of the Internet that is omnipresent these days.

Contrary to the traditional advertising model, the recent methods of internet marketing involve innovative techniques to catch more eyeballs and pull online traffic to visit, listen, view, or buy a product or a service that is on offer. It is done through a model that is now being widely regarded as Pay Per Click (PPC). It is a successful model for internet advertising that directs online traffic to particular websites, where the advertisers pay the publishers a certain amount when their ad is clicked.

Pay-per-click (PPC), also known as cost per click (CPC), is an internet advertising model used to direct traffic to websites, in which an advertiser pays a publisher (typically a website owner or a network of websites) when the ad is clicked.

Entities Involved in PPC Advertising:

  • Product or Service Seller
  • PPC Advertiser
  • Landing Page Provider
  • Landing Page
  • Viewer or the Visitor

Take a close look at the illustrations below that depict the general roles of the entities involved in PPC advertising:

A product/service seller contacts advertisers for PPC based Ad programs.

PPC Advertiser creates Ads and provides landing pages for Ads.

Users click the Ads and visit the landing pages.

PPC – Bird’s eye view

Lets take a look at Terminology related to PPC:

Ad group
It is a collection of relevant keywords under one name. Maximum 20,000 keywords can be added into an Ad Group.

Ad Network
An Ad Network is an online business that specializes in matching up of advertisers to the websites looking to host the ad. Ad networks work as brokers for both suppliers (sites with content that can host ads, and buyers (the advertisers).

Ad Position
Ad position is the order in which an ad is displayed on a webpage. For example, ad position “1” means the ad is displayed first on the webpage.

Ad Rank
It is a value used to determine the Ad Proposition.

Call-To-Action (CTA)
This is a marketing term used for the action you want the website visitor to take.

Campaign
It is a series of relevant ad groups.

Click-Through-Rate (CTR)
It is a metric showing how often a visitor clicks your ad after seeing it. It can be defined as the number of clicks per thousand impressions. CTR contributes to Ad Rank.

Conversion
Conversion is the action the user wants when he clicks on an ad. It occurs when a visitor takes action. For example, the user makes purchases, signs ups, submits enquiry forms, views a page, or downloads, depending on the program’s goals.

Conversion Rate
It is the measurement of the success of a paid campaign. It is measured by the number of potential visitors performing any of the desired actions such as buying a product, filling a form, etc.

For example, if there are 100 visitors to a particular webpage via a PPC ad, and six of those 100 visitors buy the product the website sells, then the conversion rate for that particular ad is six percent. The larger the conversion rate, the more successful the website is.

Cost Per Action or Cost Per Acquisition (CPA)
It is the amount you pay for every lead, sign-up, or purchases.

Cost Per Click (CPC)
It implies the amount you pay for every single click on your ads.

Cost Per Mille (CPM)
It is the amount paid for every thousand views of the PPC ad.

Destination URL
It is where you want the user to land when he clicks on the ad.

Display URL
It is the name of a page of the website.

Geo-targeting
Delivery of ads to a particular geographic location of the users. It allows the advertisers to choose specific locations where they wish to show their ads.

Keyword
It is a search query made by a user. A word or a phrase of words entered in the search box by the user. The search engine matches your keywords and gives you relevant results on the Search Engine Result Page (SERP).

Landing Page
It is any standalone webpage distinct from the main website on which the visitor lands.

Negative Keywords
They are the ones for which you do not want your ad to appear.

PPC Bid
It is the maximum amount of fees an advertiser is ready to pay for a click.

Prospect
Prospect is a potential user who can buy a product/service being advertised.

Quality Score
It is a dynamic metrics assigned to each of your keywords and ads. It determines the quality of your keyword, ad, and the landing page. High quality score boosts the ad rank.

Creating a Keyword List

Keywords are the primitive entities of PPC ads. Choosing a correct and relevant set of keywords can help design a crisp and persuasive ad to fulfill the sole purpose of increasing the number of clicks on the ad.

You can use the given target model for keyword research and building a keyword list. The basic steps of building a keyword list are

  • Create a basic list (Seed List) of usual business terms
  • Expand the list using keyword research tools
  • Refine the list of keywords

Creating a Seed List

A seed list is nothing but the initial set of keywords of the seller’s business. Write down the six keyword categories in columns. Use a combination of brainstorming and investigation for categorizing the keywords into these six groups by keeping the brand and the product terms at the center of attention.

You need to build this list thoroughly, keeping in mind all the features of the product or service the seller is providing. You need to ponder and create a list of words about what all problems this particular product or service can solve.

Expanding the List

Initially, you need to think of only a few dozens of keywords, then expand, and finally refine. While expanding, you can add new potential keywords in the existing list so that the list is always up-to-date. For this, you need to:

  • Review the seller’s website for new or upcoming products or services.
  • Understand how people talk about the product and its features.
  • Identify unique and well-performing keywords that need to be added in the list.
  • Use keywords research tools for various suggestions.

Refining the List

While expanding, you may have added non-value adding or non-interesting keywords. Now it is time to refine the keywords list by eliminating the less interesting keywords and keeping only the best ones. There is no hard and fast rule to do this. Refining the keywords list is vital, as you need to take care not introduce any negative effect on the present list.

Keyword Research Tools

Keyword research tools help you to expand the list of keywords in most relevance of the seller’s product or service. These tools suggest numerous variations of the words from which we can select the appropriate one.

These tools include:

  • Google AdWords Keyword Planner
  • Word Tracker
  • SEO Book Keyword Suggestion Tools
  • Keyword Discovery
  • SpyFu

Writing a Killer PPC Ad

Refer the diagram shown below. To create an effective and compelling ad, the following methodology is helpful:

Elements of a PPC Ad

Refer the following image to understand the elements of a PPC ad.

Headline – This is the main title of the ad. It must be magnetic, crisp, and compact.

Display URL – This is the link of the relevant web page where the prospects will be taken onto. It is not required to be the exact landing page but it should be relevant. You can, for example, include your website with the top keyword in your Ad Campaign.

Description Line 1 and 2 – This is the body of the ad. It describes the product or the service the seller is offering.

Landing Pages

If you create a beautiful and catchy PPC ad with an effective Call-To-Action and do not link an appropriate landing page to it, then all your efforts go in vain.
Use of landing pages in the PPC ads helps to:

  • Increase conversion
  • Reduce Cost-Per-Click (CPC)
  • Reduce bounce rate

Elements of an Effective Landing Page:

  • Engaging and beautiful appearance.
  • Well-organized contents.
  • Tight coupling between advertise and page contents.
  • Simple, yet descriptive and informative.
  • Clear and discrete Call-To-Action and offers.
  • Capability of building trust about authenticity of a product or service the seller offers.
  • Capability of pursuing the visitors to take action.

PPC Bidding

Bidding is offering a competitive price that a bidder is ready to pay for a service. The term ‘bidding’ is always used in the context of auction. Bidding is very useful to set the value of an object, an art piece, a property, a commodity, etc. The amount itself is called as a bid.

In the context of internet marketing, the amount an online business organization allocates for PPC advertising is known as PPC bid. The bids specify the maximum amount that an organization is ready to pay each time a user clicks your ad. This is called the maximum Cost-Per-Click (max CPC).

Factors That Affect Bidding:

  • Advertising budget of the organization
  • The time the organization plans to use paid advertising.
  • Keyword popularity
  • Competition from other advertisers

What to Bid For?

With the help of bid management tools, you can bid for:

  • Conversion events such as video views, contact forms, store directions, the time of ad display, etc.
  • Keywords such as brand phrases, user phrases, direct response phrases, lead generation phrases, engaging phrases, etc.

Want to learn Digital Marketing?

Working with Adobe After Effects


About :

Adobe After Effects is a software program that allows its users to create animation and other special effects for graphic-related projects. Graphic designers use it to provide their projects with layer-based animation. After Effects is part of the Adobe family of software and is compatible with other Adobe software.

Index

1. Creating a New Composition and Importing Files

2. Building a Composition with Layers

3. Adding Animations, Effects, and Preset

4. Previewing and Rendering Your Composition 



1. Creating a New Composition and Importing Files



I. Make and set up a new composition. 

Projects in Adobe After Effects are called compositions, or comps. At the Welcome screen, locate and click on the “New Composition” button in the right column. If you already have the program open, you may either click on the “Composition” tab and select “New Composition” or use the keyboard shortcut Ctrl+N. Every time you create a new composition, a “Composition Settings” window will appear on your screen.

  1. Locate “Preset” and click on the drop-down menu. The menu is divided up into four sections, respectively: web settings, standard definition broadcast settings (NTSC and PAL), HD settings (the most commonly used), and film settings. Select the top HD preset: “HDV/HDTV 720 29.97.” This selection with automatically set the width, height, and frame rate.
  2. In the second row, locate “Start Timecode” and “Duration.” Leave the “Start Timecode” at 0. “Duration” refers to the total length of the project, from start to end. Set the “Duration” to the required length for your composition.
II. Save your composition. 

Before you begin to work on the composition, you should always name and save the project. Click on the “File” tab at the top of the screen. When you select “Save,” a “Save As” window will appear. 
At the top of the window, type in the name of your composition. Select a location to save this file to and click the “Save” button at the bottom of the screen. The saved composition will appear in the “Project” tab to the left of the screen.
While you may save this file in any location, it is recommended that you save your composition near your “Footage” file. This file is located within the “Exercise Files” folder.

III. Import files into Adobe After Effects. 

In order to create a composition, you need material to manipulate and animate. 
Select File>Import>File or double click on the “Project” tab. Select all of the files you wish to import and hit “Open.” The imported files will appear in the “Project” tab.
 Alternative methods include:

  • Double click anywhere on the “Project” tab.
  • Strike “Command + I.”
  • Drag images directly into the “Project” tab.



2. Building a Composition with Layers


I. Add files to your composition. 

A composition is a composite graphic, or a composite of layers. Each individual layer of your composition is made up of a file. All of the layers combined form a composite graphic. There are several ways to add a file to your composition.

You may drag and drop files from the “Project” tab into the “Timeline” tab (located at the bottom right of the window), the “Composition” window (located to the right of the “Project” tab), or the “Layer” tab (located directly below the “Project” tab.)

II. Organize and edit the layers. 



Once the files appear in the “Layer” tab, you may begin to manipulate the files. From this tab, you may alter the order of the files and edit the appearance of a file.
To adjust the hierarchy of the layers, drag a file up or down the list. The order of the files will alter the appearance of the composition (see the “Composition” window.) Files at the top of the layer list will appear over files at the bottom of the layer list.

To alter the appearance of a file, click on the sideways triangle next to the layer’s number. This will open up a “Transform” menu. From this menu, you may alter the following properties: anchor point, position, scale, rotation, and/or opacity.

III. Generate a timeline for your composite graphic. 



The “Timeline” function allows you to animate the graphic—it controls when each layer is or is not visible. The “Timeline” is located to the right of the “Layer” list. Each layer has it own life bar within the timeline, which you can trim, extend, or group with other layers as desired.

IV. Trim your layers.



Select a layer from the list. Move your cursor over the line dividing the list and the timeline so that a double arrow appears. Click and drag the double arrow across the timeline to produce a translucent grey box (this indicates that a clip is trimmed.) Stop once you reach the moment you would like the layer to appear.


The red line with the Blue tab indicates your current time known as play head. You can use this line to help you automatically trim layers. Select the layer you wish to trim. Drag the red line to your desired starting or ending point for the layer. Strike  ”
Command + [ ” to automatically trim a layer to the right of the red line, strike ” Command ] “.


V.Transform your 2D layers. 



When you work within the “Composition” window, you may manually position, or transform, the layers. Select a layer from the list. Move your cursor over the “Composition” window and zoom, or scroll, out. A set of handles will appear around the composition. This indicates the the layer may be transformed, or positioned.
  1. To shrink or expand the layer, click on the handle, press ⇧ Shift, and drag your cursor towards the inside or outside of the window.
  2. To rotate an element, press Ctrl+W. This will activate the rotation tool.
  3. To move a layer on a 2-D plane, click on the element you want to move and drag it to its new position.

VI. Create 3D layers. 




To create a 3D layer, return to the “Layer” tab. The column directly under this icon controls the 3D settings for each layer. To activate this feature, check the layer’s blank space in this column. Return to the “Composition” window—if you activated the 3D property, a Y, X, and Z handle will appear on the layer’s anchor.

VII. Transform your 3D layers. 




To move a 3D layer, press CTRL+W to activate the rotation tool. Hover your cursor over the X or the Y axis. Click on the axis and drag your cursor to the left and right or up and down. The Z axis should always remain at “0.”

VIII. Apply the parent function to your layers. 



The parent function allows you to tie your layers together. One layer, the parent, will drive the actions of another layer, the child. The child layer, can still move independently of the parent.

  • Select the child layer (the layer that you want to apply the keyframes to)—this layer will become the child.
  • Locate the “Parent” category in the layer tab.
  • In the “Parent” column for this layer, locate the curly-q shaped icon in the child’s row. Click on the icon and draw a black line from the icon to the “Layer Name” section of parent. Through this process, the child will become tied to the parent.


3. Adding Animations, Effects, and Presets

I. Set up keyframes. 


Keyframes mark exact points in time when changes are to occur to a layer’s properties. This function, which is represented by a little stopwatch, allows you to animate your composite graphics.

  1. Move your red “Current Time Indicator” line to the moment at which you would like to activate a keyframe.
  2. Select a layer from the “List” tab.
  3. Expand the layer’s “Transform” or “Contents” tab.
  4. Click on the stopwatch icon next to the property you wish to alter. This will record a keyframe at the current time indicator. A yellow dot or a greater than/less than symbols will appear on the timeline to mark the keyframe.
  5. To see your keyframes on the timeline, lasso the layers you wish to view and press “U.”
  6. To move a keyframe, select a keyframe symbol on the timeline by lassoing it and then drag it to its new location. You may also copy and paste keyframes.

II. Animate keyframes. 



Keyframes allow you to animate your project. You may alter any of the properties listed under the “Transform” or “Contents” tab. There are two basic forms of animation: with ease or linear. If a layer in animated with ease, the layer will ease into and out of the motion. If a layer is linearly animated, the layer will start and stop moving abruptly and it will also move at the same rate the entire time. Altering a layer’s position is an example of linear animation.

  1. Click on the stopwatch next to “Position.”
  2. Move the red line to the point at which you would like the layer to be off the screen.
  3. Click on the layer’s anchor point.
  4. Hold down “Shift” as you drag the layer completely off of the screen. The motion path will appear as a purple dotted line and each related keyframe will appear as a purple square. To preview your animation, scrub the red line over the timeline.

III. Include effects and presets. 


Click on “Window” and “Effects and Presets.” You will see a list of various animations and effects that are available for application to your project. Simply drag and drop the effect or animation selection onto the layer to which you’d like to apply it. You should see the change immediately.

  • Effects include 3D, color correction, and various camera views.
  • Transition options include wipe, fade and checkerboard.
  • You may remove selections by dragging them off your projects.


4. Previewing and Rendering Your Composition


I. Preview your project. 

Select “Windows.” From here, click on “Time Controls.” A preview pane will pop up where you can select “Play” to see a rough draft of your project. If you wish to see a more finished version, click on “Ram Render Play.” If your project is especially long or requires a large amount of memory, adjust the resolution before you preview it. After clicking to play it, the video will run continually until you click on the screen to stop it.

II. Export your composition to Render Queue. 



If you need to produce and deliver a high-quality composition, export your project to the Render Queue. The Render Queue is built into Adobe After Effects.
Click on “File” at the top of the window. Select “Export” followed by “Add to Render Queue.” Instead of “File,” you may click on “Composition” and select “Add to Render Queue.”
In your Render Queue, locate “Output Module” and click on the linked text to the left of this section. A dialogue box will appear on your screen. From this screen, you can change the video and audio output settings. Click “Ok” when finished.

In your Render Queue, locate “Output To” and click on the linked text next to the left of this section. Another dialogue box will appear on your screen. The screen you prompt you to select a location to save your rendered composition. Click “Ok” when done.
Click on “Render” to export the composition.









III. Export your composition to Adobe Media Encoder. 


The Adobe Media Encoder will produce a compressed version of your composition. The Media Encoder will also export files that are compatible with specific web platforms. While your project is rendering in the Media Encoder, you may continue to work in Adobe After Effects.
Click on “File” at the top of the window. Select “Export” followed by “Add to Adobe Media Encoder Queue.” You may also select “Composition” followed by “Add to Adobe Media Encoder Queue” or drag the file directly into the “Adobe Media Encoder Queue” tab.
Locate the “Preset Browser.” Select the format for your composition. Drag this preset from the browser onto the file in the “Adobe Media Encoder Queue.”
In the queue, locate “Output To” and click on the linked text next to the left of this section. A dialogue box will appear on your screen and prompt you to select a location to save your rendered composition. Click “Ok” when done.
Click on the green play button to begin the export.

Want to learn Branding ? How to SEO, SEM ?

MongoDB overView with Installation_procEss: SQL – Where all to UsE ?

MongoDB


MongoDB (from humongous) is a free and open-source cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas. MongoDB is developed by MongoDB Inc. and is free and open-source, published under a combination of the GNU Affero General Public License and the Apache License. Any relational database has a typical schema design that shows number of tables and the relationship between these tables. While in MongoDB, there is no concept of relationship.

Document Database

A record in MongoDB is a document, which is a data structure composed of field and value pairs. MongoDB documents are similar to JSON objects. The values of fields may include other documents, arrays, and arrays of documents. Following is the example of MongoDB document 

MongoDB database document


Following are some advantages of using document database

  • Documents correspond to native data types in many programming languages.
  • Embedded documents and arrays reduce need for expensive joins.
  • Dynamic schema supports fluent Polymorphism.
Following are the features of MongoDB
  • MongoDB provides high performance data persistence.
  • MongoDB supports a rich query language to support read and write operations.
  • Extremely faster than RDBMS
  • It is easy to use and lightweight.
Lets see advantages of MongoDB over RDBMS
In recent days, MongoDB is a new and popularly used database. It is a document based, non relational database provider.
  • MongoDB is schema less. It is a document database in which one collection holds different documents.
  • Structure of a single object is clear in MongoDB.
  • There are no complex joins in MongoDB.
  • Uses internal memory for storing the (windowed) working set, enabling faster access of data.
  • MongoDB is easy to scale.
  • Conversion/mapping of application objects to database objects not needed.
Where MongoDB should be used?
  • Big and complex data
  • Mobile and social infrastructure
  • Content management and delivery
  • User data management
  • Data hub
Lets see how to install MongoDB on windows
Setp 1: Download MongoDB for Windows
Download the latest production release of MongoDB.
To find which version of Windows you are running, enter the following commands in the Command Prompt or Powershell:


Step 2: Install MongoDB
In Window explorer, locate the downloaded MongoDB msi file, double click on that file and follow the instructions appears on the screen. These instructions will guide you to complete the installation process.

Step3: Setup MongoDB Environment
MongoDB requires a data folder to store its files. The default location for the MongoDB data directory is c:datadb. So you need to create this folder using the Command Prompt.

Start If you want to start MongoDB, run mongod.exe or You can do it from command prompt by using following command
C:Program FilesMongoDBServer3.4binmongod.exe

This will start the mongoDB database process. If you get a message “waiting for connection” in the console output, it indicates that the mongodb.exe process is running successfully.
If you will get following error 
mongod error
then click here and follow the steps.

When you connect to the MongoDB through the mongo.exe shell, you should follow these steps:
1. Open another command prompt.
2. At the time of connecting, specify the data directory if necessary.

If you use the default data directory while MongoDB installation, there is no need to specify the data directory.
For example:
C:mongodbbinmongo.exe 
If you use the different data directory while MongoDB installation, specify the directory when connecting.
For example:
C:mongodbbinmongod.exe– dbpath d:testmongodbdata  

If you have spaces in your path, enclose the entire path in double space.
For example:
C:mongodbbinmongod.exe– dbpath  “d: testmongodbdata”
This will show that MongoDB is installed and run successfully.

MongoDB Help
To get a list of commands, type db.help() in MongoDB client. This will give you a list of commands.

MongoDB Statistics
To get stats about MongoDB server, type the command db.stats() in MongoDB client. This will show the database name, number of collection and documents in the database.

Learn Database Programming

A walking tour of JavaBean

Software components are to software what integrated circuits (ICs) are to electronics: “black boxes” that encapsulate functionality and provide services based on a specification. Software reusability has long been a holy grail of software engineering and a major goal of object-oriented programming. Software components are designed to be reusable, even interchangeable.
JavaBeans are reusable software components for Java that can be manipulated visually in a builder tool.Practically, they are classes written in the Java programming language conforming to a particular convention. They are used to encapsulate many objects into a single object (the bean), so that the bean can be passed around rather than the individual objects.

Java Bean

A Java Bean is a java class that should follow following conventions:

  • It should have a no-arg constructor.
  • It should be Serializable.
  • It should provide methods to set and get the values of the properties, known as getter and setter methods.

Serialization

In computer science, in the context of data storage, serialization is the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer) or transmitted (for example, across a network connection link) and reconstructed later (possibly in a different computer environment)

Serializable Objects

To serialize an object means to convert its state to a byte stream so that the byte stream can be reverted back into a copy of the object. A Java object is serializable if its class or any of its superclasses implements either the java.io.Serializable interface or its subinterface, java.io.Externalizable. Deserialization is the process of converting the serialized form of an object back into a copy of the object.

Why use Java Bean?

According to Java white paper, it is a reusable software component. A bean encapsulates many objects into one object, so we can access this object from multiple places. Moreover, it provides the easy maintenance.

JavaBeans Properties

A JavaBean property is a named attribute that can be accessed by the user of the object. The attribute can be of any Java data type, including the classes that you define.

A JavaBean property may be read, write, read only, or write only. JavaBean properties are accessed through two methods in the JavaBean’s implementation class −

S.No. Method & Description
1
getPropertyName()
For example, if property name is firstName, your method name would be getFirstName() to read that property. This method is called accessor.
2
setPropertyName()
For example, if property name is firstName, your method name would be setFirstName() to write that property. This method is called mutator.
A read-only attribute will have only a getPropertyName() method, and a write-only attribute will have only a setPropertyName() method.

JavaBeans Example

Consider a student class with few properties −

package com.SuvenConsultants;

public class StudentsBean implements java.io.Serializable {
private String firstName = null;
private String lastName = null;
private int age = 0;

public StudentsBean() {
}
public String getFirstName(){
return firstName;
}
public String getLastName(){
return lastName;
}
public int getAge(){
return age;
}
public void setFirstName(String firstName){
this.firstName = firstName;
}
public void setLastName(String lastName){
this.lastName = lastName;
}
public void setAge(Integer age){
this.age = age;
}
}
How to Access Java Bean Class

package com.SuvenConsultants;
public class Suven{
public static void main(
String args[]){

StudentsBean sc=new StudentsBean ();//object is created

sc.seFirsttName("Rocky");//setting value to the object
sc.seLasttName("Jagtiani");
System.out.println(e.
getFirstName());

}}
The useBean action declares a JavaBean for use in a JSP. Once declared, the bean becomes a scripting variable that can be accessed by both scripting elements and other custom tags used in the JSP. The full syntax for the useBean tag is as follows:

<jsp:useBean id = "bean's name" scope = "bean's scope" typeSpec/>


Here values for the scope attribute can be a page, request, session or application based on your requirement. The value of the id attribute may be any value as a long as it is a unique name among other useBean declarations in the same JSP.

Following example shows how to use the useBean action −

<html>
<head>
<title>useBean Example</title>
</head>

<body>
<jsp:useBean id = "date" class = "java.util.Date" />
<p>The date/time is <%= date %>
</body>
</html>

You will receive the following result − −

The date/time is Thu Sep 30 11:18:11 GST 2017 

Accessing JavaBeans Properties

Along with action, you can use the action to access the get methods and the action to access the set methods. Here is the full syntax −

<jsp:useBean id = "id" class = "bean's class" scope = "bean's scope">
<jsp:setProperty name = "bean's id" property = "property name"
value = "value"/>
<jsp:getProperty name = "bean's id" property = "property name"/>
...........
</jsp:useBean>

The name attribute references the id of a JavaBean previously introduced to the JSP by the useBean action. The property attribute is the name of the get or the set methods that should be invoked.
Following example shows how to access the data using the above syntax −

<html>
<head>
<title>get and set properties Example</title>
</head>

<body>
<jsp:useBean id = "students" class = "com.SuvenConsultants.StudentsBean">
<jsp:setProperty name = "students" property = "firstName" value = "Rocky"/>
<jsp:setProperty name = "students" property = "lastName" value = "Jagtiani"/>
<jsp:setProperty name = "students" property = "age" value = "39"/>
</jsp:useBean>

<p>Student First Name:
<jsp:getProperty name = "students" property = "firstName"/>
</p>

<p>Student Last Name:
<jsp:getProperty name = "students" property = "lastName"/>
</p>

<p>Student Age:
<jsp:getProperty name = "students" property = "age"/>
</p>

</body>
</html>

The following result will be displayed −

Student First Name: Rocky

Student Last Name: Jagtiani

Student Age: 39

Benefits of JavaBeans:

  • A Bean obtains all the benefits of Java’s “write-once, run-anywhere” paradigm. 
  •  The properties, events, and methods of a Bean that are exposed to an application builder tool can be controlled. 
  • A Bean may be designed to operate correctly in different locales, which makes it useful in global markets.
  •  Auxiliary software can be provided to help a person configure a Bean. This software is only needed when the design-time parameters for that component are being set. It does not need to be included in the run-time environment.
  •  The configuration settings of a Bean can be saved in persistent storage and restored at a later time. 
  • A Bean may register to receive events from other objects and can generate events that are sent to other objects.

Want To Learn Java?

Here is how tech companies are responding to the repeal of net neutrality

Save the Internet

Unless you’ve been in living under a rock the past several months, you knew that a vote on net neutrality was coming. It played out just as everyone suspected and the FCC voted to reclassify internet service providers like Comcast, Spectrum, and Verizon. The vote removed restrictions on the companies that many felt were vital to an open and fair internet.

Here are how some large tech companies are reacting the vote.

Google

Google is a proponent of net neutrality and has repeatedly voiced its support of it in the past. In a statement released to news organizations after the vote, Google pledges to continue to follow the policies of net neutrality. Here is its statement in full:

We remain committed to the net neutrality policies that enjoy overwhelming public support, have been approved by the courts, and are working well for every part of the internet economy. We will work with other net neutrality supporters large and small to promote strong, enforceable protections.

Facebook

Facebook is another company that voice support for strong net neutrality regulations. Many fear that with the repeal of net neutrality, world-changing companies like Facebook may never be able to sprout up. Facebook’s COO released the following statement after the vote:



Netflix

As the largest video streaming service on the internet, Netflix has a vested interest making sure people are able to stream their content. Even though the company has seemingly waffled on its net neutrality, it came out with a firm statement stating, “We’re disappointed in the decision to gut #NetNeutrality.” Here is the company’s full statement:

Amazon

Amazon is another of the tech giants that stood behind net neutrality. With its repeal, Amazon’s Chief Technology Officer took to Twitter to share his statement:

Microsoft

Microsoft is a staunch supporter of net neutrality, saying earlier this year, “Without an open internet, broadband internet access service providers gain the power to outright prevent edge content and services from reaching their customers, levy tolls on edge providers and customers for access to edge content and services, and pick winners and losers in the internet economy, thus subjecting edge provider success to the control of broadband internet access services providers rather than the forces of customer demand.” After the vote, its Chief Legal Officer made the following statement:

Reddit

Reddit bills itself as the “Front Page of the Internet”. It’s another company like Facebook that was started by a couple of kids and turned into a phenomenon. If you’ve used the site any time in the last few weeks, you’ll know that the site and (most of) its users are strong supporters of net neutrality. In a statement today, Reddit CEO Steve Hufmann (Spez) said in part:

It is disappointing that the FCC Chairman plowed ahead with his planned repeal despite all of this public concern, not to mention the objections expressed by his fellow commissioners, the FCC’s own CTO, more than a hundred members of Congress, dozens of senators, and the very builders of the modern internet.

Nevertheless, today’s vote is the beginning, not the end. While the fight to preserve net neutrality is going to be longer than we had hoped, this is far from over.

You can read the statement in its entirety here.

Comcast

Comcast is one of the companies that could seemingly benefit from the net neutrality changes. Many fear that companies like Comcast could wield its power to prevent users from reaching sites or streaming video content to benefit its own platforms.

But, According to a blog post by Senior Vice President David L. Cohen, Comcast believes that Congress should move to enact net neutrality laws. Its stance is that the rules enacted by the FCC were just governmental overreach, but it really supports net neutrality. Whether you believe that or not is up to you, but you can read the full blog post here.

Charter/Spectrum

Charter is the second largest ISP in the country and obviously had its eye on the FCC’s meeting. After the vote, the company released a statement on its website that read in part, ” Charter has been consistent and clear: we support a vibrant and open internet that enables our customers to access the lawful content of their choice when and where they want it. We commend the FCC Chairman and Commissioners for their action today that re-establishes the light touch regulatory framework that had been in place for decades when the Internet took root and grew into an important tool for daily life and a major engine of economic growth.”

You can read the rest of its comment here.

AT&T

AT&T repeated many of the same sentiments as Comcast and Charter. AT&T’s Senior Executive Vice President of External & Legislative Affairs, Bob Quinn, took to the web to express that the repeal of net neutrality laws isn’t that big of a deal.

In the post, Quinn states, “AT&T intends to operate its network the same way AT&T operates its network today: in an open and transparent manner. We will not block websites, we will not throttle or degrade internet traffic based on content, and we will not unfairly discriminate in our treatment of internet traffic (all consistent with the rules that were adopted – and that we supported – in 2010, and the rules in place today).”

You can read the full post here.

Verizon

Verizon hosts a Broadband Commitment website that states, “Verizon supports the Open Internet, and is committed to offering services that allow our customers to take full advantage of all of the lawful content and services that the Internet has to offer.” Speaking to Inverse yesterday, Verizon spokesperson Rich Young backed up that sentiment with this statement, “Verizon fully supports the open Internet, and we will continue to do so. Our customers demand it and our business depends on it.”

T-Mobile

T-Mobile released a very short statement after the vote. It reads, “We always have and will support an open internet that enables us to provide new and innovative services to our customers and keep them first! We will continue to provide amazing service and support to our customers each day!”

Sprint

Sprint’s statement on the repeal of net neutrality is longer than T-Mobile’s, but says just as little. It reads, “Sprint applauds the FCC’s efforts to simplify a complex and challenging issue, while balancing multiple stakeholder interests in this important proceeding. Our position has been and continues to be that competition is the best way to promote an open internet. Complex and vague regulations previously created uncertainties around net neutrality compliance. The Commission’s decision today eliminates those uncertainties and appears to allow Sprint to manage our network and offer competitive products.”


Which company had the best response?

12 Most Insane Rules From the Biggest Neo-Nazi Website on the Internet

White supremacist style guides are…different.

The Daily Stormer is an online hub for racists, white nationalists, anti-Semites, neo-Nazis, and other assorted angry white men. It’s run by Andrew Anglin, who’s been in hiding for months avoiding an SPLC lawsuit charging stochastic terrorism against a Jewish woman in Montana. (Even underground, Anglin has managed to pull in a healthy sum in donations from supporters.) Among the confirmed readers of Anglin’s site are Dylann Roof, who in 2015 murdered nine black parishioners in a South Carolina church, and James Harris Jackson, who murdered a black man in New York City using a sword last March.

HuffPost writer Ashley Feinberg recently got a bit more insight behind the curtain of Anglin’s operation via the site’s 17-page style guide for contributing writers. The document lays out a few standard rules and protocols, from good HTML practices to proper grammar dictates, as well as a few rules that apply only to racist bloggers. The guide is packed with writerly advice on how to promote Anglin’s goals, which begin with expanding readership and end with an all-out race war. The key, per Anglin, is to maintain the site’s veneer of “non-ironic Nazism masquerading as ironic Nazism.”

Here are 12 of the most insane pieces of advice from the biggest neo-Nazi website on the internet.

1. Always blame the Jews.

Anglin writes that the Daily Stormer is “designed to spread the message of nationalism and anti-Semitism to the masses.” To that end, he notes that authors’ “prime directive” is singular: “Always Blame the Jews for Everything.”

“As Hitler says, people will become confused and disheartened if they feel there are multiple enemies. As such, all enemies should be combined into one enemy, which is the Jews. This is pretty much objectively true anyway, but we want to leave out any and all nuance. So no blaming Enlightenment thought, pathological altruism, technology/urbanization, etc. just blame Jews for everything.”

Anglin goes on to assert that Jews should be blamed “for the behavior of other nonwhites” as well as white women. “Women should be attacked, but there should always be mention that if it wasn’t for the Jews, they would be acting normally.”

2. Go easy on the swear words, heavy on the racial slurs.

Contributors are discouraged from “an overuse of profanity” which “can come across as goofy.” But Anglin recommends liberal use of racial epithets, and even offers a helpful list of specific “allowed and advisable” slurs.

•Negro/Negroid
•Monkey
•Ape
•Spic
•Wetback
•Beaner
•Beanperson
•Kike
•Yid
•Sheeny
•Christ-killer
•Haji
•Sandperson
•Paki (can be used for non-Pakistani Moslems, especially Arabs, because that’s funny)
•Muzzie
•Chink
•Gook
•Zipperhead
And others

Anglin adds that while the n-word is also cool, it “shouldn’t be used constantly.” Let spontaneity be your guide, he seems to suggest. Keep people guessing about what new and disgusting way you’ll express your racist self!

3. Demean women, gays, black folks and, of course, the Jews every chance you get.

Anglin shares that “[f]*ggots can be called all the words for f*ggot,” though scatological references are frowned upon. He gives a specific list of words recommended for describing women, and the word “woman” doesn’t appear on it once. Instead, it features “slut,” “whore,” “bitch,” “harlot,” “trollop,” “slag,” and “skag.”

This is yet another moment when Anglin slips in a reminder to writers to shoehorn in more anti-Semitism amidst the misogyny. “Whenever writing about women,” Anglin requests, “make sure to follow the prime directive and blame Jew feminism for their behavior.”

4. But also, be sure to keep things fun and funny so people want to join the…clan!

The most insidious aspect of Anglin’s style guide is its repeated insistence on a stealth recruitment strategy that relies on humor and lightheartedness to get young white readers excited about white nationalism. He repeatedly admonishes writers to cool it with the super angry racist diatribes that might scare newbies off. Instead, he suggests, authors should infuse their racism with lots of jokes, like the hipster racism of Vice circa 2003. (Ironically, in this same document, Anglin trashes Vice co-founder and hipster-racism aficionado Gavin McInnes as a “bottomless bucket of lulz.”)

“While racial slurs are allowed/recommended, not every reference to non-white should not be a slur and their use should be based on the tone of the article. Generally, when using racial slurs, it should come across as half-joking—like a racist joke that everyone laughs at because it’s true. This follows the generally light tone of the site.”

Here’s the key, though: “It should not come across as genuine raging vitriol. That is a turnoff to the overwhelming majority of people.”

Anglin reaffirms that the goal is to lure new readers, and potential new adherents to the alt-right’s racist agenda, above all. And the way to do that is by dressing the message up in internet memes and provocative jokes, and then to drive the (racist) point home over and over again.

“[T]hough we do mean to keep readers who are already in the know informed and entertained, it should always be considered that the target audience is people who are just becoming aware of this type of thinking,” Anglin writes. “The goal is to continually repeat the same points, over and over and over and over again. The reader is at first drawn in by curiosity or the naughty humor, and is slowly awakened to reality by repeatedly reading the same points.”

You know how you can end up knowing the words to a song you hate if you hear it enough on the radio? Repetition works. And Anglin’s betting that his writers can beat the audience over the head with their message until it’s gotten inside their heads.

5. Again, avoid overt hatred, despite the fact that it’s precisely what you’re peddling.

“Most people are not comfortable with material that comes across as vitriolic, raging, non-ironic hatred,” Anglin restates in another section of the document. “The unindoctrinated should not be able to tell if we are joking or not. There should also be a conscious awareness of mocking stereotypes of hateful racists. I usually think of this as self deprecating humor—I am a racist making fun of stereotype of racists, because I don’t take myself super-seriously.”

He adds, “There should be a conscious agenda to dehumanize the enemy, to the point where people are ready to laugh at their deaths. So it isn’t clear that we are doing this—as that would be a turnoff to most normal people—we rely on lulz.”

To put a very fine, super ugly point on it: “This is obviously a ploy and I actually do want to gas kikes. But that’s neither here nor there.”

6. Quote liberally from mainstream media sources to borrow their validity and authority.

Anglin urges writers to recycle “large parts” from articles in mainstream news outlets as a way to siphon legitimacy toward his own site. The idea is to do a good enough job of combining verifiable facts with nonsense racist propaganda that the two start to blend together.

“Being able to see the mainstream source quoted allows us to co-opt the perceived authority of the mainstream media,” Anglin writes, “and not look like one of those sites we are all probably familiar with where you are never certain if what they are saying has been confirmed.”

7. Note the media outlets covertly helping us do our dirty work.

While suggesting that writers find concise versions of real news stories to incorporate into their posts, Anglin notes that two news outlets seems to share a similar worldview.

“RT and Breitbart have the benefit of being closer to our own spin on many issues,” Anglin writes, “meaning….they are more likely to include points of interest.”

8. Take inspiration from—who else?—Adolf Hitler!

A quote from Anglin, without commentary: “The basic propaganda doctrine of the site is based on Hitler’s doctrine of war propaganda outlined in Mein Kampf, Volume I, Chapter VI. If you have not read this, please do so immediately.”

9. By all means, stir up the anger and rage of violent racist readers, but do it in a way that ensures we can feign innocence in court.

As he notes in a section titled “Violence,” Anglin is well aware that “It’s illegal to promote violence on the internet.” But as someone holding out hope that the U.S. will break out into a wide-scale race war, he’s dedicated to surreptitiously urging violent attacks by his racist followers en masse.

If you’re writing about some enemy Jew/feminist/etc., link their social media accounts,” Anglin advises writers for his site. “Twitter especially. We’ve gotten press attention before when I didn’t even call for someone to be trolled but just linked them and people went and did it.”

He also suggests that “it’s totally important to normalize the acceptance of violence as an eventuality/inevitability.” So murderous racists like Dylann Roof and Anders Breivik are hailed as heroes using language so over-the-top it borders on comical.

“This is great because people think you must be joking,” Anglin cynically notes. “But there is a part of their brain that doesn’t think that…[E]ven when a person can say to themselves ‘this is ridiculous,’ they are still affected by it on an emotional level. Whether they like it or not.”

10. Use popular culture as a vehicle for the white nationalist message.

People like what they know, and so Anglin aims to replicate recognizable and widely known media to engage readers in a way they understand. Early on in the style guide, Anglin admits that the Daily Stormer “is in many ways modeled off of successful liberal blogs such as Gawker.” (Anglin has reportedly previously cited Vice and Infowars.) He recommends writers fill their posts with “pop culture gifs of the style that Buzzfeed uses.”

But beyond just mirroring cultural digital ephemera, Anglin suggests that writers subvert—or rather, “hijack”—popular memes to give them a racist twist.

“Cultural references and attachment of entertainment culture to Nazi concepts have the psychological purpose of removing it from the void of weirdness that it would naturally exist in, due to the way it has been dealt with by the culture thus far, and making it a part of the reader’s world. Through this method we are also able to use the existing culture to transmit our own ideas and agenda.”

The site got lots of attention when it dubbed Taylor Swift an “Aryan Goddess” and suggested the singer is “a secret Nazi.” (For the record, Swift tried to sue a blogger who essentially demanded she disavow the alt-right, at least until the ACLU intervened on the blogger’s behalf. Conversely, Swift has never threatened to sue an actual white nationalist for claiming she supports their cause.)

Anglin also notes he turned 50 Cent’s “In Da Club” into an anti-immigrant song, because racists are lazy, garbage culture vultures who steal black people’s stuff while complaining about the browning of America.  

11. There’s no such thing as bad press.

Remember how stoked the alt-right was when presidential candidate Hillary Clinton gave a speech about how awful they were? That’s because you can’t shame a movement bereft of morals and principles from jump. Also, because the alt-right’s unofficial motto is “there’s no such thing as bad press.”

“We should always be on the lookout for any opportunity to grab media attention,” Anglin affirms. “It’s all good. No matter what.”

12. Even the payment system is a ‘jokey’ homage to Hitler.

Feinberg found that neo-Nazi hacker Andrew Auernheimer, who also serves as systems administrator for the Daily Stormer, recently shared this information with a group of prospective contributors: “[O]kay basically, it works like this, you can write articles, if we dont like them you can put them on your own blog or whatever, if we accept them for publication we will pay you $14.88.”

1488 is a popular number among white supremacists and other garden-variety racists. Fourteen is a reference to the “14 words,” a racist slogan favored by white nationalists and the like. Two eights—the eighth letter of the alphabet—stands for HH, as in Heil Hitler. (During the 2016 presidential election, a PBS docu-special happened to catch an enthusiastic Trump supporter’s gigantic “88” hand tattoo.)

 

Related Stories

  • Racism Is a Highly Profitable Online Business
  • Late-Night Hosts Agree: After Roy Moore’s Defeat, ‘The Real Loser Here Is Donald Trump’
  • Blame the Media? The NY Times Coverage of Clinton v. Trump Was Lacking

Core-PHP vs FrameWorks-in-PHP

PHP can be considered more as a revolution in the web development arena. Beginning with scripting of simple web pages, PHP today has evolved into a language that powers almost 60% of the web. Well, it has been extensively modified to develop frameworks and content management systems to ease the tasks of developers. Essentially, frameworks have some pre-coded functionalities that developers require on a regular basis and content management systems are built with the end user in mind.
We assume that Core PHP means solving a Mathematical problem by using paper and pen. Frame work means solving Mathematical problem by using a calculator.

Core PHP-Solving Mathematical Problem

Only some students can achieve results by using paper and pen as same as in PHP. Only a few of the developers can write the code in an easy way and reliable format.
Core PHP uses the PHP script in its purest form. A developer needs to know the language thoroughly in order to write a clear and concise code using core PHP. Only the experts can write flawless and reliable code using its core form.

Framework – Solving Mathematical problem

Everyone can achieve the result by using the calculator as same as in PHP. Even beginners can write the code in easy way and reliable format.
Frameworks are basically time savers. They have a rich set of functionalities available so that the developer does not have to embed the same code again and again. These frameworks generally have a fixed set of rules and hence the code can be passed on from one developer to another without any hassles. 
In core PHP one developer may not be able to read another developer’s code that easily. Frameworks on the other hand provide consistency in the code and are big time savers when the project needs to be handled by several developers at the same time. Frameworks rarely allow you to write bad code. This ensures less time in debugging and helps you deliver your project faster.
Frameworks Advantages:
  • Framework introduces an extra layer to wrap your business code which in turn provides better manageability and easily workability in teams. If you take an example of any MVC( Model-View-Controller)framework; you can understand that the teams can separately work on Model, Views and controller part. ORM (Object-relational mapping) provides easy scalability.
  • A framework gives you some tools and function to make it easier for yourself. For example the database seeds, the form request classes, the migrations, and so on.
  • In framework everything come as set of predefined codes, helpers, libraries. So, you don’t have to write your own pagination, security code or integrate someone else’s pagination, security scripts. Framework follow specific standard which makes the codes more organized. Besides, frameworks have organized MVC pattern that separate your code into 3 categories, excluding the probability of code.
  • Framework is better because almost everything is provided, you need to write less code and there is less to worry about.
  • Frameworks usually have security classes in the core. Some methods of Input class have flags to clean XSS from _POST or other global array.

Disadvantages:
  • You need to learn more as there is a specific learning curve for specific frameworks.
  • Frameworks are slower than core PHP code.

Core PHP code Advantages:
  • Core PHP offers you a lot of freedom a lot of space for imagination and invention.
  • If code is small; going with procedural PHP/Core PHP is good idea.

Disadvantages:
  • You need to write lots of code that may already be written.
  • There is more to consider about, like security (SQL Injection, XSS), organization of code, separation of business logic, view etc., (that frameworks already do it for you).
Enhance Projects
Everyone wants to move into sophisticated technologies. If any website or web applications have developed in Core PHP, it is difficult to enhance the website components, but if website or web applications has developed in Frame Work PHP, it is very easy to enhance the features.
Lets see some of the widely used PHP Frameworks:

1.Laravel

According to Sitepoint’s recent online survey it is the most popular framework among developers. Laravel has a huge ecosystem with an instant hosting and deployment platform, and its official website offers many screencast tutorials called Laracasts.
Laravel has many features that make rapid application development possible. Laravel has its own light-weight templating engine called “Blade”, elegant syntax that facilitates tasks you frequently need to do, such as authentication, sessions, queueing, caching and RESTful routing. Laravel also includes a local development environment called Homestead that is a packaged Vagrant box.

2.Symfony 

Symfony is a flexible, scalable yet powerful PHP frameworks for MVC application. There are plenty of reusable PHP components that can can be used like Security, Templating, Translation, Validator, Form Config and more. Like Laravel, it’s alss modularize with Composer. Its goal is to make your web application creation and maintenance faster with less repetitive coding.

3.CodeIgniter 

CodeIgniter is a lightweight PHP framework that is initially released in 2006. CodeIgniter has a very straightforward installation process that requires only a minimal configuration, so it can save you a lot of hassle. It’s also an ideal choice if you want to avoid PHP version conflict, as it works nicely on almost all shared and dedicated hosting platforms.
CodeIgniter is not strictly based on the MVC development pattern. Using Controller classes is a must, but Models and Views are optional, and you can use your own coding and naming conventions, evidence that CodeIgniter gives great freedom to developers. If you download it, you’ll see it’s only about 2MB, so it’s a lean framework, but it allows you to add third-party plugins if you need more complicated functionalities.

4.CakePHP 

CakePHP is a PHP framework that support version 4 and above. It is easy to learn with fast and flexible templating. The integrated CRUD (create, read, update and delete) is a handy feature in CakePHP for your database interaction. It also has various built-in feature for security, email, session, cookie and request handling.

5.Yii 2

Yii is a generic Web programming framework, meaning that it can be used for developing all kinds of Web applications using PHP. Because of its component-based architecture and sophisticated caching support, it is especially suitable for developing large-scale applications such as portals, forums, content management systems (CMS), e-commerce projects, RESTful Web services, and so on.
Yii is a full-stack framework providing many proven and ready-to-use features: query builders and ActiveRecord for both relational and NoSQL databases; RESTful API development support; multi-tier caching support; and more.

5. Phalcon

The Phalcon framework was released in 2012, and it quickly gained popularity among PHP developers. Phalcon is said to be fast as a falcon, because it was written in C and C++ to reach the highest level of performance optimization possible. Good news is that you don’t have to learn the C language, as the functionality is exposed as PHP classes that are ready to use for any application.
As Phalcon is delivered as a C-extension, its architecture is optimized at low levels which significantly reduces the overhead typical of MVC-based apps. Phalcon not only boosts execution speeds, but also decreases resource usage. Phalcon is also packed with many cool features such as a universal auto-loader, asset management, security, translation, caching, and many others. As it’s a well-documented and easy-to-use framework.

6.Slim

Slim is a lightweight micro-framework for PHP inspired by Sinatra, a Ruby framework. It has a tiny size without overkill learning curve. It’s built with incredible routing system and focuses on RESTful API with all HTTP methods (GET, POST, PUT, DELETE) supports. To use it, you need at least has a PHP version of 5.2+.

7.Zend

Zend Framework is a scalable and full featured object-oriented PHP framework.It has an online training and certification which make it popular and used by plenty of enterprise organizations. With its OOP (object-oriented programming) and design patterns consistency, you can easily extend custom classes and use only what you need.

8.Nette

The Nette Framework is another player in the world of php web application frameworks – but like most others, it has its right to be here. It comes with great and powerful features, and makes life easier for web developers. Nette uses revolutionary technology that eliminates security holes and their misuse, such as XSS, CSRF, session hijacking, session fixation, etc.
Nette is modern php framework which supports  AJAX / AJAJ, Dependency Injection, SEO, DRY, KISS , MVC, Web 2.0, cool URL

Want to learn Web Technologies?