teleren/devto huggingface dataset:
Open-source alternative to Firebase 🚀: Rocketgraph
Published: 2022-07-18 10:10:12

With [Rocketgraph](https://rocketgraph.io/) you can create a full blown web application with a Postgres Database, Authentication and subscriptions with Graphql API within minutes.

Watch me build a todos app with authentication using Rocketgraph in about 10 minutes.

{% youtube K5TGDapSnQw %}

Your code to authenticate users is just:


![Rocketgraph Auth](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k4wcaaq1xdjn9savjwl6.png)

We support email, social and magic link logins. More coming soon.

In my initial years as a web developer, I struggled to write the same code again and again for different clients that did the same thing.

With [Rocketgraph](https://rocketgraph.io/) You will get all the features you need to start a website, you only have to add additional pages on the front-end.

[Check out the example setups](https://github.com/RocketsGraphQL/rgraph)

You will have a [Hasura](https://hasura.io/) console to manage authorization based on the permissions encoded in JWT token(also handled by Rocketgraph)

![Rocketgraph Hasura Graphql console](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wp2hmtgeaom6iex8kvwt.png)

Here you can setup Row based permissions, webhook integrations(Any change to DB triggers this), modify your Postgres DB(Also provided by Rocketgraph) etc.

And its [open-source](https://github.com/RocketsGraphQL/hasura-batteries)

After 13 months of building in silence Rocketgraph is open for private alpha to developers.

DM me here: https://twitter.com/kaushik__v
what you think, and I would be happy to provide you free credits on my platform and may be even a cashback($2-$3) for using it.
What is Project Management?
Tags: seo, digitalmarketing
Published: 2022-07-18 09:56:15

Project management involves the planning and organizing of agency or company resources to carry out a specific job task efficiently. When to start work? How to start, reach success, and when to stop the work? All these come under project management.
Project management is primarily used in engineering work, but it is now being used in the health care and information technology IT sector. The most challenging task in project management is - "Completing the task on the set time."

You must have heard about waterfall project management, agile project management in project management, and these are types of project management that follow different strategies. Talking about SEO project management, it simply means to drive an SEO project, including proper use of time, human resources, and technical tools. When these three things are used properly, the project itself should be like this- He comes to the agencies.

Many [Indian search engine optimization experts](https://snapvisibility.com/seo-services/) work in an SEO agency, who applies their strategy to the website. SEO Project Management helps in successfully ranking the website in the given time. Now let's move on to the tips and know-how.
How a Mobile App Development Company Can Benefit Gated Communities
Tags: webdev, development
Published: 2022-07-18 09:47:20

Most people interact with each other, their businesses, and their world through mobile apps and a [Mobile App Development Company](https://www.cmarix.com/mobile-app-development-company-in-newyork.html) has a lot to do with it. That means that when it comes to access control, a strong mobile app is critical to providing maximum security. 
A good access control app will not only provide a high level of security, but it will also provide an intuitive way for residents to access their properties, their workspaces, and their loved ones.

Read more: [https://bit.ly/3Pvu1Vw](https://bit.ly/3Pvu1Vw)
Wavy Backgrounds with CSS & SVG
Tags: javascript, webdev, beginners, programming
Published: 2022-07-18 09:38:42


Modern websites consist multiple features which makes it more attractive and phenomenal. Developers add more customizations and animations to websites for better look and waves are one of them. Every modern website includes waves and its actually convert normal look to better UI.

## Get started with waves
Creative waves are easy but the actual challenge is to use it, how to setup and where. We can develop waves using pure SVG codes but a lot of different tools which helps you to get attractive waves.

#### Waves using pure SVG code 

```HTML
<!DOCTYPE html>
  <html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Waves tutorial!</title>
    <link rel="stylesheet" href="styles.css">
  </head>
  <body>
    <div class="wave-container">
  <h1>Hello, amazing readers!</h1>
  <p>Waves are awesome!</p>
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">
    <path fill="#FFF" d="…"></path>
  </svg>
</div>
  </body>
</html>

```


{% codepen https://codepen.io/ganesh1010/pen/OJvJJJy %}

We can customize waves using SVG path you can explore more about SVG's from [here](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial)!

#### Waves using external tools

There are multiple tools area available to draw waves and one of them which I recommend is [getwaves.io](https://getwaves.io/) because its simple to use and its came with lot of customizations like color, size multiple waves and other features. 

{% codepen 
https://codepen.io/ganesh1010/pen/XWEpwMN %}

You can create various type of animations with HTML SVG's with your own creativity visit to official documentation and explore it.

### External tools to create SVG' Waves
- [Getwaves](https://getwaves.io/)
- [Softr](https://www.softr.io/tools/svg-wave-generator)
- [Haikei](https://app.haikei.app/)

### Recommendations
Learn more about SVG's by exploring below documentations 
1. [Fireship article to create multi level waves](https://fireship.io/lessons/wavy-backgrounds/)
1. [GFG waves background](https://www.geeksforgeeks.org/how-to-create-wave-background-using-css/#:~:text=How%20to%20Create%20Wave%20Background%20using%20CSS%20%3F&text=CSS%20code%3A%20In%20this%20section,on%20top%20of%20our%20background.)
1. [Create animated waves](https://blog.prototypr.io/how-to-add-svg-waves-to-your-next-web-project-b720efe1c692)

### Connect with me on Socials
- [LinkedIn](https://www.linkedin.com/in/ganeshpatil386386/)
- [Twitter] (https://twitter.com/ganeshstwt)
- [Github] (https://github.com/ganeshpatil386386)

Thankyou for reading this article.🙏✌
You can support my work [here!] 👍(https://github.com/sponsors/ganeshpatil386386)
Apache won't start
Tags: apache, xampp
Published: 2022-07-18 09:37:33

This happened on my mac whenever i would try to start apache with 
```
sudo /Applications/XAMPP/xamppfiles/xampp startapache
```
the result would be `Another web server is already running.`

Solution is to stop the built in apache server of OSX with
```
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
``` then try to start apache again
Outreachy: Modifying Expectations
Tags: outreachy, uiux, opensource
Published: 2022-07-18 09:34:27

Welcome to blog 4!
I'm half way through my internship 🎉
This week's blog is about my project timeline and a progress report of what we've achieved so far, and the plan for the second half of the internship.

## Goals met so far
In the initial week, I discussed with my mentors and put out a feedback form for the ODK-X community to get some insights from our users/customers. Over the next 3 weeks I worked on the feedback, curated a google doc with all my ideas and suggestions w.r.t icons, spacing etc, and designed some screens with suggested improvements. 
Based on the feedback from my mentors, I'm currently re-iterating on the designs and looking to implement them in coming weeks.

## What took longer than expected
Gathering feedback and working on it took more time than we planned initially, and that is still work-in-progress. 

## Plans for second half of internship
I've designed a few screens, which I will implement in Android studio in the coming weeks, alongside which I'll be working on making the style guide more detailed and improved.
I'll also be creating a repo/collection of all the icons, illustrations etc to be used throughout the applications. 

     
> Second half of the internship is going to be more intense and fast paced, quite excited for what's in store for me.
JavaScript sort array based on subarray value
Tags: javascript
Published: 2022-07-18 09:32:06

Now that we had a look at finding the min/max from an array of arrays, let's see how we can go a step further and sort all the items based on a sub-array value.

To sketch the problem, let's say we have the following array of users.

```js
const users = [
  ['Nicole', 31],
  ['Chris', 33],
  ['Sanne', 1],
  ['Yaatree', 2],
];
```

The users' array contains sub-arrays representing a user's first name and age.
How can we now sort this array based on the user's age?

## Sorting an array by sub-array value

We can actually use the native `sort` method to achieve our goal of sorting this array.

In its most basic form, you can call if on an array, and it will try to sort them based on the contents.
Meaning when the array contains strings, it will sort alphabetically.

It would look like this:

```js
console.log(['b', 'c', 'a'].sort());

// [ 'a', 'b', 'c' ]
```

However, it's a bit more complicated in our case as we have an array of arrays.
Calling sort would take the first array element as its sorting method, so we would end up sorting based on the name.

```js
console.log(users.sort());

// Returns:
// [
//  [ 'Chris', 33 ],
//  [ 'Nicole', 31 ],
//  [ 'Sanne', 1 ],
//  [ 'Yaatree', 2 ]
// ]
```

This is great if we want to sort on the first name, but we want to sort on the age value.

This is where the extra powers of the sort method come in.
It can take arguments we can use to enhance our sorting.

```js
users.sort((a, b) => {
  // Do something with a and b
});
```

The above example code is the syntax we can use.
It takes a first and second element for comparison.

Since we are sorting on numbers, they even give us a quick option to sort them.

```js
users.sort((a, b) => {
  return a[1] - b[1];
});

// Returns:
// [
//  [ 'Sanne', 1 ],
//  [ 'Yaatree', 2 ],
//  [ 'Nicole', 31 ],
//  [ 'Chris', 33 ]
// ]
```

We can also change the order by switching the a and b comparison around.

```js
users.sort((a, b) => {
  return b[1] - a[1];
});

// Returns:
// [
//  [ 'Chris', 33 ],
//  [ 'Nicole', 31 ],
//  [ 'Yaatree', 2 ],
//  [ 'Sanne', 1 ]
// ]
```

And to top it off, we can write this as sort hand functions to make it super clean.

```js
users.sort((a, b) => a[1] - b[1]));
```

And that's it. We learned how to sort an array based on a sub-array value.

### Thank you for reading, and let's connect!

Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on [Facebook](https://www.facebook.com/DailyDevTipsBlog) or [Twitter](https://twitter.com/DailyDevTips1)
How can make an array from the values of another array's key?
Tags: webdev, programming, tutorial, php
Published: 2022-07-18 09:18:33

Today what you are going to learn:
If you are working on PHP or other PHP framework and you want to create array of another array value. now you can see on following lesson how can you make array form another multidimensional array key's.

For lesson you have array like:

	 $multi = array(

	  ['1'] => array('id'=>1,'name'=>'hardik'),

	  ['2'] => array('id'=>1,'name'=>'vimal'),

	  ['3'] => array('id'=>1,'name'=>'harshad'),

	)

 

but if you want to this multi-dimensional array just like this way:

 	$test = array('hardik','vimal','harshad');

 

so, we can make this type of array from multi-dimensional array using array_column() funtion.

you can use this function easy as under.

$result = array_column($multi, 'name');

Try this..........

## [Read More](https://www.freecoder.co/post/how-can-make-an-array-from-the-values-of-another-arrays-key-5429)
PHP merge two arrays on the same key AND value
Tags: webdev, programming, php, tutorial
Published: 2022-07-18 09:17:08

Today what you are going to learn:
Do you need to merge two array however you need without overwrite cost then right here you could see how to merge array in following lesson. So now we've two array and we need to merge it with overwrite with any key then we fetch many problem.we can do like this two array :

My Array:

    $array1 = [  

        '0'=> ['name'=>'Sagor','Surname'=>'Savani'],  

        '1'=> ['name'=>'Harsukh','Surname'=>'Makawana'],  

       ];  

    $array2 = [  

        '0'=> ['name1'=>'Harshad','Surname1'=>'Pathak'],  

        '1'=> ['name1'=>'Vimal','Surname1'=>'Kashiyani'],  

       ];  

AND You want to merge like that :

Result:-

    Array  

    (  

        [0] => Array  

            (  

                [name] => Sagor  

                [Surname] => Savani  

                [name1] => Harshad  

                [Surname1] => Pathak  

            )  

        [1] => Array  

            (  

                [name] => Harsukh  

                [Surname] => Makawana  

                [name1] => Vimal  

                [Surname1] => Kashiyani  

            )  

    )  

Then you want to make this array without any loop, then you can use array_map() and array_merge(). this both function help to make this output as you want like this way to use.

==>>

$result = array_map(function($array1,$array2){  

	return array_merge(isset($array1) ? $array1 : array(), isset($array2) ? $array2 : array());

 	},$array1,$array2);  

print_r($result);

## [Read More](https://www.freecoder.co/)
Form Validation Example by PHP 8 MySQL
Tags: webdev, php, programming, tutorial
Published: 2022-07-18 09:15:49

Today what you are going to learn:
Hello Dev,

Hello Brother, I will let you know lesson of PHP 8 MySQL Form Validation Example. you will learn PHP 8 Server Side Form Validation Tutorial Example. step by step explain how to create form validation in php 8. We will look at lesson of PHP 8 MySQL form input validation lesson. follow bellow step for how to show validation error in PHP 8 MySQL.

This article will give you simple lesson of PHP 8 Basic Form Validation Tutorial

So, let's see bellow solution:

index.php

## [Read more](https://www.freecoder.co/post/form-validation-example-by-php-8-mysql)
Node JS Mysql Connection Example
Tags: webdev, node, javascript, tutorial
Published: 2022-07-18 09:14:39

Today what you are going to learn:
Hello Brother,

This is a short guide on node js mysql connection lesson. you will learn how to connect mysql database in node js. we will help you to give lesson of how to use mysql in node js. step by step explain mysql connection in node js.

In this lesson i will give you simple lesson of how to connect mysql database using node js. i am not going to explain you in more details, but give you simple lesson so let's see lesson.

[read more](https://www.freecoder.co/post/node-js-mysql-connection-example-9994)
5 days until the early bird tickets are out for the larget developer conference in MEA! DevoxxMa
Tags: javascript, programming, webdev, java
Published: 2022-07-18 09:13:17

Time is ticking 💥 Blind tickets are out, and only a few early birds are left before we go full price for Devoxx Morocco 2022⌛️
5 days  left to get your Early Bird ticket for the largest #Developers Conference in #MEA! price will increase by next week
🔥 Get your ticket NOW: https://bit.ly/3RJpQaI 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/75i4g9r4z4wppiyp2agj.jpg)
I created a VS Code Extension - NPM Imported Packages Lens
Tags: typescript, javascript, webdev, vscode
Published: 2022-07-18 09:05:19

When you read JavaScript/Typescript code, have you ever encountered an imported package and wanted to learn more about it? For instance, go to the NPM or GitHub Repo, where you can get more information. When I find myself in this situation, my process always involves copying the package name, Googling it, and finally getting to my destination, either NPM, GitHub Repo, or the website for the package. This can also be not as straightforward as you might think, as it could involve several packages that are closely named, and you have to figure out which one is the correct one.

## NPM Imported Packages Lens Extension

![NPM Imported Packages Lens Extension](https://cms.mainawycliffe.dev/content/images/2022/07/ezgif.com-gif-maker.gif)

Last week, I decided to do something about this. I created a VS Code Extension that will show you links to NPM, Github, and the Homepage (usually a docs site or GitHub ReadMe of the project) for an imported package right there in the Typescript/Javascript file. Click on whichever you want to open, and you will land on the correct page without the mental model involved in my previous process.

The extension currently shows three links: NPM, GitHub, and Homepage, and all of these are pulled from NPM for the latest version of the package - I will try and address the versioning issue as time goes on especially for the link to the Homepage. And the extension currently works for ES modules for Typescript, Javascript, and JSX/TSX files; I hope to add support for other frameworks such as Vue, Svelte, and Astro in the near future.

You can install the extension from [here](https://marketplace.visualstudio.com/items?itemName=MainaWycliffe.view-package-on-npm) and find the Github repository [here](https://github.com/mainawycliffe/npm-imported-packages-lens) (please leave a star ⭐). Thank you.
What is NaN in JavaScript? What is its type? How can you reliably test if a value is equal to NaN?
Tags: javascript, webdev, beginners, node
Published: 2022-07-18 08:57:16

In JavaScript, `NaN` is a property of the global `Object`. In other words, it is a variable available in the Global scope.

It stands for **Not-A-Number** but interestingly, its type is `number`.

```JavaScript
console.log(typeOf NaN); // "number"
```

 It is used to denote an object that is not or does not compute to a `number`, in a context when `number` operations are applied on that object.

Another interesting fact about `NaN` is, it never equals to itself. So `NaN == NaN` or `NaN === NaN` is always `false`.

```JavaScript
console.log(NaN == NaN); // false
console.log(NaN === NaN); // false

```


### Testing for NaN
Since a `NaN` is never equal to another `NaN`, a self-comparison of a value makes it the most reliable way to test if the value is `NaN`.

```JavaScript
function isThisNaN(value) { return value !== value };

isThisNaN(1); // false
isThisNaN(NaN); // true
isThisNaN(Number.NaN); // true
isThisNaN('NaN'); // false
```

Other ways to test if an object is `NaN` are using the `isNaN()` global method and `Number.isNaN()`.

```JavaScript
console.log(isNaN('hi')); //true
console.log(isNaN('4'); // false
```

In the two examples above, `isNaN()` waits for type coercion on the `string` before it makes the comparison. In the first case with `'hi'`, the `string` is coerced to `number`, which then evaluates to `NaN` because it doesn't return a number. In the second case with `'4'`, it gets evaluated to a `number` so it is not a `NaN`. So using `isNaN()` is not very reliable to test for `NaN`

In contrast, `Number.isNaN()` tests the current value:

```JavaScript
console.log(Number.isNaN('hi')); // false
console.log(Number.isNaN('4')); // false (this time because 
                                // it's a string in the
                                // context of a Number method)
```
Type coercion is not present with `Number.isNaN()`. Instead, it compares the string directly. In the code above, both `'hi'` and `'4'` are `string`s and therefore not `NaN` in the context of a `Number` method. This makes `Number.isNaN()` more reliable than `isNaN()` while testing for `NaN` values.

---
References
1. [NaN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN)
2. [How can you reliably test if a value is equal to NaN?](https://stackoverflow.com/questions/27330127/how-can-you-reliably-test-if-a-value-is-equal-to-nan)
What Is an API and How Does It Work?
Tags: api, beginners, programming, blst
Published: 2022-07-18 08:51:52

**What Is an API?**
 
API stands for "application programming interface." It is a set of protocols, routines, and tools for building software applications. An API specifies how software components should interact with each other and is used when programming graphical user interface (GUI) components. A good API makes it easier to develop a program by providing all the building blocks, which are then put together by the programmer.
 
An API is the interface that is used by developers to access the functionality of the software component. Think of an API like a contract between two pieces of software. As mentioned, it outlines how the **two software components will interact with each other**. An API is usually defined by the provider of the software component (e.g., Facebook, Google, Twitter, etc.) and it stipulates what data is available and how it can be accessed. It also determines what operations can be performed with the data.
 
**APIs are important** because they designate how the software component can be used. 
 
**How Do APIs Work?**
 
When using an API, you are essentially making a request to a server for data or information. The API then processes the request and returns the data to you.
 
As previously mentioned, the API defines the rules of communication between two software components. It includes the format of the data that is exchanged and the order in which it is exchanged. 
 
Usually, the provider of the software component also provides the API. For example, Facebook provides an API that allows developers to access the data on Facebook. This API defines how the data on Facebook can be accessed and what operations can be performed on it.
 
Again, APIs are important because they allow different software components to work together. APIs are essentially the glue that holds the software components together.

If you're interested in exploring API security testing tools, I invite you to check out our API security GitHub ⭐
https://github.com/blst-security/cherrybomb

Stay tuned for more interesting information :)
C# Course Recommendation (FREE)
Tags: csharp, beginners, programming, tutorial
Published: 2022-07-18 08:26:27

When picking a programming language,  we would look up learning resources online , from books to courses and more .

I have personally checked like 5 courses from YouTube to LinkedIn learning in addition to Udemy.

C# is unlike other programming languages, it doesn't have very well structured courses online 

So after a deep research , I found a free course on Udemy for C# novice, and it's really good.
**A brief overview**
The course covers all the essential topics ,each explained in a module.
The cool thing is at the end of each module , you will find a quiz , and 3 exercises that will solidify your understanding of the concepts discussed in the module.

The course is 10 hours of on-demand videos .

**Course title**: _Fundamentals of programming: Understanding C#_

Make sure to check it out , it's completely free and I highly recommend it.