teleren/devto huggingface dataset:
EBS,EFS,AWS Config, Cloud Trail, AWS Backup
Tags: aws
Published: 2023-01-29 20:11:11

𝐄𝐁𝐒 - 𝐄𝐥𝐚𝐬𝐭𝐢𝐜 𝐁𝐥𝐨𝐜𝐤 𝐒𝐭𝐨𝐫𝐚𝐠𝐞 - Its a block level storage, which means the data is stored as block chunks. An EBS volume can be shrink or expanded according to our requirement. We have various types of EBS volumes such as General purpose SSD, Provisioned IOPS, etc.
When you create an EC2 Windows instance post attaching an EBS volume, login to the EC2 instance and we can do manual partition of volumes. The root volume of an EC2 instance consists of Operating System so it has to be minimum 100 GB, The other volumes that you create for a Linux instance can be mounted by following the below steps.
1. lsblk ( lists the available volumes attached to the disk)
2. mkdir newdisk (creates a directory named newdisk)
3. mkfs -t ext4 /volumename -- that is the unattached volume is formatted here)
4. mount /dev/xvdf( un attached volume) /newdisk
Thus an EBS volume gets mounted and ready for use in Linux EC2 machine.
𝐄𝐅𝐒 - 𝐄𝐥𝐚𝐬𝐭𝐢𝐜 𝐅𝐢𝐥𝐞 𝐒𝐲𝐬𝐭𝐞𝐦 - Its a file level storage which can be shared with multiple EC2 instances
1. Create two or more EC2 Machine, create security groups
2. Create an EFS system, create a security group, allow the EC2 machines security group as inbound rule, NFS default port.
Login to your EC2 machines and create mkdir EFS, install amazon efs utils and follow the commands to mount the EFS volumes to multiple EC2 instances one by one. EFS systems is auto scalable. In the command given by amazon in pop ups/console the filesystem id has to be replaced with the EFS file system id that we created.
𝐀𝐖𝐒 𝐂𝐨𝐧𝐟𝐢𝐠 - Any configuration changes we make in our AWS account can be monitored here, AWS provides many configuration rules. For example any mfa disabled or EC2 tag name changes then it can be made to get notified to the user/customer via SNS email notification. The notifications can be stored in a S3 bucket as well using Lambda function, Cloud watch log group.
**AWS Cloud Trail** - The activities done by an IAM user can be identified by enabling the Cloud Trail service. Any API calls made in an AWS account can be identified using Cloud Trail.
**AWS Backup** - When you create an EC2 instance you can create a full image of it ( a kind of snapshot backup where it is point in time copy storage concept, the image you created can be used to create a new instance with all data), Its always a good practice to create a full image of your EC2 machines and name it with appropriate tags).
Rather than doing these manually, we can enable AWS Backup service and specify the resources to be backed up based on intervals like 8 hours once, 12 hours once, 24 hours once etc. The resources can be EC2, Storage, Database, S3, EFS etc.
#aws #awscloud #awscommunitybuilders

My articles - https://lnkd.in/gq7fdDvR
KMS - Key Management Service
Tags: aws, cloudcomputing
Published: 2023-01-29 20:08:53

AWS KMS - Key Management Service is a service used in AWS to encrypt and decrypt data.
KMS keys are of three types
1. AWS Managed keys (default)
2. Customer Managed keys
these keys are categorised into two types of symmetric and asymmetric keys.
Symmetric keys - Same key can be used to both encrypt and decrypt data.
Asymmetric keys - We need to have separate keys to encrypt and decrypt data.
In S3 we have server side and client side encryption.
Server side encryption - The data uploaded in S3 storage buckets gets encrypted before getting stored in AWS Data Center disks
Client side encryption - The data is encrypted by the client (user) and then data gets uploaded in the S3 bucket.
Install AWS Cli in your windows or Linux machine, Using access key and secret key, AWS configure command get CLI ready and we can encrypt either user files or S3 objects. The commands are available in AWS official documents site.
My articles - https://lnkd.in/gq7fdDvR
#aws #awscloud
RDS
Tags: aws, cloudcomputing
Published: 2023-01-29 20:07:45

*𝐑𝐞𝐥𝐚𝐭𝐢𝐨𝐧𝐚𝐥 𝐝𝐚𝐭𝐚𝐛𝐚𝐬𝐞 𝐌𝐨𝐝𝐞𝐥*
In a relational database the data is structured into tables, rows, columns.
Amazon RDS is a managed service which provides encryption at rest and transit.
RDS has two types of storage 1. General purpose SSD (Solid State Drive) 2. Provisioned IOPS SSD where you can set the input output operations per second.
It's a self managed service means patching, maintenance is taken care by Amazon the customer need not be worried about it.
RDS has to be deployed in Multi Availability Zone as per AWS best practice because it's mainly used to host production data's. Example Banking Datas.
RDS instance to be created in Private Subnet ie the subnet associated with NAT Gateway.
RDS instance should not be publicly accessible as per AWS best practice.
RDS instance's storage can be automatically increased based on the threshold value set.
RDS instance can be accessed and to be accessed using IPSec tunnel between Onpremise and AWS RDS VPC.
The other ways to access RDS instances are through Jump Server, we must allow the Jump Server's security group in RDS instance security group for to enable traffic flow between Jump Server and RDS instance. The. Master password for RDS instance has to be in caps.
We can also connect RDS instances through Amazon Direct Connect and through Site to site VPN.
RDS instance can be used for either dev or Production database hosting.
The best practice to connect to RDS instance from onpremise is through KMS encryption keys. KMS keys can be used for both encryption and decryption
My articles - https://lnkd.in/gq7fdDvR
(writing in progress) #amazon # #database
Jump Server in AWS
Tags: aws, cloudcomputing
Published: 2023-01-29 20:06:31

*𝐉𝐮𝐦𝐩 𝐒𝐞𝐫𝐯𝐞𝐫 𝐂𝐨𝐧𝐜𝐞𝐩𝐭 𝐢𝐧 𝐀𝐖𝐒*
EC2 1- Create an EC2 instance inside a VPC and attach an internet gateway to VPC, Create the instance in Public Subnet which means assign an internet gateway in routes.
EC2 2- Create an EC2 instance inside the same VPC, Create the instance in Private Subnet which means assign a NAT Gateway to the Private subnet routes.
Nat Gateway should always be created in a Public Subnet.
We have to allow the connectivity between EC2 1 and EC2 2 ....
To achieve this ENI of the instance in Public Subnet should be allowed in Routes of the Private Subnet's EC2 Machine.
From the EC2 1 if it's a Linux machine we can SSH into EC2 2.
It's advised not to store key pairs of the machines inside the instance.
We must always store the keys in Pagent and in Putty we must enable agent forwarding.
Scenario : Consider EC2 1 as a Public Instance ie accessible through internet
Consider EC2 2 as a Private Instance that cannot be accessed via internet but following the above steps via EC2 1 the EC2 2 Webserver can be connected.
In order to connect to a Windows machine from Linux we must install remote desktop client
My articles - https://lnkd.in/gq7fdDvR
#aws #awscloud #awssolutionsarchitect
🌐 Connect with others on the same webpage as you 🖥️
Tags: javascript, startup, python, webdev
Published: 2023-01-29 20:00:27

## Announcement 📢
🚀 I'm thrilled to announce my latest project, **🌐 Browsemates - a platform that connects people on the same webpage 💻 as you!**

---

## Introduction
🚀 **Browsemates** is a real-time communication platform that allows users to communicate with others who are on the same webpage. 💬 Whether you're working on a project with your team or just need to ask a quick question, **Browsemates** makes it easy to connect with others in real-time. With its browser extension, you can join any webpage and start communicating with others in just seconds!

---

## The Problem, Browsemates is solving 🚀
💥 One of the biggest problems that Browsemates solves is _the disconnection people experience while browsing the internet_. Browsemates allows users to connect with others on the same webpage, making it easier to communicate and collaborate no matter where you are.

💥 Browsemates also addresses the lack of effective communication tools while browsing the web. It provides a real-time communication platform that is accessible from any webpage.

💡 Browsemates is useful for anyone who needs to communicate with others while browsing the web - students, freelancers, or just anyone who needs to communicate while browsing.

---

## Few use-cases 🌟

- **Viewing parties**: Watch movies with thousands of people together.
- **News and current events**: Talk to people about the latest news.
- **Recommendations**: Share experiences and learn from people
- **Reviews and Ratings**: Get and share reviews.
- **Fan clubs**: Build fan clubs with people of similar interests
- **Language learning**: Learn from people all over the internet.
- **Shopping advice**: Get shopping advice from those who already have purchased.
- **Study groups**: Create study group with students all over the world.
- **Mentoring**: Teach or mentor others.
- **Networking**: Build networks.
- **Community building**: Build communities.
- **Collaboration**: Work in collaboration with people over the globe.
- **Travel**: Plan your trips together.

**Possibilities are unlimited.**

---

## Features 🚀
📞 In addition to real-time communication, Browsemates also includes voice and text-based messaging, posts, comments, and many more. With these features, users can communicate with others in a variety of ways, making collaboration easier.

💻 The user-friendly interface sets Browsemates apart, making it accessible and easy to use for people of all skill levels.

---

🙌 I can't wait to see the impact **Browsemates** will have on the world of remote work and online collaboration. Join me on this journey and stay tuned for updates on Twitter! Together, let's revolutionize the way people communicate and collaborate while browsing the web! 🔥

---

Follow me on twitter: [@rajesh_j3](https://twitter.com/rajesh_j3)

---

Thank you
Happy Coding
Angular 15: Introduction to Component Scoped Keyframes
Tags: webdev, javascript, angular, programming
Published: 2023-01-29 19:25:05

Angular 15 was recently released and it brings with it a lot of exciting new features and improvements. One of the most significant changes in Angular 15 is the introduction of component scoped keyframes. In this article, we'll take a closer look at what component scoped keyframes are and how they work, and also provide an example to demonstrate their usage.

What are Component Scoped Keyframes?

Component scoped keyframes are a way to define CSS keyframes that are scoped to a specific component. This means that you can create keyframes that are only visible within the component that they are defined in, and they won't affect other components in the application. This allows you to create complex animations that are specific to a particular component, without having to worry about the keyframes affecting other parts of the application.

How to use Component Scoped Keyframes?

To use component scoped keyframes, you simply need to create a CSS keyframe animation within the component's styles. The keyframe animation should be defined using the @keyframes directive and the component should be decorated with the encapsulation property set to ViewEncapsulation.ShadowDom.

Example:

Let's take a look at a simple example that demonstrates how component scoped keyframes can be used. In this example, we'll create a component that displays a simple rotating square.


```

import { Component, ViewEncapsulation } from '@angular/core';

@Component({
  selector: 'app-example',
  template: `
    <div class="square"></div>
  `,
  styles: [`
    .square {
      width: 100px;
      height: 100px;
      background-color: blue;
      animation: rotate 1s infinite linear;
    }
    @keyframes rotate {
      from {
        transform: rotate(0deg);
      }
      to {
        transform: rotate(360deg);
      }
    }
  `],
  encapsulation: ViewEncapsulation.ShadowDom
})
export class ExampleComponent { }
```
In this example, the component is decorated with the encapsulation property set to ViewEncapsulation.ShadowDom, which means that the keyframe animation defined in the component's styles will only be visible within the component. The component also contains a simple div element with a class of square that is animated using the keyframe animation rotate. The keyframe animation rotate rotates the square 360 degrees every second.

Conclusion:

Component scoped keyframes are a great way to create complex animations that are specific to a particular component. They allow you to define animations that won't affect other parts of the application and make it easier to manage and maintain your animations. With the release of Angular 15, developers now have the ability to create component scoped keyframes, making it easier to create animations that are specific to a particular component.
A PetiteVue Tutorial - 02 Tables
Tags: javascript, vue, beginners, tutorial
Published: 2023-01-29 19:17:51

Now that we have the very basics down, let's get into looping.

We are now going to loop over a list of workers and build a table dynamically. This is going to be quite simple with PetiteVue.

## The Javascript

The first step is to get our data set up. Update the script tag to look like the following:

``` html
<script type="module">
    import { createApp } from '/js/petite-vue.es.js'

    createApp({
        workers: [
            { name: "Airi Satou", position: "Accountant", office: "Tokyo", age: 33},
            { name: "Angelica Ramos", position: "Chief Executive Officer (CEO)", office: "London", age: 47 },
            { name: "Cedric Kelly", position: "Senior Javascript Developer", office: "Edinburgh", age: 22 },
            { name: "Jennifer Chang", position: "Regional Director", office: "Singapore", age: 28 },
        ],
    }).mount("#app");
</script>
```

We are setting up a workers array that contains a list of worker objects.

## The HTML

Now let's update the html:

``` html
<div id="app">
    <table>
        <thead>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Age</th>
        </thead>
        <tbody>
            <tr v-for="worker in workers">
                <td>{{worker.name}}</td>
                <td>{{worker.position}}</td>
                <td>{{worker.office}}</td>
                <td>{{worker.age}}</td>
            </tr>
        </tbody>
    </table>
</div>
```

We are using `v-for` tag to loop through the workers that we already defined.

If we refresh the page, we should now see that the page has our workers formatted in a table.

In the next section, we will change the workers from being a static list we hardcoded to something that we retrieve from a server.
Setting Up SageMaker to Run Data Wrangler
Tags: aws, cloud, deeplearning, machinelearning
Published: 2023-01-29 19:13:03

We start using the data wrangler service from the SageMaker studio. The first thing we need to do is set the right notebook instance for the wrangler to run on. So, from the SageMaker studio, select create a notebook instance, give your instance a name, then the most important setting is to ensure that it has the right instance type. So, you need a minimum of an m5.4xlarge, instance to run the wrangler service.

We have the option to set elastic inference, which allows you to add inference acceleration to a hosted in-point for less cost than if you're using a full GPU instance.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nh8dr6u3705q041firee.png)

So, choose that if you want that. We can limit the access rights. We can turn off root access using an IAM role, and we can turn encryption on or off.

We have a networking, git repositories and tag options as well.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oswkzub0dffpwup6n9pf.png)

Once we have our notebook instance running on a m5.4xlarge instance type, then we will be able to use the wrangler service.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/agihjfy4aurz5ewm4n9i.png)

Now, that take a little while to provision, as you will find with most of the services in SageMaker studio, when you're doing them for the first time. Don't be alarmed. It gets much quicker over time. Okay. We can see now that we've got one notebook instance in service. So, now we can go ahead and open the JupyterLab environment. First of all, let's just have a quick look at the actual Jupyter notebook itself. This is just the raw notebook without the SageMaker interface over the top of it. All right. Just gives us the basic info. Now, if we want to open the studio, we'll get our full SageMaker studio view.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t6rsbxtwcmcixfn3l2bw.png)

All right. So here we are. There are a few ways you can start a new data flow either using the file new flow command, or we can access it from inside the project manager. So, a flow is a data wrangler basically, to start a new flow from the manager, Let's go file. And then new and new flow. Choosing a new flow is how we create a new data wrangle. And, first of all, we need to give it a name, something that we can recognize. We have these four stages, import, prepare, analyze, and export. So, the first thing we're going to do is wanting to create a data source. Again take a little while to establish the connection to the engine. So, be patient the first time you run this, you'll see here It's not quite available yet, it will be really in a few minutes, but we're ready to go now.


<br>
[GitHub](https://github.com/a00ayad00)
[LinkedIn](https://www.linkedin.com/in/a00ayad00)
[Facebook](https://m.facebook.com/a00ayad00)
[Medium](https://a00ayad00.medium.com/)
Mistyped banana in box fix, angular 15
Tags: webdev, javascript, programming, angular
Published: 2023-01-29 19:07:49

Angular 15 was recently released and it brings several new features and improvements to the popular front-end framework. One notable fix in this release is the "Mistyped Banana in a Box" issue, which was a bug in Angular's template binding syntax.

In previous versions of Angular, if a developer mistakenly typed the binding syntax as "{( expression )}" instead of "{[ expression ]}" or "{ expression }", Angular would throw an error. This has now been fixed in Angular 15, and it will simply treat the mistyped syntax as a text string instead of an expression.

Here's an example of what the mistyped syntax used to look like and how it's handled in Angular 15:

Before:

```
<p>{{( name )}}</p>

```
Angular 14 error: "SyntaxError: Unexpected token ( in JSON at position 0"

In Angular 15:

```
<p>{{ name }}</p>
```
Output: "name"

This demonstrates how Angular 15 handles the correct binding syntax, which is "{ expression }". The mistake in the syntax, "{( expression )}", is now treated as a text string rather than an expression, and will not throw an error in Angular 15.

This fix helps developers avoid frustration and wasted time spent searching for syntax errors in their templates.

Along with the Mistyped Banana in a Box fix, Angular 15 also includes improved build performance and new APIs for improved compiler error messages. This release continues Angular's commitment to providing a fast and efficient framework for building dynamic web applications.

In conclusion, Angular 15 offers a number of exciting improvements and fixes, including the highly-anticipated resolution of the Mistyped Banana in a Box issue. Whether you're a seasoned Angular developer or just starting out, be sure to check out the new features in this release and start building with confidence.
Data Preprocessing in machine learning
Tags: python, beginners, machinelearning, ai
Published: 2023-01-29 18:43:48


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/53m9byrq1ir6w70q374z.jpeg)



Data preprocessing is an essential step in the machine learning process. It involves transforming raw data into a format that is more suitable for further analysis and modeling. Data preprocessing can help improve the accuracy of machine learning models by removing noise, handling missing values, and normalizing data. In this article I'll give you an overview of data preprocessing in machine learning, and in upcoming articles  I'll implement various techniques involved in data preprocessing.

So let's get back to our topic and see different types of preprocessing.

Data preprocessing can be divided into two main categories: feature engineering and data cleaning. Feature engineering involves creating new features from existing ones or combining existing features to create more meaningful ones. Data cleaning involves dealing with missing values, outliers, and other irregularities in the data.

Feature engineering is an important part of data preprocessing because it helps create features that are more relevant to the problem at hand. For example, if you are trying to predict a customer’s age based on their purchase history, you might create a new feature called “age range” which would be based on the customer’s purchase history. This would allow you to better capture the age range of customers who are likely to make purchases from your store.

Data cleaning is also an important part of data preprocessing as it helps remove noise from the dataset and handle missing values. Common techniques used for data cleaning include imputation (filling in missing values with estimates), outlier detection (identifying extreme values that may be errors or outliers), and normalization (scaling all features so they have similar ranges). These techniques help make sure that your dataset is clean and ready for further analysis and modeling.

Finally, another type of data preprocessing is feature selection which involves selecting only those features that are most relevant to the problem at hand. This helps reduce complexity in the model as well as reduce overfitting by eliminating irrelevant features from consideration. Common techniques used for feature selection include correlation analysis (identifying highly correlated features) and recursive feature elimination (selecting only those features that contribute most to model accuracy). 

In conclusion, data preprocessing is an essential step in machine learning as it helps improve model accuracy by removing noise, handling missing values, normalizing data, creating new features, and selecting relevant features. It is important to understand these different types of preprocessing techniques in order to effectively prepare your dataset for further analysis and modeling.