## Saturday, 18 April 2020

### How to check if a number is prime?

Question: What is Prime Number
A prime number is a natural number greater than 1 that cannot be formed by multiplying two smaller natural numbers.

Question: Give the example of Prime Number
2, 3, 5, 7, 11, 13, 17, 19, 23 and 29.

Question: Write an function that check the prime number OR Not?
```function checkPrime(\$number){
if(\$number < 0 ){
return false;
}
\$return=true;
for(\$i=2; \$i < \$number; \$i++){
if(\$number % \$i ==0){
\$return=false;
break;
}
}
return \$return;
}
```

Question: How to check a number is prime Or Not?
```echo checkPrime(2)?'Prime':'Not Prime'; //Prime
echo checkPrime(4)?'Prime':'Not Prime'; //Not Prime
echo checkPrime(6)?'Prime':'Not Prime'; //Not prime
echo checkPrime(7)?'Prime':'Not Prime';  //Prime
```

Question: What are the prime numbers between 1 to 100?
```for( \$i = 2; \$i < 100; \$i++ ){
if( checkPrime( \$i ) ){
echo \$i;
echo ',';
}
}```

## Wednesday, 8 April 2020

### mysql.createConnection

When you create a connection with mysql.createConnection, you only have one connection and it lasts until you close it OR connection closed by MySQL.

A single connection is blocking. While executing one query, it cannot execute others. hence, your application will not perform good.
Example:
```var mysql = require('mysql');
var connection = mysql.createConnection({
host     : 'localhost',
user     : 'root',
database : 'mydb',
});```

### mysql.createPool

mysql.createPool is a place where connections get stored.
When you request a connection from a pool,you will receive a connection that is not currently being used, or a new connection.
If you're already at the connection limit, it will wait until a connection is available before it continues.

A pool while one connection is busy running a query, others can be used to execute subsequent queries. Hence, your application will perform good.
Example:
```var mysql = require('mysql');
var pool  = mysql.createPool({
connectionLimit : 10,
host     : 'localhost',
user     : 'root',
database : 'mydb',
});```

## Tuesday, 7 April 2020

### How to check active connections in MySQL?

Question: How to check active connections in mysql?
`show status where `variable_name` = 'Threads_connected';`

Question: How to check the limit of MySQL active connections?
`SHOW VARIABLES LIKE "max_connections";`

Question: Display the list of active MySQL Process list?
`show processlist;`

Question: How to check the max no of connections used?
`SHOW STATUS WHERE `variable_name` = 'Max_used_connections';`

Question: MySQL set the max no of connections used (Temporarily/Quick)?
`SET GLOBAL max_connections = 512;`

Question: MySQL set the max no of connections used (Temporarily/Quick)?
Open my.cnf or my.ini in MySQL
`max_connections = 512`

`service mysqld restart`

Question: MySQL check number of connections throughout history?
`show status like 'Connections%';`

## Sunday, 5 April 2020

### Laravel interview questions for 4 year experienced

Question: What is Server Requirements for Laravel 5.6?
1. PHP >= 7.1.3
2. PDO PHP Extension
3. Ctype PHP Extension
4. OpenSSL PHP Extension
5. XML PHP Extension
6. JSON PHP Extension
7. Mbstring PHP Extension
8. Tokenizer PHP Extension

Question: What is Laravel Dusk?
It is expressive, easy-to-use browser automation and testing API.

Question: What is Laravel Echo?
Event broadcasting, evolved. Bring the power of WebSockets to your application without the complexity.

Question: How to Install Laravel via Composer?
```composer create-project --prefer-dist laravel/laravel myproject
```

Question: How to Install any Specific version of Laravel via Composer
```composer create-project --prefer-dist laravel/laravel blog "5.4.*" //Install Laravel 5.4 using Composer
```

Question: What is Lumen?
1. Lumen is a micro-framework provided by Laravel.
2. It is developed by creator of Laravel Taylor Otwell.
3. It is mostly used for creating RESTful API's & microservices.
4. Lumen is built on top components of Laravel.

Question: How to Install Lumen via Composer?
```composer create-project --prefer-dist laravel/lumen myproject
```

Question: List benefits of using Laravel over other PHP frameworks?
1. Artisan
2. Migrations & Seeding
4. Middleware - HTTP middleware provide a convenient mechanism for filtering HTTP requests
5. Routing (RESTful routing)
6. Authentication, Cashier, Scheduler, SSH, Socialite
7. Security
8. Unit Testing
9. Caching

Question: Which Template Engine used by Laravel?
Blade is the simple, yet powerful templating engine provided with Laravel.

Question: How to enable maintenance mode in Laravel?
```// Enable maintenance mode
php artisan down

// Disable maintenance mode
php artisan up
```

Question: What are Closures in Laravel?
A Closure is an anonymous function. Closures are often used as a callback methods and can be used as a parameter in a function.

Question: List out databases that laravel supports?
MySQL
PostgreSQL
SQLite
SQL Server

Question: How To Use Insert Query In Laravel?
```class UserController extends Controller
{
/**
* Create a new user instance.
*
* @param  Request  \$request
* @return Response
*/
public function store(Request \$request)
{
\$user = new User;
\$user->name = \$request->name;
\$user->role = \$request->role;
\$user->save();
}
```

Question: What are the available Router Methods?
```Route::get(\$uri, \$callback);
Route::post(\$uri, \$callback);
Route::put(\$uri, \$callback);
Route::patch(\$uri, \$callback);
Route::delete(\$uri, \$callback);
Route::options(\$uri, \$callback);
```

Question: How To Use Update Query In Laravel?
```\$result = User::where('id',1)->update(['name'=>'My web technology experts notes']);
```

Question: How To Use Delete Query In Laravel?
```\$result = User::where('id',\$id)->delete();
```

Question: What is Response in Laravel?
Following are different type of responses?
1. View Responses
2. JSON Responses
4. File Responses
5. Response Macros
6. Redirecting To Named Routes
7. Redirecting To Controller Actions
8. Redirecting To External Domains
9. Redirecting With Flashed Session Data

Question: How to get current environment in Laravel?
\$environment = App::environment();

Question: Where do you locate database configuration file?
Migrations are like version control for your database, that's allow to easily modify and share the application's database schema. Migrations are typically paired with Laravel's schema builder to easily build your application's database schema.

Question: What are laravel 6 features?
1. Inbuilt CRSF (cross-site request forgery ) Protection.
2. Inbuilt paginations
3. Reverse Routing
4. Query builder
5. Route caching
6. Database Migration
7. IOC (Inverse of Control) .
8. Job middleware
9. Lazy collections

## Friday, 3 April 2020

### Laravel interview questions for 3 year experienced

Question: Explain validation in Laravel.?
ValidatesRequests is the trait which is been used by Laravel classes for validating input data.
```public function store(Request \$request)
{
\$validatedData = \$request->validate([
'title' => 'required|unique:posts|max:255',
'description' => 'required',
'email' => 'required',
]);
}```

Question: What is CSRF protection and CSRF token?
Cross-site forgeries are a type of malicious exploit where unauthorized person/command do/run on behalf of the authenticated user.
Laravel generates a CSRF "token" automatically for each active user session.
This token is used to verify that the authenticated user is the one actually making the requests.

Question: What is Laravel Dusk?
It is expressive, easy-to-use browser automation and testing API.

Question: What is Laravel Echo?
Event broadcasting, evolved. Bring the power of WebSockets to your application without the complexity.

Question: How do you install Laravel?
Laravel utilizes Composer to manage its dependencies. So, before using Laravel, make sure we have Composer installed on your machine.

Question: Explain Binding Instances?
You may also bind an existing object instance into the container using the instance method.
```\$api = new HelpSpot\API(new HttpClient);
\$this->app->instance("HelpSpot\API", \$api);```

Question: Explain Extending Bindings?
```\$this->app->extend(Service::class, function(\$service) {
return new DecoratedService(\$service);
});```

Question: What is the make Method?
You may use the make method to resolve a class instance out of the container.
`\$api = \$this->app->make("HelpSpot\API");`

Question: What is Register Method?
within the register method, you should only bind things into the service container.

Question: What is the Boot Method?
if we need to register a view composer within our service provider? This should be done within the boot method.

Question: Where do you regiser service providers?
config/app.php configuration file

Question: What are Laravel’s Contracts?
Laravel’s Contracts are a set of interfaces that define the core services provided by the framework.

Question: Give example of Router?
```Route::get("foo", function () {
return "Hello World";
});
```

Question: What are the available Router Methods?
```Route::get(\$uri, \$callback);
Route::post(\$uri, \$callback);
Route::put(\$uri, \$callback);
Route::patch(\$uri, \$callback);
Route::delete(\$uri, \$callback);
Route::options(\$uri, \$callback);
```

Question: How to 301 redirect in laravel (permanent redirect)
`Route::redirect("/old", "/new", 301);`

Question: How to 302 redirectin laravel (temporary redirect)
`Route::redirect("/old", "/new", 302);`

Question: What are Middleware Groups?
Sometimes you may want to group several middleware under a single key to make them easier to assign to routes.

Question: What are Redirect responses?
Redirect responses are instances of the Illuminate\Http\RedirectResponse class, and contain the proper headers needed to redirect the user to another URL.

Question: Where do you locate database configuration file?
The database configuration for your application is located at config/database.php.

Blade is the simple, yet powerful templating engine provided with Laravel.

## Wednesday, 1 April 2020

### Laravel interview questions for 2 year experienced

Question: How to get current route name and method name?
```request()->route()->getName(); //Return route name
request()->route()->getActionMethod();//Return method name
```

Question: What do you mean by bundles?
Bundles are referred to as packages in Laravel. These packages are used to increase the functionality of Laravel.

Question: Explain important directories used in a common Laravel application.?
App/ : This is a source folder where our application code lives. All controllers, policies, and models are in this folder.
Config/ : Here are configuration files.
Database/: Houses the database files, including migrations, seeds, and test factories.
Public/: Publicly accessible folder holding compiled assets and of course an index.php file.

Question: Explain reverse routing in Laravel.
Reverse routing is a method of generating URL based on symbol or name. It makes your Laravel application flexible.

Question: Define Lumen?
Lumen framework is a smaller, and faster, version of a building Laravel based services, and REST API's.

Question: How can you generate URLs?
Laravel has helpers to generate URLs.

Question: Explain faker in Laravel?
It is a type of module or packages which are used to create fake data. This data can be used for testing purpose.

Question: List basic concepts in Laravel?
1. Routing
2. Eloquent ORM
3. Middleware
4. Security
5. Caching

Question: What is Eloquent?
Eloquent is an ORM used in Laravel. It provides simple active record implementation working with the database.

Question: What is the use of DB facade?
DB facade is used to run SQL queries like create, select, update, insert, and delete.

Question: What is a session in Laravel?
Session is used to pass user information from one web page to another.
Support for cookie, array, file, Memcached, and Redis to handle session data.

Question: Explain to listeners?
Listeners are used to handling events and exceptions.

Question: What are policies classes?
Policies classes include authorization logic of Laravel application.

Question: What is an Observer? Observeris used to make clusters of event listeners for a model.
Method names of these classes depict the Eloquent event. Observers classes methods receive the model as an argument.

Question: What is the use of the bootstrap directory?
It is used to initialize a Laravel project. This bootstrap directory contains app.php file.

Question: Where will you define Laravel's Facades?

Question: Name databases supported by Laravel.
1. MySQL
2. SQLite
3. SQL Server
4. PostgreSQL

Question: What is the default session timeout duration?
2 hours.

Question: How to remove a complied class file?
Use clear-compiled command.

Question: In which folder robot.txt is placed?
Robot.txt file is placed in Public directory.

### Laravel interview questions for 1 year experience

Question: How to make a helper file in laravel?
1. Please create a app/helpers.php file in app folder.
```"files": [
"app/helpers.php"
]```
`composer update`

Question: How to use mail() in laravel?
```Mail::send('emails.reminder', ['user' => \$user], function (\$m) use (\$user) {
\$m->from('from@example.com', 'Send Name');
});```

Question: What is a REPL?
REPL is a type of interactive shell that takes in single user inputs, process them, and returns the result to the client. The full form of REPL is Read—Eval—Print—Loop

Question: How to use update query in Laravel?
Use Update function. for example
```Blog::where(['id' => 10023])->update([
'title' => 'Interview Questions',
'content’ => 'Web Technology exerts notes'
]); ```

Question: How to use multiple OR condition in Laravel Query?
```Blog::where(['id' => 10023])->orWhere(['username’ => 'username12'])->update(['title' => 'Interview Questions',]);
```

Question: What are different type of where Clauses in Laravel?
1. where()
2. orWhere()
3. whereBetween()
4. orWhereBetween()
5. whereNotBetween()
6. orWhereNotBetween()
7. wherein()
8. whereNotIn()
9. orWhereIn()
10. orWhereNotIn()
11. whereNull()
12. whereNotNull()
13. orWhereNull()
14. orWhereNotNull()
15. whereDate()
16. whereMonth()
17. whereDay()
18. whereYear()
19. whereTime()
20. whereColumn()
21. orWhereColumn()
22. whereExists()

Question: What is updateOrInsert method? Give example?
updateOrInsert() method is used to update an existing record in the database if matching the condition or create if no matching record exists.
```Blog::updateOrInsert([
'title' => 'Interview Questions',
]);
```

Question: How to check table is exists or not in our database using Laravel?
```if(Schema::hasTable('users')) {
echo "Table Exists";
} else {
echo "Table does not exists"
} ```

Question: How to check column is exists or not in a table using Laravel?
```if(Schema::hasColumn('users', 'title')) ; //check whether admin table has username column
{
echo "Column Exists in table";
}else{
echo "Column does not Exists in table";
}```

Question: What are the difference between insert() and insertGetId() in laravel?
Inserts(): This method is used for insert records into the database table.
insertGetId(): This method is used for insert records into the database table and return the autoincrement-id.

Question: What is lumen?
Lumen is a PHP framework which is a faster, smaller and leaner version of a full web application framework.

Question: What is the full form of ORM in Laravel?
Object Relational Mapping.

Question: How to get current route name and method name?
```request()->route()->getName(); //Return route name
request()->route()->getActionMethod();//Return method name
```

Question: How to check Ajax request in Laravel?
You can use the following syntax to check ajax request in laravel.
```if (\$request->ajax()) {
echo "This is ajax requrest";
}```

Question: What do you mean by bundles? In Laravel, bundles are referred to as packages.
These packages are used to increase the functionality of Laravel.
A package can have views, configuration, migrations, routes, and tasks.

Question: Name databases supported by Laravel.

1. PostgreSQL
2. SQL Server
3. SQLite
4. MySQL

## Monday, 30 March 2020

### Laravel Interview Questions and answers for Fresher

Question: What are the new features of Laravel 7?
Laravel 7.0 is incorporated features such as Better routing speed, Laravel Airlock, Custom Eloquent casts, Fluent string operations, CORS support, and many more features like below.
1. Custom Eloquent Casts
2. Route Caching Speed Improvements
3. HTTP Client
4. Query Time Casts
5. Blade Component Tags & Improvements
6. Laravel Airlock
7. CORS Support
8. Fluent string operations
9. Multiple Mail Drivers
10. New Artisan Commands etc

Question: What is the use of dd() in Laravel?
It is a helper function which is used to dump a variable's contents to the browser.
`dd(\$arrayData);`

Question: How to make a helper file in laravel?
1. Please create a app/helpers.php file in app folder.
```"files": [
"app/helpers.php"
]```
`composer update`

Question: What is PHP artisan in laravel? Name some common artisan commands?
Artisan is a type of the "command line interface" using in Laravel.
It supports following commands to execute.
1. php artisan list
2. php artisan –version
3. php artisan down
4. php artisan help
5. php artisan up
6. php artisan make:controller
7. php artisan make:mail
8. php artisan make:model
9. php artisan make:migration
10. php artisan make:middleware
11. php artisan make:auth
12. php artisan make:provider etc.

Question: What is laravel Service container?
Service Container is a powerful tool which is used to manage class dependencies and perform dependency injection.

Question: How to get last inserted id using laravel query?
```\$blogObj = new Blog;
\$blogObj->title = "Web technology experts notes";
\$blogObj->save(); //Save the data
echo \$blogObj->id // Return the last inserted id
```

Question: How to use mail() in laravel?
```Mail::send('emails.reminder', ['user' => \$user], function (\$m) use (\$user) {
\$m->from('from@example.com', 'Send Name');
});```

Question: What is Auth?
Auth is in-built functionality provided by Laravel to identifying the user credentials with the database.

Question: How to make a constant? and how to use?
Add element in constants.php which should be in config folder.
```return [
'EMAIL_FROM' => 'from@example.com',
];```

Get the value from config file.
`echo Config::get('constants.EMAIL_FROM');//from@example.com`

Question: What is with() in Laravel?
with() function is used to eager load in Laravel.

Question: How to get user’s ip address in laravel?
`request()->ip()`

Question: Difference between softDelete() & delete() in Laravel?
delete(): Record delete permanently.
softDelete(): records did not remove from the table only delele_at value updated with current date and time.

```DB::connection()->enableQueryLog();
\$querieslog = DB::getQueryLog();
dd(\$querieslog) //Print the logs
```

Question: How to use skip() and take() in Laravel Query?
`\$posts = DB::table('blog')->skip(5)->take(10)->get();`

Question: Give the list of Design Patterns in Laravel?
1. The Builder pattern
2. The Repository pattern
3. The need for the Builder pattern
4. The need for the Factory pattern
5. The Factory pattern
6. The Provider pattern
8. The Strategy pattern

Question: What are views?
Views contain the HTML provided by our application (UI part).

Question: What is faker in Laravel?
Faker is a type of module or packages which are used to create fake data for testing purposes.

## Sunday, 29 March 2020

### General error: 1364 Field city_id doesn't have a default value

I have upgraded the MySQL from 5.5 to 5.6 and then getting below type of errors.
General error: 1364 Field 'city_id' doesn't have a default value

(I was not getting such type of error, it must come after upgrading my MySQL Version from 5.5 to 5.6)

### Solution: It have 3 Solutions

1. In Your Code (PHP), always set a default value (if no value) before save.
```\$objSaveData->saveData(
array(
'id'=>111,
'name'=>'New user',
'city_id'=>0, //default value
);
);
```
2. Create fields with default values set in datatable. It could be empty string, which is fine for MySQL server running in strict mode.
like below:
```ALTER TABLE `users` CHANGE `city_id` `city_id` INT(10) UNSIGNED NOT NULL DEFAULT '0';
```
3. Disable MySQL Strict Mode (Most appropriate)
Disable it by setting your own SQL_MODE in the my.cnf file, then restart MySQL.

Look for the following line:
`sql-mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"`
Change it to:
`sql-mode="" `
Restart the MySQL Service.

## Saturday, 28 March 2020

### Laravel Interview Questions and answers

Question: What is Laravel?
Laravel is a free and open-source PHP framework that follows the model–view–controller design pattern.

7.0, released on 3rd March 2020.

Question: Who created Laravel?
Taylor Otwell

Question: Who created Laravel?
Taylor Otwell

Question: What language does Laravel use?
PHP

Question: Which is the best IDE for Laravel?
Netbeans,
PhpStorm,
Atom,
Sublime Text

Question: Features of Laravel?
1. Eloquent ORM
2. Reverse routing
3. Restful controllers
4. Migrations
5. Unit testing
6. Automatic pagination
7. Database Seeding
8. Query builder available

Question: What are the new features of Laravel 7?
Laravel 7.0 is incorporated features such as Better routing speed, Laravel Airlock, Custom Eloquent casts, Fluent string operations, CORS support, and many more features like below.
1. Custom Eloquent Casts
2. Route Caching Speed Improvements
3. HTTP Client
4. Query Time Casts
5. Blade Component Tags & Improvements
6. Laravel Airlock
7. CORS Support
8. Fluent string operations
9. Multiple Mail Drivers
10. New Artisan Commands etc

Question: How to extend login expire time in Auth?
Open config\session.php file and add/update following key's value.
`'lifetime' => 180`

Question: What is middleware in Laravel?
Middleware operates as a bridge and filtering mechanism between a request and response.

Question: How to pass CSRF token with ajax request?
`[meta name="csrf-token" content="{{ csrf_token() }}"]`

In Ajax, we have to add
```\$.ajaxSetup({
'X-CSRF-TOKEN': \$('meta[name="csrf-token"]').attr('content')
}
});```

Question: What is laravel Service container?
Service Container is a powerful tool which is used to manage class dependencies and perform dependency injection. Also known as the IoC container.

Question: How to use session in laravel?
Retrieving Data from session
`session()->get('key');`

Retrieving All session data
`session()->all();`

Remove data from session
`session()->forget('key');`

Storing Data in session
`session()->put('key', 'value');`

## Friday, 27 March 2020

### Kali Linux for Beginners

Question: What is Kali Linux?
Kali Linux is open-source security packages of an ethical hacker, containing lot of tools for hacking website, wifi and networks.
Kali Linux can be installed in a machine as an Operating System.

Question: Can i installed with my current LInux/windows?
Yes, you can installed.
You can install virtual machine(VM)
In the virtual machine, you can installed kali linux.

Question: How to update the kali linux?
Use following command in linux linux terminal.
`apt-get update`

Question: What is Metasploitable?
Metasploitable is an intentionally vulnerable Linux virtual machine that can be used to conduct security training, test security tools, and practice common penetration testing techniques.

Question: How to install Metasploitable machine in VM?
3. Unzip the zipped file
4. Install Metasploitable in your virtual machine
5. You need to browse the Metasploitable location file

Question: What is NMAP and ZenMAP?
NMAP and ZenMAP are the same tool used for the scanning phase of Ethical Hacking in Kali Linux.
NMAP uses commandline tool.
ZenMAP uses GUI

Question: What is Vega?
Vega is a free and open source scanner and testing platform to test the security of web applications.
Vega can help you find and validate SQL Injection, Cross-Site Scripting (XSS), inadvertently disclosed sensitive information, and other vulnerabilities.

Question: How to install Vega?
`apt-get install -y vega`

Question: What is ZapProxy?
ZapProxy is an easy integrated penetration testing tool for finding vulnerabilities in web applications.

Question: What is sqlmap?
sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers.

Question: What is WPScan?
WPScan is a black box WordPress vulnerability scanner that can be used to scan remote WordPress installations to find security issue.

Question: What is ZapProxy?
ZapProxy is an easy integrated penetration testing tool for finding vulnerabilities in web applications.

## Thursday, 26 December 2019

Hadoop is an open source framework written in java that allows distributed processing of large datasets across clusters of computers.
Hadoop is designed to scale up from single server to thousands of machines and each have local-computation and storage.

1. Hadoop Common: These are Java libraries which provides filesystem and OS level abstractions which are required to start Hadoop.
2. Hadoop YARN: This is used for job scheduling and cluster resource management.
3. Hadoop Distributed File System: It provides high throughput access to application data and is suitable for applications that have large data sets.
4. Hadoop MapReduce: This is YARN-based system for parallel processing of large data sets.

Question: What is MapReduce?
MapReduce is a software framework for easily writing applications which process big amounts of data in-parallel on large clusters. It consits of master JobTracker and slave TaskTracker per cluster. The JobTracker is responsible for resource management and schedule the task. TaskTracker is responsibel for execute the task.

Question: How Does HadoopwWork at very basic level?
1. Job Submission by client to Hadoop.
2. Input and output files are in "distributed file system" and with use of "Hadoop Common files" Initialization the hadoop.
3. Execute of map and reduce functions.
5. Execution the task by JobTracker.

## Saturday, 21 December 2019

### What are special characters? and how to remove special characters?

Question: What are special characters?
Special characters are selected punctuation characters present on standard US keyboard.

Question: Provide list of special characters?
 Character Name Space ! Exclamation " Double quote # Number sign (hash) \$ Dollar sign % Percent & Ampersand ' Single quote ( Left parenthesis ) Right parenthesis * Asterisk + Plus , Comma - Minus . Full stop / Slash : Colon ; Semicolon < Less than = Equal sign > Greater than ? Question mark @ At sign [ Left bracket \ Backslash ] Right bracket ^ Caret _ Underscore ` Grave accent (backtick) { Left brace | Vertical bar } Right brace ~ Tilde

Question: How to remove special characters from string including space?
```\$string='test !@#ing';
echo preg_replace('/[^A-Za-z0-9\-]/', '', \$string);```

Question: How to remove special characters from string except space?
```\$string='test !@#ing';
echo preg_replace('/[^A-Za-z0-9\-\s]/', '', \$string);```

Question: How to replace special characters with hyphen?
```\$string='test !@#ing';
echo preg_replace('/[^A-Za-z0-9\-\s]/', '-', \$string);```

Question: How to replace multiple hyphen with single hyphen?
```\$string='test-----ing';
echo preg_replace('/-+/', '-',\$string);```

Question: How to remove special characters from array?
```\$array=array('test !@#ing','sdalkjsad','#\$#33');
function cleanData(\$string){
return preg_replace('/[^A-Za-z0-9\-]/', '', \$string);
}
\$array = array_map('cleanData',\$array);
print_r(\$array);```

Question: How to remove all special characters from javascript?
```var stringToReplace='test !@#ing';
stringToReplace=stringToReplace.replace(/[^\w\s]/gi, '')```

## Monday, 16 December 2019

### What is CPU Usage and Memory Usage?

CPU Usage- It is the "amount of time" a CPU was used for processing the given instructions.

Memory Usage- It is the "amount of RAM" was used for processing the given instructions

Entry Processes- It is number of scripts are running at a single time. One entry process take fraction of a second to complete. So in 10 entry process you can have 10-30 visitors.

Number of Processes- It is number of process(script) can run in one time. One process take time till the execution of script.

I/O Usage- It is speed of data transfer between the hard disk and the RAM.

Question: Is high CPU usage bad?
If the CPU usage is around 100%, this means that your computer is trying to do more work than it has the capacity. Always CPU usage must be less than 90%, If so increase the CPU.

## Saturday, 14 December 2019

### How to add number of days to a date in PHP?

Program Example
```\$Date = "2020-09-19";
echo date('Y-m-d', strtotime(\$Date. ' + 1 days'));
echo date('Y-m-d', strtotime(\$Date. ' + 2 days'));
```

Output
```2020-09-18
2020-09-19
```

Question: How to add number of days to a current date?
```echo date('Y-m-d', strtotime("+10 days"));
```

It would add 10 days to the current date.

Question: How to subtract number of days to a current date?
```echo date('Y-m-d', strtotime("-10 days"));
```

It would subtract 10 days to the current date.

Question: How to add number of days to a on given date?
```\$date = new DateTime('2016-12-14');
echo date('Y-m-d', (\$date->getTimestamp()+ (3600*24*10) )); //3600 = 1 hour
```

It would add 10 days to the current date.

Question: How to subtract number of days to a given date?
```\$date = new DateTime('2016-12-14');
echo date('Y-m-d', (\$date->getTimestamp()- (3600*24*10) )); //3600 = 1 hour
```

It would subtract 10 days to the current date.

## Thursday, 12 December 2019

### How to get the sizes of the tables in mysql database?

Question: How to get the sizes of the tables in mysql database?
```SELECT table_name "Table Name",SUM( data_length + index_length ) / 1024 / 1024 "Table Size (MB)",SUM( data_free )/ 1024 / 1024 "Free Space(MB)" FROM information_schema.TABLES WHERE table_schema='mydb' GROUP BY table_name ORDER BY SUM(TABLE_ROWS) DESC
```
(Replace mydb with Your Database Name)

Output

Question: Get record counts for all tables along with size in MySQL database?
```SELECT table_name "Table Name",SUM( data_length + index_length ) / 1024 / 1024 "Table Size (MB)",SUM( data_free )/ 1024 / 1024 "Free Space(MB)", SUM(TABLE_ROWS) AS "Total Record(S)" FROM information_schema.TABLES WHERE table_schema='mydb' GROUP BY table_name ORDER BY SUM(TABLE_ROWS) DESC
```
(Replace mydb with Your Database Name)

Output

### How to resize images in php

Function resizeImage
```
/**
*
* @param type \$width
* @param type \$height
* @param type \$mode
* @param type \$imageName
* @param type \$extension
* @return string
*/
function resizeImage(\$width, \$height, \$mode, \$imageName,\$extension) {
\$docRoot = getenv("DOCUMENT_ROOT");

/* Get original image x y */
\$tmpNM = \$_FILES['files']['tmp_name'];

list(\$w, \$h) = getimagesize(\$_FILES['files']['tmp_name']);
/* calculate new image size with ratio */
\$ratio = max(\$width / \$w, \$height / \$h);
\$h = ceil(\$height / \$ratio);
\$x = (\$w - \$width / \$ratio) / 2;
\$w = ceil(\$width / \$ratio);
/* new file name */
if (\$mode == 'userphoto') {
\$path = \$docRoot . '/upload/userphoto/' . \$imageName;
}

/* read binary data from image file */
\$imgString = file_get_contents(\$_FILES['files']['tmp_name']);
/* create image from string */
\$image = imagecreatefromstring(\$imgString);
\$tmp = imagecreatetruecolor(\$width, \$height);
imagecopyresampled(\$tmp, \$image, 0, 0, \$x, 0, \$width, \$height, \$w, \$h);
\$fileTypes = array('jpg', 'jpeg', 'jpe', 'png', 'bmp', 'gif'); // File extensions
/* Save image */
\$extension = strtolower(\$extension);
switch (\$extension) {
case 'jpg':
case 'jpeg':
case 'jpe':
imagejpeg(\$tmp, \$path, 100);
break;
case 'png':
imagepng(\$tmp, \$path,0);
break;
case 'gif':
imagegif(\$tmp, \$path, 100);
break;
case 'bmp':
imagewbmp(\$tmp, \$path);
break;
default:

exit;
break;
}
return \$path;
/* cleanup memory */
imagedestroy(\$image);
imagedestroy(\$tmp);
}    ```

How to use Code
HTML Code

```<form action="upload.php" enctype="multipart/form-data" method="post">
<input id="image upload" name="files" type="file" />
<input name="submit" type="submit" value="Upload Image" />

```

PHP Code
```
//List of thumbnails
\$sizes = array(200 => 200, 150 => 150);

\$files=array();
if (!empty(\$_FILES)) {
//Clean the image name
\$_FILES['files']['name'] = preg_replace('/[^a-zA-Z0-9_.-]/', '', strtolower(trim(\$_FILES['files']['name'])));

//Temporary file, type, name
\$tmpNM = \$_FILES['files']['tmp_name'];
\$imageType = \$_FILES['files']['type'];
\$imageName = \$_FILES['files']['name'];

//Get image extension
\$imageNameType = explode(".", \$_FILES['files']['name']);

\$fileMimeTypes = array('image/jpeg', 'image/png', 'image/bmp', 'image/gif'); // mime  extensions
\$fileTypes = array('jpg', 'jpeg', 'jpe', 'png', 'bmp', 'gif'); // File extensions

if (in_array(strtolower(\$imageNameType[1]), \$fileTypes)) {
\$fullImageName = time('his') . '_' . \$_FILES['files']['name'];
foreach (\$sizes as \$w => \$h) {
\$files[] = \$this->resizeImage(\$w, \$h, 'userphoto', "{\$w}_{\$fullImageName}", \$imageNameType[1]);
}

}
}```

## Sunday, 8 December 2019

### Swagger - REST API documentation tool

Question: What is swagger?
It is REST API documentation tool which is used to list the APIs and view the request and response.
In this, we need to add some annotations in your functions and then it will automatically generate a beautiful and user-friendly documentation for your APIs.

Question: Where it is used?
Whenever we develop an android, IOS (Apple) application, we need to create an APIs for them.

To check the API details (URL, Request, response), we use Swagger.

Question: Who is using swagger?
Backend Developer: developer used it while creating Or updating an API.
Team Leader: As it give List of APIs with request and response. Team leader used it review the APIs.
Android/IOS Developer: While integrating the APIs, Its quite help the developer because they can check the response of APIs with different request.

Question: What are benefits of swagger?
1. Its give list of APIs with short description.
2. Its give the Request and Response of API.
3. We can test the response of API with different request.
4. We need to integrate in application first time, after the we need to add some annotations in functions/APIs.
5. Can be integrate in Core PHP or Framework.
6. We need not to list and details of apis manually.

Question: What is Swagger Editor?
The Swagger Editor is the tool for quickly getting started with the Swagger Specification.
Create new APIs OR update existing ones in a powerful Editor which visually renders your Swagger definition and provides real time error-feedback.
http://editor.swagger.io/#/

Question: Give a Demo URL?
http://petstore.swagger.io/

http://swagger.io/docs/#swagger-ui-documentation-29

Question: How to Add API in swagger?
Add Following code before the class declaration
```/**
* @SWG\Resource(
*     apiVersion="1.0",
*     swaggerVersion="1.2",
*     description="Search users"
* )
*/```

Question: How to add new Operation for an API?
Add Following code before the method declaration
```    /**
* @SWG\Api(
*     path="/search",
*     @SWG\Operation(
*         method="POST",
*         summary="Get users near your location",
*         type="Users list",
*         @SWG\Parameters(
*             @SWG\Parameter(
*                 name="interests",
*                 paramType="form",
*                 description="comma seperated looking for",
*                 required=false,
*                 type="string",
*                 minimum="1.0"
*             ),
*             @SWG\Parameter(
*                 name="page",
*                 paramType="form",
*                 description="page number",
*                 required=true,
*                 type="string",
*                 minimum="1.0"
*             ),
*         ),
*         @SWG\ResponseMessage(code=400, message="Invalid Data")
*     )
* )
*/```

### Difference between channel and playlist on youtube

OR

Question: What details are available on Channel page?
--- Basic information like Your Name, Account type etc.
--- Listing of playlist.

Question: What we can do on Channel page?
--- customize the color theme of your channel.
--- Others can subscribe your channel.

Question: Sample of Youtbe Channel?

Question: What is playlist?
A playlist is a collection of videos you may saved.

Click on "New Playlist", an popup will prompt, just add the your playlist name

Question: How to add videos in playlist?
Go to playlist page (Like https://www.youtube.com/playlist?list=PLREKFLRZTg5xJJHmLiKZ0VBTKpubGXksb).
Click on "Add Videos" (Middle Right side).
An Popup will prompt.

Question: What you can do with your playlist?
--- Make the playlist as public/private.
--- Add notes to each videos.
--- Re-ordering the videos.
--- AutoPlay on/off for videos.
--- Share your playlist on Fb.

Question: Need Playlist Sample URL

Question: Can we earn money with playlist?
No, You can't earn money on other's video (Uploaded by other).

## Saturday, 7 December 2019

### How to Validate email address in PHP?

Following are in built PHP function to validate the email address and Ip Address.

Validate Email - Example 1
```\$email='helo@gmail.com';
if (!filter_var(\$email, FILTER_VALIDATE_EMAIL)) {
echo \$email. ' - Invalid';
}else{
echo \$email. ' - Valid';
}
```

helo@gmail.com - Valid

Validate Email - Example 2
```\$email='464646@gmail.com';
if (!filter_var(\$email, FILTER_VALIDATE_EMAIL)) {
echo \$email. '- Invalid';
}else{
echo \$email. ' - Valid';
}
```

464646@gmail.com - Valid

Validate Email - Example 3
```\$email='arunkumar.com';
if (!filter_var(\$email, FILTER_VALIDATE_EMAIL)) {
echo \$email. ' - Invalid';
}else{
echo \$email. ' - Valid';
}

```

arunkumar.com - Invalid

Validate IP Address - Example 1
Question: How to Validate IP Address?
```\$ipAddress = '127.0.0.1';
}else{
}
```

127.0.0.1 is Valid

Validate IP Address - Example 2
```\$ipAddress = '127.test.0.0.1';
}else{
}
```

127.test.0.0.1 is Valid

Validate URL - Example 1
```\$ipAddress = '127.test.0.0.1';
\$website = 'https://www.web-technology-experts-notes.in';
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",\$website)) {
echo   "Invalid URL";
}else{
echo   "Valid URL";
}
```

Valid URL