teleren/devto huggingface dataset:
How I Managed to Pass AWS Associate Level in 6 Months
Tags: aws, certification, cloud
Published: 2023-05-16 05:33:03

AWS considered is the leading cloud provider since it holds the largest market share for the cloud as it provides a lot of services that covers every need for the client.

Achieving AWS certificates for sure will boost your salary and open a lot of opportunities for you in the market, but certificates are not enough, you will need a hands-on experience and learn by doing will close the gap.

AWS exams are considered to be one of the hardest exams because of two things:

-There are a lot of services that can achieve the requirements in different ways.
-hands on and practical experience required.

I will try in this article to summarize and tell you how I managed to achieve the below certificates in 6 months, I have the below 👇 certificates beside AWS SA Professional C02 and Advanced Networking Specialty⭐ (it is the hardest one 😃 and I failed once 🙃)

- AWS Certified Solutions Architect
- AWS Developer Associate
- AWS SysOps Administrator Associate 

-[AWS Official Documentation](https://docs.aws.amazon.com/): AWS is putting a lot of effort into the documentation of each service with detailed examples, each time you will need reference architecture or details about a specific service you will find it on AWS documents.

-AWS Exam Guide: This is considered as a checklist to make sure that you are not missing any information about the domains which are covered in the exam.

-AWS Sample Questions on Skill builder: This will make you familiar with how the real exam will look like, it contains 10 questions with detailed answers.

-Stephane Maarek: Have zero experience with Cloud ☁️ and AWS? No worries, Stephane got your back, I consider Stephane is one of the best instructors for AWS from my point of view, there are a lot of very good skilled instructors like Adrian Cantrill and Neal Davis, I will leave some links 🔗 below for them.


-Practice Exams on Tutorialsdojo: This is one of the best exam simulation I found, it gives you the experience of how the exam will challenge you, for sure it's not an exam dump but it has the same ideas which the real exam will test you on. 

you can sign up on AWS and it will give you a free tier to do hands on and try many services, but make sure to setup a notification for your usage to not exceed your budget ⚠.

⚠⚠⚠ in the end guys take your time to learn it's not a race just make sure you understand the concept this is my experience which I went through to achieve these certificates and believe me it helped me a lot to get job in the cloud field.


[Stephane Courses](https://www.udemy.com/user/stephane-maarek/)

[TutorialDojo](https://portal.tutorialsdojo.com/)

[Adrian Cantrill](https://cantrill.io/)

[Neal Davis](https://digitalcloud.training/)

Feel free to follow me on [Linkedin](https://www.linkedin.com/in/engmuhammadashraf/) in case of you have a question of concern.
In Depth Basics of Python with Question and Solution
Published: 2023-05-23 07:19:27

---
title: In Depth Basics of Python with Question and Solution
published: true
date: 2023-05-16 04:58:53 UTC
tags: 
canonical_url: https://www.anurag629.club/posts/indepth_basics_of_python_with_question_and_solution/
---

In this tutorial, you will learn about basic python programming with question and solution. This tutorial is for beginners.

The post is Originally published at [Link](https://www.anurag629.club/posts/indepth_basics_of_python_with_question_and_solution/)
Javascript ( ES14 ): toReversed()
Published: 2023-05-16 04:39:47


JavaScript lovers, rejoice! The latest version of ES, ES14, has just introduced a brand new method that will flip your arrays upside down. Meet the "toReversed()" method!


Syntax:
```
array.toReversed()
```

Parameters: This method does not accept any parameters.

Return value: The `toReversed()` method returns a new array with the elements in reverse order.

Notes:
- This method does not change the original array.
- It does not modify the original array in any way, it simply creates a new array with the elements in reverse order.

Example:
```
const arr = [1, 2, 3, 4, 5];
const reversedArr = arr.toReversed();

console.log(arr); // [1, 2, 3, 4, 5]
console.log(reversedArr); // [5, 4, 3, 2, 1]
```

The difference between `reverse()` and `toReversed()`:

```
const originalArray = [1, 2, 3, 4, 5];

// using `reverse()`
const reversedArray = originalArray.reverse();

console.log(reversedArray); // [5, 4, 3, 2, 1]
console.log(originalArray); // [5, 4, 3, 2, 1] - original array is modified!

// using `toReversed()`
const toReversedArray = originalArray.toReversed();

console.log(toReversedArray); // [1, 2, 3, 4, 5] - reversed copy of the original array
console.log(originalArray); // [1, 2, 3, 4, 5] - original array is unchanged!

```



In conclusion, the `toReversed()` method is a useful method for creating a new array with the elements in reverse order. It is easy to use and does not modify the original array in any way, making it a safe and efficient way to manipulate arrays in JavaScript.

For more information, check out the following resources:


- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toReversed
Golang: The Programming Language of the Future?
Published: 2023-05-16 04:29:33

**Golang ** is a relatively new programming language, but it has quickly become one of the most popular languages in the world. It is used by companies like Google, Netflix, and Uber, and it is growing in popularity among developers of all levels.

There are a number of reasons for Golang's popularity. First, it is a very simple language to learn. The syntax is clean and concise, and there are no complex features to learn. Second, Golang is very reliable. It has a number of features that help to prevent errors, such as type safety and garbage collection. Third, Golang is very efficient. It is a compiled language, which means that it is typically faster than interpreted languages.

These factors make Golang a great choice for a variety of projects. It is perfect for writing simple scripts, as well as large, complex applications. Golang is also a great language for beginners, as it is easy to learn and use.

If you are looking for a new programming language to learn, I highly recommend Golang. It is a powerful language that is perfect for a variety of projects.

Here are some additional reasons why Golang is a great language:

 - It is open source, which means that it is free to use and modify.

 - It has a large and active community of developers who are constantly creating new tools and libraries.

 - It is well-documented, so it is easy to find help when you need it.

 - It is portable, so you can use it on any platform.

If you are looking for a modern, powerful, and easy-to-learn programming language, then Golang is a great choice.
React props - A beginner's guide
Tags: react, reactjsdevelopment, webdev, beginners
Published: 2023-05-16 04:25:10

This concept is when you're passing the data from the parent down to its direct children.


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

Take for example the image above where the App component has 2 children, the Modal component and the Form component. The App component has the following data.


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


How do we then pass the data down from App to Form component? That's when we're going to use "props". Props consists of all attributes that we pass the component to. What do I mean by that? Let's have a look at the example below:


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

Props is a shortened version for properties, quite similar to objects, each component have their own properties "IF" given any. If we were to convert the code above to a vanilla Javascript object, it will look like this:


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



Now let's have a look at our JSX code and identify the attributes.


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


As you've noticed, we have an attribute property and a value assigned to each attribute. Quite similar to how objects are.
New Student
Published: 2023-05-16 03:59:02

I started my Coding class the day I found out I had Covid.  So for the next 2 weeks, I was trying to keep up but I lost that battle and now am just getting caught back  up . I am enjoying learning. Oh and last week, I wiped out bootcamp and had to reinstall it. Lost some of my work.  Well, that's my sad story. I am going to keep trying. Any advice or help anyone can give me, please do. Thank you for reading my post.
5 Deployment Strategies you must know as a DevOps Engineer
Tags: devops, deployments, programming, devjournal
Published: 2023-05-16 01:35:00

Transform your deployments from stressful to seamless with these 5 must-know strategies for DevOps engineers:


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

## 1. Big Bang Deployment: 

Like a fireworks show, you light it up all at once! It's straightforward, but preparation is key. If anything goes wrong, you'll have to roll back to the previous version like a safety net. No downtime, just a big bang for targeted users.

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


## 2. Rolling Deployment: 

Here you upgrade one section at a time. It's phased and strategic compared to the Big Bang Deployment. No downtime, but it's not just for the VIPs, everyone gets upgraded eventually.

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


## 3. Blue-green Deployment:
 
Here you have two environments deployed in production. The QA team tests the 'green' environment like a knight in training, if it passes the tests, the load balancer switches users over like a master swordsman. No downtime and no one is left behind!

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


## 4. Canary Deployment: 

You release the new version to a small group of instances first. The QA team watches closely, if all tests pass, we'll release the new version to more users. No downtime, and you'll make sure the new version is singing before releasing it to the masses.

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


## 5. Feature toggle Deployment: 

Only a select group of users get to experience the new feature. It can be used in combination with other strategies, we can either launch it to everyone at once or just to a select few. No downtime, and only the chosen ones get to experience it.

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


Tell us in the comments which deployment strategy is your favourite and why? 


Thanks for reading this.

If you have an idea and want to build your product around it, schedule a call with [me](https://calendly.com/pragyanatvade).

If you want to learn more about DevOps and Backend space, [follow me](https://dev.to/pragyanatvade).

If you want to connect, reach out to me on [Twitter](https://twitter.com/pragyanatvade) and [LinkedIn](https://www.linkedin.com/in/pragyanatvade/).
Implementing Google OAuth 2.0 Authentication for Multiple User Types in Your Web App
Tags: webdev, javascript, beginners, programming
Published: 2023-05-16 01:06:02

105 of #365DaysOfCode

In today's modern web applications, implementing a secure and user-friendly authentication system is essential. One popular method for handling user authentication is OAuth 2.0, which allows users to sign in with their existing Google account. In this blog post, I will share my experience implementing separate Google OAuth 2.0 strategies for multiple user types in a web application using Passport.js.

Setting Up Passport.js:

To get started with Google OAuth 2.0 authentication, we first need to set up Passport.js, an authentication middleware for Node.js. I initialized Passport.js and the required session middleware.

Serializing and Deserializing Users:

Passport.js requires defining how the user object should be stored in the session and how to retrieve it. For this purpose, we need to implement the serializeUser and deserializeUser functions.

In my case, I had two user types: User and Client. I had to determine which type of user was being authenticated and store their unique identifier and type in the session.

Implementing Separate GoogleStrategy Instances:

Next, I created separate GoogleStrategy instances for each user type using the passport.use() method. This allowed me to customize the authentication process for each user type and store their respective information in the database.

I followed a similar approach for the Client type, with a different callback URL and strategy name.

Setting Up Authentication Routes:

Finally, I set up the necessary authentication routes for both user types. These routes handle initiating the authentication process and handling the callback from Google after successful authentication.

I followed a similar approach for the Client type, with different route paths and strategy names.

Implementing separate Google OAuth 2.0 authentication strategies for multiple user types can be achieved using Passport.js and its flexible configuration options. This allows developers to tailor the authentication process for each user type, ensuring a secure and seamless experience for users signing in with their Google accounts.

Python:

Day 5 of #100DaysOfPython & #100DaysOfCode: Today, as a part of Angela Yu's Python Pro Bootcamp course, I wrote code for a pizza order program and a love calculator. According to my calculations, I should be hopeful. 😄
🕵️ Active Directory Groups audit w. Neo4J
Tags: neo4j, datascience, security, devops
Published: 2023-05-16 00:18:33

## 🧐 About

Active Directory is a crucial part of many Information Systems as it manages both **authentication and access management.**

In this article, we'll **focus on Active Directory group management** analysis.

## 🍿 Demo

{% youtube 4LCZbkkCyfQ %}

## 💰 Return On Investment

With this data, we are now able to :

- 📏 Produce **classification**
- 🔮 Make **predictions**
- 🕸️ Cross checking with **third party identity management services**

## 🔭 Further with groups 

We will **link these datas** (ie. relationships) on top of our our digital identity  management, see below:

{% embed https://dev.to/optnc/digital-identities-journey-w-neo4j-5gep %}

## 💡 Group tuning & _Minimum spanning tree_

Having large set of groups **has impacts on performances**. Getting this data as a graph makes it possible to **use graph algorithms** to see if we can improve group assignment design thanks to [Minimum spanning tree](https://neo4j.com/docs/graph-data-science/current/algorithms/minimum-weight-spanning-tree/).

## 📷 Screenshots gallery

We often ask ourselves the same questions
Below some still screenshots of our experience:

### 🔬 Drilling down into someone's groups

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

### ⚖️ Member & Guest accounts

> Guest users have default restricted directory permissions. They can manage their own profile, change their own password, and retrieve some information about other users, groups, and apps. However, they can't read all directory information. B2B guest users are not supported in Microsoft Teams shared channels.

Let's see how they are implemented:

```cypher
// Groupes dont les 2 agents et les 2 guests du GLIA sont membres
MATCH (a:AD_agent {name:"3004XXX"})-[ia:IS_MEMBER_OF]->(g:AD_group)
<-[ig:IS_MEMBER_OF]-(b:AD_agent {name:"2999XXX"})
OPTIONAL MATCH (gu:AD_guest {name:"pXXX"})-[ip:IS_MEMBER_OF]->(g)
OPTIONAL MATCH (gue:AD_guest {name:"dXXX"})-[id:IS_MEMBER_OF]->(g)
RETURN a,g,b,gu,gue,ia,ig,ip,id
```

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

### 🐘 Biggest groups

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

### 🏋️‍♂️ Account having the largest amount of groups

Getting a large amount of groups can mean many things, so being able to analyze this is worth taking a glance:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9cl3hks8fn726xdlhb4a.png)
load_workbook fails when loading excel file with blue style fill in cells. How do I fix the error? Click post to see error.
Tags: openpyxl
Published: 2023-05-16 00:18:07

I wrote a python script to load an excel file with blue style fill in the excel sheet (blue color background in cells) and the load_workbook function keeps failing with the error below:

```
wb = load_workbook(excel file)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<username>\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\reader\excel.py", line 346, in load_workbook
    reader.read()
  File "C:\Users\<username>\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\reader\excel.py", line 299, in read
    apply_stylesheet(self.archive, self.wb)
  File "C:\Users\<username>\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\styles\stylesheet.py", line 198, in apply_stylesheet
    stylesheet = Stylesheet.from_tree(node)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<username>\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\styles\stylesheet.py", line 103, in from_tree
    return super(Stylesheet, cls).from_tree(node)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<username>\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\descriptors\serialisable.py", line 103, in from_tree
    return cls(**attrib)
           ^^^^^^^^^^^^^
  File "C:\Users\<username>\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\styles\stylesheet.py", line 74, in __init__
    self.fills = fills
    ^^^^^^^^^^
  File "C:\Users\<username>\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\descriptors\sequence.py", line 27, in __set__
    seq = self.container(_convert(self.expected_type, value) for value in seq)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<username>\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\descriptors\sequence.py", line 27, in <genexpr>
    seq = self.container(_convert(self.expected_type, value) for value in seq)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<username>\AppData\Local\Programs\Python\Python311\Lib\site-packages\openpyxl\descriptors\base.py", line 61, in _convert
    raise TypeError('expected ' + str(expected_type))
TypeError: expected <class 'openpyxl.styles.fills.Fill'>

```
How do I fix this error using python? Thank you!
Any estimates longer than 3 days tend to be wrong
Tags: productivity, softwareengineering
Published: 2023-05-16 00:16:12

So breakdown tasks so that each part can be finished within 3 days.

> Break down tasks by 𝗱𝗲𝗰𝗼𝗺𝗽𝗼𝘀𝗶𝗻𝗴 𝗹𝗮𝗿𝗴𝗲 𝗰𝗼𝗺𝗽𝗹𝗲𝘅 𝘁𝗮𝘀𝗸𝘀 into smaller, more manageable ones. For example, we found that jobs estimated up to 3 days of work are accurate.

[Dr. Milan Milanović](https://www.linkedin.com/posts/milanmilanovic_technology-softwareengineering-programming-activity-7063754883312549888-rEx_/)
Unleash the Power of Observability: Cutting-Edge Resources from April 2023!
Tags: monitoring, devops
Published: 2023-05-16 00:00:05


Hi, devs! I want to share the latest with all of you regarding New Relic from April 2023. Enjoy! 😊


**Insightful Guides** 🛠️

[A complete guide to distributed tracing](https://newrelic.com/blog/best-practices/distributed-tracing-guide?utm_source=devto&utm_medium=community&utm_campaign=amer-fy-24-q1-devto_updates)
Distributed tracing is a powerful diagnostic tool for hybrid and microservices-based environments, because you can investigate performance issues from one place. A distributed trace consolidates records of events that take place across components of a distributed system. 


[Deploy quickly and confidently with CI/CD and automated change tracking] (https://newrelic.com/blog/best-practices/ci-cd-change-tracking-quick-confident-deployments?utm_source=devto&utm_medium=community&utm_campaign=amer-fy-24-q1-devto_updates)
Integrate full-stack observability and change tracking into your continuous integration and delivery pipelines

[From 10 monitoring tools to 1 with plentymarkets](https://newrelic.com/blog/best-practices/monitoring-tools-plentymarkets): 3 takeaways on alerts, troubleshooting, and APM

**Launches** 🚀

[Level up your observability knowledge with New Relic learning paths and badges](https://newrelic.com/blog/nerdlog/nru-learning-paths-badges?utm_source=devto&utm_medium=community&utm_campaign=amer-fy-24-q1-devto_updates)
New Relic University launches new Learn site, learning paths, and badge credentials


**Customer Success Story** 💡

[Australia Post uses New Relic to correlate weather and identify logistic behaviors](https://newrelic.com/blog/how-to-relic/australia-post-uses-newrelic-for-weather-logistics?utm_source=devto&utm_medium=community&utm_campaign=amer-fy-24-q1-devto_updates)

Australia Post, the country’s national postal service, gave New Relic a challenge—to find a way to minimize instability in their underlying systems caused by erratic weather and to help manage demand through these periods. They were interested in exploring ways to gather telemetry data from external sources, exposed only through an API layer

**Company Updates** 🗓️

[View logs in context of APM data without any manual configuration](https://newrelic.com/blog/nerdlog/apm-logs-in-context?utm_source=devto&utm_medium=community&utm_campaign=amer-fy-24-q1-devto_updates)

With your next APM agent upgrade, view application logs in context of APM metrics with granular configurations tailored for your billing and security needs. Opt out anytime.

---

_Not an existing New Relic user? [Sign up for a free account](https://newrelic.com/signup?utm_source=devto&utm_medium=community&utm_campaign=amer-fy-24-q1-devto_updates) to get started! 👨‍💻_
Infrastructure from code.
Tags: devops, cloudcomputing, tutorial, typescript
Published: 2023-05-15 23:56:45

How much infrastructure can you infer from your code?

The answer is _everything required to run it in the cloud_. Anything more would likely be insecure and/or costly!

Let's take a look at the code example in the heading, included below for readability.

```javascript
import { api, bucket } from "@nitric/sdk";

const photoApi = api('photos'); // API
const photos = bucket('myPhotos').for('reading'); // BUCKET

// API Method + Handler Function
photoApi.get("/photo/:path", async (ctx) => { 
  const { path } = ctx.req.params;
  ctx.res.body = await photos.file(path).getDownloadUrl();
});
```

From a quick glance, we can infer that this code snippet requires an API Gateway, a Bucket (with only write access), and a Service Handler that will be invoked via the gateway as a get method on the "/photo/" path.

This approach introduces a fresh perspective on infrastructure provisioning. The Nitric framework leverages your code to automatically infer the required infrastructure, create a specification, and implement concrete infrastructure that fulfills the specification using popular Infrastructure as Code (IaC) tools like Terraform or Pulumi.

Visit [Nitric.io](https://nitric.io) to explore the Nitric framework and experience firsthand how to seamlessly transform your code into a provisioned and secure infrastructure.