teleren/devto huggingface dataset:
Learning AWS Day by Day — Day 39 — Amazon RDS — Part 2
Tags: aws, cloud, cloudcomputing, beginners
Published: 2024-04-17 16:55:46

Exploring AWS !!

Day 39:

Amazon RDS — Part 2

Previously we’ve learnt about backups, read replicas and disaster recovery strategies of RDS. Today we will dive deeper into some other concepts of RDS.

RDS Security — Encryption:
Encryption at Rest-
- Possibility to encrypt master and read replicas with AWS KMS-AES-256 encryption.
- Encryption has to be defined at launch time.
- If Master is not encrypted, Read Replicas cannot be encrypted.
- Transport Data Encryption (TDE) available for Oracle and SQL server.
In Flight Encryption-
- SSL certificate to encrypt data to RDS in flight.
- Provide SSL options with Trust Certificates when connecting to database.
To enforce SSL-
- PostgreSQL: rds:force_ssl=1 in the AWS RDS Console (Parameter Groups)
- MySQL: within Database: GRANT USAGE ON *.* TO ‘mysqluser’@’%’ REQUIRE SSL;

RDS Encryption Operation:
Encrypting RDS Backups:
- Snapshots of unencrypted RDS databases are unencrypted.
- Snapshots of encrypted RDS databases are encrypted.
- Can copy a snapshot into an encrypted one.
To encrypt an unencrypted RDS database:
- Create a snapshot of unencrypted snapshot.
- Copy snapshot and enable encryption for snap.
- Restore database from encrypted snapshot.
- Migrate applications to new database and delete old database.

RDS Security — Network and IAM
Network security:
- RDS database are usually deployed in private subnets, not in public.
- RDS security works by leveraging security groups (same concept as for EC2 instance) — it controls which security group/IP can communicate with RDS.
Access Management:
- IAM policies helps control who can manage RDS (through RDS API)
- Traditional username and password can be used to login to database.
- IAM based authentication can be used to login into RDS MySQL and PostgreSQL.

RDS IAM Authentication:
- IAM database authentication works with MySQL and PostgreSQL.
- You don’t need password, just need an authentication token through IAM and RDS API calls.
- Authentication token has a lifetime of 15 mins.

Benefits:
- Network in/out must be encrypted by using SSL.
- IAM to centrally manage user instead of database.
- Can leverage IAM roles and EC2 instance profiles for easy integration.

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

RDS Security Summary:
Encryption at Rest:
- is done only when you first create a database instance.
- or: unencrypted database -> snapshot -> copy snapshot as encrypted -> create database from snapshot.
Your Responsibility:
- Check ports/IP/SG inbound rules in database’s security groups.
- In-database user creation and permission or manage through IAM.
- Creating database with or without public access.
- Ensure parameter group or database is configured to only allow SSL connection.
AWS Responsibility:
- No SSH access.
- No manual OS patching
- No way to audit underlying instance.
My infinity scrolls doesn't work (vue.js)
Tags: webdev, javascript, vue, help
Published: 2024-04-17 16:52:06

<script>
import { defineComponent } from 'vue';
import Card from './Card.vue';
import BarraPesquisa from './BarraPesquisa.vue';

export default defineComponent({
    name: 'MostrarPokemons',
    components: {
        Card,
        BarraPesquisa
    },
    data() {
        return {
            listaPokemon: [],
            detalhesPokemon: [],
            pokemonsFiltrados: [],
            numeroPokemonsVisiveis: 21,
            pokemonsVisiveis: [],
            loadingMorePokemons: false
        };
    },
    methods: {
        async carregarListaPokemon() {
            await this.$store.dispatch('carregarListaPokemon');
            this.listaPokemon = this.$store.state.listaPokemon;
            await this.pegarDetalhesPokemon();
            await this.carregarMaisPokemons();
        },
        async pegarDetalhesPokemon() {
            const detalhesPromises = this.listaPokemon
                .slice(0, this.numeroPokemonsVisiveis)
                .map(pokemon => this.carregarDetalhesPokemon(pokemon.name));
            const detalhes = await Promise.all(detalhesPromises);
            this.detalhesPokemon = detalhes;
            this.filtrarDetalhesPokemon('');
        },
        async carregarDetalhesPokemon(nomePokemon) {
            const detalhes = await this.$store.dispatch('carregarDetalhesPokemon', nomePokemon);
            return detalhes;
        },
        filtrarDetalhesPokemon(pesquisa) {
            this.pokemonsFiltrados = this.detalhesPokemon.filter(pokemon =>
                pokemon.name.toLowerCase().includes(pesquisa)
            );
            this.carregarMaisPokemons();
        },
        async carregarMaisPokemons(numeroPokemonsVisiveis) {
            this.pokemonsVisiveis = this.pokemonsFiltrados.slice(0, numeroPokemonsVisiveis);
        },
    },
    mounted() {
        window.onscroll = () => {
            let bottomOfWindow = document.documentElement.scrollTop + window.innerHeight === document.documentElement.offsetHeight;
            if (bottomOfWindow) {
                this.numeroPokemonsVisiveis += 21;
                this.carregarMaisPokemons(this.numeroPokemonsVisiveis)
            }
        }
    },
    async created() {
        await this.carregarListaPokemon();
    },
});
</script>

when you reach the final of the page the variable numeroPokemonsVisiveis adds 21 and its happening getting by the console.log, and pass to a function that slices all the pokemons by the numeroPokemonsVisiveis, but the console.log(this.pokemonsFiltrados) always has an array(21), but if I reload the page already in the final of the page the pokemonsFiltrados the next 21 pokemons

this is the vercel website with the console logs : https://pokedex-peach-one-85.vercel.app/

and the repository: https://github.com/DaviRSS1/pokedex ,

Someone save me pls
Simplify Your Vaping Experience with Orion Bar Disposable Vape from Vape Marley
Tags: vaping, vape, juice
Published: 2024-04-17 16:48:44

**Introduction**
In the ever-evolving world of vaping, simplicity and convenience are highly sought after by enthusiasts. The **[Orion Bar Disposable Vape](https://vapemarley.com/product-category/disposable-vapes/orion-bar/)**, available at Vape Marley, perfectly embodies these qualities, making it a popular choice among vapers looking for an effortless vaping experience.

Vaping has become more than just a trend; it's a lifestyle for many. With an array of devices and flavors flooding the market, finding the perfect balance between performance and convenience can be challenging. However, the Orion Bar Disposable Vape simplifies this dilemma with its sleek design and hassle-free operation.


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

**Features-**
E-liquid contents: 18ml
Nicotine Level: 50mg
Puffs per Device: +7500
Battery: 650mAh (Rechargeable via USB-C)


At Vape Marley, you can easily get your hands on the Orion Bar Disposable Vape, renowned for its ease of use and delicious flavors. Whether you're a seasoned vaper or new to the scene, this device offers a seamless experience without the need for complicated setups or maintenance.

One of the standout features of the Orion Bar Disposable Vape is its variety of flavors. From classic options like menthol and tobacco to more adventurous blends like mango and strawberry, there's something to satisfy every palate. Each puff delivers a burst of flavor, ensuring a satisfying vaping experience every time.

Furthermore, the disposable nature of the Orion Bar Vape adds to its appeal. Say goodbye to refilling tanks or replacing coils – simply use the device until it's empty, then dispose of it responsibly. This convenience makes it an ideal choice for on-the-go vapers or those who prefer a hassle-free vaping experience.

Vape Marley is your go-to destination for Orion Bar Disposable Vape and other premium vaping products. With a commitment to quality and customer satisfaction, you can trust that you're getting the best when you shop with us.

In conclusion, 
If you're searching for simplicity, convenience, and great flavor in your **[vaping](https://vapemarley.com/)** experience, look no further than the Orion Bar Disposable Vape from Vape Marley. Elevate your vaping journey with this innovative device and discover why it's a favorite among vaping enthusiasts worldwide.
Master the Art of Project Organization: Structure Your Programming Projects for Efficiency
Published: 2024-04-17 16:30:09

In the fast-paced world of software development, effective project organization is the bedrock of success. Here, we distill key insights from a recent YouTube video to help you streamline your programming projects and optimize efficiency.

**1. Establish a Clear Folder Structure and Version Control**

Begin by creating a central project folder with a name that reflects your _project's purpose_. Integrate version control using Git to track changes, collaborate seamlessly, and revert to previous versions if needed. Don't forget to include a comprehensive README file to guide project setup and usage.

**2. Organize Strategically**

Organize your project folders strategically. Consider creating folders such as "src" for source code and "tests" for unit tests. Customizing subfolders within "src" can further enhance organization and simplify navigation.

**3. Collaborate Seamlessly with Git
**
Commit your code changes regularly to the Git repository to facilitate collaboration. Branching allows you to experiment with new features without disrupting the main codebase, ensuring smooth progress and integration of contributions.

**4. Choose the Right Text Editor**

Selecting the right text editor is crucial for productivity. Sublime Text offers a user-friendly interface and a plethora of plugins, making it ideal for smaller projects. Vim, known for its _efficiency and customizability_, suits experienced developers. Visual Studio Code provides a comprehensive development environment with debugging tools and integrated Git support, making it suitable for larger projects.

**5. Cultivate Effective Coding Habits**

Developing strong coding habits is essential for producing high-quality code. Regularly review and refactor your code to enhance readability and efficiency. Use meaningful naming conventions for variables and functions to improve code clarity and comprehension.

**6. Additional Tips for Success**

Invest in ergonomic setups, such as ergonomic chairs and standing desks, to maintain good posture and reduce fatigue during coding sessions. Embrace project management tools like GitHub project boards to track tasks efficiently and avoid context switching.

Mastering project organization is a cornerstone of successful software development. Implementing these strategies will help you structure your programming projects effectively, optimize workflow, and achieve greater efficiency in your development endeavors.
DIGITAL CURRENCY REGAINS ALL LOST CRYPTO & DECEIT BTC
Tags: blockchain, trans, webdev, ai
Published: 2024-04-17 16:15:21

I never thought I would see the day when I would lose access to my precious Bitcoin holdings, but it happened. One day, I woke up to find that I couldn't access my wallet. Panic set in as I realized that all my hard-earned Bitcoins might be lost forever.
Desperate for help, I turned to the online community for guidance, and that's when I stumbled upon a skilled hacker DRAGONWEBRECOVERY who came to my rescue. With their expertise and knowledge of blockchain technology, they were able to help me recover my lost Bitcoin. Through their intricate understanding of the digital world and their ingenious techniques, DragonWebRecovery managed to decrypt the encrypted files and regain access to my wallet. It was a true marvel to witness their swift and precise actions in recovering what I had feared was lost forever. Thanks to DragonWebRecovery exceptional skills, I was reunited with my Bitcoin holdings, restoring my faith in the power of technology and the kindness of strangers. I am forever grateful for their assistance and will always remember the day when ( DragonWebRecovery @ tuta .io) became my guardian angel in the digital realm.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w918pp05any90ullzqnd.jpg)
Building a functioning sorter in React
Published: 2024-04-17 16:04:26

For my second project at [Flatiron School](https://flatironschool.com/) I decided to build an archive of emo albums, both allowing me to get back in touch with my high school self and practice building attractive, responsive displays using the React library.

One of the things I wanted to make sure to do was build in a way to sort albums based on the decade in which they were released -- as any emo fan will tell you, after all, there is a big difference between, say, a Braid album from the 90s and a Taking Back Sunday album from just a few years later. Fans of 80s and 90s emo tend to look upon bands that showed up later with scorn, while a lot of fans of 2000s emo don't know much about what came before.

Building this sorter was more difficult than I thought it would be. I kept running into a problem where the sort would work the first time -- say, filtering out all the albums in the database from the 90s -- but on a second attempt to sort it would come up empty. 

The first step to fixing this was establishing a second state using the {useState} hook, and putting this in my home component. 


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

After this, I went into my search component and set up an if/else statement inside my search function: 

```
function handleSearch(event){
    event.preventDefault();
    const decade = event.target.value
    console.log(decade)
    if (decade === "All"){
        setRecords(originalRecords)
    } else {
    
    const filteredRecords = originalRecords.filter(record => record.decade === decade)
    setRecords(filteredRecords)   
    }
}
```
Here's the basics of what is happening here -- if you select the "All" option of my dropdown menu, the function uses the "setRecords" setter function to return all records using the "originalRecords" getter variable, which we passed down from the homepage. If any other decade is selected, though, we use a .filter() method to only select the albums from that decade, before using setRecords to make those albums display back in my AlbumContainer component: 

```
const mappedRecords = records.map(record =>{
    return <Album key={record.id} record={record} records={records} setRecords={setRecords} darkMode={darkMode} setDarkMode={setDarkMode}  />
```

Search is a difficult function to set up for beginners -- in another exercise from this phase, I (along with many of my cohortmates!) struggled to build a real-time search function that would still work when characters were deleted from the search bar. Make sure you're building in logic that accounts for all possibilities!
Quema OÜ - Building trust, scaling success: your IT journey starts here
Tags: ecommerce, ai, it, aws
Published: 2024-04-17 15:56:38

We are a European company specializing in providing IT services. Development and DevOps are crucial components in the software development world. We believe that the roles of the development team and DevOps should be interconnected to build the product and the IT infrastructure effectively. Our team members possess a unique combination of strategy, creativity, technology, and deep knowledge of digital platforms. This enables us to assist our clients in building scalable and secure IT solutions for launching and running their products at the highest level.

[https://quema.co](https://quema.co)
TAN STACK QUERY(REACT JS)
Tags: webdev, programming, tutorial, react
Published: 2024-04-17 15:55:58

Tanstack Query is a powerful data fetching and caching library for React applications. It simplifies the process of fetching, caching, and updating data from your API, providing a seamless experience for developers. 

You should consider using Tanstack Query in your project because it offers several benefits, such as:

1. **Declarative Data Fetching**: Tanstack Query allows you to declare your data dependencies in a declarative way, making your code more readable and maintainable.

2. **Automatic Caching**: It automatically caches the fetched data, reducing the number of unnecessary network requests and improving the performance of your application.

3. **Optimistic Updates**: Tanstack Query supports optimistic updates, allowing you to update your UI immediately and then sync the changes with the server in the background.

4. **Server-Side Rendering**: It provides support for server-side rendering, ensuring that your application performs well and provides a good user experience.

Overall, Tanstack Query can significantly simplify the data fetching and management process in your React project, making it a valuable addition to your toolkit.
Autosize Input Field - Plain JS and React Examples
Tags: react, javascript, ux, webdev
Published: 2024-04-17 15:22:03

You want an input field that automatically grows and shrinks with it's contents. Here's some quick examples how to do it with pure Javascript or React (without using another npm package)

## Pure Javascript Code Example
https://codepen.io/zechdc/pen/LYvgEod

## React Example
> ![InputAutosize.tsx example gif](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1uou4hiasdzsriocndjb.gif)

**Component Usage**
```tsx
<InputAutosize
  className="rounded border border-sky-500 px-2 py-0.5"
  value={myValue}
  onChange={(e) => {
    // Set myValue to e.target.value
  }}
/>
```

**InputAutosize component code**:
```tsx
// link: https://gist.github.com/zechdc/edc9797dcc50df1c9b54f3738a00e7df

import { cn } from "~/lib/shadcnui";

interface InputAutosizeProps
  extends React.InputHTMLAttributes<HTMLInputElement> {
  value: string;
}

export default function InputAutosize({
  className,
  value,
  ...props
}: InputAutosizeProps) {
  return (
    <div className={cn("grid", className)}>
      <span className="invisible" style={{ gridArea: " 1 / 1 " }}>
        {!value && "\u00A0"}
        {value.replace(/ /g, "\u00A0")}
      </span>
      <input
        size={1}
        style={{ gridArea: " 1 / 1 " }}
        type="text"
        value={value}
        className={`border-none bg-transparent focus:outline-none`}
        {...props}
      />
    </div>
  );
}
```

> Note: `.replace(/ /g, "\u00A0")` replaces spaces with &nbsp; to avoid flickering of content. 




**Sources:**
- [CSS Tricks: Auto-Growing Inputs & Textareas](https://css-tricks.com/auto-growing-inputs-textareas/#:~:text=The%20JavaScript%20sets%20a%20data,based%20on%20the%20input%20value.)
- [The Cleanest Trick for Autogrowing Textareas](https://css-tricks.com/the-cleanest-trick-for-autogrowing-textareas/)
PTSPowertronic solutions Vertiv Authorized Business Partners Limited Our products include Vertiv PDU Wholesale Retail Providers
Tags: startup
Published: 2024-04-17 15:18:06

We manufacture & markets Un-interruptible Power Supply Systems (UPS) and allied Power Electronic Equipment such as Rectifiers, Frequency Converters, Active Power Factor Correctors, Intelligent Static Transfer Switches all over Chennai Chengalpet--Sriperambadur-Kanchipuram-Gummidipoondi-Salem-Coimbatore, Trichy-Tirunelveli -Erode-Thirupur-Pudukottai-Vellore-Tutucorin-Cuddalore-Pondichery-Nammakal-Pollachi- locations in Tamilnadu and Sri City in Andhra Pradesh
JWT(json web tokens)
Tags: learning, motivation, beginners, webdev
Published: 2024-04-17 15:13:58

Learn what matters #Day1
JWT(json web tokens)

🔒 Understanding JWT (JSON Web Tokens) 🔒
In the world of web development, keeping our data safe is super important. That's where JWT, or JSON Web Tokens, come into play! 🛡️

🔑 What's JWT?
JWT is like a digital passport that websites or apps give you when you log in. It's a way to prove that you are who you say you are without needing to constantly type in your username and password.

🔒 Why is it Cool?
No Need to Remember: Once you log in and get your JWT, you can use it to prove your identity without having to remember your password every time.
Safe and Sound: JWTs are like little locks on your data. They're encrypted, so nobody can sneakily change them.

Works Everywhere: Whether you're using a website, a phone app, or something else, JWTs can be used to keep things safe across different platforms.

🚀 How Does it Work?
Think of it like getting a stamp on your hand at a theme park. Once you're stamped, you can come and go as you please without having to show your ticket every time. That stamp is your JWT!

🛡️ Why Learn About It?
Understanding JWT can help you build safer and more user-friendly websites and apps. Plus, it's a cool skill to have in today's digital world!
Ready to dive into the world of JWT? Let's make the internet a safer place together! 🌐💪

Follow me for more @fazicodes 
Save📁 it for later
Thanks for reading👍

hashtag#JWT hashtag#JSONWebTokens hashtag#Security hashtag#WebDevelopment hashtag#BeginnerFriendly hashtag#DigitalPrivacy hashtag#challenge hashtag#learnwhatmatters hashtag#webdeveloper hashtag#softwaredeveloper hashtag#cfbr hashtag#learn hashtag#motivation
CDK for Terraform - Quickstart
Tags: azure, devops, terraform, community
Published: 2024-04-17 15:12:49

Greetings my fellow Technology Advocates and Specialists.

This is __Chapter #1__ of my Terraform CDK (Cloud Development Kit) Series.

In this Session, I will walk you through __Terraform CDK (Cloud Development Kit).__ This is a quick start guide to introduce the topic and how it is relevant to the real world.

I had the Privilege to talk on this topic in __ONE__ Azure Communities:-

| __NAME OF THE AZURE COMMUNITY__ | __TYPE OF SPEAKER SESSION__ |
| --------- | --------- |
| __Global Azure - 2024__ | __Virtual__ |

| __EVENT ANNOUNCEMENTS:-__ |
| --------- |
| ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f49kbd241uellfqdj65e.jpg) |

| __CODE REPOSITORY:-__ |
| --------- |

{% github arindam0310018/17-April-2024-DevOps__CDK-For-Terraform %}

| __NOTE:-__ |
| --------- |
| 1. The Excerpts of this blog is taken from the official [Hashicorp - CDK for Terraform documentation](https://developer.hashicorp.com/terraform/cdktf). |
| 2. This blog will serve you more like a 2 mins read in order to understand the concept and use of __CDK for Terraform__. |

| __WHAT IS CDK FOR TERRAFORM (CDKTF):-__ |
| --------- |
| 1. Cloud Development Kit for Terraform (CDKTF) allows you to use familiar programming languages to build infrastructure.  |
| 2. With CDKTF, you have access to terraform ecosystem without learning HCL (Hashicorp Configuration Language). |
| 3. Supported Languages - Typescript, Python, Java, C# and Go. |
| ![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v9om38ylhiqmfj8thpy9.png) |

| __PURPOSE OF CDK FOR TERRAFORM (CDKTF):-__ |
| --------- |
| 1. Useful for environments where [Decentralized Devops](https://dev.to/arindam0310018/decentralized-devops-356i) practice is applied. In those cases, a developer without learning HCL (Hashicorp Configuration Language) can define Infrastructure. |
| 2. A strong preference or need to use a programming language to define infrastructure. |

__Hope You Enjoyed the Session!!!__

__Stay Safe | Keep Learning | Spread Knowledge__
Unlock Efficiency with ID Document Recognition: 8 Hassle-Free Validation Techniques
Tags: programming, python, machinelearning, datascience
Published: 2024-04-17 15:09:00

In a world where identity verification is critical, our technologies provide a simple and secure method. Are you prepared to embark on a journey where security meets innovation?

Please read our full article here.
https://faceplugin.com/faceplugin-advanced-id-document-recognition/