teleren/devto huggingface dataset:
ACID PROPERTIES OF THE DBMS
Tags: sql
Published: 2022-01-14 17:06:04

## ACID:
**What is ACID properties** :

- It is a set of database properties. and every transaction must obey this properties for ensuring the  integrity and consistency of the database.

- Atomicity
- Consistency
- Isolation
- Durability

**Atomicity** :

- If any update occur in database then it should be reflected in whole database or should not be reflected at all.

**Consistency**: 

- This property ensure that data remains consistent before and after transaction.

**Isolation**: 

- This properties ensures that each transaction is occurring independently of the others. This implies that state of an ongoing transaction doesn't affect the state of another ongoing transaction.

**Durability**:

- This property ensures that the data is not lost in cases of a system failure or restart and is present in the same state as it was before the system failure or restart.


**Explain the difference between the DELETE and TRUNCATE command in a DBMS.**

**TRUNCATE**

- This command is needed to remove the complete data from the table in database.it does not required WHERE clause.

- It is the command of the DDL.

1. - It remove complete data from the table in the database.
2. - It does not maintain the log and delete the whole table at once. hence it's fast.
3. - It can not  be rollback.
**Example ** :  TRUNCATE TABLE  TableName; 

**DELETE**
This command is used when we required to delete a particular data from the table. and this command is used the WHERE clause for deleting the data from the table in the database.
It is the command of the DML

**Example**  :DELETE FROM TableName 
          WHERE condition;


**DROP**: 
It is a Data Definition Language Command (DDL). It is used to drop the whole table. With the help of the “DROP” command we can drop (delete) the whole structure in one go i.e. it removes the named elements of the schema. By using this command the existence of the whole table is finished or say lost. 

**SYNTAX**– 
If we want to drop the table:
DROP table

**Note** – Here we can’t restore the table by using the “ROLLBACK” command because it auto commits.
Best Free Keyword Research Tool for SEO
Tags: seo, tips, tools, marketing
Published: 2022-04-09 06:40:25

---
title: Best Free Keyword Research Tool for SEO
published: true
date: 2022-01-15 18:58:52 UTC
tags: #seo #tips #tools #marketing
canonical_url: https://shiva.hashnode.dev/best-free-keyword-research-tool-for-seo
---

In today's post, I will tell you about the Top 5 Free Keyword Research Tools. Nowadays, there are many paid tools on the internet, which are difficult for beginners to purchase. Before knowing about the Top 5 Keyword Research Tools, we know why it is important to do keyword research?

## Why is it significant to do keyword research?

Keyword research is very significant in blogging. Keyword research comes in ON-Page SEO. If your ON-Page SEO is good, then your chances of ranking in Google increase. Good keyword research gives you the following benefits.

- High CPC
- Increase Organic Traffic
- High Ranking
- Increase DA of Website due to Ranking
- Know Every Keyword Search Volume

## 1.[Ubersuggest](https://neilpatel.com/ubersuggest/)

Uber Suggest is a free tool. This tool gives you the same service as a paid tool for free. This tool is from Neil Patel, who is a huge blogger and YouTuber. In this tool, you can do keyword research for free. You get the information of all the keywords.

**Features of Uber Suggest**

- no limit to find keywords
- You can easily see the keyword difficulty.
- Which keywords have high CPC they can see?

## 2. [Google Keyword Planner](https://keywordtool.io/)

Google Keyword Planner is a Google product, which is free. Google Keyword Planner is also an excellent tool for doing keyword research. This tool is 99% accurate because of being from Google. This tool is also a good and free tool.

**Features of Google Keyword Planner**

- It's very easy to use.
- 99% accurate.
- It's best thing is that it is a service of Google itself.

## 3. [Keyword Shitter](https://keywordshitter.com/)

Keyword Shitter is also a great tool. You do not have to enter just one keyword into this tool. As soon as you enter 1 keyword, many keywords come in front of you in suggestive. You can suck any good keyword out of them. This tool is also free.

**Features of Keyword Shitter**

- Many keywords are found in the suggestion.
- It's very easy to use.

## 4.[KW Finder](https://kwfinder.com/)

KW Finder Tool is also a great tool, you can easily do keyword research in it. The special thing about this tool is that it allows you to suggest keywords and also tells its diff. This tool also tells the details of your compressor.

**Features of KW Finder**

- Keyword Difficult also appears.
- Auto suggest keywords |
- The competitor's detail is visible.

## 5. Google Auto Suggest

When you search for something in Google, then you see the auto-suggest keywords below. You see this keyword for free; it is a service of Google itself. According to what all the people in the world search, Google proposes your keywords.

**Features of Google Auto Suggest**

- Google's only service.
- From which keywords people search, it gives suggestions accordingly.
Blocking ads and updates for the desktop version of Spotify, and something else.
Tags: spotify, music, github
Published: 2022-01-15 18:37:51

Hello everyone, not so long ago I made my own patch based on BTS to block ads, maybe it will come in handy for someone.

[Github](https://github.com/amd64fox/SpotX)

**Features:**

- For Windows Desktop only. (Microsoft store version is not suitable)
- Blocks all banner, video and audio ads in the client
- Unlocks the skip function of any track
- Full screen mode activated
- Podcasts disabled (optional)
- Blocks automatic updates (optional)
- Automatic cache clearing (optional)
- Enabled the 2021 icons redraw
- Activated "Made For You" in the left sidebar
- Disabled Sentry (Prevented Sentry from sending console log/error/warning to Spotify developers)
- Disabled logging (Stopped various elements to log user interaction)
- Removed RTL rules (Removed all right-to-left CSS rules to simplify CSS files)

**Installation:**

- Visit the [repository](https://github.com/amd64fox/SpotX)
- Just download and run Install.bat

Tutorial on [Youtube](https://youtu.be/d2-bKw6yTjo)
Hangman Project | Day 11
Tags: javascript, webdev, beginners, programming
Published: 2022-01-15 18:25:53

Today I have Made and Small React Project 👇
![Hangman Exercise React Project](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6cfxzhka2oja5jyqqqsy.png)

https://github.com/Developer-io-web/React-Hangman

Happy Coding ☺️
Angular 13 Starter with ESLint, Material, Transloco, Jest, TestCafe, Docker & Prettier 🚀
Published: 2022-01-15 18:09:20

Angular 13 Starter with Material, Transloco, Jest, Compodoc, Docker Support, ESLint & Prettier

**GitHub: https://github.com/wlucha/angular-starter**

## Features

✅ [Angular 13](https://angular.io/)  
✅ [Angular Material](https://material.angular.io/)  
✅ Unit Testing with [Jest](https://jestjs.io/)  
✅ End-to-End Testing with [TestCafé](https://testcafe.io/)  
✅ Internationalization with [Transloco](https://github.com/ngneat/transloco)  
✅ Auto documentation with [Compodoc](https://compodoc.app/)  
✅ Analyse your project with [webpack-bundle-analyzer](https://www.npmjs.com/package/webpack-bundle-analyzer)  
✅ [Docker](https://www.docker.com/)  
✅ [ESLint](https://eslint.org/)  
✅ [Prettier](https://prettier.io/)  
✅ [Commit Linting](https://github.com/conventional-changelog/commitlint)

## Demo

[![StackBlitz Demo](https://user-images.githubusercontent.com/7531596/83507657-2424e180-a4c9-11ea-8e4f-b3f8e7d6b4c5.png)](https://stackblitz.com/github/wlucha/angular-starter)

## Install / Development

```bash
# Clone the project
$ git clone https://github.com/wlucha/angular-starter
$ cd angular-starter

# Install dependencies
$ npm install

# Start server
$ npm run start

# Open in browser: http://localhost:4200
```

## Docker Deployment

```bash
# Build Docker image
$ docker build . -t angular-starter

# Run Docker Container
$ docker run -p 3000:80 angular-starter
```

## Docker Hub

https://hub.docker.com/r/wlucha/angular-starter

## Commands

- `npm run start` - start the app
- `npm run lint` - lint the project
- `npm run test` - run unit tests
- `npm run build` - build the project
- `npm run build:prod` - build the project in production mode
- `npm run build:prod:stats` - build the project in product mode with stats
- `npm run analyse` - analyse bundle with [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer)
- `npm run compodoc` - generate [compodoc](https://github.com/compodoc/compodoc) documentation
- `npm run changelog` - generate changelog
- `npm run prettier` - format the whole project
Learn how to create full-stack blogger project with Vue.js & Flask
Tags: tutorial, programming, python, webdev
Published: 2022-01-15 18:06:26

##VueJS-Flask-Full-Stack-App

This is a Blogger full-stack web-app using VueJs for Frontend design and Flask for backend server.

What you will learn from this app:

- How to create your first simple full-stack app.
- How to test your API useing unit-test.
- How to create a database table using SQLAlchem library ORM.
- How to handle routs using HTTP verbs [Get, Post, Put, Delete].
- How to using Bootstrap with VueJs.
- How to send requests to the backend server using Axios and store them in the database.

[Project](https://github.com/mahmoudessam820/Full-Stack-Blogger-Application)

All the best to you.
Angular 13 + NestJs + NX
Published: 2022-01-15 18:05:45


Starter project with Angular 13, Ngx-admin, NestJs, Nx Workspace, Jest, Cypress, ESLint & Prettier

**Project: https://github.com/wlucha/angular-nest-nx**

## Features

✅ [Angular 13](https://angular.io/)  
✅ [Ngx-admin](https://akveo.github.io/ngx-admin/)   
✅ [NestJS 8](https://nestjs.com/)   
✅ Next generation build system with [Nx](https://nx.dev/)  
✅ Unit Testing with [Jest](https://jestjs.io/)  
✅ End-to-End Testing with [Cypress](https://www.cypress.io/)  
✅ [ESLint](https://eslint.org/)  
✅ [Prettier](https://prettier.io/)  

## Frontend App
The Angular 13 frontend app is based on the [ngx-admin](https://github.com/akveo/ngx-admin) starter kit.  

![image](https://user-images.githubusercontent.com/7531596/148551080-de61fdb5-ffa4-496e-a26b-4bbf9dd35e9e.png)

## Install / Development

```bash
# Clone the project
$ git clone https://github.com/wlucha/angular-nest-nx
$ cd angular-starter

# Install dependencies
$ npm install

# Start frontend server
$ npm run start

# Start backend server
$ npm run api

# Open in browser: http://localhost:4200
```

## Commands

- `npm run start` - Start the ngx-admin frontend app
- `npm run api` - Start the NestJS backend
- `npm run lint` - Lint the project
- `npm run test` - Run tests

## License

MIT License

Copyright (c) 2022 Wilfried Lucha

**Project: https://github.com/wlucha/angular-nest-nx**
How to use the  Log4J library in 2022
Published: 2022-01-15 17:38:50

---
title: How to use the  Log4J library in 2022
published: true
description: We are looking into the vulnrability of Log4J version 2 and how to mitigate the exploit. We also look at the differences of version 1 and version 2 of Log4J
tags:
cover_image: https://i.ytimg.com/vi/AjmDUMiyvNQ/maxresdefault.jpg
---

{% youtube AjmDUMiyvNQ %}

We are looking into the vulnrability of Log4J version 2 and how to mitigate the exploit. We also look at the differences of version 1 and version 2 of Log4J
Remove Duplicate Characters from given string(Java)
Tags: java, programming, beginners, javainterviewquestions
Published: 2022-01-15 17:36:19

**Program to print to Remove Duplicate Characters from given string**


```
package InterviewPrograms;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;

public class RemoveDuplicateFromString {
	public static void main(String[] args) {

		String str = "abbaaca";
		char y[] = str.toCharArray();
		int size = y.length;

		Map<Character, Integer> map = new LinkedHashMap<>();

		int i = 0;
		while (i != size) {
			if (map.containsKey(y[i]) == false) {
				map.put(y[i], 1);
			} else {
				int oldval = map.get(y[i]);
				int newval = oldval + 1;
				map.put(y[i], newval);
			}
			++i;
		}
		Set<Map.Entry<Character, Integer>> lhmap = map.entrySet();
		String result = "";
		for (Map.Entry<Character, Integer> data : lhmap) {
			result = result + data.getKey();
		}
		System.out.println(result);
	}
}

```
7 months ago I published the app that allows you to adjust your WebCamera exposure - those are the stats!
Tags: productivity, product, swift
Published: 2022-01-15 17:26:43

About a year ago during my 1:1 my boss told me that my face is barely visible because of the window in the background and that I should do something about it. Obviously I bough some apps in the Mac App Store - but all of them were not supporting my web camera. As an engineering manager and ex iOS software engineer I decided that I have to fix it and I've build the new app that would support most of the web cameras because of it's primitive functionality and that's how [Exposure Adjustor](https://apps.apple.com/pl/app/exposure-adjustor/id1570960511?mt=12) was born.

So the idea is:

1. Cover (with your hand) the part of your camera(lens) that is exposed to too much light
2. Press Lock button to "lock" the current exposure
3. Enjoy

Till now I haven't advertise my app in any way and those are the stats: (I released 7 months ago)

* Sales: 98.94$
* Proceeds: 76.83$
* Units: 44
   * Europe - 19
   * USA & Canada - 17
   * Asia Pacific - 6
   * Latin America & The Caribbean - 2
* Rating: 5.0 (3 reviews 😂)

This is the first app I've done and published for myself and not for the company or a client. Every sale is surprisingly satisfying and makes me really happy that someone is able to use it and is happy with what they've bought - I got 2 emails saying that it's a very cool app as it does exactly what it says on the tin.
10 React Projects to Build in 2022 - GitHub
Tags: javascript, programming, tutorial, react
Published: 2022-01-15 17:19:00

Without wasting your time, here's a list of cool projects for beginners. 

Part 1: Create a Simple App separating the heading component
Access the Repo: https://github.com/hr21don/React-Development-Projects--2022/tree/main/Project%202/React_Components ✔️

Part 2: Create a ContactList App using React Properties
Access the Repo: https://github.com/hr21don/React-Development-Projects--2022/tree/main/Project%203/React_Properties ✔️

Part 3: Create an Emojipedia App by Mapping_Data_To_Components
Access the Repo: https://github.com/hr21don/React-Development-Projects--2022/tree/main/Project%204/React_Mapping-Components ✔️

Part 4: Create a simple app using Conditional Rendering to show different components without moving the variable 'isUserRegistered'.
Access the Repo: https://github.com/hr21don/React-Development-Projects--2022/tree/main/Project%205/React_Registration-App ✔️

Part 5: Create a Simple Timer App using React useState_Hook
Access the repo: https://github.com/hr21don/React-Development-Projects--2022/tree/main/Project%206/React_useState-Hook ✔️

Part 6: Create a Simple App using React Event_Handling
Access the repo: https://github.com/hr21don/React-Development-Projects--2022/tree/main/Project%207/Event_Handling_In_React ✔️

Part 7: Create a Simple app to detect user events using React Forms
Access the repo: https://github.com/hr21don/React-Development-Projects--2022/tree/main/Project%208/React_Forms ✔️

Part 8: Create a Simple Forms App using Complex State with React
Access the repo: https://github.com/hr21don/React-Development-Projects--2022/tree/main/Project%209/Complex_State_In_React ✔️

Part 9: Create a TodoList App with React
Access the repo: https://github.com/hr21don/React-Development-Projects--2022/tree/main/Project%2010/React_TodoList-App ✔️

Part 10: Create a NoteKeeper App with React
Access the repo: https://github.com/hr21don/Google-Keep-Clone ✔️
or
Access the Deployed version at
https://jn4tu.codesandbox.io/ ✔️

All the best of your journey!

But more importantly, everyone is looking to JavaScript and React for the future of web applications. Learning React now will future-proof your career and increase your earning power.
What is the use of UseMemo
Tags: react, javascript, webdev, webpack
Published: 2022-01-15 17:18:05

useMemo is a memorise hook that avoid rendering  a Component if there is no change in props 
let's take an example when a parent child renders all of it's children component will render but we can avoid rendering of children if there is no change in the props by wrapping 
it with a React.useMemo hook
Rails Application for Syllables
Published: 2022-01-15 17:01:49

Today, on the second of my 3-day Sankranthi weekend, I had some more LitTech fun. LitTech is my term for what Data Science calls Natual Language Processing (NLP).

I converted to Ruby, the extensive Python algorithm that I had Googled yesterday for counting syllables. Quickly built up a Rails application around that algo and deployed it on my cloud server where I run my side projects.

You can access it at https://www.mahboob.tech/poetry/

I entered Hyderabad Readers And Writers. It gave the syllable count as seen in the following screenshot.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vusk9ywxqakquaup9gx2.png)
 
I am yet to verify the accuracy of my migrated Ruby algorithm. Will run some tests tomorrow. In any case, there is a long way for this baby to go - meters and stuff.
Reverse a Number (Java)
Tags: java, programming, testing, javainterviewquestion
Published: 2022-01-15 16:19:53

**Program to find Reverse of a Number**

```
package InterviewPrograms;

import java.util.Scanner;

public class ReverseNumber {
	static int revNum = 0;

	// Method 01:Using Algorithm
	public static int reverseOfNumber(int num) {
		while (num != 0) {
			revNum = revNum * 10 + num % 10;
			num = num / 10;
		}
		return revNum;
	}

	// Method 02: using StringBuffer class
	public static StringBuffer reversedNumber(int number) {

		StringBuffer sb = new StringBuffer(String.valueOf(number));
		StringBuffer rev = sb.reverse();
		return rev;
	}

	// Method 03: using StringBuilder class
	public static StringBuilder reversedNum(int value) {

		StringBuilder sb1 = new StringBuilder();
		StringBuilder revValue = sb1.append(value).reverse();
		return revValue;
	}

	public static void main(String[] args) {
		System.out.println("Enter the number: ");
		Scanner input = new Scanner(System.in);
		int actualNumber = input.nextInt();

		System.out.println("Reverse of a number using Method 01: " + reverseOfNumber(actualNumber));
		System.out.println("Reverse of a number using Method 02: " + reversedNumber(actualNumber));
		System.out.println("Reverse of a number using Method 03: " + reversedNum(actualNumber));

	}
}

```
How to add WhatsApp share button on a website ?
Tags: whatsapp, javascript, sh20raj, tricks
Published: 2022-01-15 16:14:34

Here are two methods which can be used to link a button. When user will click it. The user will be redirected to WhatsApp app on Android/PC. With the massage given in the parameter.

---

See Detailed Video :- https://youtu.be/CSXCxMzvu9A

---

```
<a href="https://api.whatsapp.com/send?text=urlencodedtext"></a>
```

---

```
<a href="whatsapp://send?text=<<HERE GOES THE URL ENCODED TEXT YOU WANT TO SHARE>>" >Share via Whatsapp</a>

```

---

```
<a href="https://wa.me/?text=urlencodedtext">Share this</a>
```

As you seen in the example if you want to add line breaks to your massage or write massage as you send on WhatsApp. You have to use urlencodedtext.

You can Convert your Text into URL encoded text from here :- https://www.google.com/search?q=url+text+encoder

As you can See an Example Here :- https://createevminutes.sh20raj.repl.co/


> Checkout Instagram :-
> {% instagram CYKELXKPJ_r %}
Reverse Each word in a String
Tags: java, programming, beginners, javainterviewquestion
Published: 2022-01-15 15:36:55

**Program to Reverse each word in String**

```
package InterviewPrograms;

import java.util.Scanner;

public class ReverseEachWord {

	// Method 01
	public static String revWordsOfString(String str) {
		// s1.Split the String with whitespace
		String[] words = str.split(" ");

		// s2. Using for each loop read each word and reverse it
		String revstr = "";
		for (String w : words) {
			String revword = "";
			for (int i = w.length() - 1; i >= 0; i--) {
				revword = revword + w.charAt(i);
			}
			revstr = revstr + revword + " ";
		}
		return revstr;
	}

//Method 02
	public static String revWordOfString(String str) {
		// s1.Split the String with Space Reg.Expression(\\s)

		String[] word = str.split(" \\s");

		String revword = "";
		for (String w : word) {
			StringBuilder sb = new StringBuilder(w);
			sb.reverse();

			revword = revword + sb.toString() + " ";
		}
		return revword;
	}

	public static void main(String[] args) {
		System.out.println("Enter the Actual String:");
		Scanner input = new Scanner(System.in);
		String actualString = input.nextLine();

		String ExpectedString = revWordsOfString(actualString);

		System.out.println("The Reverse word of each string of given String from Method 1: " + ExpectedString);
		System.out.println(
				"The Reverse word of each string of given String from Method 2:" + revWordOfString(actualString));
	}
}

```
Python Find Available Port
Tags: python
Published: 2022-01-15 15:35:26

---
canonical_url: https://waylonwalker.com/python-find-available-port/
cover_image: https://images.waylonwalker.com/python-find-available-port.png
published: true
tags:
- python
title: Python Find Available Port
series: til
---

When running a python process that requires a port it's handy if there is an option for it to just run on the next avaialble port.  To do this we can use the socket module to determine if the port is in use or not before starting our process.

``` python
import socket

def find_port(port=8000):
    """Find a port not in ues starting at given port"""
    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        if s.connect_ex(("localhost", port)) == 0:
            return find_port(port=port + 1)
        else:
            return port
```

---

The til series is intentionally short thoughts that come to me thoughout the day, and I get them to paper as quick as I can.  You can see all the [tils](https://waylonwalker.com/til/) or [full posts](https://waylonwalker.com/archive/) on my website.